【发布时间】:2012-07-20 18:04:35
【问题描述】:
我重新回到数据库设计领域,我意识到我的知识存在巨大差距。
我有一个包含类别的表格。每个类别可以有多个子类别,每个子类别又可以属于多个超类别。
我想创建一个包含所有子类别文件夹的类别名称的文件夹。 (像 windows 文件夹这样的视觉对象) 所以我需要对子类别进行快速搜索。
我想知道在这种情况下使用 1:M 或 M:N 关系有什么好处? 以及如何实现每个设计?
我创建了一个 1:M 一元关系的 ERD 模型。 (该图还包含一个费用表,其中存储了所有费用值,但在这种情况下不相关)
这个设计正确吗?
多对多一元关系是否允许更快地搜索超类别?默认情况下是最佳设计吗?
我更喜欢包含 ERD 的答案
【问题讨论】:
-
出于好奇,什么是“1:M 一元关系”?我使用术语“一元”来表示“1:1”关系(或者,在某些情况下,可能是“0-1:0-1”)。
-
In Database Systems - Design, Implementation, and Management (9th Edition) 一元 M:N 关系通过给出课程示例来解释: M:N 递归关系在学校可能更熟悉环境。例如,请注意图 4.17 所示的 M:N “COURSE requires COURSE”关系如何在图 4.21 中实现。在此示例中,MATH-243 是 QM-261 和 QM-362 的先决条件,而 MATH-243 和 QM-261 都是 QM-362 的先决条件
标签: mysql database database-design erd