第一章:绪论
数据库的4个基本概念
- 数据:描述事物的符号记录
- 数据库:存放数据的仓库,数据库是长期储存在计算机内,有组织的,可共享的大量数据的集合。基本特点:永久存储,有组织,可共享
- 数据库管理系统(DBMS):是一种计算机的基础软件,功能有:数据定义,数据组织,存储和管理,数据操纵,事务管理和运行管理,建立和维护功能,其他功能
- 数据库系统:由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据库管理技术的产生和发展
人工管理阶段->文件系统阶段->数据库系统阶段
数据模型
定义:对现实世界数据特征的抽象,是数据库的核心和基础
种类
1.概念模型
主要用于数据库设计
2.逻辑模型和物理模型
主要用于数据库管理系统的实现
概念模型
1.实体:客观存在并可相互区别的事物称为实体。
2.属性:实体所具有的某一特性称为属性
3.码:唯一标识实体的属性集称为码
4.实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
5.实体集:同一类型的实体的集合
6.联系:是指不同实体集之间的联系
数据模型
组成部分
- 数据结构:描述数据库的组成对象以及对象之间的联系
- 数据操作:指对数据库各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。
- 数据库的完整性约束条件:数据的一组完整性规则
常用数据模型
层次模型
用树形结构来表示各类实体以及实体间的联系
像一棵倒立的树,结点的双亲是唯一的
优点
- 层次模型的数据结构比较清晰简单
- 层次模型的查询效率高
- 层次数据模型提供了良好的完整性支持
缺点
- 现实中许多联系是非层次性的
- 应用程序编写较复杂
- 查询子女结点必须通过双亲结点
- 由于结构严密,层次命令趋于程序化
网状模型
允许一个以上的结点无双亲
一个节点可以有多于一个双亲
优点
- 更加直接的描述现实世界
- 具有良好的性能,存取效率较高
缺点
- 结构比较复杂,不利于最终用户掌握
- 网状模型的DDL,DML复杂,不易于掌握
- 用户必须了解系统结构的细节,加重编程负担
关系模型
相关术语
- 关系:一个关系对应通常说的一张表
- 元组:表中的一行即为一个元组
- 属性:表中的一列即为一个属性
- 码:表中的某个属性组,可以唯一确定一个元组
- 域:具有相同数据类型的值的合集
- 分量:元组中的一个属性值
- 关系模式:对关系的描述
关系模型要求关系必须是规范繁华的,关系的每一个分量必须是一个不可分的数据项
优点
- 与格式化模型不同,是建立在严格的数学概念的基础上的
- 关系模型的概念单一,所以其数据结构简单、清晰,用户易懂易用
- 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性
数据库系统的结构
模式是数据库中全体数据的逻辑结构和特征描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。
模式是相对稳定的,而实例是相对变动的
数据库系统的三级模式结构
模式(逻辑模式)
是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图
外模式
是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
内模式
一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
特点
数据结构化,数据的共享性高,冗余度低,易扩充,数据独立性高,数据有DBMS统一管理和控制
组成
数据库,数据库管理系统,应用系统,数据库管理员,用户
二级映像
外模式/模式映像
由数据库管理员对各个外模式/模式的映像作相应改变,可以是外模式保持不变,应用程序是依赖数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,即为逻辑独立性
模式/内模式映像
当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,博爱整理数据与程序的物理独立性,即为物理独立性
第二章——关系数据库
关系
关系模型的数据结构
域:一组具有相同数据类型的值的集合
笛卡尔积:理解为排列组合的全集,一个域允许不同取值的域的个数被称为基数
关系:R(D1,D2,...,Dn),其中n为关系的目或度,R为关系的名字,n为1时单元关系,n为2时为二元关系
候选码:某一属性组的值能唯一地标识一个元组,而其子集不能,则称改属性组为候选码
候选码的属性被称为主属性,不是的被称为非主属性或非码属性,极端情况下所有属性都是候选码,此时被称为全码
关系的三种类型:基本关系,查询表和视图表
关系模式
关系的描述称为关系模式
R(U,D,DOM,F)
R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合
关系操作
关系操作包括查询,插入,删除,修改,关系的查询又可以分为选择、投影、并、差、笛卡尔积
关系的完整性
三类完整性约束:实体完整性,参照完整性,用户定义完整性,其中前两者是关系模型必须满足的,被称作关系的E两个不变性.
实体完整性规则
若属性A是基本关系R的主属性,则A不能取空值。
参照完整性规则
就是定义外码与主码之间的引用规则
用户定义的完整性
针对某一聚义关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
关系代数
是一种抽象的查询语言,用于对关系的运算表达查询
传统的关系运算
并
RUS={t|t∈R∨t∈S}
差
R-S={t|∈R∧t∈S}
交
R∩S={t|t∈R∧t∈S}
笛卡尔积
R×S={t1⌒ts|tr∈R∧ts∈S}
专门的关系运算
选择
选择又称为限制,它是在关系R中选择满足条件的诸元祖
σF(R)={t|t∈R∧F(t)='真'},F为查询条件
投影
关系R上的投影是从R中选择出若干属性列组成的新关系,其中A为B的属性列,投影求出的值还会去重
∏A(R)={t[A]|t∈R}
连接
从两个笛卡尔积中选取属性间满足一定条件的元组
θ为“=”的连接运算称为等值连接,自然连接是一种特殊的等值连接,会将重复的属性列去掉
除运算
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中