第一章 绪论 1.2 数据库模型

  • 数据模型是对现实世界数据特征的抽象

  • 通俗地讲数据模型就是现实世界的模拟

  • 数据模型应满足三方面要求:
    能比较真实地模拟现实世界
    易于为人所理解
    便于在计算机上实现

  • 数据模型是数据库系统地核心和基础

1.2.1 两类数据模型

① 概念模型
也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计

②逻辑模型和物理模型
a.逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于 DBMS 实现。
b.物理模型是对数据最底层的抽象,描述数据在系统内部的表示方法和存取方法,在磁盘或磁带上的存储方式和存取方法

③客观事物的抽象过程 —— 两步抽象
a.现实世界中的客观对象抽象为概念模型
b.把概念模型转换为某一数据库管理系统支持的数据模型

1.2.2 概念模型

①概念模型的用途
a.概念模型用于信息世界的建模
b.是现实世界到机器世界的一个中间层
c.是数据库设计的有力工具
d.数据库设计人员和用户之间进行交流的语言

②对概念模型的基本要求
a.较强的语义表达能力
b.简单、清晰、易于用户理解

Ⅰ.信息世界中的基本概念
①实体(Entity)
客观存在并可相互区别的事物称为实体
可以是具体的人、事、物或抽象的概念
②属性(Attribute)
实体所具有的某一特性称为属性
一个实体可以由若干个属性来刻画
③码(Key)
唯一标识实体的属性集称为码
④实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体称为实体型
⑤实体集(Entity Set)
同一类型实体的集合称为实体集
⑥联系(Relationship)
a.现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系
b.实体内部的联系通常是指组成实体的各属性之间的联系
c.实体之间的联系通常是指不同实体集之间的联系
d.实体之间的联系有一对一、一对多和多对多等多种类型

1.2.3 数据模型的组成要素

①数据结构
a.定义:描述数据库的组成对象,以及对象之间的联系
b.描述的内容

  • 与对象的类型、内容、性质有关
  • 与数据之间联系有关
    数据结构是对系统静态特征的描述

②数据操作
a.定义:对数据库中各种对象的实例允许执行的操作集合,包括操作及有关的操作规则,是对系统动态特征的描述
b.类型

  • 查询
  • 更新(包括插入、删除、修改)

③数据的完整性约束条件
a.定义

  • 一组完整性规则的集合
  • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
  • 用以限定符合数据模型的数据库状态以及状态的变化,用以保证数据的正确、有效和相容

1.2.4 常用的数据模型

  • 层次模型(hierarchical model)
  • 网状模型(network model)
  • 关系模型(relational model)
  • 面向对象数据模型(object oriented data model)
  • 对象关系数据模型(object relational data model)
  • 半结构化数据模型(semistruture data model)

1.2.5 层次模型

  • 层次模型是数据库系统中最早出现的数据模型
  • 层次数据库系统的典型代表是 IBM 公司的 IMS(information management system)数据库管理系统
  • 层次模型用树形结构来表示各类实体以及实体之间的联系

①层次模型的数据结构
层次模型

  • 有且只有一个结点没有双亲结点,这个结点称为根结点
  • 根以外的其他结点有且只有一个双亲结点
  • 只能直接处理一对多的实体联系
  • 每个记录类型可以定义一个排序字段,也称为码字段
  • 任何记录值只有按其路径查看时,才能显出它的全部意义
  • 没有一个子女记录值能够脱离双亲记录值而独立存在

②层次模型的数据操纵与完整性约束
a. 数据操作:查询,插入,删除,更新
b.完整性约束条件

  • 无相应的双亲结点值就不能插入子结点值
  • 如果删除双亲结点值,则相应的子女结点值也被同时删除
  • 更新操作时,应更新所有相应记录,以保证数据的一致性

③层次模型的优缺点
a.优点

  • 数据结构比较简单清晰
  • 查询效率高,性能优于关系模型,不低于网状模型
  • 层次数据模型提供了良好的完整性支持

b.缺点

  • 结点之间的多对多联系表示不自然
  • 对插入和删除操作的限制多,应用程序的编写比较复杂
  • 查询子女结点必须通过双亲结点
  • 层次命令趋于程序化

1.2.6 网状模型

①网状模型的数据结构
网状模型

  • 允许一个以上的节点无双亲
  • 一个结点可以有多于一个的双亲

②与层次模型的区别

  • 网状模型允许多个结点没有双亲结点
  • 网状模型允许结点有多个双亲结点
  • 网状模型允许两个结点之间有多种联系(复合联系)
  • 网状模型可以更直接的描述现实世界
  • 层次模型实际上是网状模型的一个特例

③网状模型的操纵与完整性约束
网状数据库系统对数据操纵加了一些限制,提供了一定的完整性约束

  • 码:唯一标记录的数据项的集合
  • 一个联系中双亲记录与子女记录之间是一对多联系
  • 支持双亲记录和子女记录之间某些约束条件

④网状模型的优缺点
a.优点

  • 能够更更为直接地描述现实世界,如一个结点可以有多个双亲
  • 具有良好的性能,存取效率高

b.缺点

  • 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
  • DDL、DML 语言复杂,用户不容易使用
  • 记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

1.2.7 关系模型
①关系模型的数据结构
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成

②关系模型的操纵与完整性约束

数据操作时集合操作,操作对象和操作结果都是关系(查询、插入、删除、更新)

存取路径对用户隐藏,用户只要指出“干什么”,不必详细说明“怎么干”

关系的完整性约束条件

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

③关系模型的优缺点
a.优点

  • 建立在严格的数学概念的基础上
  • 概念单一
    • 实体和各类联系都用关系来表示
    • 对数据的检索结果也是关系
  • 关系模型的存取路径对用户透明
    • 具有更高的数据独立性,更好的安全保密性
    • 简化了程序员的工作和数据库开发建立的工作

b.缺点

  • 存取路径对用户透明,查询效率往往不如格式化数据模型
  • 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值