| SQL Vejledning løsninger |
Opgaver |
| 1 | I denne opgave skal der opbygges en database: SkoleDB, der skal indeholde oplysninger om vores uddannelse (e.g. datamatiker), med dens fag, studerende og lærere. |
| Der er givet følgende ER-diagram, der beskriver databasens design: | |
| Figur 1: ER-diagrammet for SkoleDB |
![]() |
| semester-tabellen | I forbindelse med dette design, har man gjort sig nogle overvejelser omkring semester-tabellen. Som det ses indeholder den ikke andre attributter end selve primær-nøglen, og man har derfor besluttet, at den ikke skal implementeres. Når man har brug for at skabe relationer mellem semester-numre i andre tabeller, er der ikke noget vundet ved at joine hen over en ellers tom semester-tabel. Man kunne mene at den evt. senere kunne komme til at indeholde andre oplysninger, og det derfor senere vil kræve ændringer som man kunne undgå; hvis man allerede nu indførte tabellen. Man har dog vurderet at dette næppe vil ske, så den skal som sagt ikke implementeres i databasen. Vi står derfor tilbage med de tre resterende tabeller, der skal oprettes i vores nye database: SkoleDB. |
| Attributterne er i hovedsagen selvforklarende. De forskellige primær-nøgler er, pånær nr i semester-tabellen (der ikke skal implementeres), blot fortløbende numre, der skal genereres af databasen. lektioner i fag-tabellen er antallet af lektioner pr. uge for det pågældende fag. | |
| 1a | Lav et script, der opretter databasen og dens tabeller, samt indsætter data for studerende, fag og lærere. |
| Det kunne f.eks. være følgende data (fra foråret 2012): | |
| Studerende på 2. semester: | |
|
|
| Studerende på 4. semester: | |
|
|
| Fag på 2. semester (lektioner pr. uge og lærer i parantes): | |
|
|
| Fag på 4. semester (lektioner pr. uge og lærer i parantes): | |
|
|
| Visse af oplysningerne omkring antal lektioner pr. uge og fagenes lærere er simplificerede. | |
| 1b | Lav SQL-sætninger der enten gør, eller besvarer, følgende: |
|
|
| Bemærk, at du i de enkelte opgaver skal tage udgangspunkt i de oplysninger der er givet. F.eks. må du i opgave 2 ikke tage udgangspunkt i fagets id — det er fagets navn man har! |