为具有多个表单的类型设计DB表的最佳方法是什么。 例如Animal,它可以是具有特定属性的任何动物。
动物表,每个类型都有公共列和各个表。但是如何在主动物表中维护外键引用?我们不能为每种类型保留一个键,如果类型增长,引用也会增长。对于一行,只存在一种类型,动物表中的所有其他键都将为空。
除此之外,有没有最好的方法来设计表格? 例如,请考虑下表 家具表:
Id FurnituretypeId NoofLegs ChairId TableId
-------------------------------------------------
int int int int int
主席表:
Id Name CansSwing CanDetachable
-------------------------------------------------
int Varchar(25) boolean boolean
婴儿床表:
Id Name CotType Storage StorageType
-------------------------------------------------
int Varchar(35) Varchar(25) boolean Varchar(25)
考虑到上面的例子,如果我必须插入一把椅子,那么在Furniture表中的TableId将为null。如果有多种类型的家具,那么我必须在家具表中添加这些类型ID作为外键,但一次只能添加一种类型。
答案 0 :(得分:0)
只是一个想法,如果有多个属性,将创建一个包含所有常见内容的动物表,以及一个动物属性表,其中包含动物(FK),属性,值。当然,这是一个无法解决的解决方案,可能适用于您,也可能不适合您。