假设我有字段Ice_Cream。查找表中的当前选择。
我使用Flavor。flavor类似于enum()列表,在Ice_Cream.flavor中存储值, 不是记录ID。如果味道。口味变化,我不想更新冰淇淋:口味。我想让它保持原来的样子
我应该设置Ice_Cream吗?风味作为一个外键,所以我可以看到我的ER图中的值的来源,或不?
如果您希望Ice_Cream.flavor
保持创建状态,即使在Flavor
(这就是您的问题听起来像)中没有匹配记录,那么您不能创建FOREIGN KEY
关系,它将不允许该条件发生在您的数据库中。
此外,如果您将实际的文本Flavor.Flavor
字符串存储在Ice_Cream.Flavor
中,则没有特别的理由在Flavor
中拥有单独的RecordID
列。
恕我直言,这里不需要FK,除非您在Flavor
表中flavor
列中名称旁边有关于某种风味的附加信息。这是因为您不保留ID,您保留了名称并且您希望保留旧值。
我还假定您不希望在Flavor
表或Ice_Cream
表以外的其他地方保留旧口味。
最后但并非最不重要的是,FK将要求Ice_Cream.flavor
中存储的任何风味都存在于Flavor
表中。如果我对你的问题理解正确的话,情况并非如此。