Inline fk constraints in example

This commit is contained in:
Joe Nelson
2015-11-27 23:07:29 -08:00
parent c681ff2d9d
commit c6f69956f6
+11 -21
View File
@@ -25,12 +25,10 @@ CREATE TABLE film
id serial PRIMARY KEY, id serial PRIMARY KEY,
title text NOT NULL, title text NOT NULL,
year date NOT NULL, year date NOT NULL,
director text, director text REFERENCES director (name)
ON UPDATE CASCADE ON DELETE CASCADE,
rating real NOT NULL DEFAULT 0, rating real NOT NULL DEFAULT 0,
language text NOT NULL, language text NOT NULL
CONSTRAINT film_director_fkey FOREIGN KEY (director)
REFERENCES director (name) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
); );
CREATE TABLE festival CREATE TABLE festival
@@ -42,27 +40,19 @@ CREATE TABLE competition
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
name text NOT NULL, name text NOT NULL,
festival text NOT NULL, festival text NOT NULL REFERENCES festival (name)
year date NOT NULL, ON UPDATE CASCADE ON DELETE CASCADE,
year date NOT NULL
CONSTRAINT comp_festival_fkey FOREIGN KEY (festival)
REFERENCES festival (name) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
); );
CREATE TABLE film_nomination CREATE TABLE film_nomination
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
competition integer NOT NULL, competition integer NOT NULL REFERENCES competition (id)
film integer NOT NULL, ON UPDATE NO ACTION ON DELETE NO ACTION,
won boolean NOT NULL DEFAULT true, film integer NOT NULL REFERENCES film (id)
ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT nomination_competition_fkey FOREIGN KEY (competition) won boolean NOT NULL DEFAULT true
REFERENCES competition (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT nomination_film_fkey FOREIGN KEY (film)
REFERENCES film (id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
); );
COMMIT; COMMIT;