forked from iesdonana/filmaffinity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfa.sql
51 lines (43 loc) · 1.46 KB
/
fa.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
DROP TABLE IF EXISTS generos CASCADE;
CREATE TABLE generos
(
id BIGSERIAL PRIMARY KEY
, genero VARCHAR(255) NOT NULL UNIQUE
);
DROP TABLE IF EXISTS peliculas CASCADE;
CREATE TABLE peliculas
(
id BIGSERIAL PRIMARY KEY
, titulo VARCHAR(255) NOT NULL
, anyo NUMERIC(4)
, sinopsis TEXT
, duracion SMALLINT DEFAULT 0
CONSTRAINT ck_peliculas_duracion_positiva
CHECK (coalesce(duracion, 0) >= 0)
, genero_id BIGINT NOT NULL
REFERENCES generos (id)
ON DELETE NO ACTION
ON UPDATE CASCADE
);
CREATE TABLE usuarios
(
id BIGSERIAL PRIMARY KEY
, login VARCHAR(50) NOT NULL UNIQUE
CONSTRAINT ck_login_sin_espacios
CHECK (login NOT LIKE '% %')
, password VARCHAR(60) NOT NULL
);
-- INSERT
INSERT INTO usuarios (login, password)
VALUES ('pepe', crypt('pepe', gen_salt('bf', 10)))
, ('admin', crypt('admin', gen_salt('bf', 10)));
INSERT INTO generos (genero)
VALUES ('Comedia')
, ('Terror')
, ('Ciencia-Ficción')
, ('Drama')
, ('Aventuras');
INSERT INTO peliculas (titulo, anyo, sinopsis, duracion, genero_id)
VALUES ('Los últimos Jedi', 2017, 'Va uno y se cae...', 204, 3)
, ('Los Goonies', 1985, 'Unos niños encuentran un tesoro', 120, 5)
, ('Aquí llega Condemor', 1996, 'Mejor no cuento nada...', 90, 1);