文章目录
第一章 绪论
数据库系统概述
数据
- 数据是数据库中存储的基本对象,描述事物的符号记录称为数据,有多种表现形式
- 特点: 数据的含义称为数据的语义,数据与其语义是不可分的,信息是对数据语义的解释
数据处理与管理的区别
数据处理: 从某些已知的数据推导加工新的数据
数据管理: 对数据收集、整理、组织、存储、维护、检索、传送等操作
数据库
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性(降低更新维护的代价),并可为各种用户共享。
数据库管理系统 - 系统软件
是位于用户与操作系统之间的一层数据管理软件
与操作系统一样是计算机的基础软件
功能
- 数据定义功能: 提供数据定义语言(DDL),定义数据库中的数据对象
- 数据组织、存储和管理: 基本目标是提高存储空间利用率和方便存取,提供多种存取方法(索引查找,hash查找,顺序查找)来提高存取效率
- 数据操纵功能: 提供数据操纵语言(DML),基本操作:增删改查
- 数据库的事务管理和运行管理: 在建立、运用和维护的时候统一管理和控制,保证事务的正确运行,发生故障后的系统恢复
- 数据库的建立和维护功能: 初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。
数据库系统 - 应用系统
数据库是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统
数据管理技术等产生和发展
三个阶段
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
---|---|---|---|
软件背景 | 没有操作系统 | 有文件系统 | 有数据库管理系统(DBMS) |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据库的管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据的共享程度 | 无共享,冗余度极大 | 共享性差,冗余度大 | 共享性高,冗余度小 |
数据的独立性 | 不独立,完全依赖于程序 | 独立性差,数据逻辑结构改变要修改应用程序 | 具有高度的物理独立性和一定的逻辑独立性 |
数据的结构化 | 无结构 | 记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由数据库管理系统提供数据安全性、完整性、并发控制能力和恢复能力 |
数据库系统特点
- 数据结构化:
- 主要特征,也是数据库系统与文件系统的本质区别
- 整体结构化:
- 数据库中的数据不再仅仅针对某一个应用,而是面向真个组织或企业
- 不仅数据内部是结构化的,而且整体是结构化的,数据之间是有联系的
- 数据结构用数据模型描述,无需程序定义和解释
- 数据可变长,最小单位数据项
- 数据的共享性高、冗余度低且易扩充:
- 数据共享的好处
- 大大减少数据冗余,节约存储空间
- 避免数据之间的不相容性与不一致性
- 使数据库系统弹性大,易于扩充
- 数据共享的好处
- 数据独立性高:
- 物理独立性: 用户的应用程序与数据库中数据的物理存储是相互独立的
- 物理存储改变时应用程序不用改变
- 逻辑独立性: 用户的应用程序与数据库的逻辑结构是相互独立的
- 逻辑结构改变时用户程序也可以不变
- 由数据库管理系统提供的二级映像功能保证
- 物理独立性: 用户的应用程序与数据库中数据的物理存储是相互独立的
- 数据由数据库管理系统统一管理和控制: 数据控制功能
- 数据的安全性保护(主动安全机制-防外部入侵)
- 保护数据以防止不合法使用造成的数据泄密和破坏
- 数据的完整性检查(被动安全机制-防内部误操作)
- 完整性指数据的正确性、有效性和相容性,将数据控制在有效范围内
- 并发控制
- 对并发操作加以协调和控制
- 数据库恢复
- 数据的安全性保护(主动安全机制-防外部入侵)
数据库系统的优势
使信息系统从以加工数据的程序为中心专项围绕共享的数据库为中心的阶段
- 提高了数据的利用率和相容性
- 简化应用程序的研制和维护
- 便于数据的集中管理
数据模型
数据模型是对现实世界数据特征的抽象,现实世界用数据模型
来抽象、表示和处理。
数据模型是数据库系统的核心和基础
根据模型应用的不同目的划分:
- 概念模型
- 也称信息模型,按用户的观点对数据和信息建模,主要用于数据库设计
- 逻辑模型和物理模型
- 逻辑模型: 按计算机系统的观点对数据建模,主要用于数据库管理系统的实现
- 物理模型: 数据最底层的抽象,具体是现实数据库管理系统的任务
概念模型
信息世界中的基本概念:
- 实体
- 客观存在并可相互区别的事物
- 属性
- 实体所具有的某一特性称为属性
- 若干属性的聚集组成了实体
- 属性不能再具有需要描述的性质
- 属性不能与其他实体具有联系
- 域(domain)
- 属性的取值范围称为该属性的域
- 码
- 唯一标识实体的属性集称为码(键)
- 码是实体属性集的子集
- 实体型 (class)
- 用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
- 实体集(Array/Set)
- 同一类型实体的集合称为实体集
- 联系
- 实体(型)内部的联系和实体(型)之间的联系
- 有一对一,一对多和多对多
表示方法
E-R图
数据模型组成要素(背)
- 数据结构
- 描述数据库的组成对象以及对象之间的联系
- 是所描述的对象类型的集合,是对系统静态特性的描述
- 数据操作
- 对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
- 主要有查询和更新(包括插入、删除、修改)两大类操作
- 是对系统动态特性的描述
- 数据的完整性约束条件
- 是一组完整性规则
- 制约和依存规则,保证数据的正确、有效和相容
常用的数据模型
- 非关系模型
- 层次模型: 用树形结构表示各类实体以及实体之间的联系
- 结构简单清晰,查询效率最高
- 性能优于关系数据库,不低于网状数据库
- 提供了良好的完整性支持
- 多对多联系无法用层次模型直接表示
- 网状模型
- 直接描述现实世界,存取效率较高
- 结构比较复杂;不容易掌握,不容易使用
- 层次模型: 用树形结构表示各类实体以及实体之间的联系
- 关系模型
- 面向对象数据模型
关系模型
数据结构:
- 关系: 一个关系对应通常说的一张表
- 元组: 表中的一行即为一个元组
- 属性: 表中的一列即为一个属性
- 码: 可以唯一确定一个元组
- 域: 域是一组具有相同数据类型的值的集合
- 分量: 元组中的一个属性值
- 关系模式: 对关系的描述,一般表示为:关系名(属性1,属性2…)
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项(不允许表中还有表)
数据操纵:查询、插入、删除、更新
完整性约束条件:实体完整性(实体可区分(码))、参照完整性(分量存在)、用户定义的完整性(业务逻辑需要)
优缺点:
- 建立在严格的数学概念
- 概念单一,所以数据结构简单清晰
- 存取路径对用户透明,所以具有更高的数据独立性、更好的安全保密性
- 查询效率往往不如格式化数据模型,增加了开发数据库管理系统的难度
数据库系统模式
三级模式结构
模式
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
实际上是数据库数据在逻辑集上的视图
一个数据库只有一个模式
提供模式数据定义语言(模式DDL) 来严格地定义模式,定义逻辑结构,联系,安全性,完整性要求
外模式
面向具体应用
也称子模式或用户模式,是数据库用户能够看见和使用的局部数据结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
通常是模式的子集,一个数据库可以有多个外模式。结构、类型、长度、保密级别等都可以不同
是保证数据库安全性的一个有力措施
提供外模式数据定义语言(外模式DLL) 来严格定义外模式
内模式
也称存储模式
一个数据库只有一个内模式
是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
二级映像功能
外模式/模式映像 -> 逻辑独立性
视图级抽象
描述的是数据的局部逻辑结构
模式/内模式映像 -> 物理独立性
模式 - 概念级抽象
内模式 - 物理级抽象