【发布时间】:2011-07-09 00:10:34
【问题描述】:
我一直在为网站创建我的第一个数据库,并创建了下面的图表来工作。这看起来是否适用于业务和类别以及类别和子类别之间的多对多关系?
你能看出它有什么问题吗?
【问题讨论】:
-
@PachinSV:ERD 一直对我可见——刷新你的浏览器标签
标签: mysql database-design data-modeling erd
我一直在为网站创建我的第一个数据库,并创建了下面的图表来工作。这看起来是否适用于业务和类别以及类别和子类别之间的多对多关系?
你能看出它有什么问题吗?
【问题讨论】:
标签: mysql database-design data-modeling erd
看起来不错,但 category_link_table 可能有问题。除非您的业务需求允许链接到类别或子类别,否则不要在链接表中同时存储主类别和子类别 ID。仅存储子类别 ID。
如果两者都存在,您可能最终会遇到 categoryID/subcategoryIDs 不匹配的情况,即您从类别“A”和类别“B”中的子类别“p”中获得了一些东西。
【讨论】:
几个cmets:
我认为不需要 Link_table 中的 ID 字段。 business_id,category_id 应该是唯一的。
您的子类别表设置看起来很奇怪,您有一个链接表。我原以为每个子类别都会有一个父类别的字段(category_id)。如果事情是有一个带有 parent_catagory_id 的目录表并在一个表上进行自我连接,我更喜欢这种类型。
【讨论】:
一般来说,我会为您的表确定命名约定。我更喜欢“business”而不是“business_data”——它反映了业务领域,而不是技术问题。
我还会以不同的方式命名您的链接表 - 通常,“business_category”更简洁,“category_subcategory”也是如此。
【讨论】: