1. 分层数据模型:
分层数据模型是最古老的数据模型类型。它由 IBM 于 1968 年开发。它以树状结构组织数据。分层模型包括以下内容:
- 它包含由分支连接的节点。
- 最顶层的节点称为根节点。
- 如果有多个节点出现在顶层,那么这些可以称为根段。
- 每个节点只有一个父节点。
- 一位家长可能有多个孩子。
在上图中,Electronics 是根节点,它有两个子节点,即 TV 和 Portable Electronics。这两个有更多的孩子,他们作为父母。例如:Television 有Tube、LCD 和Plasma 子项,因为这三个Television 充当父项。它遵循一对多的关系。
2. 网络数据模型:
它是分层数据模型的高级版本。为了组织数据,它使用有向图而不是树结构。在这个孩子可以有不止一个父母。它使用两种数据结构的概念,即记录和集。
在上图中,Project 是根节点,它有两个孩子,即项目 1 和项目 2。项目 1 有 3 个孩子,项目 2 有 2 个孩子。总共有5个孩子,即A部门、B部门和C部门,他们是网络相关的孩子,因为我们说这个模型可以有一个以上的父母。因此,对于 B 部门和 C 部门有两个父项,即项目 1 和项目 2。
3. 关系数据模型:
关系数据模型由 EF Codd 于 1970 年开发。它们没有物理链接,因为它们在分层数据模型中。以下是关系数据模型的属性:
- 数据仅以表格的形式表示。
- 它只处理数据而不处理物理结构。
- 它提供有关元数据的信息。
- 在行和列的交叉处,元组将只有一个值。
- 它提供了一种轻松处理查询的方法。
分层、网络和关系数据模型之间的区别:
Hierarchical Data Model | Network Data Model | Relational Data Model |
---|---|---|
In this model, to store data hierarchy method is used. It is the oldest method and not in use today. | It organizes records to one another through links or pointers. | It organizes records in the form of table and relationship between tables are set using common fields. |
To organize records, it uses tree structure. | It organizes records in the form of directed graphs. | It organizes records in the form of tables. |
It implements 1:1 and 1:n relations. | In addition to 1:1 and 1:n it also implements many to many relationships. | In addition to 1:1 and 1:n it also implements many to many relationships. |
Insertion anomaly exits in this model i.e. child node cannot be inserted without the parent node. | There is no insertion anomaly. | There is no insertion anomaly. |
Deletion anomaly exists in this model i.e. it is difficult to delete the parent node. | There is no deletion anomaly. | There is no deletion anomaly. |
This model lacks data independence. | There is partial data independence in this model. | This model provides data independence. |
It is used to access the data which is complex and asymmetric. | It is used to access the data which is complex and symmetric. | It is used to access the data which is complex and symmetric. |
&XML and XAML use this model. | VAX-DBMS, DMS-1100 of UNIVAC and SUPRADBMS’s use this model. | It is mostly used in real world applications. Oracle, SQL. |