常见数据模型

目录

1.1两类数据模型

1.2概念模型

1.3数据模型的组成要素

1.4常见数据模型

层次模型

网状模型

关系模型

数据模型是对现实世界数据特征的抽象,也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础。

1.1两类数据模型

数据模型需要满足三方面要求:

  • 能比较真实地模拟现实世界

  • 容易为人所理解

  • 便于在计算机上实现

跟据模型应用的不同目的,将这些模型可以分为两大类,第一类是概念模型,第二类是逻辑模型和物理模型

  • 概念模型(conceptual model),也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据设计。

  • 逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型、和对象关系数据模型、半结构化数据模型等。它主要用于数据库管理系统的实现。

1.2概念模型

在了解概念模型之前我们需要了解一些信息世界的概念。

(1)实体(entity)

客观存在并可互相区别的事物称为实体。实体可以是人、物或者抽象的概念或联系。例如,一个教师,一个部门,教师与部门的工作关系等都是实体。

(2)属性(attribute)

实体所具有的某一特性称为属性。例如,一个学生的学号、姓名、性别、出生年月等特征都表示该学生的属性。

(3)码(key)

唯一标识实体的属性集称为码。例如学号就是学生实体的码。

(4)实体型(entity type)

用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年月)就是一个实体型。

(5)实体集(entity set)

同一类实体的集合称为实体集。例如全体学生就是一个实体集。

(6)联系(relationship)

实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多、多对多等多种类型。

概念模型的一种表示方法:实体—联系方法(Entity-Relationship approach)简称E-R方法,也被称为E-R模型。

1.3数据模型的组成要素

数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。

  1. 数据结构

    数据结构描述数据库的组成对象以及对象之间的联系,是对系统静态特征的描述。

  2. 数据操作

    数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。例如操作有检索、插入、删除和修改,操作规则有优先级别等,数据操作是对系统动态特性的描述。

  3. 数据的完整性约束条件

    数据的约束条件是一组完整性规则的集合。也就是说,对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效和相容。例如某单位人事管理中,要求在职的“男”职工的年龄必须大于18岁小于60岁,工程师的基本工资不能低于1500元,这些要求可以通过建立数据的约束条件来实现。

1.4常见数据模型

层次模型

层次模型数据结构

(1)有且只有一个节点没有双亲节点,我们把这个节点称为根节点;

(2)除根节点以外,其他的节点都只有一个双亲节点。

层次模型就像一棵倒立的树,节点的双亲都是唯一的。

 层次模型的优点:

  1. 层次模型的数据结构比较简单清晰。

  2. 层次数据库的查询效率高。

  3. 层次数据模型提供了良好的完整性支持。

层次模型的缺点:

  1. 现实世界中很多联系都是非层次性的,如节点之间具有多对多联系,不适合用层次模型表达。

  2. 如果一个节点具有多个双亲节点,使用层次模型表示就会显得很笨拙。

  3. 要查询子女节点必须通过双亲节点才可以。

  4. 由于结构严密,层次命令趋于程序化。

网状模型

网状数据库系统采用网状模型作为数据的组织方式,网状数据模型的典型代表是DBTG系统,也叫做CODASYL系统。

网状模型数据结构

(1)允许一个以上的节点无双亲。

(2)一个节点可以有多于一个的双亲。

在层次模型中子女节点与双亲节点的联系是唯一的,而在网状模型中这种联系可以不唯一。

网状模型的优点:

  1. 能够更为直接地描述现实世界,比如一个节点有多个双亲的情况。

  2. 具有良好的性能,存取效率较高。

网状模型的缺点:

  1. 结构比较复杂,而且随着应用环境的扩大,数据库的结构会变的越来越复杂。

  2. 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用。

  3. 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择合适的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。

关系模型

关系模型数据结构

关系模型与以往的模型不同,关系模型由一组关系组成,每个关系的数据结构是一张规范的二维表。如下图所示。

 

接下来介绍一下关系模型中的相关术语:

关系:一个关系通常来说对应一张表。

元组:表中的一行即为一个元组。

属性:表中的一列即为一个属性,每个属性的名称即为属性名。

码:也称为键码。表中的某个属性组,它可以唯一确定一个元组。

域:域是一组具有相同数据类型的值的集合。例如学生的分数在0~100。

分量:元组中的一个属性值。

关系模型的优点:

  1. 关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。

  2. 关系模型的概念单一。

  3. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

关系模型的缺点

  1. 由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。

  2. 为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值