Назад к вопросам
Senior
4
//Нужно описать модель библиотеки. Есть 3 сущности: "Автор", "Книга", "Читатель" Физически книга только одна и может быть только у одного читателя. Нужно составить таблицы для библиотеки так что бы это учесть.
Компании, где спрашивали
Small
Ответ от нейросети
sobes.tech AI
Для описания модели библиотеки с сущностями "Автор", "Книга" и "Читатель", учитывая, что каждая книга существует в единственном экземпляре и может быть у одного читателя, можно предложить следующие таблицы:
-- Таблица Авторов
CREATE TABLE authors (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
-- Таблица Книг
CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author_id INT NOT NULL REFERENCES authors(id),
reader_id INT UNIQUE REFERENCES readers(id) -- книга может быть у одного читателя или ни у кого
);
-- Таблица Читателей
CREATE TABLE readers (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
Объяснение:
- Каждая книга связана с одним автором через
author_id. - Поле
reader_idв таблицеbooksуказывает, кто сейчас владеет книгой. Оно уникально, чтобы одна книга не могла быть у нескольких читателей. - Если книга не выдана,
reader_idбудет NULL.
Такой подход отражает физическую уникальность книги и её текущего владельца.