SQL数据库架构设计标签

时间:2016-09-09 23:00:55

标签: database-design relational-database database-normalization database-relations

这是我刚刚编写的数据库模式。

my schema

  • 啤酒属于单一类别。
  • 类别由多个标签组成。
  • 啤酒由多个标签标记。
  • 标签可与多种啤酒(多对多)一起使用。

约束: 您不能将标签添加到不属于与这些标签相关联的类别的啤酒中。

这种设计在约束方面是否正确?这是我应该在我的代码中处理的事情吗?

1 个答案:

答案 0 :(得分:1)

鉴于你的限制,是的,这种设计是正确的。

此设计还要求每个标记只能属于一个类别。类别和标签之间没有多对多。

  

您不能将标签添加到不属于与这些标签相关联的类别的啤酒中。

必须通过应用逻辑强制执行此规则。数据库设计中没有任何内容可以防止将啤酒分配给未分配该啤酒的类别标签。这不是你设计中的缺陷,只是它的方式。关系数据库设计本身不能强制执行各种规则或约束。

鉴于usertagcategory的概念在您的简短描述中有多模糊,因此我们无法理解,因此无法提供进一步的建议或进一步的思考业务问题/背景。