我在MySQL中有以下2个表:
客户(ID,名字,姓氏...)
红利(Id,CustomerId,Value等)

该关系是一对一的关系,每个客户只有一份奖金。(CustomerId在奖金表中是唯一的)

问:我应该删除Bonus表的Id列吗?
(我想知道为什么或为什么不这样)

最佳答案

我将删除Bonus.Id coulmn,并将Bonus.CustomerId设为PK。这样做将消除对Bonus.CustomerId列具有唯一约束的需要,因为它现在是PK。没有Bonus.Id库伦,任何查看该表的人都将更清楚地看到一对一。您不需要Bonus.CustomerId上的索引,只需使用PK索引即可,因此磁盘空间和内存缓存的浪费更少。另外,如果您需要FK进入Bonus表,则可以使用CustomerId值(新的PK),该值可用于返回Customer表或Bonus表,而不仅仅是Bonus。

关于mysql - 在一对一关系中,我应该删除表的id列之一吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3052206/

10-10 03:32