我需要为具有不同部分的网站设计一个数据库,例如:产品、文章和成员。
这些部门中的每一个都应分为不同的类别,例如:
产品类别:
- 鞋
- 衬衫
- 帽子
会员类别:
- 贵宾会员
- 正式会员
- 折扣会员
等等..
我的问题是:我应该使用一个大类别表,该表在每一行都有一个标志,指示它是哪种类别(例如members_category
, products_category
),还是应该为每个部门使用单独的类别表?
我需要为具有不同部分的网站设计一个数据库,例如:产品、文章和成员。
这些部门中的每一个都应分为不同的类别,例如:
等等..
我的问题是:我应该使用一个大类别表,该表在每一行都有一个标志,指示它是哪种类别(例如members_category
, products_category
),还是应该为每个部门使用单独的类别表?
在其他条件相同的情况下,您应该使用单独的类别表。这将使以声明方式强制执行引用完整性变得容易,而不必担心连接到错误的类别。
例如,您可以简单地在 PRODUCT 和 PRODUCT_CATEGORY 表之间创建一个 FOREIGN KEY,在 MEMBER 和 MEMBER_CATEGORY 之间创建一个 FOREIGN KEY,如果您尝试将产品连接到成员类别或将成员连接到产品,数据库将自动“保护”自己类别。
我认为为不同的类别使用不同的表格是个好主意。使用引用(外键)在它们之间进行映射。这样,您的调试将在数据库上变得容易。
如果您在同一个表中管理所有类别,则表的管理很困难。
为所有类别类型创建表不是一个好主意。如果要使用一个类别表,则必须为类别类型再创建一个表。
示例->
CategoryType 表 -> ID,Name
类别表 -> 名称,CategoryTypeID
插入一个类别;
'鞋子',1(产品类别类型 ID)
'VIP会员',2(会员CategoryTypeID)
希望能帮助它