RDBMS中外键的替代

问题描述 投票:-1回答:1

我正在学习数据库课程,并且我知道外键是其他表的主键。但是我对这种关系的表示感到很好奇:如果我们不使用外键与其他表链接,而是使用一个函数将记录的主键从一个表映射到另一个表,那么它起作用吗?我认为这在理论上是可行的,但我不确定现实中是否是个好主意。这合理吗?

P.S。因为我认为一个表是一个集合,所以功能就是将方法从一个集合映射到另一个集合。

谢谢,真诚的。

mysql rdbms
1个回答
3
投票

您没有have在MySQL数据库中定义外键。在查询中,您可以使用联接定义如何将关系馈入查询的结果集中。

尽管有充分的理由来定义外键。其中一些是:

  • 定义外键会在该列上创建索引,从而影响RDBMS存储数据的方式,以便优化查询以获得更快的结果;

  • 如果您在MySQL中设置了外键,则还可以定义当更改包含主键的表时子记录将如何处理。子记录可以例如自动删除(“级联删除”)。这对于数据库完整性很有帮助,因为这可以避免子表中的孤立记录。这些级联可能会经历几个关系级别。

© www.soinside.com 2019 - 2024. All rights reserved.