-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDatabaseSchema.txt
45 lines (45 loc) · 1.39 KB
/
DatabaseSchema.txt
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
CREATE TYPE AwardResult AS ENUM
('won', 'nominated');
CREATE TABLE Directors
(
director varchar(50) NOT NULL,
yearOfBirth integer NOT NULL,
CONSTRAINT "Directors_pkey" PRIMARY KEY (director)
);
CREATE TABLE Movies
(
title varchar(100) NOT NULL,
year integer NOT NULL,
director varchar(50) NOT NULL,
budget integer NOT NULL,
gross integer NOT NULL,
CONSTRAINT "Movies_pkey" PRIMARY KEY (title, year),
CONSTRAINT "DirectorAwards_director_fkey" FOREIGN KEY (director)
REFERENCES Directors(director) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
);
CREATE TABLE DirectorAwards
(
director varchar(50) NOT NULL,
year integer NOT NULL,
award varchar(100) NOT NULL,
result AwardResult NOT NULL,
CONSTRAINT "DirectorAwards_pkey" PRIMARY KEY (director, year, award),
CONSTRAINT "DirectorAwards_director_fkey" FOREIGN KEY (director)
REFERENCES Directors(director) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
);
CREATE TABLE MovieAwards
(
title varchar(100) NOT NULL,
year integer NOT NULL,
award varchar(100) NOT NULL,
result AwardResult NOT NULL,
CONSTRAINT "MovieAwards_pkey" PRIMARY KEY (title, year, award),
CONSTRAINT "MovieAwards_year_title_fkey" FOREIGN KEY (title, year)
REFERENCES Movies(title, year) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
);