当我们创建关系数据库表时,我们必须使用外键列。很明显,否则我们就无法建立关系。
但是,我注意到有一个外键列就足够了,你不需要说表A中有一个表B的外键关系。
只要您可以编写查询,就可以检索数据。
我们是否使用这个概念让事情变得简单?我知道,当我查看标记了哪些列是外键列的数据库表模式时,它很容易理解并开始使用它。
还有其他原因吗?
答案 0 :(得分:2)
重点是Referential integrity。如果您不强制执行,迟早会发生代码中的错误或其他一些意外事件,并且您的数据库会处于不一致状态。这些不一致之后很难或无法修复。
答案 1 :(得分:1)
当我们创建关系数据库表时,我们必须使用外键 列。很明显,否则我们就无法建立关系。
不正确的。你不需要来创建外键(尽管它是一个好主意),并且它们不代表关系。他们强制执行关系的完整性。外键确保另一列中存在一列中的值。
但是,我注意到你拥有一个外键列就足够了 不需要说表A中存在外键关系 使用表B.只要您可以编写查询,就可以检索数据。
是的,这种关系基于数据本身,而不是包含外键。此外,外键不需要在两个表之间,表可以有自己的外键。
我们是否使用这个概念让事情变得简单?
不,我们使用外键来强制执行完整性。他们碰巧使ERD图更易于理解,这只是一个奖励。