Sobes.tech
Senior

//Het bibliotheekmodel moet worden beschreven. Er zijn 3 entiteiten: "Auteur", "Boek", "Lezer" Fysiek is er maar één boek en kan het maar bij één lezer zijn. Tabellen voor de bibliotheek moeten hier rekening mee houden.

sobes.tech AI

Antwoord van 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.

Такой подход отражает физическую уникальность книги и её текущего владельца.