这些是我的要求:
- 每个类别有多个组
- 每个组有多个属性
- 每个属性都有多个值
到目前为止,我已经想出了这个数据库设计
类别组表
GroupID
| CatID[References Category(CatID)]
|GroupName
类别属性表
AttributeID
| AttributeName
| GroupID[References CategoryGroups(GroupID)]
| AttributeValue
所以你们觉得这是一个巧妙的设计吗?有什么建议么??
这些是我的要求:
到目前为止,我已经想出了这个数据库设计
类别组表
GroupID
| CatID[References Category(CatID)]
|GroupName
类别属性表
AttributeID
| AttributeName
| GroupID[References CategoryGroups(GroupID)]
| AttributeValue
所以你们觉得这是一个巧妙的设计吗?有什么建议么??
除了命名您的第二个表之外GroupAttributes
,因为它对类别一无所知,这是一种最常用的好方法。您有多个 1:N(一对多)关系,并且您以正确的方式引用表。
有什么理由不为您的四个概念设置四个表吗?:
Category: id, <category stuff>
Group: id, category_id, <group stuff>
Attribute: id, group_id, <attribute stuff>
Value: id, attribute_id, <value stuff>
主键是 id 列。
外键如命名(即attribute_id 是Attribute.id 的外键)