文章目录
- [第一章 绪论](#第一章 绪论)
-
- [1.1 数据库系统概述](#1.1 数据库系统概述)
-
- [1.1.1 数据库的四个基本概念](#1.1.1 数据库的四个基本概念)
- [1.1.2 数据管理技术的产生与发展](#1.1.2 数据管理技术的产生与发展)
- [1.1.3 数据库系统的特点数据结构化](#1.1.3 数据库系统的特点数据结构化)
- [1.2 数据模型](#1.2 数据模型)
-
- [1.2.1 两类数据模型](#1.2.1 两类数据模型)
- [1.2.2 概念模型](#1.2.2 概念模型)
- [1.2.3 数据模型的组成要素](#1.2.3 数据模型的组成要素)
- [1.2.4 常用的数据模型](#1.2.4 常用的数据模型)
- [1.2.5 层次模型](#1.2.5 层次模型)
- [1.2.6 网状模型](#1.2.6 网状模型)
- [1.2.7 关系模型](#1.2.7 关系模型)
- [1.3 数据库系统的结构](#1.3 数据库系统的结构)
-
- [1.3.1 数据库系统模式的概念](#1.3.1 数据库系统模式的概念)
- [1.3.2 数据库系统的三级模式结构](#1.3.2 数据库系统的三级模式结构)
- [1.3.3 数据库的二级映像功能与数据独立性](#1.3.3 数据库的二级映像功能与数据独立性)
第一章 绪论
1.1 数据库系统概述
1.数据的处理:Descriptive(描述)、Predictive(预测)、Prescriptive(规范)
2.文件组织的相关词汇和概念:
- 数据库:相关文件的集合;
- 文件:相关记录的集合;
- 记录:相关字段的集合;
- 字段:一组字符串,比如单词、数字;
- 实体:需要存储信息的诸如人、地址、物体等对象;
- 属性:描述实体的特征或特性。
3.数据层次:数据库(Database)、文件(file)、记录(record)、字段(field)、字节(byte=8bit)、位(bit)[一个汉字有2个字节]
1.1.1 数据库的四个基本概念
**1.数据(Data)**数据库中存储的基本对象。
①Def:描述事物的符号记录。
②种类:数字( 结构化数据 \color{blue}{结构化数据} 结构化数据)、文字、图形、图像、音频等( 非结构化数据 \color{blue}{非结构化数据} 非结构化数据)。
③数据是基础:数据------信息------知识------智能。
④数据的语义:数据的含义。(数据与其语义是不可分的)
2.数据库(Database,简称DB)
①Def:是 长期储存 \color{red}{长期储存} 长期储存在计算机内、 有组织的 \color{red}{有组织的} 有组织的、可 共享的 \color{red}{共享的} 共享的大量数据集合。
②基本特征:
- 数据按一定数据模型组织、描述、和储存;
- 可为各种用户共享;
- 冗余度较小;
- 易扩展;
- 较高的数据独立性。
3.数据库管理系统(DBMS)
①Def:
- 位于用户和操作系统之间的一层数据管理软件;
- 是基础软件,是一个大型复杂的软件系统。
②用途:科学地组织和存储数据、高效地获取和维护数据。
③主要功能: D D L ( 数据定义语言 ) 、 D M L ( 数据操纵语言 ) 、 D C L ( 数据控制语言 ) \color{red}{DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)} DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)
-
数据定义功能:
- 提供数据定义语言(DDL);
- 定义数据库中的数据对象。
-
数据组织、存储和管理:
- 分类组织、存储和管理各类数据;
- 确定组织数据的文件结构和存取方式;
- 实现数据之间的联系;
- 提供多种存取方法提高存取效率。
-
数据操纵功能:
- 提供数据操纵语言(DML);
- 实现对数据库的基本操作(查询、插入、删除和修改);
-
数据库的事物管理和运行管理:
- 数据库在建立、运行和维护时由数据库管理系统统一管理和控制;
- 保证数据的安全性、完整性、多用户对数据的并发使用;
- 发生故障后的系统恢复。
4.数据库系统(Database System,简称DBS)
① 组成:硬件平台、软件平台、人员。
②构成:
- 数据库
- 数据库管理系统(及其应用开发工具)
- 应用程序
- 数据库管理员(DBA)
- 设计与定义数据库
- 帮助最终用户使用数据库系统
- 负责数据库系统的运维工作
- 改进和重组数据库系统
- 转储与恢复数据库
- 重构数据库
③图示:
1.1.2 数据管理技术的产生与发展
1.什么是数据管理:
- 对数据进行分类、组织、编码、存储、检索和维护;
- 数据处理的中心问题。
2.数据管理技术的发展过程:
- 人工管理阶段(20世纪50年代中之前)
- 文件系统阶段(20世纪50年代末------60年代中)
- 数据库系统阶段(20世纪60年代末------现在)
3.数据管理技术的发展动力:
- 应用需求的推动
- 计算机硬件的发展
- 计算机软件的发展
1.1.3 数据库系统的特点数据结构化
1.数据结构化
-
数据的整体结构化是数据库的主要特征之一
- 面向全组织,数据之间有联系
- 数据记录可以边长
- 数据的最小存取单位是数据项
- 数据用数据模型描述,无需应用程序定义
-
数据的共享性高、冗余度低且易扩展(好处)
- 减少数据冗余,节约存储空间
- 避免数据之间的不相容性和不一致性
- 使系统易于扩充
-
数据独立性高
- 物理独立性
- 指用户的应用程序与数据库中的物理存储是相互独立的。当数据的物理存储改变了,应用程序不改变。
- 逻辑独立性
- 指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构改变了,应用程序不改变。
- 数据的独立性由DBMS的二级映像功能来保证。
- 物理独立性
-
数据由数据库管理系统统一管理和控制
- 数据的安全性(Security)保护
- 保护数据防止不合法的使用造成数据的泄密和破坏。
- 数据的完整性(Integrity)保护
- 保证数据的正确性、有效性和相容性。
- 并发(Concurrency)控制
- 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
- 数据库恢复(Recovery)
- 对数据库从错误状态恢复到某一已知的正确状态。(回滚机制)
- 数据的安全性(Security)保护
1.2 数据模型
1.数据模型是对现实世界数据特征的抽象。(通俗讲就是 对现实世界的模拟 \color{red}{对现实世界的模拟} 对现实世界的模拟)
2.满足要求:
- 能比较真实的模拟现实世界
- 容易为人所理解
- 便于在计算机上实现
3.数据模型是数据库系统的 核心和基础 \color{red}{核心和基础} 核心和基础。
1.2.1 两类数据模型
1.概念模型,也称信息模型
- 它是按照用户的观点来对数据和信息建模,用于数据库设计。
2.逻辑模型和物理模型
- 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
- 物理模型是对数据最底层的抽线,描述数据在系统内部的表示方式和存取方式,在磁盘或磁带上的存储方式和存取方式。
3.客观对象的抽象过程------两步抽象
- 现实世界中的客观对象抽象为信息世界的概念模型。
- 把概念模型转换为机器世界某一DBMS支持的数据模型。
1.2.2 概念模型
1.Def:从用户的观点对数据进行建模,将现实世界抽象为信息世界。
2.信息世界的基本概念:
- 实体(Entity):客观存在并可互相区别的事物。
- 属性(Attribute):实体所具有的某一特性。
- 码(Key):唯一标识实体的属性集。
- 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体。
- 实体集(Entity Set):同一类型实体的集合。
- 联系(Relationship)
- 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间( 一对一、一对多、多对多等 \color{red}{一对一、一对多、多对多等} 一对一、一对多、多对多等)的联系。
3.概念模型实例: 实体 − 联系方法 \color{red}{实体-联系方法} 实体−联系方法(E-R方法:E-R图)
1.2.3 数据模型的组成要素
1.数据结构(对系统静态特征的描述)
- 描述数据库的组成对象( 类型、内容、性质 \color{red}{类型、内容、性质} 类型、内容、性质)以及对象之间的联系。
2.数据操作
- 查询
- 更新(包括插入、删除、修改)
3.数据的完整性约束条件:一组完整性规则的集合。
1.2.4 常用的数据模型
- 层次模型(Hierarchical Model):树
- 网状模型(Network Model):图
- 关系模型(Relational Model):表
- 面向对象数据模型(Object Oriented Data Model):对象
注意!前四个称为逻辑模型( L o g i c a l M o d e l ) \color{red}{注意!前四个称为逻辑模型(Logical Model)} 注意!前四个称为逻辑模型(LogicalModel)
- 对象关系数据模型(Object Relational Data Model)
- 半结构化数据模型(Semistruture Data Model)
1.2.5 层次模型
1.DBS中最早出现的数据模型。
2.层次模型用 树形结构 \color{red}{树形结构} 树形结构来表示各类实体以及实体之间的联系。
3.完整性约束条件
- 无相应的双亲结点值就不能插入子女结点值
- 如果删除双亲结点值,则相应的子女结点值也被同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性
4.层次模型的特点:
- 结点双亲唯一。
- 只能处理一对多的实体联系。
- 每个记录类型可以定义一个排序字段也成为码字段。
- 任何记录值只有按其路径查看时,才能显出它的全部意义。
- 没有一个子女记录值能够脱离双亲记录值而独立存在。
5.层次模型的优缺点:
- 优点
- 层次模型的数据结构比较简单清晰
- 查询效率高,性能优于关系模型,不低于网状模型
- 层次模型提供了良好的完整性支持
- 缺点
- 现实世界中很多联系都是非层次性的,不适合用层次模型表示(多对多层次模型就表示不了)
- 对插入和删除操作的限制多,应用程序的编写比较复杂
- 查询子女结点必须通过双亲结点
- 由于结构严密,层次命令趋于程序化
1.2.6 网状模型
1.网状模型允许多个结点没有双亲结点(层次模型只允许一个:根节点)
2.网状模型允许结点有多个双亲结点(层次模型只允许一个)
3.可以表示一对一、一对多、多对多。
4.网状模型的优缺点:
- 优点
- 能够更直接地描述现实世界,表示多种联系的结点关系
- 具有良好的性能,存取效率较高
- 缺点
- 结构比较复杂,随着应用环境扩大,数据库复杂度激增
- 网状模型的数据定义和建模过程复杂,不易掌握和使用
- 记录间的联系通过存取路径实现,加重了应用程序负担
- 缺乏层次模型那样严格的完整性约束条件
1.2.7 关系模型
1.在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
2.基本概念
- 关系(Relation):一个关系对应通常说的一张表。
- 元组(Tuple):表中的一行即为一个元组。
- 属性(Attribute):表中的一列即为一个属性,给属性命名即属性名。
- 码(Key):表中的某个属性组,它可以唯一确定一个元组。
- 比如学号可以唯一确定一行,就可以称为一个码
- 域(Domain):属性的取值范围。
- 分量:元组中的一个属性值。
- 法律就是第三个元组中的有关系名的属性值。
- 关系模式:对关系的描述
- 关系名(属性1,属性2,......,属性n)
- 学生登记表(学号,姓名,年龄,性别,系名,年级)
3.关系模型必须是规范化的,满足一定的规范条件。
- 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许 表中有表 \color{red}{表中有表} 表中有表
4.关系模型的操纵和完整性约束
- 数据操作是集合操作,操作对象和操作结果都是关系。
- 查询
- 插入
- 删除
- 更新
- 存取路径对用户隐蔽,用户只要指出干什么,不必详细说明怎么干。
- 关系的完整性约束条件:
- 实体完整性
- 参照完整性
- 用户定义的完整性
1.3 数据库系统的结构
-
从 数据库应用开发人员角度 \color{red}{数据库应用开发人员角度} 数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。
从 数据库最终用户角度 \color{red}{数据库最终用户角度} 数据库最终用户角度看,数据库系统的结构分为:
- 单用户结构
- 主从式结构
- 分布式结构
- 客户-服务器
- 浏览器-应用服务器 / 数据库服务器多层结构等
1.3.1 数据库系统模式的概念
1."型"和"值"的概念
- 型(Type):对某一类数据的结构和属性的说明。
- 值(Value):是型的一个具体赋值。
2.模式(Schema)
- 数据库逻辑结构和特征的描述
- 是型的描述,不涉及具体值
- 反映的是数据的结构及其联系
- 模式是相对稳定的
3.实例(Instance)
- 模式的一个具体值
- 反映数据库某一时刻的状态
- 同一个模式可以有很多实例
- 实例随数据库中的数据的更新而变动
1.3.2 数据库系统的三级模式结构
1.模式(Schema)
- 模式(也称逻辑模式 or 概念模式)
- 数据库中全体数据的逻辑结构和特征的描述;
- 所有用户的公共数据视图。
- 一个数据库只有一个模式。
- 模式的地位:是数据库系统模式结构的中间层。
- 与数据的物理存储细节和硬件环境无关;
- 与具体的应用程序、开发工具及高级程序设计语言无关。
2.外模式(External Schema)
- 外模式(也称子模式 or 用户模式)
- 某一用户能够看到的处理的数据的结构描述。
- 外模式的地位:介于模式与应用之间。
- 模式与外模式的关系:一对多
- 外模式与应用的关系:一对多
3.内模式(Internal Schema)
- 内模式(也称存储模式)
- 存储在介质上的数据的结构描述,如存储路径、方式等。
- 一个数据库只有一个内模式。
1.3.3 数据库的二级映像功能与数据独立性
1.E-C映像:外模式/模式映像:便于用户观察和使用。
- 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换。
- 保证数据的逻辑独立性。
2.C-I映像:模式/内模式映像:便于计算机存储和处理。
- 将概念模式映射为内模式,从而支持实现数据概念视图向内部试图的转换。
- 保证数据的物理独立性。