数据库系统原理
第一章 引言
数据库——是存储在计算机内结构化的数据的集合,储存的是数据和数据之间的联系
数据库系统(DBS) 包含 数据库管理系统(DBMS)(核心) 和 数据库(DB)
- 数据结构化,数据之间具有联系,面向整个系统
- 数据共享性高,冗余度低,易扩充——共享是多种应用、多种语言、多个用户相互覆盖地使用数据集合
- 数据独立性高,包括逻辑独立性和物理独立性
- 数据统一管理与控制,包括安全控制、完整控制和并发控制
人工管理阶段、文件系统阶段和数据库系统阶段
文件处理系统——传统操作系统
- 数据的冗余和不一致性(数据重复储存
- 数据访问困难
- 数据孤立(数据分散、格式不同
- 完整性问题
- 原子性问题(数据不能同时转移
- 并发访问异常(同时访问程序并发错误
- 安全性问题
数据模型——记录及其联系的集合
包含三要素:数据结构、数据操作、完整性约束
- 概念模型——是一种面向用户、面向客观世界的模型,独立于具体的机器和DBMS
- 实体-联系模型(E-R)——抽象的表示出现实世界实体与实体之间的关系
- 面向对象数据模型
- 逻辑模型
- 半结构化模型——不需要预先定义数据结构的模型,可以灵活地表示不规则或动态变化的数据
- 层次模型——用树形结构描述实体及其之间关系的数据模型,指针链接来表示和实现实体之间联系的模型
- 网状模型——用图形结构描述实体及其之间关系的数据模型,允许一个以上的结点无父结点,也允许一个结点有多个父结点,指针链接来表示和实现实体之间联系的模型
- 关系模型(结构)——二维表格描述实体及其之间关系的数据模型,关系模型可以通过运算符(如选择、投影、连接等)来操作和查询数据
- 基于对象的数据模型——对关系模型进行扩展
- 物理模型——是对数据最底层的抽象,它描述数据在系统内部的表示方法和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
区分不同实体的依据是属性
数据项—>记录=事物
数据抽象
- 物理层——索引进行高效检索
- 逻辑层——逻辑层用户不必意识到物理层的复杂性 物理数据独立性
- 视图层——最高层次抽象,数据库的某个部分
实例和模式
实例——特定时刻存储在数据库的信息的集合 数据库的总体设计被称为模式
- 内模式(物理模式)——数据在物理存储设备上的存储方式和物理结构的描述
- 模式(逻辑模式)——数据库中全体数据的逻辑结构和特征的描述
- 外模式(子模式)——应用程序需要的数据的逻辑结构和特征的描述
- 数据库可以有多个外模式,一个应用程序只能对应一种外模式,但一个外模式可以被多个应用程序使用
- 是模式的逻辑子集
内模式隐藏在逻辑模式之下 在一个数据库系统中,模式和内模式都只能有一个,但外模式(对应用户级)可以有很多个
- 物理独立性——用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,当数据的物理存储改变了,应用程序不用改变
- 数据独立性——用户的应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构改变时,用户程序也可以不变
区别:物理独立性涉及到数据的存储层次,而逻辑独立性涉及到数据的视图层次。
联系:物理独立性和逻辑独立性都是为了保证应用程序与数据库之间的解耦合,提高数据库系统的可维护性和可扩展性。
数据库语言
- 数据定义语言DDL
- 数据操纵语言DML——对数据库中数据的查询、插入、修改和删除
- 过程化DML——用户指定 需要什么及如何获取 数据
- 声明式DML——只需指定 需要什么数据
- 数据控制语言DCL
数据库引擎
储存管理器
- 权限及完整性管理器——检查用户的权限
- 事务管理器——控制并发
- 文件管理器
- 缓冲区管理器
- 数据文件
- 数据字典——元数据
- 索引
事务管理
- 原子性
- 一致性
- 隔离性——数据不一致
- 持久性——数据存回磁盘
第二章 关系模型介绍
关系的数据结构
- 关系——表
- 元组——行
- 属性——列
关系的键(码)
- 主键:主键是表中的一列或一组列,用于唯一标识表中的每一行。它不能包含空值。一个表只能有一个主键。
- 外键:外键是表中的一列或一组列,它引用另一个表的主键。它用于在两个表之间建立数据链接。
- 候选键:候选键是表中的一列或一组列,它可以唯一标识表中的每一行。它可以用作主键,但一个表可以有多个候选键。
- 超键:超键是表中的一列或一组列,它可以唯一标识表中的每一行。它可以包含不需要用于唯一标识每一行的额外列。
(有时“键”也可以叫做“码”)
关系模型中,一个码是可由一个或多个由其值能够唯一标识该关系模型中任何元组的属性组成
关系操作
关系数据模型的三要素
- 关系数据结构
- 关系操作
- 关系完整性约束
关系代数的五个基本运算
- 选择(Selection):从关系中选择满足特定条件的元组。
- 投影(Projection):从关系中选择特定属性,并返回包含这些属性的新关系。
- 并(Union):将两个关系合并成一个包含两个关系中所有元组的新关系。
- 差(Difference):从一个关系中删除另一个关系中的所有元组,返回剩余元组的新关系。
- 笛卡尔积(Cartesian Product):将两个关系的元组组合成新元组,返回包含所有组合的新关系。
其中,集合运算(并、交、差)的两关系满足以下要求(使结果有意义):
- 保证并运算的两个关系具有相同数量的属性,一个关系的属性数量被称为它的元数
- 相容关系——两个输入关系的第i个属性的类型必须相同
关系代数是以 关系(即二维表格)/ 集合运算 为基础的运算
1NF消去对主键的部分函数依赖后=2NF。
2NF消去对主键的传递函数依赖后=3NF。
3NF消去对候选键的部分函数依赖和传递函数依赖后 = BCNF。
BCNF是对3NF的改进,即在3NF的基础的又把范围从主码扩大为候选码。
第六章 形式化关系查询语言
数据库设计流程
- 需求分析阶段:首先必须准确了解与分析用户需求(包括数据与处理),需求分析是整个设计过程的基础,是最困难和最耗时间的一步。
- 概念结构设计阶段:概念结构设计是整个数据库设计过程的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
- 逻辑结构设计阶段:创建数据库说明、设计关系模式;逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
- 物理结构设计阶段:物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
- 数据库实施阶段:数据库实施阶段设计人员运用数据库管理系统提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行试运行。
- 数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评估、调整与修改。

数据字典:模式和子模式、存储模式、文件存储权限
浙公网安备 33010602011771号