我有一个包含5个表的数据库。有些表包含与其他表相同的列,将这些表与另一个表(具有其他表的主键)绑定是否符合第三次规范化。(下面将更清楚地概述)
我有一个客户表,上面有他们的姓名和电话号码,以及他们对汽车的要求等。主键是CustomerID。
然后,我将一个客户与一辆符合其要求的汽车进行匹配。我有一个表,其中包含匹配ID(主键)、CustomerID和CarID(作为外键)。
通过执行此操作,我是否可以创建一个可提供给接待员的匹配ID表,以便他们与客户联系。在此表中,我需要包括客户姓名和电话号码。但是,这是否会破坏第三范式,因为电话号码现在同时存在于CustomerID和新表中。
1条答案
按热度按时间qzwqbdag1#
您所描述的最后一个数据表并不一定会破坏任何标准格式,因为客户的电话号码在未来可能会变更。您可能会想要将电话号码保留在另一个数据表中,以便记录在该日期所连络的电话号码。
与产品数据库比较。产品数据表有价格。然后您记录客户的购买,并附上他们在购买当日所付价格的副本。这没关系,因为您需要记录每一种情况下所付的金额。客户可能在销售期间购买产品,或他们获得了高级折扣或批量折扣,或者价格可能在购买商品一个月后发生变化。他们支付的价格不一定是产品表中记录的当前价格。因此,它不违反3NF。