0

我在学校做这个项目,关于超市数据库,我有一个需要代表的约束,但我不知道如何。这是约束:


“每个产品都有一个命名的类别。没有没有类别的产品,每个产品只属于一个类别。

另一个类别(子类别)中可以有一个类别。意思是,类别形成层次结构。由子类别组成的类别称为“超级类别”,其他的只是“简单类别”。

一个类别只能属于一个超类别。

系统必须确定每个超级类别有多少个子类别。”


我正在考虑做一个“IS A”关系,比如这个:https ://prnt.sc/gtzmuh

你怎么看?我怎样才能使这项工作?

提前致谢!:)

4

1 回答 1

0

我不认为在这种情况下继承是有用的......我相信下面的这个图应该可以帮助你...... 急诊室

然后你在 SQL 中的表应该是这样的:

  1. 类别(category_id,...)-> 键(category_id)

  2. 产品(product_id, category_id, ...) -> key(product_id, category_id)

  3. A_is_subCategory_of_B(A_category_id, B_category_id) -> 键(A_category_id, B_category_id)

任何超类别和子类别对都将位于“A_is_subCategory_of_B”表中。

于 2017-10-07T20:13:52.193 回答