如何在 ER 图中重新创建层次结构?
How to recreate an hierarchy in ER diagram?
我在学校做这个关于超市数据库的项目,我有一个需要表示的约束,但我不知道如何表示。这里是克制:
"每个产品都有一个命名的类别。没有没有类别的产品,每个产品只属于一个类别。
另一个类别(子类别)中可以有一个类别。意思是,这些类别形成了一个层次结构。由子类别组成的类别被命名为 "Super Categories",其他的只是 "Simple Categories".
一个类别只能属于一个超级类别。
系统必须确定每个超级类别有多少个子类别。
我正在考虑做一个 "IS A" 关系,比如这个:https://prnt.sc/gtzmuh
你怎么看?我怎样才能完成这项工作?
提前致谢! :)
我不认为继承在这种情况下有用...我相信下图应该对您有所帮助...
然后 SQL 中的 table 应该是这样的:
类别(category_id, ...) -> 键(category_id)
Product(product_id, category_id, ...) -> key(product_id,
category_id)
A_is_subCategory_of_B(A_category_id, B_category_id) ->
键(A_category_id, B_category_id)
任何超级类别和子类别对都将在 "A_is_subCategory_of_B" table 内。
我在学校做这个关于超市数据库的项目,我有一个需要表示的约束,但我不知道如何表示。这里是克制:
"每个产品都有一个命名的类别。没有没有类别的产品,每个产品只属于一个类别。
另一个类别(子类别)中可以有一个类别。意思是,这些类别形成了一个层次结构。由子类别组成的类别被命名为 "Super Categories",其他的只是 "Simple Categories".
一个类别只能属于一个超级类别。
系统必须确定每个超级类别有多少个子类别。
我正在考虑做一个 "IS A" 关系,比如这个:https://prnt.sc/gtzmuh
你怎么看?我怎样才能完成这项工作?
提前致谢! :)
我不认为继承在这种情况下有用...我相信下图应该对您有所帮助...
然后 SQL 中的 table 应该是这样的:
类别(category_id, ...) -> 键(category_id)
Product(product_id, category_id, ...) -> key(product_id, category_id)
A_is_subCategory_of_B(A_category_id, B_category_id) -> 键(A_category_id, B_category_id)
任何超级类别和子类别对都将在 "A_is_subCategory_of_B" table 内。