文章 - 应用程序不同部分的类别架构,统一还是分开?

时间:2012-09-10 13:35:17

标签: mysql database database-design schema database-schema

我需要帮助为自定义CMS设计架构,并使用以下表格:

  • 产品/文章
  • 新闻
  • 活动

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

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

我应该为每个" master"创建两个单独的表。表(一个用于类别,一个用于关系)

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 ) 

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

请注意,产品类别可能包含与新闻/活动类别

不同的(更多)字段

1 个答案:

答案 0 :(得分:0)

如果“请注意,产品类别可能包含与新闻/事件类别不同(更多)的字段”,那么您一定要选择第一个选项。

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