Sobes.tech
Senior

//Jāapraksta bibliotēkas modelis. Ir 3 entītijas: "Autors", "Grāmata", "Lasītājs" Fiziski ir tikai viena grāmata un tā var būt tikai ar vienu lasītāju. Jāizveido tabulas bibliotēkai, ņemot to vērā.

sobes.tech AI

Atbilde no 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.

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