数据库设计附加表

时间:2015-03-23 15:46:46

标签: database-design uml

我有一个名为服装的表格,它由面板组成,每个面板可以使用一组26种默认颜色进行着色。问题是,每件衣服都可以使用面料制作,每件面料可以增加一种或多种颜色。 我创建了一个draw.io图来帮助理解我的问题。

https://drive.google.com/file/d/0BwDqLSd0_WeocU5ndmNqZmc2MTQ/view?usp=sharing

基本上, 服装结构,其中包含一组 fabricColours 服装还有 GarmentColours ,它是颜色 FabricColours 的集合,但我不确定如何定义关系。 在我的设计中, GarmentColours 有两个可选的外键: FabricColourId ColourId 。我认为这可以做得更好,但我不确定如何。

之前有没有人遇到过类似的问题?如果是这样,你是如何解决的?

更新1

以下是该文档的一部分,以防您无法打开它:)

enter image description here

1 个答案:

答案 0 :(得分:0)

大约30年前,当我研究数据库设计时,我们常常把它称为空中飞人。那是一张表与另外两张相关。在课堂设计中,这是一个关联类。这种方法被普遍接受。出于性能原因并通过应用某些约束,您可以在例如Garments。这将是某种类似Colour1Colour2的列。正如您所看到的,这将极大地限制可能的关系数量。