· 6 years ago · Sep 25, 2019, 10:26 AM
1--Karakterregistreringssystem
2--Miniprojekt
3--26.09.19
4
5--Gruppe 5: Nichlas Holbech Stavensø Overballe, Jacob Overgaard Søe-Larsen, Christian Eld
6
7-- Opgave 2
8
9DROP TABLE IF EXISTS StuderendePåEksamen
10DROP TABLE IF EXISTS Uddannelse
11DROP TABLE IF EXISTS Studerende
12DROP TABLE IF EXISTS Eksamen
13
14CREATE TABLE Uddannelse(
15uddannelsesNavn VARCHAR(40) PRIMARY KEY
16)
17
18CREATE TABLE Studerende(
19studentNavn VARCHAR(30),
20studieID INT PRIMARY KEY,
21uddannelsesNavn VARCHAR(40) FOREIGN KEY REFERENCES Uddannelse(uddannelsesNavn)
22)
23
24CREATE TABLE Eksamen(
25fag VARCHAR(30),
26eksamensID INT PRIMARY KEY,
27dato DATE
28)
29
30CREATE TABLE StuderendePåEksamen(
31studieID INT FOREIGN KEY REFERENCES Studerende(studieID),
32eksamensID INT FOREIGN KEY REFERENCES Eksamen(eksamensID),
33karakter INT CHECK (karakter in(-3, 0, 2, 4, 7, 10, 12)), -- Checker om karakter indeholder en mulig karakter
34)
35
36-- Opgave 3
37
38INSERT INTO Uddannelse VALUES
39('Datamatik'),
40('IT Sikkerhed'),
41('E-handel'),
42('Web-udvikling'),
43('Miljø-teknologi')
44
45
46INSERT INTO Studerende VALUES
47('Egon Olsen', 68191, 'Datamatik'),
48('Robin Williams', 51195, 'IT Sikkerhed'),
49('Emma Watson', 90192, 'E-handel'),
50('Jennifer Lawrence', 09914, 'Web-udvikling'),
51('Anne Grethe', 09962, 'Miljø-teknologi')
52
53INSERT INTO Eksamen VALUES
54('Programmering', 1, '2019-09-25'),
55('E-handel Eksamen', 2, '2019-09-27'),
56('Web-udvikling Eksamen', 3, '2019-09-30'),
57('IT Sikkerhed Eksamen', 4, '2019-10-04'),
58('Miljø-teknologi Eksamen', 5, '2019-10-05')
59
60INSERT INTO StuderendePåEksamen VALUES
61(68191, 1, 12), -- EGON
62(68191, 2, 00), -- EGON
63(68191, 2, 7), -- EGON
64(51195, 2, 7),
65(90192, 3, 02),
66(09914, 4, 00),
67(09962, 5, 10)
68
69-- Opgave 4
70-- Delopgave A
71
72SELECT DISTINCT Studerende.studentNavn
73FROM Studerende, StuderendePåEksamen
74WHERE Studerende.studieID = StuderendePåEksamen.studieID
75AND StuderendePåEksamen.karakter = 12
76
77-- Delopgave B
78
79SELECT Studerende.studentNavn
80FROM Studerende, StuderendePåEksamen
81WHERE Studerende.studieID = StuderendePåEksamen.studieID
82AND Studerende.studentNavn NOT IN(
83
84SELECT Studerende.studentNavn
85FROM Studerende, StuderendePåEksamen
86WHERE Studerende.studieID = StuderendePåEksamen.studieID
87AND StuderendePåEksamen.karakter < 2
88)
89
90-- Delopgave C
91
92SELECT Eksamen.fag as Fag, avg(CAST(StuderendePåEksamen.karakter AS DECIMAL (4,2))) as 'Gennemsnit'
93FROM StuderendePåEksamen, Eksamen
94WHERE StuderendePåEksamen.eksamensID = Eksamen.eksamensID
95GROUP BY Eksamen.fag
96
97-- Opgave 5
98
99Go
100CREATE PROC visBeståedeFag
101@studieID INT
102as
103Begin
104
105End