Теги схемы базы данных SQL
Вот схема базы данных, которую я только что составил.
- Пиво относится к одной категории.
- Категория состоит из нескольких тегов.
- Пиво помечено несколькими тегами.
- Тег можно использовать с несколькими сортами пива (многие ко многим).
Ограничение: Вы не можете добавлять теги к пиву, которое не относится к категории, с которой связаны эти теги.
Является ли этот дизайн правильным относительно ограничения? Это то, что я должен обрабатывать в моем коде?
1 ответ
Учитывая ваши ограничения, да, этот дизайн правильный.
Этот дизайн также требует, чтобы каждый тег мог принадлежать только одной категории. Нет много ко многим между категорией и тегом.
Вы не можете добавлять теги к пиву, которое не относится к категории, с которой связаны эти теги.
Это правило должно применяться через логику приложения. Ничто в дизайне базы данных не препятствует назначению пива тэгам категорий, которым это пиво не назначено. Не недостаток в вашем дизайне, просто так оно и есть. Конструкция реляционной базы данных сама по себе не может применять все виды правил или ограничений.
Учитывая, как расплывчато user
, tag
, а также category
в вашем кратком описании нет никаких дальнейших советов, которые можно дать, или каких-либо других соображений, чтобы рассмотреть, поскольку мы не можем понять бизнес-проблему / контекст.