假设您有一位拥有一家餐厅的厨师,反之亦然。因此,通过one-to-one
关系,您可以将厨师表中的主键id
和cook_id
作为餐馆表中的主键和外键。数据库关系 - 也有一对多的一对一
那么您如何代表餐厅与其客户之间的关系one-to-many
?由于餐厅没有自己的ID,客户表是否有自己的id
,然后包含cook_id
的外键?
编辑:我想过一个更好,更现实的例子。假设您的工单只有一个报价。您将在quotes
表中获得工作订单的id
,因为它是1比1。作为一个报价,它必然会发生变化,同样的特殊报价也会被修改。如果您想记录对报价(或某种历史记录)进行的修改,则需要类似quote_revisions
表。在这种情况下,工单只能有一个报价,而报价可以有很多报价修订。你用什么ID链接quotes
和quotes_revisions
表?
1:1很少见。每个餐厅你有一个厨师,他们永远不会改变? –
这是正确的。我的问题更多的是我想知道的一般设计问题,所以我在编辑过的文章中提供了一个更好的例子。 – kenshin9