DEV Community

Erlan Akbaraliev
Erlan Akbaraliev

Posted on

База данных Финальный проект

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
);
Enter fullscreen mode Exit fullscreen mode

Так как мы в таблице books пишем что publisher_id является Foreign Key (внешним ключом) и ссылается на столбец id из таблицы publishers, нам нужно сперва создать таблицу publishers.
Без таблицы publishers, мы не сможем создать таблицу books и указать там внешний ключ на таблицу publishers.

Создайте остальные таблицы.

Решение


2. Анализируйте таблицы

3. Создайте диаграмму и документацию проекта

4. Загрузите ваш проект на сайт

Top comments (0)