-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase_queries.sql
138 lines (108 loc) · 3.67 KB
/
database_queries.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
-- best_movies TABLE
-- Step 1: Add the new columns to best_movies table
ALTER TABLE best_movies
ADD COLUMN main_production_id INT,
ADD COLUMN main_genre_id INT;
-- Step 2: Update the new columns with the corresponding index values from main_productions and main_genres
UPDATE best_movies bm
SET main_production_id = mp.index
FROM main_productions mp
WHERE bm.main_production = mp.main_production;
UPDATE best_movies bm
SET main_genre_id = mg.index
FROM main_genres mg
WHERE bm.main_genre = mg.main_genre;
-- Step 3: Add foreign key constraints
ALTER TABLE best_movies
ADD CONSTRAINT fk_main_production_id
FOREIGN KEY (main_production_id)
REFERENCES main_productions(index);
ALTER TABLE best_movies
ADD CONSTRAINT fk_main_genre_id
FOREIGN KEY (main_genre_id)
REFERENCES main_genres(index);
-- Step 4: Drop the unnecessary columns
ALTER TABLE best_movies
DROP COLUMN main_genre,
DROP COLUMN main_production;
-- best_movies_by_year TABLE
-- Step 1: Add the new columns to best_movies table
ALTER TABLE best_movies_by_year
ADD COLUMN main_production_id INT,
ADD COLUMN main_genre_id INT;
-- Step 2: Update the new columns with the corresponding index values from main_productions and main_genres
UPDATE best_movies_by_year bmy
SET main_production_id = mp.index
FROM main_productions mp
WHERE bmy.main_production = mp.main_production;
UPDATE best_movies_by_year bmy
SET main_genre_id = mg.index
FROM main_genres mg
WHERE bmy.main_genre = mg.main_genre;
-- Step 3: Add foreign key constraints
ALTER TABLE best_movies_by_year
ADD CONSTRAINT fk_main_production_id
FOREIGN KEY (main_production_id)
REFERENCES main_productions(index);
ALTER TABLE best_movies_by_year
ADD CONSTRAINT fk_main_genre_id
FOREIGN KEY (main_genre_id)
REFERENCES main_genres(index);
-- Step 4: Drop the unnecessary columns
ALTER TABLE best_movies_by_year
DROP COLUMN main_genre,
DROP COLUMN main_production;
-- best_shows TABLE
-- Step 1: Add the new columns to best_movies table
ALTER TABLE best_shows
ADD COLUMN main_production_id INT,
ADD COLUMN main_genre_id INT;
-- Step 2: Update the new columns with the corresponding index values from main_productions and main_genres
UPDATE best_shows bs
SET main_production_id = mp.index
FROM main_productions mp
WHERE bs.main_production = mp.main_production;
UPDATE best_shows bs
SET main_genre_id = mg.index
FROM main_genres mg
WHERE bs.main_genre = mg.main_genre;
-- Step 3: Add foreign key constraints
ALTER TABLE best_shows
ADD CONSTRAINT fk_main_production_id
FOREIGN KEY (main_production_id)
REFERENCES main_productions(index);
ALTER TABLE best_shows
ADD CONSTRAINT fk_main_genre_id
FOREIGN KEY (main_genre_id)
REFERENCES main_genres(index);
-- Step 4: Drop the unnecessary columns
ALTER TABLE best_shows
DROP COLUMN main_genre,
DROP COLUMN main_production;
-- best_shows_by_year TABLE
-- Step 1: Add the new columns to best_movies table
ALTER TABLE best_shows_by_year
ADD COLUMN main_production_id INT,
ADD COLUMN main_genre_id INT;
-- Step 2: Update the new columns with the corresponding index values from main_productions and main_genres
UPDATE best_shows_by_year bsy
SET main_production_id = mp.index
FROM main_productions mp
WHERE bsy.main_production = mp.main_production;
UPDATE best_shows_by_year bsy
SET main_genre_id = mg.index
FROM main_genres mg
WHERE bsy.main_genre = mg.main_genre;
-- Step 3: Add foreign key constraints
ALTER TABLE best_shows_by_year
ADD CONSTRAINT fk_main_production_id
FOREIGN KEY (main_production_id)
REFERENCES main_productions(index);
ALTER TABLE best_shows_by_year
ADD CONSTRAINT fk_main_genre_id
FOREIGN KEY (main_genre_id)
REFERENCES main_genres(index);
-- Step 4: Drop the unnecessary columns
ALTER TABLE best_shows_by_year
DROP COLUMN main_genre,
DROP COLUMN main_production;