您好,欢迎访问三七文档
第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。外键:是其他模式的主键。实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。3.数据查询,数据更新ok。4,视图,嵌入式,动态SQL语句,存储过程。第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y是一个函数依赖。如果对于R的每个满足F的关系r也满足X→Y,那么称F逻辑蕴涵X→Y,记为F⊨X→Y。定义4:设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F的闭包(closure),记为F+。即F+={X→Y|记为F⊨X→Y}定义5:对于FDX→Y,如果YX,那么称X→Y是一个“平凡的FD”,否则称为“非平凡的FD”。定义6:设关系模式R的属性集是U,X是U的一个子集。如果X→U在R上成立,那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1都有X1→U不成立,那么称X是R上的一个候选键。定义7:设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合:X+={属性A|X→A在F+中}定义8:如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。定义9:如果函数依赖集G满足下列三个条件,则称G是最小依赖集:①G中每个FD的右边都是单属性;②G中没有冗余的F,即G中不存在这样的函数依赖X→Y,使得G-{X→Y}与G等价;③G中每个FD的左边没有冗余的属性,即G中不存在这样的函数依赖X→Y,X有真子集W使得G-{X→Y}∪{W→Y}与G等价。定义10:设有关系模式R(U),属性集为U,R1、…、Rk都是U的子集,并且有R1∪R2∪…∪Rk=U。关系模式R1、…、Rk的集合用ρ表示,ρ={R1,…,Rk}。用ρ代替R的过程称为关系模式的分解。定义11:在泛关系模式R分解成数据库模式ρ={R1,…,Rk}时,泛关系r在ρ的每一模式Ri(1≤i≤n)上投影后再连接起来,比原来r中多出来的元组,称为“寄生元组”(SpuriousTuple)。定义12:设R是一个关系模式,F是R上的一个FD集。R分解成数据库模式ρ={R1,…,Rk}。如果对R中满足F的每一个关系r,都有r=πR1(r)⋈πR2(r)⋈…⋈πRk(r),那么称分解ρ相对于F是“无损连接分解”(losslessjoindecomposition),简称为“无损分解”,否则称为“损失分解”(lossydecomposition)。定义13:在无泛关系假设时,对两个关系进行自然连接中被丢失的元组称为悬挂元组。定义14:设F是属性集U上的FD集,Z是U的子集,F在Z上的投影用πZ(F)表示,定义为πZ(F)={X→Y|X→Y∈F+,且XY。定义15:设ρ={R1,…,Rk}是R的一个分解,F是R上的FD集,如果有∪πRi(F)⊨F,那么称分解ρ保持函数依赖集F。定义16:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(firstnormalform,简记为1NF)的模式。定义17:对于FDW→A,如果存在X⊂W有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。定义18:如果A是关系模式R的候选键中属性,那么称A是R的主属性;否则称A是R的非主属性。定义19:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。如果数据库模式中每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。定义20:如果X→Y,Y→A,且Y不→X和A不∈Y,那么称X→A是传递依赖(A传递依赖于X)。定义21:如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。如果数据库模式中每个关系模式都是3NF,则称其为3NF的数据库模式。定义22:设F是关系模式R的FD集,如果对F中每个非平凡的FDX→Y,都有X是R的超键,或者Y的每个属性都是主属性,那么称R是3NF的模式。定义23:如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。如果数据库模式中每个关系模式都是BCNF,则称为BCNF的数据库模式。定义24:设F是关系模式R的FD集,如果对F中每个非平凡的FDX→Y,都有X是R的超键,那么称R是BCNF的模式。2.定理1:FD推理规则A1、A2和A3是正确的。设U是关系模式R的属性集,F是R上成立的只涉及到U中属性的函数依赖集。FD的推理规则有以下三条:A1(自反性,reflexivity):若,则X→Y在R上成立。A2(增广性,augmentation):若X→Y在R上成立,且,则XZ→YZ在R上成立。A3(传递性,transitivity):若X→Y和Y→Z在R上成立,则X→Z在R上成立。定理2:FD的其他五条推理规则:(1)A4(合并性,union):{X→Y,X→Z}⊨X→YZ。(2)A5(分解性,decomposition):{X→Y,}⊨X→Z。(3)A6(伪传递性):{X→Y,WY→Z}⊨WX→Z。(4)A7(复合性,composition):{X→Y,W→Z}⊨XW→YZ。(5)A8:{X→Y,W→Z}⊨X∪(W-Y)→YZ。定理3:如果A1…An是关系模式R的属性集,那么X→A1…An成立的充分必要条件是X→Ai(i=1,…,n)成立。定理4:X→Y能用FD推理规则推出的充分必要条件是YX+。定理5:FD推理规则{A1,A2,A3}是完备的。定理6:设ρ={R1,R2}是关系模式R的一个分解,F是R上成立的FD集,那么分解ρ相对于F是无损分解的充分必要条件是:(R1∩R2)→(R1-R2)或(R1∩R2)→(R2-R1)。定理7:如果FDX→Y在模式R上成立,且X∩Y=φ,那么R分解成ρ={R-Y,XY}是无损分解。定理8:如果R是3NF模式,那么R也是2NF模式。定理9:如果R是BCNF模式,那么R也是3NF模式。3.算法1:求属性集X相对于FD集F的闭包X+。设属性集X的闭包为X+,其计算算法如下:X+:=X;do{oldX+:=X+;forF中每个FDY→ZdoifY∪Z;}while(X+!=oldX+);算法2:计算函数依赖集F的最小依赖集G。方法:具体过程分三步:①据推理规则的分解性(A5),得到一个与F等价的FD集G,G中每个FD的右边均为单属性。②在G的每个FD中消除左边冗余的属性。③在G中消除冗余的FD。算法3:无损分解的测试①构造一张k行n列的表格,每列对应一个属性Aj,每行对应一个模式Ri。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上bij。②把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的值。修改方法如下:如果Y值中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中一个bij替换另一个值(尽量把下标ij改成较小的数)。一直到表格不能修改为止。(这个过程称为chase过程)③若修改的最后一张表格中有一行是全a,即a1a2…an,那么称ρ相对于F是无损分解,否则称损失分解。算法4:分解成2NF模式集的算法设关系模式R(U),主键是W,R上还存在FDX→Z,并且Z是非主属性和X⊂W,那么W→Z就是一个局部依赖。此时应把R分解成两个模式R1(XZ),主键是X;R2(Y),其中Y=U-Z,主键仍是W,外键是X(REFERENCESR1)。利用外键和主键的连接可以从R1和R2重新得到R。如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。算法5:分解成3NF模式集的算法设关系模式R(U),主键是W,R上还存在FDX→Z。并且Z是非主属性,,X不是候选键,这样W→Z就是一个传递依赖。此时应把R分解成两个模式:R1(XZ),主键是X;R2(Y),其中Y=U-Z,主键仍是W,外键是X(REFERENCESR1)。利用外键和主键相匹配机制,R1和R2通过连接可以重新得到R。如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中每一个关系模式都是3NF为止。算法6:无损分解成BCNF模式集。对于关系模式R的分解ρ(初始时ρ={R}),如果ρ中有一个关系模式Ri相对于πRi(F)不是BCNF。据定义4.24可知,Ri中存在一个非平凡FDX→Y,有X不包含超键。此时把Ri分解成XY和Ri-Y两个模式。重复上述过程,一直到ρ中每一个模式都是BCNF。算法7:无损分解且保持依赖地分解成3NF模式集。①对于关系模式R和R上成立的FD集F,先求出F的最小依赖集,然后再把最小依赖集中那些左部相同的FD用合并性合并起来。②对最小依赖集中,每个FDX→Y去构成一个模式XY。③在构成的模式集中,如果每个模式都不包含R的候选键,那么把候选键作为一个模式放入模式集中。第五章数据库设计与ER模型定义5.1把数据库应用系统从开始规划,设计,实现,维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。1.数据库设计的全过程:(1)规划阶段:系统调查,可行性分析,确定数据库系统的总目标。(2)需求分析阶段:分析用户活动,产生业务流程图;确定系统范围,产生系统关联图;分析用户活动涉及到的数据,产生数据流图;分析系统数据,产生数据字典。(3)概念设计阶段:进行数据抽象,设计局部概念模型;将局部概念模型综合成全局概念模型;评审。(4)逻辑设计阶段:把概念模型转换成逻辑模型;设计外模式;设计应用程序与数据库的接口;评价模型;修正模型。(5)物理设计阶段:存储记录结构设计;确定数据存放的位置;存取方法的设计;完整性和安全性考虑;程序设计。(6)数据库的实现:用DDL定义数据库结构;组织数据入库;编址与调试应用程序;数据库试运行。(7)数据库的运行于维护2.ER模型(1)基本元素:实体,联系,属性(简单属性/复合属性,单值属性/多值属性,存储属性/派生属性,允许为空值的属性)(2)联系的设计:联系的元数,联系的约束。(3)采用ER模型的数据库概念设计:设计局部ER模型(确定局部结构范围,定义实体,定义联系,分配属性),设计全局ER模型(确定公共实体类型,合并局部ER模型,消除冲突(属性,结构,命
本文标题:数据库原理总结
链接地址:https://www.777doc.com/doc-5053020 .html