forked from harvested/MyIMDB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMyIMDB.sqlite
94 lines (66 loc) · 2.48 KB
/
MyIMDB.sqlite
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
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
DROP TABLE `users` ;
DROP TABLE `comments`;
DROP TABLE `actors`;
DROP TABLE `movies`;
DROP TABLE `actor_movies`;
DROP TABLE `genres`;
DROP TABLE "movie_genres";
DROP TABLE `user_roles`;
DROP TABLE `user_role_types`;
-- test
CREATE TABLE 'users' (
-- user_id INTEGER PRIMARY KEY,
id INTEGER PRIMARY KEY,
user_name TEXT UNIQUE NOT NULL,
first_name TEXT,
last_name TEXT,
password_enc TEXT,
email TEXT UNIQUE NOT NULL,
email_validated BOOLEAN NOT NULL DEFAULT 0
--CHECK (email_validated in (0, 1)) DEFAULT 0
);
INSERT INTO 'users' (user_name, email) VALUES ('demo', '[email protected]');
CREATE TABLE `comments` ( comment_id INTEGER PRIMARY KEY, comment TEXT );
CREATE TABLE `actors` ( actor_id INTEGER PRIMARY KEY, first_name TEXT, last_name TEXT, date_of_birth TEXT );
CREATE TABLE 'movies' (
id INTEGER PRIMARY KEY,
title TEXT,
launch_date TEXT,
duration INTEGER,
avg_rating INTEGER
);
CREATE TABLE `actor_movies` ( actor_id INTEGER REFERENCES actors(actor_id), movie_id INTEGER REFERENCES movies(movie_id) );
CREATE TABLE `genres` ( genre_id INTEGER PRIMARY KEY, genre TEXT );
CREATE TABLE "movie_genres" ( movie_id INTEGER REFERENCES movies(movie_id), genre_id INTEGER REFERENCES genres(genre_id));
CREATE TABLE `user_roles` ( user_id INTEGER REFERENCES user(user_id), role_id INTEGER REFERENCES roles(role_id) );
CREATE TABLE `user_role_types` (role_id INTEGER PRIMARY KEY, type TEST);
DROP TABLE IF EXISTS 'users_movies';
CREATE TABLE "users_movies" (
'user_id' INTEGER NOT NULL ,
'movie_id' INTEGER NOT NULL ,
'rating' INTEGER CHECK (rating in (0, 1, 2, 3, 4, 5)), -- null is not rated
'flagged' BOOLEAN NOT NULL CHECK (flagged in (0, 1)) DEFAULT 0, --for later viewing
PRIMARY KEY ('user_id','movie_id'),
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(user_id) REFERENCES users(id)
);
INSERT INTO 'users_movies' (user_id, movie_id, rating, flagged) VALUES
(1, 1, 0, 0),
(1, 2, 2, 0),
(1, 3, 4, 1),
(1, 6, 5, 0);
INSERT INTO `movies` (title, launch_date, duration, avg_rating) VALUES
('Fight Club','1999-10-15',139,3),
('Seven','1995-09-22',127,3),
('Ocean Eleven',NULL,NULL,4),
('99',NULL,NULL,NULL),
('Star Wars', '1977-05-25',NULL,NULL),
('The Empire Strikes Back','1980-05-21',NULL,NULL),
('Return of the Jedi','1983-05-25',NULL,NULL);
COMMIT;
--
select * from users;
select * from movies;
select * from users_movies;