如果表与另一个包含具有两个外键的MatchID的表链接,MySQL是否不允许使用主键

jchrr9hc  于 2022-11-28  发布在  Mysql
关注(0)|答案(1)|浏览(118)

我有一个包含5个表的数据库。有些表包含与其他表相同的列,将这些表与另一个表(具有其他表的主键)绑定是否符合第三次规范化。(下面将更清楚地概述)
我有一个客户表,上面有他们的姓名和电话号码,以及他们对汽车的要求等。主键是CustomerID。
然后,我将一个客户与一辆符合其要求的汽车进行匹配。我有一个表,其中包含匹配ID(主键)、CustomerID和CarID(作为外键)。
通过执行此操作,我是否可以创建一个可提供给接待员的匹配ID表,以便他们与客户联系。在此表中,我需要包括客户姓名和电话号码。但是,这是否会破坏第三范式,因为电话号码现在同时存在于CustomerID和新表中。

qzwqbdag

qzwqbdag1#

您所描述的最后一个数据表并不一定会破坏任何标准格式,因为客户的电话号码在未来可能会变更。您可能会想要将电话号码保留在另一个数据表中,以便记录在该日期所连络的电话号码。
与产品数据库比较。产品数据表有价格。然后您记录客户的购买,并附上他们在购买当日所付价格的副本。这没关系,因为您需要记录每一种情况下所付的金额。客户可能在销售期间购买产品,或他们获得了高级折扣或批量折扣,或者价格可能在购买商品一个月后发生变化。他们支付的价格不一定是产品表中记录的当前价格。因此,它不违反3NF。

相关问题