-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProsjekt_Lage_Tabeller_SQL.sql
149 lines (118 loc) · 4.08 KB
/
Prosjekt_Lage_Tabeller_SQL.sql
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
139
140
141
142
143
144
145
146
147
148
149
CREATE DATABASE FakeIMDB;
USE FakeIMDB; #Endre
CREATE TABLE Produksjon(
ProdID int not null,
FilmSerie VARCHAR(15),
Episodenr Integer,
Sesongnr Integer,
Lengde TIME,
ProdTittel VARCHAR(200),
ProdType VARCHAR(15),
UtAar YEAR,
LanDato DATE,
ProdBeskrivelse VARCHAR(100),
Video VARCHAR(5),
CONSTRAINT Prod_PK PRIMARY KEY (ProdID),
CONSTRAINT PRODUKSJON_CHECK_VIDEO CHECK (Video = "True" OR Video = "False"),
CONSTRAINT PRODUKSJON_CHECK_PRODTYPE CHECK (ProdType = "TV" OR ProdType ="Streaming" OR ProdType ="Kino"),
CONSTRAINT PRODUKSJON_CHECK_FILMSERIE CHECK (FilmSerie = "Serie" OR FilmSerie = "Film")
);
CREATE TABLE Kategori(
KategoriID INTEGER NOT NULL,
KatType VARCHAR(15),
CONSTRAINT KATEGORI_PK PRIMARY KEY (KategoriID)
);
CREATE TABLE Person(
PID INTEGER NOT NULL,
PNavn VARCHAR(20),
FAar YEAR,
Nasjonlitet VARCHAR(15),
CONSTRAINT PERSON_PK PRIMARY KEY (PID)
);
CREATE TABLE Musikk(
MusikkID INTEGER NOT NULL,
KompNavn VARCHAR(25),
FremfoererNavn VARCHAR(25),
CONSTRAINT MUSIKK_PK PRIMARY KEY(MusikkID)
);
CREATE TABLE Selskap(
SelskapID INTEGER NOT NULL,
URL VARCHAR(100),
Adresse VARCHAR(200),
Land VARCHAR(46),
CONSTRAINT SELSKAP_PK PRIMARY KEY(SelskapID)
);
CREATE TABLE Bruker(
BrukerID INTEGER NOT NULL,
CONSTRAINT BRUKER_PK PRIMARY KEY(BrukerID)
);
#END OF ENTITESKLASSER
#RELASJONSKLASSER STARTER UNDER
CREATE TABLE Kategorisert(
KategoriID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
CONSTRAINT K_PK PRIMARY KEY(KategoriID,ProdID),
CONSTRAINT K_FK1 FOREIGN KEY (KategoriID) REFERENCES Kategori(KategoriID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT K_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE Eierskap(
SelskapID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
CONSTRAINT EIERSKAP_PK PRIMARY KEY (SelskapID,ProdID),
CONSTRAINT E_FK1 FOREIGN KEY (SelskapID) REFERENCES Selskap(SelskapID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT E_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE SkuespillerSpillerIProduksjon(
PID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
Rolle VARCHAR(20),
CONSTRAINT SSIP_PK PRIMARY KEY(PID, PRODID),
CONSTRAINT SSIP_FK1 FOREIGN KEY (PID) REFERENCES Person(PID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT SSPI_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE HarSkrevetProduksjon(
PID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
CONSTRAINT HSP_PK PRIMARY KEY (PID, ProdID),
CONSTRAINT HSP_FK1 FOREIGN KEY (PID) REFERENCES Person(PID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT HSP_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE RegissørLagetProduksjon(
PID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
CONSTRAINT RLP_PK PRIMARY KEY(PID, ProdID),
CONSTRAINT RLP_FK1 FOREIGN KEY (PID) REFERENCES Person(PID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT RLP_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE AnmeldelseAvProduksjon(
ProdID INTEGER NOT NULL,
BrukerID INTEGER NOT NULL,
Rating INTEGER,
Kommentar VARCHAR(300),
CONSTRAINT AAP_CHECK_RATING CHECK (Rating BETWEEN 1 and 10),
CONSTRAINT AAP_PK PRIMARY KEY (ProdID, BrukerID),
CONSTRAINT AAP_FK1 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT AAP_FK2 FOREIGN KEY (BrukerID) REFERENCES Bruker(BrukerID)
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE HarMusikkTilProduksjon(
MusikkID INTEGER NOT NULL,
ProdID INTEGER NOT NULL,
CONSTRAINT HMTP_PK PRIMARY KEY (MusikkID, ProdID),
CONSTRAINT HMTP_FK1 FOREIGN KEY (MusikkID) REFERENCES Musikk(MusikkID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT HMTP_FK2 FOREIGN KEY (ProdID) REFERENCES Produksjon(ProdID)
ON DELETE CASCADE ON UPDATE CASCADE
);
#END OF Relasjonsklasser