我的问题:
虽然我的数据库相当复杂,但我只包括car
和customer
表。
所以我有customer
表格,其中包含相关详情,customer_id
表格为primary key
。
现在,在car
表格中,我希望foreign key
与customer_id
相关联,因此在car
表中我可以看到谁拥有什么。问题是如果car
还没有被带来呢?
据我所知,外键必须有customer_id
才能添加到表中。
我在这里遗漏了什么或者我偏离了轨道,我读到了关于链接表的一些内容?
foreign key
可以null
吗?
另一件事,我如何设置如下规则:
'一个car
只能有一个manufacturer
(这是一个与fk
相关联的单独表格)?我猜这是用PHP完成的吗?
如果有人想要数据库当前ERD的图片,我有一个。
答案 0 :(得分:0)
对于第一个问题,请查看此参考:Can a foreign key be NULL and/or duplicate?
因为它,您的问题将被标记为重复。
关于第二个:
出于安全目的({1}}和php
,可以和应该处理关系(尤其是最后一个)。 可以保证您的数据不会被损坏,以防有人忘记"关于这段关系。
它们只是表格的列,其中包含另一个表格的ID。您可以使用"字符串","日期"或者你想到的将1个实体与另一个实体联系起来,但最安全和最快的选择就是使用另一个实体的ID。
为什么?
database
必须 唯一,这可以保证您没有重复项(将其视为您上下文中的通用标识),{{1}必须属于另一个表中的另一个实体。您不能使用不属于另一个表中任何实体的值,也不能删除在其他表中拥有该ID的实体 Primary_keys
(在删除" parent"之前,您必须删除所有"孩子"否则他们会"孤儿&#34)
有关这些密钥的更多信息,请参阅上面我发布的link以及您可以找到here和googling
的所有其他丰富参考资料当然你可以忽略它而根本不处理它,但这是一个糟糕的做法,它不会被推荐。
foreign_keys