第一章 绪论
1.1数据库系统概述
数据(Date)
数据库(DB):长期储存在计算机中,有组织、可共享的大量数据集合。具有低冗余度、高数据独立性、易扩展的特点
数据库管理系统(DBMS):是计算机基础软件,有以下几个功能:
- 数据定义功能,提供数据定义语言(DDL)
- 数据组织、存储和管理
- 数据操作功能,提供数据操纵语言(DML)
- 数据库事务处理和运行管理,用于保证事务的正确性和数据安全性等
- 数据库的建立和维护功能
- 其他功能
数据库系统(DBS):由数据库+数据库管理系统(及相关应用开发工具)+应用程序+数据库管理员组成的
1.2数据模型
将具体事务转换为可处理的数据,对现实的模拟
1.2.1两类数据模型
第一类:概念模型:按照用户要求对数据和信息建模
第二类:逻辑模型:包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型
第二类:物理模型:描述数据在系统内部的表示方式和存储方法
1.2.2概念模型
实体+属性+码+实体型+实体集+联系
1.2.3数据模型的组成元素
数据结构
数据操作
数据的完整性约束条件
1.2.4常用数据模型
层次模型
优点:
- 结构简单
- 查询效率高
- 提供了良好的完整性支持
缺点:
-
现实中很多联系没有层次结构
-
如果含有多个双亲结点就会导致数据冗余
-
查询子结点必须通过父节点
-
结构死板
网状模型
优点:
- 更能直观的反应世界
- 具有良好的性能
缺点:
- 结构复杂
- DDL、DML复杂且需要嵌套高级语言
- 需要选择合适的存取路径
关系模型*
最重要的一种模型
关系:一个关系对应一张表
元组:一行
属性:一列的第一个名称即为属性名
码:码键,某个属性可以确定一个唯一的元组称为该关系的码
域:属性的取值范围
分量:元组中的一个属性值
关系模式:对关系的描述,一般为:关系名(属性1,属性2,...)
1.3数据库系统结构
数据模型中有“型(type)”和“值(value)”两种概念,而数据库系统结构中包含了“模式”和“实例”两种概念。
1.3.1数据库系统三级模式结构
模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,一个数据库只有一个模式,既不涉及硬件又不涉及应用程序,需要用DDL严格定义模式
外模式(用户模式):用户能够看见使用的局部数据结构和特征,即为模式的子集,每个用户所看到的外模式不同,需要用DDL严格定义模式
内模式(存储模式):一个数据库只有一个内模式,他是数据的物理结构和存储方式的描述,是数据在数据库内部的组织方法。
1.3.2数据库的二级映像功能与数据独立性
外模式/模式映像:当模式改变时通过对该映像进行相应改变可以保证外模式不需要改变,从而保证应用程序不变。
模式/内模式映像:因为模式与内模式都是唯一的,所以该映像是唯一的,它可以保证当物理存储结构发生改变时模式保持不变,从而保证应用程序不变。
第二章 关系数据库
2.1关系数据结构和定义
2.1.1关系
1.域:具有相同属性的集合,如{0,1}、{自然数、0}
2.笛卡尔积:D1xD2xD3 = {(d11,d21,d31),(d12,d22,d32),(...),...}
3.关系:R(D1,D2,D3,...,Dn),笛卡尔积的子集,n称为目或者度
当n=1时称为单元关系;当n=2时称为二元关系
因为关系是笛卡尔积的子集,所以也是一张二元表, 表中的域则称为属性
关系有三种类型:基本表、查询表(查询结果对应的表)、视图表(虚表,不存信息,仅供展示)
2.2.2关系模式
数据库要区分型和值,关系数据库中关系是值,关系模式则是型
$$
R(U,D,DOM,F)
$$
R:关系名
D:该关系属性名的集合
DOM:属性向域的映射集合
F:属性间数据的依赖关系集合
2.2关系操作
2.2.1基本关系操作
常用关系操作 = 查询 + 插入、删除、修改
查询(关系代数) = 选择+投影+并+差+笛卡尔积
2.3关系的完整性
2.3.1实体完整性
关系中每个元组都是可区分的,唯一的
若属性A是关系R的主属性,则其不能取空值且唯一
2.3.2参照完整性
即关系R的外键应为S的主键,让R和S能够相关联。
2.3.3用户定义完整性
用户定义的每个属性的取值范围
2.4关系代数
一种抽象的查询语言,通过关系的运算来表示查询