1. Создайте таблицы с ограничениямы:
-
books: книги
- id (Serial Primary Key)
- title: название (Text)
- publisher_id: id издателя (Integer)
- format: формат
- pages: страницы
- published_date: дата публикации (Date)
-
authors
- id
- name: имя
- country: страна
- birthdate: дата рождения (Date)
-
authors_books: авторы_книги
- author_id: id авторы
- book_id: id книги
-
publishers: издатели
- id
- name: название
-
translators: переводчики
- id
- name: имя
-
translators_books: переводчики_книги
- translator_id: id переводчик
- book_id: id книги
-
rating: рейтинг
- book_id: id книги
- rating: рейтинг
Таким образом мы можем создать таблицы книги и издатели.
CREATE TABLE books (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
publisher_id INT,
format TEXT CHECK(format IN ('твердый', 'мягкий')),
pages INT,
published_date DATE DEFAULT CURRENT_DATE,
FOREIGN KEY (publisher_id) REFERENCES publishers(id)
);
CREATE TABLE publishers (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
Так как мы в таблице books пишем что publisher_id является Foreign Key (внешним ключом) и ссылается на столбец id из таблицы publishers, нам нужно сперва создать таблицу publishers.
Без таблицы publishers, мы не сможем создать таблицу books и указать там внешний ключ на таблицу publishers.
Создайте остальные таблицы.
Top comments (0)