Repository navigation
Expand file tree
/
Copy pathcreate_database.sql
More file actions
138 lines (138 loc) · 6.1 KB
/
Copy pathcreate_database.sql
File metadata and controls
138 lines (138 loc) · 6.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
CREATE TABLE Flyprodusent
(
Navn VARCHAR(100) PRIMARY KEY,
Nasjonalitet VARCHAR(50) NOT NULL ,
Stiftelsesar INT NOT NULL
)
;
CREATE TABLE Flytype
(
Navn VARCHAR(100) PRIMARY KEY,
Produsent VARCHAR(100) NOT NULL ,
StartPaProduksjon INT NOT NULL ,
SluttPaProduksjon INT ,
FOREIGN KEY (Produsent) REFERENCES Flyprodusent(Navn)
)
;
CREATE TABLE Fly
(
Registreringsnummer VARCHAR(10) PRIMARY KEY ,
Serienummer VARCHAR(10) NOT NULL ,
Flytype VARCHAR(100) NOT NULL ,
Navn VARCHAR(100) ,
Sattidrift INT NOT NULL ,
RegistrertTil VARCHAR(10) ,
FOREIGN KEY (RegistrertTil) REFERENCES Flyselskap(Flyselskapskode),
FOREIGN KEY (Flytype) REFERENCES Flytype(Navn)
)
;
CREATE TABLE Flyselskap
(
Flyselskapskode VARCHAR(10) PRIMARY KEY,
Navn VARCHAR(100) NOT NULL
)
;
CREATE TABLE Flate
(
FlyRegNr VARCHAR(10) PRIMARY KEY ,
Flyselskap VARCHAR(10) NOT NULL ,
FOREIGN KEY (FlyRegNr) REFERENCES Fly(Registreringsnummer),
FOREIGN KEY (Flyselskap) REFERENCES Flyselskap(Flyselskapskode)
)
;
CREATE TABLE Setekonfigurasjon
(
Radnr INT NOT NULL ,
Flytype VARCHAR(10) NOT NULL,
Seter INT NOT NULL ,
Nodutgang BOOLEAN NOT NULL ,
PRIMARY KEY (Radnr, Flytype) ,
FOREIGN KEY (Flytype) REFERENCES Flytype(Navn)
)
;
CREATE TABLE Pris
(
PrisID INT PRIMARY KEY ,
Budsjettpris DECIMAL(10,2) NOT NULL,
okonomipris DECIMAL(10,2) NOT NULL,
Premiumpris DECIMAL(10,2) NOT NULL
)
;
CREATE TABLE Flyplass
(
Flyplasskode VARCHAR(10) PRIMARY KEY,
Navn VARCHAR(100) NOT NULL
)
;
CREATE TABLE Flyrute
(
FlyruteNr VARCHAR(10) ,
Ukedagskode VARCHAR(7) NOT NULL ,
Startflyplass VARCHAR(10) NOT NULL ,
Endeflyplass VARCHAR(10) NOT NULL ,
Oppstartsdato DATE ,
Sluttdato DATE ,
Avgangstid TIME NOT NULL ,
Ankomsttid TIME NOT NULL ,
PrisID INT NOT NULL ,
Flytype VARCHAR(100) ,
DelruteKode INT ,
PRIMARY KEY (FlyruteNr, DelruteKode) ,
FOREIGN KEY (Startflyplass) REFERENCES Flyplass(Flyplasskode),
FOREIGN KEY (Endeflyplass) REFERENCES Flyplass(Flyplasskode) ,
FOREIGN KEY (PrisID) REFERENCES Pris(PrisID)
)
;
CREATE TABLE Flyvning
(
LopeNr SERIAL PRIMARY KEY ,
FlyruteNr VARCHAR(10) NOT NULL ,
Fly VARCHAR(10) NOT NULL ,
Dato DATE NOT NULL ,
FlyvningStatus VARCHAR(50) NOT NULL ,
Delflyvningkode INT ,
FOREIGN KEY (FlyruteNr) REFERENCES Flyrute(FlyruteNr) ,
FOREIGN KEY (Fly) REFERENCES Fly(Registreringsnummer)
)
;
CREATE TABLE Kunde
(
KundeNr INTEGER PRIMARY KEY AUTOINCREMENT ,
Navn VARCHAR(100) NOT NULL,
TelefonNr VARCHAR(20) NOT NULL,
Epost VARCHAR(100) NOT NULL,
Nasjonalitet VARCHAR(50) NOT NULL
)
;
CREATE TABLE Sete
(
Seterad INT NOT NULL ,
Setebokstav CHAR(1) NOT NULL ,
ReferanseNr INT NOT NULL ,
LopeNr INT NOT NULL ,
PRIMARY KEY (ReferanseNr, LopeNr) ,
FOREIGN KEY (LopeNr) REFERENCES Flyvning(LopeNr) ,
FOREIGN KEY (ReferanseNr) REFERENCES BillettKjop(ReferanseNr)
)
;
CREATE TABLE BillettKjop
(
ReferanseNr INTEGER PRIMARY KEY AUTOINCREMENT ,
Utflyvning INT NOT NULL ,
Innflyvning INT ,
Pris DECIMAL(10,2) NOT NULL ,
KundeNr INT NOT NULL ,
FOREIGN KEY (KundeNr) REFERENCES Kunde(KundeNr) ,
FOREIGN KEY (Utflyvning) REFERENCES Flyvning(LopeNr),
FOREIGN KEY (Innflyvning) REFERENCES Flyvning(LopeNr)
)
;
CREATE TABLE Bagasje
(
Registreringnummer INTEGER PRIMARY KEY AUTOINCREMENT,
ReferanseNr INT NOT NULL ,
Vekt DECIMAL(10,2) NOT NULL ,
Innleveringstidspunkt TIMESTAMP ,
FOREIGN KEY (ReferanseNr) REFERENCES BillettKjop(ReferanseNr)
)
;