Extras din seminar
Bilet nr 1
1. Se doreste afisarea numarului de studenti înscrisi pe fiecare an de studiu în parte pentru anul universitar 2004 – 2005.
2. Sa se afiseze numarul de înscrieri pe fiecare an universitar si pe specializari.
3. Sa se afiseze media notelor pe fiecare examen în parte pentru examenele sustinute în luna februarie a anului 2004.
4. Sa se afiseze pentru fiecare grupa din seria B (1500, 1501, 1502, 1503 si 1504) media notelor la disciplina Contabilitate financiara.
5. Sa se afiseze toate grupele ale caror medii sunt mai mari decât media grupei 1503.
6. Sa se creeze un nou tabel, pe baza celor existente, numit ArhivaExamene care sa contina codul examenului, data examenului si denumirea disciplinei pentru toate examenele sustinute pâna în anul 2000.
7. Prezentati regulile ce trebuie respectate în etapa de Întocmire a dictionarului de date din cadrul procesului de proiectare a modelului relational prin normalizare.
Bilet nr 2
1. Sa se afiseze media generala obtinuta de catre fiecare student având în vedere totate notele obtinute pâna în prezent.
2. Sa se afiseze numarul de examene sustinute pentru fiecare disciplina în parte în luna iulie a anului 2003.
3. Sa se afiseze pentru disciplinele Microeconomie si Informatica media notelor obtinute de studentii grupei 1500 pe fiecare disciplina în parte.
4. Sa se afiseze toate grupele ale caror medii sunt mai mari decât media grupei 688.
5. Sa se afiseze pentru un student al carui nume este introdus de catre utilizator de la tastatura informatii referitoare la anul de studiu si grupa în care este înscris în prezent.
6. Sa se adauge în tabelul ArhivaÎnscrieri (care contine câmpurile CodÎnscriere, CodStudent, CodSpecializare, DenumireSpecializare, AnUniversitar, AnStudiu si NrGrupa) toate înscrierile facute în anul universitar 2003/ 2004.
7. În ce consta etapa de Stabilire a dependentelor dintre atribute din cadrul procesului de proiectare a modelului relational prin normalizare.
Rezolvare subiecte
Bilet nr 1
1.
SELECT [Inscrieri].[AnStudiu], [Inscrieri].[AnUniversitar], Count([Inscrieri].[CodStudent]) AS NrStudenti
FROM Inscrieri
GROUP BY [AnStudiu], [AnUniversitar]
HAVING AnUniversitar="2004/2005";
2.
TRANSFORM Count(Inscrieri.CodInscriere) AS CountOfCodInscriere
SELECT Inscrieri.AnUniversitar
FROM Specializare INNER JOIN Inscrieri ON Specializare.CodSpecializare = Inscrieri.CodSpecializare
GROUP BY Inscrieri.AnUniversitar
PIVOT Specializare.DenumireSpecializare;
3.
SELECT [Examene].[CodExamen], Year([DataExamen]) AS an, Avg([Note].[Nota]) AS Media, Month([DataExamen]) AS luna
FROM Examene INNER JOIN [Note]
ON [Examene].[CodExamen]=[Note].[CodExamen]
GROUP BY [Examene].[CodExamen], Year([DataExamen]), Month([DataExamen])
HAVING Year([DataExamen])=2004 AND Month([DataExamen])=2;
4.
SELECT [Inscrieri].[NrGrupa], [Discipline].[Denumire], Avg([Note].[Nota]) AS media
FROM (Studenti INNER JOIN Inscrieri ON [Studenti].[CodStudent]=[Inscrieri].[CodStudent]) INNER JOIN ((Discipline INNER JOIN Examene ON [Discipline].[CodDisciplina]=[Examene].[CodDisciplina]) INNER JOIN [Note] ON [Examene].[CodExamen]=[Note].[CodExamen]) ON [Studenti].[CodStudent]=[Note].[CodStudent]
GROUP BY [Inscrieri].[NrGrupa], [Discipline].[Denumire]
HAVING Inscrieri.NrGrupa Between 1500 And 1504 AND Discipline.Denumire="contabilitate financiara";
5.
SELECT Inscrieri.NrGrupa, Avg([Nota]) AS media
FROM (Studenti INNER JOIN [Note] ON Studenti.CodStudent=[Note].CodStudent) INNER JOIN Inscrieri ON Studenti.CodStudent=Inscrieri.CodStudent
GROUP BY Inscrieri.NrGrupa
HAVING Avg([Nota])>
(SELECT Avg([Nota])
FROM (Studenti INNER JOIN [Note] ON Studenti.CodStudent = [Note].CodStudent) INNER JOIN Inscrieri ON Studenti.CodStudent = Inscrieri.CodStudent GROUP BY Inscrieri.NrGrupa HAVING NrGrupa=1503);
Preview document
Conținut arhivă zip
- SQL - Exemple si Rezolvari
- Bilet nr 1.doc
- Bilet nr 2.doc
- Rezolvare subiecte.doc