第九章:数据库技术考点总结
1、基本概念
1.1 几个专有名词
-
数据(data):Data。
-
数据库(DB):DataBase。
-
数据库管理系统(DBMS):DataBase Management System。
-
数据库系统(DBS):DataBase System,广义上讲:由数据库、硬件、软件和人员组成。
-
数据库管理员(DBA):DataBase Administrator。
1.2 DBMS的功能
- 数据定义。
- 数据库操作。
- 数据库运行管理。
- 数据的组织、存储和管理。
- 数据库的建立和维护。
- 等等…
1.3 DBMS的特征
- 数据结构化且统一管理。
- 有较高的数据独立性。
- 数据控制功能(数据库的安全性、完整性、并发控制、故障恢复)。
2、三级模式—两级映射
3、数据库设计过程
4、E-R模型
在E-R模型中,矩形表示实体、椭圆形表示属性、菱形表示联系。
5、关系代数
6、规范化理论
6.1 函数依赖
6.2 价值与用途
6.3 键
-
候选码:也称候选键,若关系模式中的某一属性或属性组能唯一的标识一个元组,则称该属性或属性组为候选码。例如:学号可以唯一确定学生性别、姓名等信息,所以学号就是学生关系模式的候选码。
-
主码:也称主键,若一个关系模式有多个候选码,则选定其中一个作为主码。例如:学号可以唯一确定学生姓名,身份证号也可以唯一确定学生姓名,那么学号和身份证号都是学生关系模式的候选码,我们选择候选码之一:学号作为主码。
-
超码:也称超键,对于学生关系模式,学号可以唯一确定学生性别,所以学号可以作为候选码,那么(学号,姓名)组合起来也可以唯一确定学生性别,那么这里的(学号,姓名)就称为学生关系模式的超码。
-
外码:也称外键,如果关系模式R中的属性或属性组不是该关系的码,但它是其他关系模式的主码,那么该属性或属性组对关系模式R而言就是外码。
-
全码:如果在一个关系模式中,需要所有的属性才可以唯一标识其中的每一个元组,那么就称这个属性组为全码。
-
(非)主属性:包含在任何一个候选码中的所有属性称为主属性,不包含在任何候选码中的属性称为非主属性。
求候选键
6.4 范式
第一范式:
第二范式:
第三范式:
BC范式:
例题:
6.5 模式分解
假设一个关系模式R(A,B,C),函数依赖集F={A→B,B→C},我们将关系模式R分解为R1(A,B),R2(B,C)。那么在R1中,我们能够找出A→B;在R2中,我们能够找出B→C,这与原函数依赖集完全对应,所以就称这样的模式分解保持函数依赖。(换句话说,对于一个总关系模式分解成了若干个子关系模式,如果根据这些子关系模式中的属性能够推出与原函数依赖集相同的内容,则称保持函数依赖)
对于模式分解,如果分解的子关系模式数量大于2,则需使用表格法进行还原;如果分解的子关系模式只有两个:R1和R2,那么只需要求一下 R1∩R2(交集)、R1-R2(差运算)、R2-R1(差运算),如果此时 R1∩R2 能够推出 R1-R2或R2-R1其中之一,则称模式分解是无损的。
例题:
表格法
7、并发控制
事务的ACID原则:
-
原子性:事务是原子的,要么都做,要么都不做。
-
一致性:事务执行的结果必须是保证数据库从一个一致性状态变到另一个一致性状态。因此,当数据库只包含成功事务提交的结果时,称数据库处于一致性状态。
-
隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事务都是不可见的。
-
持久性:一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也将永久有效。
并发控制存在的问题:
封锁协议:
-
排它锁:也称X锁或写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。
-
共享锁:也称S锁或读锁。若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁,直到T释放A上的S锁。这就保证了其他事务可以读取A,但在T释放A上的S锁之前不能对A进行任何修改。
8、数据库完整性约束
-
实体完整性:若属性(或属性组)A是基本关系R的主属性,则A不能取空值。(主键不能为空)
-
参照完整性:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主码Ks相对应,则对于R中的每个元组在F上的值必须:等于S中某个元组的主码值,或者取空值。(外键要么为空,要么等于另一个关系的主键)
-
用户自定义完整性:用户根据实际情况具体设定的完整性规则。例如:年龄不能为负、性别只能为男女等。
9、数据库安全
10、数据备份与恢复
数据库故障与恢复:
11、数据仓库与数据挖掘
数据挖掘方法分类:
12、反规范化
13、大数据(了解)