计算机四级考试重难点分析.doc 联系客服

发布时间 : 星期日 文章计算机四级考试重难点分析.doc更新完毕开始阅读

(C) 定义三:

(D) 当关系引用了属性名后关系具有以下属性: [1] 不能有重复的元组; [2] 元组上下无序;

[3] 按属性名引用时属性左右无序; [4] 所有属性值都是原子项(不可再分);

(8) 总结:关系是一张二维表,表中的一行被称为一个元组,一列称为属性,由一组域值组成。关系是元组的集合,关系中的每个元组在数学上被定义为这个关系所涉及的全部域值中笛卡儿积的一个元素。 5.2.2 关系数据库

1、 关系数据库是按照二维表组织和存储的相互关联的关系的集合,关系数据库模式是关系模式的集合;

5.2.3 关系的完整性

1、 关系的完整性(完整性约束):是对关系的某种约束规则和关系满足的定义。通常这组约束规则用来限定和检查数据库所含实例的合法性和正确性;

2、 完整性约束分静态和动态两种,静态完整性约束是基于关系模式的,主要有主码、外码约束和域约束组成;动态完整性约束是基于企业的业务规则的。 3、 静态完整性约束规则: (1) 主码约束:主码必须满足:

(A) 惟一性:在一个关系中不存在两个元组,它们具有相同的主码值;

(B) 最小性:不存在从组成主码的属性集中去掉一个属性,还仍能保持数据的惟一性; (2) 外码约束:

(3) 用户定义的完整性: 5.3 关系数据库设计理论 5.3.1 问题的提出

究竟一个关系数据库包含哪些属性是合理的,如何评价一个关系模式设计的优劣? (D) 非主属性也可以写在矩形框内水平线的下面; 5.3.2 函数依赖

函数依理论利用一个关系中属性之间的依赖关系评价和优化关系模式,以保证存储到数据库中的关系具有较好特性; 1、 函数依赖:

(1) 设R(U)为一关系模式,X和Y为属性全集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,并记作X

Y,其中X称为决定因素,因为根据函数依赖定义,给定一个X,就能惟一决定一个Y。 (2) 这里讨论的函数关系与数学上的不同,是不能计算的,是一个关系中属性之间存在的依赖关系;它是一种语义范畴的概念,只能根据两个属性之间的语义来确定一个函数依赖是否存在。

2、 完全与部分函数依赖:

(1) 在关系模式R(U)中,如果XàY成立,并且对X的任何真子集X’不能函数决定Y,则称Y对X是完全函数依赖,被记作X---f---àY。 (2) 若XàY,但Y不完全函数依赖于X,则称Y对X是部分函数依赖,记作X--pàY; 3、 传递函数依赖:

在关系R(U)模式中,如果X决定Y,(Y不属于X),Y不决定X,Y决定Z,则称Z对X传递函数依赖。

4、 平凡与非平凡函数依赖:

(1) 若X决定Y,但Y属于X,则称XàY是平凡函数依赖,否则称非平凡函数依赖; (2) 即平凡函数依赖,仅当其右边的属性集是左边属性集的子集时成立;

(3) 非平凡函数依赖,仅当其右边的属性集至少有一个属性不属于左边有集合时成立; (4) 完全非平凡函数依赖:仅当其右边的属性集中属性都不在左边的集合时成立;

5、 码:

(1) 在关系模式R(U)中,K为R的属性或属性组,若K函数决定A1.A2….An,则K为关系模式R的候选码,包含在候选码中的属性称为主属性,否则为非主属性; (2) 若一个关系的候选码不止一个,则选定其中一个作为关系R的主码;

(3) 关系的码属性除了必须完全函数决定关系的所有其他属性外,还必须满足最小化规则,即在关系模式R(U)中,不存在一个K的真子集能够函数决定R的其他属性。 6、 函数依赖的推理规则:

(1) 自反律:若Y(包含于)X(包含于)U,则XàY成立; (2) 增广律:若XàY,且Z(包含于)U,则XZàYZ成立; (3) 传递律:若XàY,YàZ,则XàZ成立; (4) 合并规则:若XàY,XàZ成立,则XàYZ; (5) 分解规则:若XàY和Z(包含于)Y成立,则XàZ也成立; (6) 伪传递规则:若XàY,YWàZ,则XWàZ成立; 7、 属性集闭包:

(1) 设F是属性集U上的函数依赖集,X为U的一个子集,那么对于F,属性集X关于F的闭包(用X+表示)为:X+={A|XàA}

(2) 由属性集团包的定义可知,若想判断函数依赖XàY是否成立,只要计算X关于函数依赖集F的闭包,若Y是X闭包中的一个元素则XàY成立; 8、 确定关系的码:

(1) 利用迭代算法计算X+,步骤如下: (A) 选X作为闭包X+的初值X(0);

(B) 由X(i)计算X(i+1)时,它是由X(0)并上属性集合A所组成,其中A满足下列条件:Y(包含于)X(i),且F中存在函数依赖YàZ,而A(包含于)Z。因为U是有穷的,所以会得到X(i)=X(i+1),此时X(i)为所求的X+。 5.3.3 规范化设计方法 1、 第一范式:

(1) 定义:设关系模式R(F,U),如果R的每一个属性都是不可分的数据项,则此关系模式为第一范式;

(2) 一个给定关系和第一范式(1NF)的区别:

(A) 一个关系中的数据按照行和列的形式组织,每个元组具有相同数目的属性个数,且每一个元组的属性值具有统一的数据类型和长度;元组或属性的排列与顺序无关,每个元组必须通过一个属性或属性组惟一识别;

(B) 第一范式实际上对关系增加了一个约束,即关系中元组的每个属性都只取一个值,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。 2、 第二范式:

(1) 定义:若关系模式R(F,U)是1NF,且每个非主属性完全函数依赖于码,则称R为第二范式,即在2NF中不存在非主属性对码的部分依赖;

(2) 仅满足第一范式关系会存在种种问题,要消除必须用更高级的范式标准来设计,称为标准化;

(3) 具体做法是将大的关系分解成多个小的关系,使分解后的关系满足更高级范式的要求。

(4) 第二范式实际上对关系增加了一个约束,就是关系中的每一个属性必须完全依赖于主码,即在第一范式的基础上,消除非主属性对主码的部分函数依赖可达到2NF; 3、 第三范式:

(1) 定义:若关系R(U,F)为第一范式,且不存在非主属性对主码的传递函数依赖,则称R为第三范式;

(2) 第三范式是在第二范式的基础上对关系又增加了一个约束,就是关系中的每一个非主属性必须只依赖于主码。即2NF的基础上,消除非主属性对主码的传递函数依赖可达到3NF。

4、 改进的第三范式:

(1) 定义:如果关系模式R是1NF,且每个属性既不相存在部分函数依赖也不存在传递函数依赖于候选码,则称R是改进的第三范式(BCNF)。 5、 多值依赖与4NF:

(1) 多值依赖:表示关系中属性(如A、B、C)之间的依赖,对于A的每个值,都存在一个B或C的值的集合,而且B和C的值相互独立,记为:AààB、AààC

(2) 第四范式:如果关系模式R属于1NF,对于R的每个非平凡的多值依赖XàY(Y不属于X),X含有候选码,则R是第四范式。即是从BCNF范式中消除主码内的独立依赖集(非平凡多值依赖)可达4NF; 6、 连接依赖与5NF

(1) 连锁依赖:设关系模式R,R的属性子集为R1、R2、R3、R4、R5、R6、R7….,当且仅当R的每个合法值等于R1、R2、R3、R4、R5、R6、R7…的投影连接时,称R满足连接依赖;

(2) 第五范式:设R是一个满足5NF的关系模式,当且仅当R的每一个非平凡连接依赖都被R的候选码所蕴含,即从4NF中消除非候选码所蕴含的连接依赖为5NF; 7、 总结:

(1) 范式表达了关系模式满足的条件,也是衡量关系模式设计优劣的标准;

(2) 利用范式进行规范化设计的目的是消除数据冗余,避免出现异常,使结构更合理; (3) 规范化设计的基本过程是对关系进行的分解,消除属性间不合理的数据依赖,用一组等价的子关系代替原有的关系;

(4) 数据库规范化的程序越高,其关系表就越多,从而增加了表之间连接运算的代价,影响了数据库的执行速度和性能。所以通常关系模式规范化工作仅做到3NF,这样既使关系中不合理的属性基本消除,规范化程度也不太高,保证数据库有较好的性能。 5.4 数据库模式设计

5.4.1 初始关系模式的设计

1、 把ER图转换成关系模式:

(1) 把ER模型中的每个实体集转换成一个同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码;

(2) 把ER模型中的每个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换成为关系的属性。

(A) 若联系为1:1,则每个实体集的码均是该关系的候选码; (B) 若联系为1:n,则关系的码为n端实体集的码; (C) 若联系为m:n,则关系的码为各实体集码的组合; (3) 合并具有相同码的关系

2、 检查确认对象:检查转换后的每个关系名和属性名是否符合数据库设计关于统一命名的约定;

5.4.2 优化关系模式 1、 模式分解原则:

(1) 分解具有无损连接性:分解后的关系能够恢复成原来的关系; (2) 分解保持函数依赖:

(A) 无损连接和保持函数依赖是用于衡量一个模式分解是否导致原有模式中部分信息丢失的两个标准;

(B) 当一个关系被分解后会出现几种结果,既有无损连接,又能保持函数依赖是较理想的分解结果,意味着在分解的过程中没有丢失原有模式的任何信息;

(C) 一般情况下,分解到3NF就足够了,但在3NF关系下,仍存在一定程度上的更新异常或不一致的隐患,但与数据库性能比较起来是可以忽略的,因为在数据库设计过程中通过增加一些数据约束,就可以解决3NF引起的数据问题了。 3、 优化属性:确定各字段的类型和长度; 4、 确认模式满足需要: 5.4.3 数据完整性设计 1、 指定义数据库中存储的数据值满足的约束条件,通过对存储的数据值的约束维护关系的完整性。

2、 数据值满足条件分为:

(1) 域约束:限制指定列的取值及范围;

(2) 主码约束:定义每个关系的主码值不空,且惟一;

(3) 引用完整性约束:定义不同模式的属性间满足的条件,及一个关系模式中属性间可能满足的条件;

5.4.4 安全模式和外模式的设计

1、 根据选定的DBMS支持的安全控制特征来确定; 2、 根据不同用户对数据库存取特点定义相关的外模式; 存储技术与数据库物理设计

6.1 物理设计是在具体的硬件环境、OS、DBMS约束下,基于逻辑设计,设计具体数据存储结构和存取方式。目的:占用空间少、访问效率高、维护代价低。主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。

6.2 索引技术(Indexing)是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法。

索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间。

6.3 文件组织:如何将关系数据库中的关系映射为操作系统中的数据库文件,及管理文件。

文件结构:如何将DB文件中的逻辑记录映射到物理文件的中磁盘块。 文件存取:针对某种结构的DB文件,如何查、添删改其中的逻辑记录

6.4 数据字典:数据库各类对象的描述信息、数据库管理系统的控制信息。包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。 作用:DBA用来监视DBMS的使用情况并协助完成管理工作;一般用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储和查询处理功能。 6.5 DBMS的三种完整性控制机制:CHECK子句、断言、触发器 断言语句:Create assertion 断言约束名 check (…)

6.6 堆文件:数据量少且操作频繁;批量加载数据(先选为堆文件再调整文件结构) 顺序文件:查询条件定义在查找码上;快速的二分查找

散列文件:基于散列域值的等值匹配,特别是访问顺序是随机的。非精确查询;非散列域

B-树和B+-树:大数据量基本表;聚焦文件:多表连接操作

6.7有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。

当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址.根据这个地址访问数据记录。 6.8散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。当需要访问数据文件中查找码值为si的某个或某些文件记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文件记录在数据文件中的物理地址。

6.9 权限:允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)。

第七章 数据库应用系统功能设计 7.1 软件体系结构与设计过程 7.1.1 软体体系结构

1、 软件体系结构又称软件架构,软件体系结构={构件,连接件,约束}。 2、 构件是组成系统的具有一定独立功能的不同粒度的程序模块、独立程序或软件子系统,是组成软件的系统元素;