MySQL:链接表

时间:2011-07-08 15:43:49

标签: mysql database-design data-modeling erd

我一直在为网站创建我的第一个数据库,并且我创建了以下图表。这看起来是否适用于业务和类别以及类别和子类别之间的多对多关系?

你能看到它的任何问题吗?

My Database

3 个答案:

答案 0 :(得分:2)

看起来没问题,尽管category_link_table可能有问题。除非您的业务要求允许链接到类别或子类别,否则不要在链接表中存储主类别和子类别ID。仅存储子类别ID。

两者都存在,你可能最终会遇到categoryID / subcategoryIDs不匹配,你可以从类别'A'获得一些东西,在'B'类别中获得子类'p'。

答案 1 :(得分:1)

几条评论:

  1. 我认为Link_table中不需要ID字段。 business_id,catagory_id应该是唯一的。

  2. 您的子类别表设置似乎很奇怪,您有一个链接表。我原以为每个子类别都只有一个父类别的字段(catagory_id)。我喜欢这种情况,如果有一个带有parent_catagory_id的catagory表,并在一个表上进行自我连接。

答案 2 :(得分:1)

总的来说,我会决定你的表的命名约定。我更喜欢“业务”到“business_data” - 它反映了业务领域,而不是技术问题。

我还会以不同的方式命名您的链接表 - 通常,“business_category”更清晰,“category_subcategory”也是如此。