Database design 表级别和外键之间的关系
我需要有关数据库中以下结构的帮助 这些是桌子Database design 表级别和外键之间的关系,database-design,relational-database,Database Design,Relational Database,我需要有关数据库中以下结构的帮助 这些是桌子 价目表 可选组 产品组 产品 现在我需要把这些东西组织起来,让我们从上一篇表格文章开始 物品属于产品,然后产品属于产品组,然后产品组属于OptionalGroup,OptionalGroup属于价目表 今天的关系是这样的 表:价格表 表:OptionalGroup具有PriceListId的ForeignKey 表:ProductGroup具有OptionalGroup的外键 表:产品具有ProductGroup的外键 样本数据: > P
- 表:价格表
- 表:OptionalGroup具有PriceListId的ForeignKey
- 表:ProductGroup具有OptionalGroup的外键
- 表:产品具有ProductGroup的外键
> Pricelist: 81
> OptionalGroup: Shoes
> ProductGroup: Shoelace
> Product: Shoelace 1
> Product: Shoelace 2
我应该如何设计这个
这样,为了得到一个产品,我现在需要查看价格表、optionalgroup、productgroup,然后我就可以得到这个产品了。因为pricelist有自己的OptionalGroup,也可以有相同的OptionalGroup名称。这种设计就可以了
table name PriceList
ProductID--> PK
Price
table name OptionalGroup
GroupID--> PK
ProductID--> FK
GroupName
table name ProductGroup
ProductGroupID--> PK
ProductGroupName
GroupID--> FK
table name Product
ProductName
ProductGroupID-->FK
我应该如何设计这个
你已经做了;)您的数据模型似乎适合您所描述的需求
虽然有一些可能的变化,但基本思想没有根本改变。例如
…使用关系将父PK“迁移”到子PK,因此您可以(例如)直接从Product
表获取PriceListId
,而无需与ProductGroup
和OptionalGroup
表联接,但代价是“胖”子FKs
具有非标识关系的设计是否比此处显示的设计更好,这是工程权衡的问题。两者都有优点和缺点,你的任务是为你的具体情况选择一个优点多,缺点少的
此外,如果
价目表中没有(其他字段)
,并且您永远不会有空价目表(或者根本不区分空价目表和不存在的价目表),您可以完全忽略该表。该层次结构中的所有级别都是必需的吗?@wp91。我应该如何设计它?问题是;)只要看我的文字。什么是应用程序?清单?