Теги схемы базы данных SQL

Вот схема базы данных, которую я только что составил.

моя схема

  • Пиво относится к одной категории.
  • Категория состоит из нескольких тегов.
  • Пиво помечено несколькими тегами.
  • Тег можно использовать с несколькими сортами пива (многие ко многим).

Ограничение: Вы не можете добавлять теги к пиву, которое не относится к категории, с которой связаны эти теги.

Является ли этот дизайн правильным относительно ограничения? Это то, что я должен обрабатывать в моем коде?

1 ответ

Решение

Учитывая ваши ограничения, да, этот дизайн правильный.

Этот дизайн также требует, чтобы каждый тег мог принадлежать только одной категории. Нет много ко многим между категорией и тегом.

Вы не можете добавлять теги к пиву, которое не относится к категории, с которой связаны эти теги.

Это правило должно применяться через логику приложения. Ничто в дизайне базы данных не препятствует назначению пива тэгам категорий, которым это пиво не назначено. Не недостаток в вашем дизайне, просто так оно и есть. Конструкция реляционной базы данных сама по себе не может применять все виды правил или ограничений.

Учитывая, как расплывчато user, tag, а также category в вашем кратком описании нет никаких дальнейших советов, которые можно дать, или каких-либо других соображений, чтобы рассмотреть, поскольку мы не можем понять бизнес-проблему / контекст.