繁体   English   中英

如何设置具有多个相似属性的数据库表

[英]How to setup database tables with multiple similar attributes

有产品,部分和属性。

每个属性最多可以有5个或6个选项。

示例:电源

10 Volt
15 Volt
20 Volt

总共大约有10个产品,每个产品最多应用17个属性。

示例:产品1

power - 10 volt
color - red, yellow
link - online, offline

您将如何设置表格? 我很沮丧 我当时在考虑为每个属性分配一个单独的表,然后是一个产品表和一个部分表。

产品表将容纳与它和各节相关的属性的外键。 这有意义吗?

我当时在考虑为每个人物准备一个单独的桌子,

不要为每个属性创建单独的表,这不会满足您的目的。

为每个产品,部分和属性创建单独的表,并使用PK和FK相应地将它们联接。

这很普遍。 您可以拥有一个基本产品表,其中包含一些常规属性,例如...

Product
-------
ProductID
ProductName 
Description
Price

然后,您可以将表格扩展为其他产品类型。 所以你可以有一张桌子

ProductElectrical 
-----------------
ProductID
Voltage
Watts
BatterySize

要么...

ProductApparel
---------------
ProductID
Color
Size
Material

然后,在需要时,您可以像这样将扩展表连接到核心产品表...

select p.ProductID, p.ProductName, p.Description, pa.Color, pa.Size, pa.Material
from Product p
join ProductApparel pa
on pa.ProductID = p.ProductID
where pa.Size = "XXL"

这样,您可以在整个系统中使用紧凑的核心产品表。 当您需要查看额外的属性时,可以轻松地将它们加入核心产品表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM