数据库 数据模型

文章介绍了数据模型在数据库系统中的重要地位,从概念模型到物理模型的转换过程,以及层次模型、网状模型和关系模型的特点、优缺点和数据操作。层次模型和网状模型是早期的数据模型,而关系模型基于严格的数学概念,因其简单性和用户友好性而变得最为重要。
摘要由CSDN通过智能技术生成

定义:是对实现世界数据特征的抽象

地位:数据模型是数据库系统的核心和基础

要求:① 能比较真实地模拟现实世界 ② 容易为人所理解 ③ 便于在计算机上实现

层次模型和网状模型统称为格式化模型

现实世界——>信息世界(概念级模型)——>机器世界(数据库管理系统支持的数据模型)

现实世界——>概念模型 数据库设计人员完成

概念模型——>逻辑模型 数据库设计人员/数据库设计工具协助设计人员完成

逻辑模型——>物理模型 数据库管理系统完成

组成要素:数据结构、数据操作和数据的完整性约束条件

数据结构:描述数据库的组成对象以及对象之间的联系,数据结构描述的内容有:① 与对象的类型、内容、性质有关 ② 与数据之间的联系有关的对象 数据结构是刻画一个数据模型性质最重要的方面 数据结构是所描述的对象类型的集合,是对系统静态特性的描述

数据操作:指对数据库中各种对象(型)的实例(值)运行执行的操作的集合,包括操作及其有关的操作规则 数据操作是对系统动态特性的描述

数据的完整性约束条件:一组完整性规则

概念模型

定义:

  • 用于信息世界的建模

  • 是现实世界到机器世界的一个中间层次

  • 是数据库设计人员进行数据库设计的有力工具

  • 是数据库设计人员和用户进行交流的语言

表示方法:实体—联系方法(E-R 方法)

信息世界中的基本概念

实体:客观存在并可相互区别的事物,可以是具体的,也可以是抽象的概念或联系

属性:实体所具有的某一特性,一个实体可以由若干个属性刻画

码:唯一标识实体的属性集 码不一定是单一的属性,也可以是属性集;码一定是属性,属性不一定是码

实体型:用实体名及其属性名集合来抽象和刻画同类实体

实体集:同一类型实体的集合

联系:联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型

层次模型

地位:层次模型是数据库系统中最早出现的数据模型

条件

  • 有且仅有一个结点没有双亲结点,这个结点称为根结点

  • 根以外的其他结点有且仅有一个双亲结点

层次数据库系统只能处理一对多的实体联系

表示方法

  • 实体型:用记录类型描述,每一个结点表示一个记录类型

  • 属性:用字段描述,每个记录类型可包含若干个字段(各个记录类型、同一记录类型中各个字段不能同名)

  • 联系:用结点之间的连线表示记录类型之间的一对多的联系

特点

  • 结点的双亲是唯一的

  • 只能直接处理一对多的实体联系

  • 每个记录类型可以定义一个排序字段,也称为码字段

  • 任何记录值只能按其路径查看时,才能现实出它的全部含义

  • 没有一个子女记录值能够脱离双亲记录值而独立存在、

优点

  • 层次模型的数据结构比较简单清晰

  • 层次数据库的查询效率高,层次数据库的性能优于关系数据库,不低于网状数据库

  • 层次数据库模型提供了良好的完整性支持

缺点

  • 现实世界中很多联系是非层次性的

  • 只能直接表示一对多的实体联系

  • 查询子女结点必须通过双亲结点

  • 由于结构严密,层次命令趋于程序化

数据操纵

  • 查询

  • 插入

  • 删除

  • 更新

完整性约束

  • 如果没有相应的双亲结点值就不能插入它的子女结点值

  • 如果删除双亲结点值,则相应的子女结点值也将被同时删除

网状模型

层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中可以不唯一【故每个联系需命名,并指出与该联系有关的双亲记录和子女记录】

代表

DBTG 系统(CODASYL 系统)

条件

  • 允许一个以上的结点无双亲

  • 一个结点可以有多于一个的双亲

完整性约束

  • 支持记录码的概念,码即唯一标识记录的数据项的集合

  • 保证一个联系中双亲记录和子女记录之间是一对多的联系

  • 可以支持双亲记录和子女记录之间的某些约束条件,例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除

优点

  • 能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系

  • 具有良好的性能,存取效率较高

缺点

  • 结构比较复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于最终用户掌握

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

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

关系模型

地位:关系模型是最重要的一种数据结构

基本概念

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

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

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

码(码键):表中的某个属性组,可以唯一确定一个元组

域:一组具有相同数据类型的值的集合,属性的取值范围来自某个域

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

关系模式:对关系的描述,一般表示为

关系名(属性 1, 属性 2, ..., 属性 n)

规范化

关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,其中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表

数据操纵

查询、插入、删除和更新数据

关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合

关系模型把存取路径向用户隐蔽起来,用户只要指出"干什么"或"找什么",不必详细说明"怎么干"或"怎么找",从而大大地提高了数据的独立性,提高了用户生产率

完整性约束

  • 实体完整性

  • 参照完整性

  • 用户定义的完整性

优点

  • 关系模型与格式化模型不同,是建立在严格的数学概念的基础上的(其建立在二维表的基础上)

  • 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索和更新结果也是关系。所以其数据结构简单、清晰,用户易懂易用

  • 关系模型的存取路径对用户透明(指看不见,隐蔽),从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何hyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值