我有两个简单的表"Items"和"Orders".为简单起见,我们假设一个项目只能有一个订单,或者一个订单只能包含一个项目.
现在,由于这可以使用简单的一对一关系实现,因此我可以执行以下操作:
我可以将Orders表的主键添加到Items表,如下所示
//Table Items
item_id, item_name, order_id
1, shoes, 1
2, watch, 2
//Table Orders
order_id, customer
1, James
2, Rick
或者,我可以将Items表的主键添加到Orders表,如下所示
//Table Items
item_id, item_name
1, shoes
2, watch
//Table Orders
order_id, customer, item_id
1, James, 1
2, Rick, 2
哪一个是正确的,为什么?有没有什么准则来决定哪把 keys 放在哪里?当然,常识在上面简单的例子中是有用的,但在复杂的例子中,我们如何决定?