0

我正在尝试创建一个理论汽车租赁公司的简单数据库。下图显示了我目前拥有的关系。

在此处输入图像描述

但是,当我尝试将不止一辆车分配给一个客户时,我收到以下错误消息:

在此处输入图像描述

如果有人可以告诉我为什么会出现这种情况以及要改变什么,我会非常感激,如果需要更多信息来解决这个问题,请询问!谢谢

4

2 回答 2

2

CustomerID是一个主键,并且在你的第二行被复制。主键必须是唯一的。

您已经在客户和预订之间建立了一对一的关系。这意味着每个客户可能只有一个预订,每个预订可能只有一个客户。这就是为什么您必须复制它CustomerID才能添加另一辆车的预订。

于 2013-04-18T23:02:48.210 回答
1

你的ER图错了。假设您想要零,一个客户 --> 许多汽车,那么正确的模式是将 0,1 的外键插入到 Many 的表中。

所以你的 Cars 表应该有一个 CustomerId 的外键。

正常情况下,客户表根本不应该了解 Cars。

编辑:查看需求/模型,这可能是多对多的。即随着时间的推移,许多客户租了一辆车或多辆汽车。在这种情况下,为了保持正常,您需要一个联结表 - 例如,汽车-客户有两个主键 CustomerId 和 CarId。这也是您放置有关该关系的信息的地方,例如租用日期等。

于 2013-04-18T23:00:58.390 回答