mirror of
https://github.com/Phundrak/georm.git
synced 2026-07-29 04:19:18 +02:00
39 lines
1.0 KiB
SQL
39 lines
1.0 KiB
SQL
|
|
CREATE TABLE biographies (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
content TEXT NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE authors (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
name VARCHAR(100) NOT NULL,
|
||
|
|
biography_id INT,
|
||
|
|
FOREIGN KEY (biography_id) REFERENCES biographies(id)
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE books (
|
||
|
|
ident INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
title VARCHAR(100) NOT NULL,
|
||
|
|
author_id INT NOT NULL,
|
||
|
|
FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE reviews (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
book_id INT NOT NULL,
|
||
|
|
review TEXT NOT NULL,
|
||
|
|
FOREIGN KEY (book_id) REFERENCES books(ident) ON DELETE CASCADE
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE genres (
|
||
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
|
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
|
||
|
|
);
|