Sobes.tech
Back to questions
Middle
3

Спроектируйте ER-диаграмму для онлайн книжного магазина. Учтите, что книга может содержать несколько произведений разных авторов, произведение может быть в разных книгах, нужна возможность поиска по ключевым словам.

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Для онлайн книжного магазина с учетом требований можно спроектировать следующую ER-диаграмму:

  • Таблица Book — хранит информацию о книге (ID, название, издатель, год издания и т.д.).
  • Таблица Work (Произведение) — отдельные произведения, которые могут входить в одну или несколько книг.
  • Таблица Author — авторы произведений.
  • Связь BookWork — многие ко многим между книгами и произведениями (одна книга содержит несколько произведений, одно произведение может быть в разных книгах).
  • Связь WorkAuthor — многие ко многим между произведениями и авторами (произведение может иметь нескольких авторов).
  • Таблица Keyword — ключевые слова для поиска.
  • Связь WorkKeyword — многие ко многим между произведениями и ключевыми словами.

Пример структуры:

Book (BookID PK, Title, Publisher, Year)
Work (WorkID PK, Title, Description)
Author (AuthorID PK, Name)
Keyword (KeywordID PK, Word)

BookWork (BookID FK, WorkID FK)
WorkAuthor (WorkID FK, AuthorID FK)
WorkKeyword (WorkID FK, KeywordID FK)

Такой дизайн обеспечивает:

  • Гибкость в связывании книг и произведений.
  • Поддержку нескольких авторов для одного произведения.
  • Возможность поиска по ключевым словам, связанным с произведениями.

Для поиска по ключевым словам можно использовать индексы по таблице Keyword и связи с Work.