当前位置: 首页 > 面试题库 >

数据库关系

晁国发
2023-03-14
问题内容

在数据库中建立适当的关系对数据完整性以外的其他功能没有帮助吗?

它们会改善还是阻碍性能?


问题答案:

我不得不说,适当的关系将比省略它们更好地帮助人们理解数据(或数据的意图),特别是因为维护它们的总成本非常低。

它们的存在不会影响性能,除非是在体系结构方面(正如其他人指出的那样,数据完整性有时会导致外键冲突,这可能会产生某些影响),但是IMHO的许多好处(如果正确使用,则不胜枚举)。

我知道您不是在问是否使用FK,但是我想我只是添加一些关于为什么使用FK的观点(并且必须处理后果):

也有其他注意事项,例如,如果您打算使用ORM(也许稍后再使用),则将需要外键。它们对于ETL /数据导入和导出以及以后的报表和数据仓库也非常有用。

如果其他应用程序将使用该模式,也将很有帮助-
因为外键实现了基本的业务逻辑。因此,您的应用程序(和任何其他应用程序)仅需要了解这些关系(并尊重它们)。它可以使数据保持一致,并且很可能减少任何使用中的应用程序中的数据错误数量。

最后,它为您提供了有关将索引放置在何处的相当不错的提示-因为您可能会通过FK值查找表数据。



 类似资料:
  • 关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

  • 现在我面临着他们在大学里没有教我的东西... 似乎我可以选择两个数据库引擎--MyISAM或InnoDB。 我知道我可以用InnoDB存储引擎构建关系数据库,但是就我所见,我不能用MyISAM存储引擎构建关系数据库,因为我不能链接表。

  • 一种是关系数据库,典型代表产品:DB2;   另一种则是层次数据库,代表产品:IMS层次数据库。   非关系型数据库有MongoDB、memcachedb、Redis等。

  • 主要内容:数据定义,数据操作,数据控制就其布局和导航方面而言,Microsoft Access具有其他Microsoft Office产品的外观和感觉,但MS Access是一个数据库,更具体地说是一个关系数据库。 在MS Access 2007之前,文件扩展名是,但是在MS Access 2007中,扩展名已经更改为扩展名。 早期版本的Access无法读取accdb扩展,但MS Access 2007及更高版本可以读取和更改早期版本

  • Discovering models from relational databases(关系型数据库连接) 简介 基础步骤 discovery 案例 添加 discovery 方法 简介 Loopback可以很方便地从现有的关系型数据库创建model, 这个过程被称为 discovery ,由以下连接器的支持. MySQL 连接器 PostgreSQL 连接器 Oracle 连接器 SQL Se

  • 主要内容:1. MySQL,2. SQL Server,3. Oracle,4. Access关系型数据库管理系统(RDBMS)有很多种,它们都有各自的优缺点,下表是由 DB-Engines 发布的 2020 年 11月份数据库排名榜单。 2020 年 11 月份 DB-Engines 榜单(前十名) 排名 数据库 类型 得分 1 Oracle 关系型数据库 1345.00 2 MySQL 关系型数据库 1241.64 3 Microsoft SQL Server 关系型数据库 1037.