数据模型的演变
dbmsdatabasemysql
管理数据是关键,也是必不可少。因此,数据模型的出现是为了解决文件系统问题。以下是 DBMS 中的数据模型 −
层次模型
在层次模型中,层次关系由关系集合形成,并形成树状结构。
关系可以以父子类型的形式定义。
最早也是最流行的层次模型之一是 IBM 开发的信息管理系统 (IMS)。
示例
层次结构显示员工可以是实习生、合同工或全职员工。子级别显示全职员工可以被聘为作家、高级作家或编辑:
优点
- 层次模型的设计很简单。
- 由于它基于父/子关系,因此提供数据完整性
- 由于数据存储在单个数据库中,因此可以共享数据。
- 即使对于大量数据,此模型也能完美运行。
缺点
- 实施很复杂。
- 该模型必须处理插入、更新和删除等异常情况。
- 维护很困难,因为数据库中所做的更改可能需要您对整个数据库结构进行更改。
网络模型
层次模型创建具有父/子关系的层次树,而网络模型具有图形和链接。
关系可以以链接的形式定义,并处理多对多关系。这本身就表明一条记录可以有多个父级。
示例
优点
- 易于设计网络模型
- 该模型可以处理一对一、一对多、多对多关系。
- 它将程序与其他细节隔离开来。
- 基于标准和惯例。
缺点
- 指针带来了复杂性,因为记录基于指针和图表。
- 数据库中的更改并不容易,这使得实现结构独立性变得困难。
关系模型
关系模型将数据分组到一个或多个表中。这些表使用公共记录相互关联。
数据以行和列的形式表示,即表格:
示例
让我们看一个两个关系 <Employee> 和 <Department> 相互链接的示例,其中 DepartmentID 是 <Employee> 表的外键和 <Department> 表的主键。
优点
- 关系模型不存在我们在前两个模型中看到的任何问题,即更新、插入和删除异常与此模型无关。
- 数据库中的更改不需要您影响整个数据库。
- 关系模型的实现很容易。
- 维护关系模型不是一项繁琐的任务。
缺点
- 当模型具有大量数据时,数据库效率低下的问题会隐藏并出现。
- 使用关系数据模型的开销伴随着使用强大硬件和设备的成本。