· 8 years ago · Jun 07, 2018, 12:52 PM
1DROP DATABASE IF EXISTS exam2018;
2CREATE DATABASE exam2018;
3USE exam2018;
4
5CREATE TABLE STED (
6stedid INTEGER NOT NULL,
7stedsnavn CHAR(30) NOT NULL,
8CONSTRAINT pk_sted PRIMARY KEY(stedid)
9);
10
11CREATE TABLE etappe (
12enr INTEGER NOT NULL,
13fra_stedid INTEGER NOT NULL,
14til_stedid INTEGER NOT NULL,
15distanse INTEGER NOT NULL,
16CONSTRAINT pk_etappe PRIMARY KEY(enr)
17);
18
19CREATE TABLE lop (
20lnr INTEGER NOT NULL,
21aar YEAR NOT NULL, -- MySQLs datatype YEAR lagrer her aarstall med 4 siffer
22lopsnavn CHAR(30) NOT NULL,
23CONSTRAINT pk_lop PRIMARY KEY(lnr,aar)
24);
25
26CREATE TABLE lop_etappe (
27lnr INTEGER NOT NULL,
28aar YEAR NOT NULL,
29enr INTEGER NOT NULL,
30lopenr INTEGER,
31CONSTRAINT pk_lopeta PRIMARY KEY(lnr,aar,enr)
32);
33
34CREATE TABLE DELTAKER (
35deltnr INTEGER NOT NULL,
36navn CHAR(30) NOT NULL,
37nasjonalitet CHAR(30),
38hjemsted CHAR(30),
39CONSTRAINT pk_deltaker PRIMARY KEY(deltnr)
40);
41
42CREATE TABLE tidtaking (
43lnr INTEGER NOT NULL,
44aar YEAR NOT NULL,
45enr INTEGER NOT NULL,
46deltnr INTEGER NOT NULL,
47tid FLOAT, -- spesifiserer ikke datatypen for tid noe nærmere i denne oppgaven
48fullfort BOOLEAN NOT NULL DEFAULT 0,
49CONSTRAINT pk_tidtaking PRIMARY KEY(lnr,aar,enr,deltnr)
50);
51
52ALTER TABLE etappe
53ADD CONSTRAINT eta_fk1 FOREIGN KEY(fra_stedid)
54REFERENCES STED (stedid);
55
56ALTER TABLE etappe
57ADD CONSTRAINT eta_fk2 FOREIGN KEY(til_stedid)
58REFERENCES STED (stedid);
59
60ALTER TABLE lop_etappe
61ADD CONSTRAINT lopet_fk1 FOREIGN KEY(lnr,aar)
62REFERENCES lop (lnr,aar);
63
64ALTER TABLE lop_etappe
65ADD CONSTRAINT lopet_fk2 FOREIGN KEY(enr)
66REFERENCES etappe (enr);
67
68ALTER TABLE tidtaking
69ADD CONSTRAINT tidtak_fk1 FOREIGN KEY(lnr,aar,enr)
70REFERENCES lop_etappe (lnr,aar,enr);
71
72ALTER TABLE tidtaking
73ADD CONSTRAINT tidtak_fk2 FOREIGN KEY(deltnr)
74REFERENCES DELTAKER (deltnr);
75
76-- DATA
77INSERT INTO sted(stedid, stedsnavn) VALUES (1,'Busan');
78INSERT INTO sted(stedid, stedsnavn) VALUES (2,'Seoul');
79INSERT INTO sted(stedid, stedsnavn) VALUES (3,'Incheon');
80INSERT INTO sted(stedid, stedsnavn) VALUES (4,'Pyongyang');
81INSERT INTO sted(stedid, stedsnavn) VALUES (5,'Jeju');
82INSERT INTO sted(stedid, stedsnavn) VALUES (6,'Hanoi');
83
84INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (1,6,5,100);
85INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (2,5,1,10);
86INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (3,1,3,20);
87INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (4,3,2,40);
88
89INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (5,2,4,30);
90INSERT INTO etappe(enr, fra_stedid, til_stedid, distanse) VALUES (6,4,3,20);
91
92INSERT INTO lop(lnr, aar, lopsnavn) VALUES (1,2018,'The Hidden Runner');
93INSERT INTO lop(lnr, aar, lopsnavn) VALUES (2,2016,'Running Man Championship');
94INSERT INTO lop(lnr, aar, lopsnavn) VALUES (3,2015,'The lap of all laps');
95
96INSERT INTO lop_etappe(lnr, aar, enr, lopenr) VALUES (1,2018,1,1);
97INSERT INTO lop_etappe(lnr, aar, enr, lopenr) VALUES (1,2018,2,2);
98INSERT INTO lop_etappe(lnr, aar, enr, lopenr) VALUES (2,2016,3,1);
99INSERT INTO lop_etappe(lnr, aar, enr, lopenr) VALUES (2,2016,4,2);
100INSERT INTO lop_etappe(lnr, aar, enr, lopenr) VALUES (2,2016,5,3);
101
102INSERT INTO deltaker(deltnr, navn, nasjonalitet, hjemsted) VALUES (1,'Lee Kwang Soo','Korea','Seoul');
103INSERT INTO deltaker(deltnr, navn, nasjonalitet, hjemsted) VALUES (2,'Yoo Jae Suk','Korea','Seoul');
104INSERT INTO deltaker(deltnr, navn, nasjonalitet, hjemsted) VALUES (3,'Jackie Chan','China','Hong Kong');
105INSERT INTO deltaker(deltnr, navn, nasjonalitet, hjemsted) VALUES (4,'Anders','Norge','Steinkjer');
106INSERT INTO deltaker(deltnr, navn, nasjonalitet, hjemsted) VALUES (5,'Christian','Vietnam','Hanoi');
107
108INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,3,1,100,TRUE);
109INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,4,1,100,TRUE);
110INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,5,1,60,TRUE);
111INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,3,2,80,TRUE);
112INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,4,2,80,TRUE);
113INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (2,2016,5,2,200,FALSE);
114
115INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,1,3,100,TRUE);
116INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,2,3,70,TRUE);
117INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,1,4,45,TRUE);
118INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,2,4,42,TRUE);
119INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,1,5,12,TRUE);
120INSERT INTO tidtaking(lnr, aar, enr, deltnr, tid, fullfort) VALUES (1,2018,2,5,89,FALSE);