【数据库】【《数据库系统概论(第5版)》笔记】第一章:绪论

1.1|数据库系统概述

数据库管理系统
主要功能
  • 数据定义功能:提供数据定义语言DDL

  • 数据组织、存储和管理

  • 数据操纵功能:提供数据操纵语言DML

  • 数据库的事务管理和运行管理

  • 数据库的建立和维护功能

数据库系统
  • 数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据管理技术的产生和发展
人工管理阶段
  • 数据不保存
  • 应用程序管理数据:应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方式、输入方式等
  • 数据不共享
  • 数据不具有独立性:数据完全依赖于应用程序
文件系统阶段
  • 数据可以长期保存
  • 由文件系统管理数据
  • 数据共享性差,冗余度大
  • 数据独立性差
数据库系统阶段
数据库系统的特点
数据结构化
  • 所谓“整体”结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业
  • 不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的
数据的共享性高、冗余度低且易扩充
  • 数据共享可以大大减少数据冗余,节约存储空间
  • 数据共享能够避免数据之间的不相容性与不一致性
数据独立性高
  • 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的
  • 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的
数据由数据库管理系统统一管理和控制
  • 数据的安全性保护
  • 数据的完整性检查
  • 并发控制
  • 数据库恢复

1.2|数据模型

  • 数据模型是对现实世界数据特征的抽象
概念模型
  • 概念模型也称信息模型
信息世界中的基本概念
实体
  • 客观存在并可相互区别的事物称为实体
属性
  • 实体所具有的某一特征称为属性
  • 唯一标识实体的属性集称为码
实体型
  • 用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
实体集
  • 同一类型实体的集合称为实体集
联系
  • 实体内部的联系通常是指组成实体的各属性之间的联系
  • 实体之间的联系通常是指不同实体集之间的联系
    • 如果对于实体集 A A A中的每一个实体,实体集 B B B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集 A A A与实体集 B B B具有一对一联系
    • 如果对于实体集 A A A中的每一个实体,实体集 B B B中有 n n n个实体( n ≥ 0 n \geq 0 n0)与之联系,反之,对于实体集 B B B中的每一个实体,实体集 A A A中至多只有一个实体与之联系,则称实体集 A A A与实体集 B B B具有一对多联系
    • 如果对于实体集 A A A中的每一个实体,实体集 B B B中有 n n n个实体( n ≥ 0 n \geq 0 n0)与之联系,反之,对于实体集 B B B中的每一个实体,实体集 A A A中也有 m m m个实体( m ≥ 0 m \geq 0 m0)与之联系,则称实体集 A A A与实体集 B B B具有多对多联系
概念模型的表示方法
  • 实体 − - 联系方法是概念模型的一种表示方法,用 E − R E-R ER图来描述现实世界的概念模型
  • E − R E-R ER方法也称为 E − R E-R ER模型
逻辑模型和物理模型
逻辑模型
  • 层次模型
  • 网状模型
  • 关系模型
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型
格式化模型
  • 层次模型和网状模型统称为格式化模型
  • 在格式化模型中数据结构的单位是基本层次联系,基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系,如下图所示, R i R_{i} Ri位于联系 L i j L_{ij} Lij的始点,称为双亲结点, R j R_{j} Rj位于联系 L i j L_{ij} Lij的终点,称为子女结点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物理模型
  • 是对数据最底层的抽象
  • 描述在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法
客观对象抽象过程
  • 将现实世界抽象为信息世界(概念模型)
  • 然后将信息世界转换为机器世界(数据库管理系统支持的数据模型)
层次模型
数据结构
  • 层次模型用树形结构来表示各类实体以及实体间的联系
  • 在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型
    • 有且只有一个结点没有双亲结点,这个结点称为根节点
    • 根以外的其他结点有且只有一个双亲结点
  • 在层次模型中,每个结点表示一个记录类型,用来描述实体,每个记录类型可包含若干个字段,用来描述实体的属性,每个记录类型可以定义一个排序字段,也称为码字段
  • 任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在
教员学生层次模型示例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据操纵与完整性约束
  • 进行插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值
  • 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也将被同时删除
优缺点
优点
  • 层次数据库的查询效率高,层次模型中记录之间的联系在 D B M S DBMS DBMS中常常用指针来实现,当要存取某个结点的记录值, D B M S DBMS DBMS就沿着这一条路径很快找到该记录值,所以层次数据库的性能优于关系数据库,不低于网状数据库
缺点
  • 现实世界中很多联系是非层次性的
  • 查询子女结点必须通过双亲结点
网状模型
  • 网状数据模型的典型代表是 D B T G DBTG DBTG系统,亦称 C O D A S Y L CODASYL CODASYL系统
数据结构
  • 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型
    • 允许一个以上的结点无双亲
    • 一个结点可以有多于一个的双亲
数据操纵与完整性约束
  • 有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除
优缺点
优点
  • 具有良好的性能,存取效率较高
缺点
  • 结构比较复杂
  • 网状模型的DDLDML复杂,并且要嵌入某一种高级语言中
  • 应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节
关系模型
数据结构
  • 关系:一个关系对应通常说的一张表
  • 元组:表中的一行即为一个元组
  • 域:域是一组具有相同数据类型的值的集合,属性的取值范围来自某个域
  • 关系模式:对关系的描述,一般表示为关系名(属性 1 1 1,属性 2 2 2 ⋯ \cdots ,属性 n n n
  • 关系的每一个分量必须是一个不可分的数据项
数据操纵与完整性约束
  • 实体完整性
  • 参照完整性
  • 用户定义的完整性
优缺点
优点
  • 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作
缺点
  • 由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型

1.3|数据库系统的结构

数据库系统模式的概念
  • 在数据模型中有“型”和“值”的概念
  • 模式是数据库中全体数据的逻辑结构和特征的描述
  • 模式的一个具体值称为模式的一个实例
数据库系统的三级模式结构
  • 数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成
模式
  • 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
  • 数据库管理系统提供模式数据定义语言(模式DDL)来严格地定义模式
外模式
  • 外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

  • 即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同

  • 每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的

  • 数据库管理系统提供外模式数据定义语言(外模式DDL)来严格地定义外模式

内模式
  • 内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
数据库的二级映像功能与数据独立性
外模式 / / /模式映像
  • 对于每一个外模式,数据库系统都有一个外模式 / / /模式映像,它定义了该外模式与模式之间的对应关系
  • 当模式改变时,由数据库管理员对各个外模式 / / /模式的映像作相应改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性
模式 / / /内模式映像
  • 定义了数据全局逻辑结构与存储结构之间的对应关系
  • 当数据库的存储结构改变时,由数据库管理员对模式 / / /内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性

1.4|数据库系统的组成

数据库管理员
  • 决定数据库中的信息内容和结构
  • 决定数据库的存储结构和存取策略
  • 定义数据的安全性要求和完整性约束条件
  • 监控数据库的使用和运行
  • 数据库的改进和重组、重构
系统分析员
  • 负责应用系统的需求分析和规范说明
数据库设计人员
  • 负责数据库中数据的确定及数据库各级模式的设计
  • 在很多情况下,数据库设计人员就由数据库管理员担任

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值