MySQL类别表结构

时间:2013-01-16 12:19:31

标签: mysql database database-design

我需要为具有不同部分的网站设计数据库,例如:products,articles&成员。

这些部门中的每一个都应分为不同的类别,例如:

产品类别:

  1. 衬衫
  2. 帽子
  3. 会员类别:

    1. VIP会员
    2. 普通会员
    3. 折扣会员
    4. 依旧......

      我的问题是:我应该使用一个大类别表,每个行中都有一个标记,表明它属于哪种类别(例如members_categoryproducts_category)或者我应该单独使用每个部门的类别表?

3 个答案:

答案 0 :(得分:1)

在其他条件相同的情况下,您应该使用单独的类别表。这将使声明性地强制引用完整性变得容易,而不必担心连接到错误的类别。

例如,您只需在PRODUCT和PRODUCT_CATEGORY表之间创建FOREIGN KEY,在MEMBER和MEMBER_CATEGORY之间创建FOREIGN KEY,如果您尝试将产品连接到成员类别或成员,数据库将自动“保护”自身到产品类别。

答案 1 :(得分:0)

为所有类别类型创建表格并不是一个好主意。 如果要使用一个类别表,则必须为类别类型再创建一个表。

expample - >

CategoryType表 - > ID,名称

  1. 产品类别
  2. 会员类别
  3. 类别表 - >名,CategoryTypeID

    插入一个类别;

      

    'Shoes',1(Products CategoryTypeID)

         

    'VIP会员',2(会员分类类型ID)

    希望有所帮助

答案 2 :(得分:0)

我认为将不同的表用于不同的类别是个好主意。使用引用(外键)在它们之间进行映射。 通过这种方式,您可以轻松地在数据库上进行调试。

如果您管理同一个表中的所有类别,则表的管理很难。