39 lines
949 B
MySQL
39 lines
949 B
MySQL
|
CREATE TABLE biographies (
|
||
|
id SERIAL PRIMARY KEY,
|
||
|
content TEXT NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE authors (
|
||
|
id SERIAL PRIMARY KEY,
|
||
|
name VARCHAR(100) NOT NULL,
|
||
|
biography_id INT,
|
||
|
FOREIGN KEY (biography_id) REFERENCES biographies(id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE books (
|
||
|
ident SERIAL PRIMARY KEY,
|
||
|
title VARCHAR(100) NOT NULL,
|
||
|
author_id INT NOT NULL,
|
||
|
FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE reviews (
|
||
|
id SERIAL PRIMARY KEY,
|
||
|
book_id INT NOT NULL,
|
||
|
review TEXT NOT NULL,
|
||
|
FOREIGN KEY (book_id) REFERENCES books(ident) ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE genres (
|
||
|
id SERIAL PRIMARY KEY,
|
||
|
name VARCHAR(100) NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE book_genres (
|
||
|
book_id INT NOT NULL,
|
||
|
genre_id INT NOT NULL,
|
||
|
PRIMARY KEY (book_id, genre_id),
|
||
|
FOREIGN KEY (book_id) REFERENCES books(ident) ON DELETE CASCADE,
|
||
|
FOREIGN KEY (genre_id) REFERENCES genres(id) ON DELETE CASCADE
|
||
|
);
|