减少(3)复合主键的冗余

问题描述 投票:0回答:1

如果我有一个带有复合键 (3) 的表,如下所示:

sub_product
 - product_id (PK FK)
 - product_type (PK FK)
 - size_id (PK FK)
 - quantity

数量取决于所有 3 个键。

将其减少到只有 2 个复合键是否被视为标准化? 像这样:

sub_product
 - id
 - product_id
 - product_type

inventory
 - sub_product_id (PK FK)
 - size_id (PK FK)
 - quantity

问题是我认为不是,但我知道一旦添加仅依赖于product_id和product_type的列(如picture_id),我就知道它对于规范化是强制性的。 (对于我的示例,请考虑我永远不会添加 picture_id 列)

需要明确的是,我的问题是这是否必须标准化,或者是否更多的是基于意见并取决于个人喜好。

database postgresql database-design primary-key composite-primary-key
1个回答
0
投票

不认为是标准化。标准化永远不会需要虚假的伪键。

© www.soinside.com 2019 - 2024. All rights reserved.