📜  DBMS 中的分层模型

📅  最后修改于: 2021-09-08 15:36:39             🧑  作者: Mango

分层模型:
这是 IBM 在 1950 年代开发的数据模型中最古老的模型之一。在分层模型中,数据被视为表格的集合,或者我们可以说形成分层关系的段。在这种情况下,数据被组织成一个树状结构,其中每个记录由一个父记录和许多子记录组成。即使段通过逻辑关联连接成链状结构,那么即时结构也可以是具有多个分支的扇形结构。我们称这种不合逻辑的关联为定向关联。

在层次模型中,逻辑关联指向的段称为子段,另一个段称为父段。如果有一个没有父级的段,那么它将被称为,没有子级的段被称为叶子。分层模型的主要缺点是它可以在节点之间具有一对一和一对多的关系。

分层模型的应用:

  • 层次模型在实践中通常用作语义模型,因为许多现实世界中发生的事件本质上是层次结构的,如生物结构、政治或社会结构。
  • 由于磁盘存储系统固有的分层结构,如磁道、柱面等,分层模型也常被用作物理模型。 有各种示例,例如 IBM 的信息管理系统 (IMS)、NCSS 的 NOMAD 等。

示例 1:考虑以下 Student 数据库系统分层模型。

分层模型

在上图中,我们的学生很少,课程注册也很少,并且一个课程只能分配给一个学生,但是一个学生可以注册任意数量的课程,这样关系就变成了一对多。我们可以像下面的关系表一样表示给定的分层模型:

教师表

Name Dep Course-taught
John CSE CA
Jake CSE SE
Royal CSE DBMS

学生桌

Name Course-enroll Grade
Gami CA 2.0
Mary SE 3.0
Mayen SE 4.0

示例 2:考虑下面的板球数据库系统分层模型方案。

分层模型

在这里,在这个例子中,对于每个玩家,有一些他玩的位置集(P_POSITION),一组位置(P_PLACE),还有一组玩家的生日(P_BDATE)。在上图中,每个节点代表一个逻辑记录类型,并通过其字段列表显示。子节点表示连接到父类型的每个记录的一组记录,这是由于从子到父的多对多关系。在上图中,根节点 PLAYER 表示,对于每个玩家,将有一组位置、一组位置(只有一个)和一组生日(只有一个)。

分层模型的优点:

  • 由于数据库基于这种架构,各层之间的关系在逻辑上很简单,因此具有非常简单的分层数据库结构。
  • 它具有数据共享,因为所有数据都保存在公共数据库数据中,因此数据共享变得可行。
  • 它提供数据安全性,该模型是第一个提供数据安全性的数据库模型。
  • 还有数据完整性,因为它基于父子关系,并且父段和子段之间始终存在链接。

分层模型的缺点:

  • 尽管该模型在概念上简单且易于设计,但实现起来却相当复杂。
  • 该模型也缺乏灵活性,因为新表或段中的更改通常会产生非常复杂的系统管理任务。在这里,删除一个段会导致其下所有段的非自愿删除。
  • 它没有标准,因为这个模型的实现没有提供任何特定的标准。
  • 它也受到限制,因为许多公共关系不符合分层模型所要求的 1 到 N 格式。