文档介绍:关系数据库基础:
关系数据模型三要素:关系数据结构、关系数据操作以及关系约束条件
E-R模型:主要概念:实体、联系、属性。
数据规范化:关系数据模型中个属性之间的关系及其对关系模式性能的影响。关系数据库设计理论的核心是函数依赖,衡量的标准是关系规范化的程度及其分解的无损连接和保持函数依赖性。
数据依赖:数据间的相互关系,是数据的内在性质
函数依赖:一种最重要的数据依赖。包括:函数依赖、非平凡函数依赖、平凡函数依赖、部分函数依赖、传递依赖、码、主属性、非主属性、外码、值依赖定义、函数依赖的公理系统。(范式约束条件)
事务管理:事务是一个操作序列。这些操作是"要么都做,要么都不做"。事务是数据库环境中不可分割的逻辑工作单位。
事务的四个特性:原子性、一致性、隔离性、持久性。
在SQL语句中事务定义的语句有三条:BEGIN MIT,ROLLBACK
并发控制:多用户操作的系统中,用户可能同一时刻对统一数据进行操作。DBMS的的并发控制子系统负责协调并发事务的执行,保证数据库的完整。
数据库设计的基本步骤:需求分析、逻辑结构设计、物理结构设计、应用程序设计、运行维护
需求分析 
概念结构设计
逻辑结构设计
物理结构设计
数据库应用程序设计
数据库运行和维护
数据库设计的范式:
关系模式分解:将一个关系模式分解为多个子关系模式(可以解决数据上的冗余与操作上的异常)。方便插入、更新、删除以及查询。要求:保持无损链接以及函数依赖
关系模式分解的问题:
无损链接:
有损链接:
模式分解的衡量标准:
无损性:
定义:关系模式R,分解成p={R1, R2, …, Rk }。F是R上的一个函数依赖集。如果对R中满足F的每一个关系r都有:。则称次分解P是相对于F是无损链接分解。
优点:在分解后的模式关系中可以存在一些悬浮元素,解决了插入修改等问题。
缺点是查询的时候需要做链接运算,工作量大。
如果一个模式分解不是无损链接,那么不可以通过自然连接运算恢复。因此要求分解时利用属性间的函数依赖性质。
算法:(判别一个分解的无损连接性)
输入:关系模式R上成立的函数依赖集:F。R的分解
输出:判断P相对于F的无损链接。
建立一个k行n列的表格。每列对应一个属性Ai,每行对应一个模式Ri。如果Aj在Rj中,那么在表格的ij处,那么在ij处题上aj,否则填bij。 
 反复检查F的每一个依赖集,并修改表格中的数据。方法如下:
对F中每一个函数依赖x->y,如果表格中有两行t1,t2。在x上相等,在y上不等。那么修改y,使得在y上两行也相等。
若t1[Ai],t2[Ai]中有一个等于aj,则另一个也修改为aj。
若没有aj,则取t2[Ai]= t1[Ai]=bij。
(t2的行号小于t1的行号。)上述操作一直到表格不能修改为止。
检查表格,如果存在a1,a2,a3……an的一行,则为无损分解。否则为有损分解。
举例说明:
 
概念补充:
最小函数依赖集:
定义:如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。
① F中的任何一个函数依赖的右部仅含有一个属性;
② F中不存在这样一个函数依赖X→A,使得F与F-{X→A}等价;
③ F中不存在这样一个函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
求最小函数依赖集分三步:
将F中的所有依赖右边化为单一元素此题fd={abd->e,ab->g,b->f,c->j,cj->i,g->h};已经满足
,看看是否依然可以推此题:abd->e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性ab->g,也没有cj->i,因为c+={c,j,i}->i将成为c->iF={abd->e,ab->g,b->f,c->j,c->i,g->h};
,如去掉(X->Y),然后在F中求X+,如Y在X+中,则表明x->->e,F将等于{ab->g,b->f,c->j,c->i,g->h},而(abd)+={a,d,b,f,g,h},(ab)+={a,b,f}也不包含g,+={b}不多余,c+={c,i}不多余c->i,g-> F={abd->e,ab->g,b->f,c->j,c->i,g->h};
函数依赖闭包:在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F