1CREATE TABLE actor (
2  actor_id INTEGER PRIMARY KEY AUTOINCREMENT,
3  first_name VARCHAR(45) NOT NULL,
4  last_name VARCHAR(45) NOT NULL,
5  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
6);
7
8CREATE TABLE language (
9  language_id INTEGER PRIMARY KEY AUTOINCREMENT,
10  name CHAR(20) NOT NULL,
11  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
12);
13
14CREATE TABLE film (
15  film_id INTEGER PRIMARY KEY AUTOINCREMENT,
16  title VARCHAR(255) NOT NULL,
17  description TEXT DEFAULT NULL,
18  release_year year DEFAULT NULL,
19  language_id SMALLINT NOT NULL,
20  original_language_id SMALLINT,
21  rental_duration SMALLINT NOT NULL DEFAULT 3,
22  rental_rate NUMERIC(4,2) NOT NULL DEFAULT 4.99,
23  length SMALLINT,
24  replacement_cost NUMERIC(5,2) NOT NULL DEFAULT 19.99,
25  rating VARCHAR DEFAULT 'G',
26  special_features TEXT[],
27  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
28  CONSTRAINT film_rating_check CHECK ((((((rating = 'G') OR (rating = 'PG')) OR (rating = 'PG-13')) OR (rating = 'R')) OR (rating = 'NC-17'))),
29  CONSTRAINT fk_film_language FOREIGN KEY (language_id) REFERENCES language (language_id) ON DELETE RESTRICT ON UPDATE CASCADE,
30  CONSTRAINT fk_film_language_original FOREIGN KEY (original_language_id) REFERENCES language (language_id) ON DELETE RESTRICT ON UPDATE CASCADE
31);
32
33CREATE TABLE film_actor (
34  actor_id INTEGER NOT NULL,
35  film_id INTEGER NOT NULL,
36  last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
37  CONSTRAINT fk_film_actor_actor FOREIGN KEY (actor_id) REFERENCES actor (actor_id) ON DELETE RESTRICT ON UPDATE CASCADE,
38  CONSTRAINT fk_film_actor_film FOREIGN KEY (film_id) REFERENCES film (film_id) ON DELETE RESTRICT ON UPDATE CASCADE
39);
40