0

我需要帮助为自定义 CMS 设计架构,其中包含以下表格:

  • 产品/文章
  • 消息
  • 活动

每个表都有通常的东西(只有 id 和非文本字段,文本字段在多语言表中)......

我的问题来自创建一个 ___CATEGORY 表,每个主表都有一个相关的类别表

我应该为每个“主”表创建两个单独的表(一个用于类别,一个用于关系)

ProductCategory ( category_id ... )
ProductCategoryRel ( category_id , product_id )

NewsCategory ( category_id ... )
NewsCategoryRel ( category_id , news_id )

EventCategory ( category_id ... )
EventCategoryRel ( category_id , event_id ) 

或者我应该像这样创建一些统一的东西:

MainCategory ( category_id, type (Product/News/Event) ... )

ProductCategoryRel ( category_id , product_id )
NewsCategoryRel ( category_id , news_id )
EventCategoryRel ( category_id , event_id ) 

我真的无法决定,两种解决方案都不完美......

请注意,产品类别可能具有与新闻/事件类别不同(更多)的字段

4

1 回答 1

0

如果“请注意产品类别可能具有与新闻/事件类别不同(更多)的字段”,那么您绝对应该选择第一个选项。

请参阅http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/(“一环统治所有”)

于 2012-09-10T13:43:34.637 回答