我有四个表:ItemCategory、Items、DiamondCategoy 和 Diamonds。
用户存储元素的详细信息并指定它是否有钻石,例如:
ItemCategory: Ring
Item: R1
如果有钻石那么:
DiamondCategory: Round
Diamond: D1
所以Ring的R1有Round的D1
一个项目可以没有钻石,例如:
ItemCategory: Ring
Item: R1
DiamondCategory: None
Diamond: None
我不知道如何设计关系。我想出了这个解决方案,如果我错了请纠正我。
元素类别:
c_Id >> PK
项目:
p_Id >> PK
c_Id >> FK
d_Id >> FK
钻石:
d_Id >> PK
dc_Id >> FK
钻石类别:
dc_Id >> PK
对吗?
最佳答案
如果一个 Item 和一个 Diamond 只能有一个类别,为什么你需要为它们单独的表格?只需将类别作为属性包含在您的 Item 和 Diamond 表中。
然后你有两个表,一个用于 Items,一个用于 Diamond,第三个表用作两者之间的查找表,并将存储 Item 的主键和相应钻石的主键它有。
关于database - 帮助数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358560/