技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

数据模型的演变

dbmsdatabasemysql

管理数据是关键,也是必不可少。因此,数据模型的出现是为了解决文件系统问题。以下是 DBMS 中的数据模型 −

层次模型

在层次模型中,层次关系由关系集合形成,并形成树状结构。

关系可以以父子类型的形式定义。

最早也是最流行的层次模型之一是 IBM 开发的信息管理系统 (IMS)。

示例

层次结构显示员工可以是实习生、合同工或全职员工。子级别显示全职员工可以被聘为作家、高级作家或编辑:

优点

  • 层次模型的设计很简单。
  • 由于它基于父/子关系,因此提供数据完整性
  • 由于数据存储在单个数据库中,因此可以共享数据。
  • 即使对于大量数据,此模型也能完美运行。

缺点

  • 实施很复杂。
  • 该模型必须处理插入、更新和删除等异常情况。
  • 维护很困难,因为数据库中所做的更改可能需要您对整个数据库结构进行更改。

网络模型

层次模型创建具有父/子关系的层次树,而网络模型具有图形和链接。

关系可以以链接的形式定义,并处理多对多关系。这本身就表明一条记录可以有多个父级。

示例

优点

  • 易于设计网络模型
  • 该模型可以处理一对一、一对多、多对多关系。
  • 它将程序与其他细节隔离开来。
  • 基于标准和惯例。

缺点

  • 指针带来了复杂性,因为记录基于指针和图表。
  • 数据库中的更改并不容易,这使得实现结构独立性变得困难。

关系模型

关系模型将数据分组到一个或多个表中。这些表使用公共记录相互关联。

数据以行和列的形式表示,即表格:

示例

让我们看一个两个关系 <Employee><Department> 相互链接的示例,其中 DepartmentID<Employee> 表的外键和 <Department> 表的主键。

优点

  • 关系模型不存在我们在前两个模型中看到的任何问题,即更新、插入和删除异常与此模型无关。
  • 数据库中的更改不需要您影响整个数据库。
  • 关系模型的实现很容易。
  • 维护关系模型不是一项繁琐的任务。

缺点

  • 当模型具有大量数据时,数据库效率低下的问题会隐藏并出现。
  • 使用关系数据模型的开销伴随着使用强大硬件和设备的成本。

相关文章