我有实体客户和实体订单,客户可以有0个或更多订单,但订单只能有1个客户。
我已经尝试过很多东西,例如在NN取消外键未选中但我无法在客户处获得外键订单
编辑:使用mySQL ERD工作台
答案 0 :(得分:1)
您的customer
表格会有一个唯一的customer_id
列。在MySQL世界中,我们经常为这种id
列使用自动增量主键。
您的order
表格会有一个customer_id
列,它是customer.customer_id
的外键。
这允许order
表具有与特定customer_id
相关的任意数量的行:none,one或many。强制执行 - 检查外键关系时,只会阻止order
具有不引用有效客户的customer_id
值。
经典的数据设计工具以及逻辑和物理设计之间的区别可以让你在尝试做这样简单的事情时疯狂。
专家提示如果您在id
列的所有位置使用相同的方式命名,数据设计工具往往效果更好,尤其是在对表进行“逆向工程”时。这就是为什么我建议使用customer.customer_id
和order.customer_id
而不是customer.id
和order.customer_id
等列名称。