数据库三种模型的优缺点
层次模型
优点:
- 数据结构简单清晰。
- 因为记录之间的联系用有向边表示,这种联系在DBMS中通常使用指针实现,查询效率高。层次模型数据库性能优于关系数据库,不低于网状数据库。
- 提供了良好的完整性支持。进行插入操作时,如果没有对应的双亲结点就不能插入它的子女结点值。进行删除操作时,如果删除双亲结点,则相应的子女结点值也将被同时删除。
原文:https://blog.csdn.net/qq_38234015/article/details/89082854
缺点:
- 现实世界中的很多联系是非层次性的。如果结点之间具有多对多联系,不再适合使用层次模型表示。如果一个子女结点确实具有多个双亲结点,使用层次结构模型表示的时候就会出现大量的冗余,且操作复杂。
- 查询子女结点必须通过双亲结点。
- 由于结构严密,层次命令趋于程序化。
网状模型
优点:
- 能够更为直接地表示现实世界。
- 具有良好的性能,存取效率高。
缺点:
- 结构复杂,伴随应用环境的扩大,数据结构变得越来越复杂,不利于最终用户掌握。
- 网状模型的数据定义语言和数据管理语言复杂。
- 由于记录之间的联系通过存取路径实现,应用程序在访问数据的时候必须选择恰当的存取路径,因此用户必须了解系统结构的细节,导致加重了编写应用程序的负担。
关系模型
优点:
- 关系模型建立在严格的数学概念的基础之上。
- 关系模型概念单一。无论是实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是基于关系(表)的。所以,数据结构简单清晰,用户易懂易用。
- 关系模型的存取路径对用户透明,从而具有较高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
缺点:
- 由于存取路径对用户是透明的,查询效率往往不如格式化数据模型。
- 为了提高系统性能,数据库管理系统必须对用户的查询请求进行优化。