-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate.sql
More file actions
32 lines (28 loc) · 765 Bytes
/
Copy pathcreate.sql
File metadata and controls
32 lines (28 loc) · 765 Bytes
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
CREATE TABLE authors(
id SERIAL PRIMARY KEY NOT NULL,
name VARCHAR NOT NULL UNIQUE,
nationality VARCHAR NOT NULL,
birthdate DATE NOT NULL
);
CREATE TABLE publishers(
id SERIAL PRIMARY KEY NOT NULL,
name VARCHAR NOT NULL UNIQUE,
annual_revenue INT NOT NULL,
founded_year INT NOT NULL
);
CREATE TABLE genres(
id SERIAL PRIMARY KEY NOT NULL,
genre VARCHAR NOT NULL UNIQUE
);
CREATE TABLE books(
id SERIAL PRIMARY KEY NOT NULL,
title VARCHAR NOT NULL UNIQUE,
pages INT NOT NULL,
author_id INT REFERENCES authors(id) NOT NULL,
publisher_id INT REFERENCES publishers(id) NOT NULL
);
CREATE TABLE books_genres(
id SERIAL PRIMARY KEY NOT NULL,
genre_id INT REFERENCES genres(id) NOT NULL,
book_id INT REFERENCES books(id) NOT NULL
);