全国软考《软件设计师》培训.ppt

上传人:牧羊曲112 文档编号:5233588 上传时间:2023-06-16 格式:PPT 页数:121 大小:813.50KB
返回 下载 相关 举报
全国软考《软件设计师》培训.ppt_第1页
第1页 / 共121页
全国软考《软件设计师》培训.ppt_第2页
第2页 / 共121页
全国软考《软件设计师》培训.ppt_第3页
第3页 / 共121页
全国软考《软件设计师》培训.ppt_第4页
第4页 / 共121页
全国软考《软件设计师》培训.ppt_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《全国软考《软件设计师》培训.ppt》由会员分享,可在线阅读,更多相关《全国软考《软件设计师》培训.ppt(121页珍藏版)》请在三一办公上搜索。

1、软件设计师培训,历年考试对本章内容的考查情况,本章的重点程度:,2.数据库技术基础知识,大纲要求:数据库管理系统的功能和特征 数据库体系结构(概念模式、外模式、内模式)数据模型,ER图,第一范式、第二范式、第三范式 数据操作(集合运算和关系运算)数据库语言(SQL)数据库的控制功能(并发控制、恢复、安全性、完整性)数据仓库和分布式数据库基础知识,2.1 数据库系统的基本概念 DB、DBMS和DBS的定义 DB(数据库)是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DBMS(数据库管理系统)是数据库系统中管理数据的软件系统。位于用户与操作系统之间的一层管理软件。DBS(数据库管理系统

2、)在计算机系统中引入数据库后的系统。是数据库、硬件、软件、数据库管理员及用户的集合。,数据库管理系统的功能数据库的定义功能 DBMS提供数据定义语言(DDL)定义数据库的三级结构两级映象,定义数据的完整性、安全控制约束。数据库的操作 DBMS提供数据操作语言(DML)实现对数据库中数据的操 作。基本数据操作有:检索(查询)、和更新(插入、删除、修改)。,数据库的保护功能 DBMS对数据的保护主要通过四个方面实现,因而DBMS中包括四个子系统。数据库恢复数据库的并发控制数据库的完整性控制数据库的安全性控制,数据库存储管理 DBMS的存储管理子系统提供了数据库中数据和应用程序的一个界面,DBMS存

3、储管理子系统的职责是把各种DML语句转换成底层的与磁盘中数据打交道的操作系统的文件系统命令,起到数据的存储、检索和更新的作用。,5.数据库的维护功能数据装载程序备份程序文件重组织程序性能监控程序6.数据字典(DD)数据库系统中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问DD才能实现。DD中还存放数据库运行的统计信息,例如记录个数、访问次数等。,【软件设计师考试2007年11月上午试题51】在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的(51)语言来实现。(51)A.数据定义B.数据操作 C.数据查询D.数据控制,A,2.2 数据库系统的体系结构三级结构两

4、级映象 三级结构:外模式、概念模式、内模式 两级映象:外模式/模式映象、模式/内模式映象,三级结构:外模式:单个用户使用到的那部分数据的描述。概念模式:是用户定义的数据库中全部数据逻辑结构的描述。内模式:是数据库在物理存储方面的描述,接近于物理存储设备,涉及到实际数据存储的结构。,两级映象 模式内模式映象:存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。外模式模式映象:存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。,两级数据独立性 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两个级别。物理数据独立

5、性:数据的内模式修改,模式内模式也要进行相应的修改,但概念模式尽可能保持不变。逻辑数据独立性:数据的概念模式修改,外模式模式也要进行相应的修改,但外模式尽可能保持不变。,2.3 数据模型 数据模型:表示实体类型及实体间联系的模型.根据模型应用的不同目的可以将模型化分为概念数据模型和结构数据模型 概念模型 ER模型(实体联系模型)结构数据模型 层次模型、网状模型、关系模型,按用户的观点对数据和信息建模的,按计算机的观点对数据建模的,直接面向数据库的结构,概念模型 ER模型(实体联系模型)实体间的联系:实体集内部以及实体集的联 系。包括一对一的联系、一对多的联系、多对 多的联系。描述实体间联系的模

6、型称为实体联系模型 简称ER模型。,1,n,n,1,1,n,1,n,1,n,m,n,1,n,1,n,数据结构模型 数据库领域中常用的数据结构模型:层次模型 网状模型 关系模型,【软件设计师考试2009年5月上午试题51】采用二维表格结构表达实体类型及实体间联系的数据模型是(51)。(51)A.层次模型 B.网状模型 C.关系模型D.面向对象模型,层次模型:用树型结构表示实体类型及实体间联系的数据模型。,特点:1.有且只有一个结点无父结点;2.其它结点有且只有一个父结点;3.适用于一对多的实体联系。,层次模型的实例,特点:1.任何一个结点可以有一个或一个以 上的父结点;2.任何一个结点可以没有父

7、结点;3.适用于多对多的实体联系。,网状模型:用有向图表示实体类型及实体间联系的数据模型.,网状模型的实例,关系模型:用二维表格结构表达实体间的联系的数据模型,关系模型中的基本术语:关系:二维的数据表,它描述了实体之间的联系。元组(实体):数据表中的每一行表示一个实体。属性(字段):数据表中的每一列。域:属性的取值范围。关系模式:对关系的描述称为关系模式。关系名(属性名1,属性名2,属性名n)例:学生(学号,姓名,性别,出生日期,籍贯,所在系),超键(超码):在关系模式中,能唯一标识元组的属性集。这个属性集可能含有多余的属性。候选键(候选码):能唯一标识元组,且又不含有多余的属性一个属性集,即

8、超键中删除多余属性剩下的属性集。主键(主码):从候选键中选择一个作为关系模式中用户使用的候选键称为主键。例如:在关系模式(工号,姓名,年龄,性别,工资)(工号,姓名)是关系的一个超键;(工号)是候选键;(工号)是主键。,主属性:包含在任何候选键中的属性称为主属性。不包含在任何候选键中的属性称为非主属性。外键(外码):当关系R中的某个属性(或属性组)虽然不是该关系的码,但却是另一个关系S的码,称该属性(或属性组)为R关系的外键。全键(全码):关系模型中所有属性都是这个关系的关键字 例:R(教师,课程,学生),例1:学生(学号,姓名,性别,年龄,系号)系(系号,系名,系主任)例2:选课(学号,课程

9、号,成绩)学生(学号,姓名,性别)课程(课程号,课程名,学分),外键,外键,【软件设计师考试2004年5月上午试题17、18】已知关系R如下表所示,关系R的主属性为(17),候选关键字分别为(18)。(17)A.ABC B.ABD C.ACD D.ABCD(18)A.ABC B.AB、AD C.AC、AD和CD D.AB、AD、BD的CD,D,D,【软件设计师考试2004年11月上午试题42-44】假定每一车次具有唯一的始发站和终点站。如果实体“列车时刻表”属性为车次、始发站、发车时间、终点站、到达时间,该实体的主键是(42);如果实体“列车运行表”属性为车次、日期、发车时间、到达时间,该实体

10、的主键是(43)。通常情况下,上述“列车时刻表”和“列车运行表”两实体间(44)联系。(42)A.车次 B.始发站 C.发车时间 D.车次,始发站(43)A.车次 B.始发站 C.发车时间 D.车次,日期(44)A.不存在 B.存在一对一 C.存在一对多 D.存在多对多,A,D,C,关系模型的完整性约束(数据完整性)数据完整性是用来确保数据库中数据的正确性和可靠性。数据完整性包括:实体完整性:主键的取值必须唯一,并且不能为空。域完整性:保证数据的取值在有效的范围内。参照完整性:参照完整性是通过主键和外键来保证相 关联的表间数据保持一致,避免因一个表的数据修 改,而导致关联生效。,【软件设计师考

11、试2006年5月上午试题48】某数据库中有:员工关系E(员工编号,姓名,部门)产品关系P(产品编号,产品名称,型号,尺寸,颜色);仓库关系W(仓库编号,仓库名称,地址,负责人编号);库存关系I(仓库编号,产品编号和产品数量)若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是(48)。,(48)A.实体完整性、参照完整性、用户定义完整性 B.参照完整性、实体完整性、用户定义完整性 C.用户定义完整性、实体完整性、参照完整性 D.实体完整性、用户定义完整性、参照

12、完整性,【软件设计师考试2006年5月上午试题48】在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的(51)语言来实现。(51)A.数据定义 B.数据操作 C.数据查询 D.数据控制,2.4 数据操作 关系数据库的数据操作语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关于查询的理论称为“关系运算理论”。关系查询语言根据其理论基础的不同分成两大类:关系代数语言:查询操作是以集合操作为基础的DML语言。关系演算语言:查询操作是以谓词演算为基础的DML语言。,关系代数 关系代数的五个基本操作 并

13、、差、笛卡尔积、投影、选择 关系代数的四个组合操作 交、联接、自然连接、除法 关系演算 元组关系演算 域关系演算,关系代数关系代数的五个基本操作(1)并(Union)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义如下:RSt|tR tS,t是元组变量,R和S的元数相同。,R,S,(2)差(Difference)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为RS。形式定义如下:RS t|tR tS,R和S的元数相同。,R,S,(3)笛卡尔积 设关系R和S的元数分别为r和s。定义R和S的笛卡尔积是一个(r+s)

14、元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自R的一个元组,记为RS。形式定义如下:RS t|t=trRtsS 若R有m个元组,S有n个元组,则RS有mn个元组。,R,S,(4)投影(Projection)这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。设关系R是k元关系,R在其分量Ai1,Aim(mk,i1,im为1到k间的整数)上的投影用i1,im(R)表示,它是一个m元元组集合,形式定义如下:i1,im(R)t|tti1,timt1,tkR,例如,3,1(R)表示关系R中取第1、3列,组成新的关系,新关系中第1列为R的第3列,新关系的第2列

15、为R的第1列。如果R的每列标上属性名,那么操作符的下标处也可以用属性名表示。例如,关系R(A,B,C),那么C,A(R)与3,1(R)是等价的。,R,S,(5)选择(Selection)选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中有两种成分:运算对象和运算符 形式定义如下:F(R)t|tR F(t)=true 为选择运算符,F(R)表示从R中挑选满足公式F为真的元组所构成的关系。,例如,23(R)表示从R中挑选第2个分量值大于3的元组所构成的关系。常量用引号括起来,而属性序号或属性名不要用引号括起来。,S,R,关系代数

16、的四个组合操作(1)交(intersection)关系R和S的交是由属于R又属于S的元组构成的集合,记为RS,这里要求R和S定义在相同的关系模式上。形式定义如下:RSttR tS,R和S的元数相同。,(2)连接(join)连接有两种:连接和F连接 连接(是算术比较符)连接是从关系R和S的笛卡儿积中选取属性间满足某一操作的元组,R Stt=trRtsStri tsj 因此,连接由笛卡尔积和选择操作组合而成。R S i(r+j)(RS),ij,ij,F连接(F是公式)F连接是从关系R和S的笛卡儿积中选取属性间满足某一公式F的元组,这里F是形为F1F2Fn的公式,每个FP是形为ij的式子,而i和j分

17、别为关系R和S的第i、第j个分量的序号。,(3)自然连接(natural join)两个关系R和S的自然连接操作具体计算过程如下:计算RS;设R和S的公共属性是A1,AK,挑选RS中满足 R.A1=S.A1,R.AK=S.AK的那些元组;去掉S.A1,S.AK这些列。形式定义如下:RS i1,im(R.A1=S.A1.R.AK=S.AK(RS),其中i1,im为R和S的全部属性,但公共属性只出现一次。自然连接就是等值连接去掉重复列。,【软件设计师考试2007年11月上午试题543、55】关系R、S如下图所示,RS可由(54)基本的关系运算组成,RS=(55)。(54)A.,和 B.-,和 C.

18、,和 D.,和,D,A,(4)除法(division)设关系R和S的元数分别为r和s(设rs0),那么RS是一个(r-s)元的元组的集合。(RS)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成的新元组必在关系R中。RS1,2,r-s(R)-1,2,,r-s(1,2,r-s(R)S)-R),R,S,RS,先列出R-S的属性 属性值A、B同时满足S中(c,d)和(e,f)的元组。,例:选修了所有课程的学生的学号和姓名。,选修表,课程,选修表课程,例:检索所学课程包含学生s1所学课程的学生学号。,选修表,课程,s#,c#(选修表)c#(s#=s1(选修表),【软件设计师考试2005年1

19、1月上午试题33、34】在关系代数运算中,关系 S、SP和R如下表所示。若先 _(33)_,则可以从 S 和 SP 获得 R。其对应的关系表达式为 _(34)_。,S,SP,R,(33)A.对 S 进行选择运算,再与 S 进行自然连接运算 B.对 S 进行选择运算,再与 SP 进行自然连接运算,最 后进行投影运算 C.对 S 和 SP 进行笛卡尔积运算,再对运算结果进行投 影运算 D.分别对 S 和 SP 进行投影运算,再对运算结果进行 笛卡尔积运算,如下的 SQL 语句可以查询销售总量大于 1000 的部门号。Select 部门名 From S Where 部门号 in(Select 部门号

20、 From SP Group by _(35)_)(35)A.部门号 where sum(销售量)1000 B.部门号 having sum(销售量)1000 C.商品号 where sum(销售量)1000 D.商品号 having sum(销售量)1000,【软件设计师考试2006年5月上午试题47】设有关系R、S如下所示,则关系代数表达式RS的结果集为(47)。,R,S,C,关系演算 元组关系演算 在元组关系演算中,元组关系演算表达式简称为元组表达式,其一般形式为:t|P(t)其中,t是元组变量,表示一个元数固定的元组;P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。t

21、|P(t)表示满足公式P的所有元组t的集合。,在元组表达式中,公式由原子公式组成。原子公式(Atoms)有下列三种形式:R(s):s是R的一个元组。siuj:元组 s的第i个分量与元组u的第j个分量之间 满足关系。sia或auj:a是常量。在定义关系演算操作时,要用到“自由”和“约束”变量概念。在一个公式中,如果元组变量未用存在量词或全称量词符号定义,那么称为自由元组变量,否则称为约束元组变量。,R1=t|S(t)t12,例:已知关系R,S,给出R1-R5五个关系的元组关系演算表达式。,R2=t|R(t)S(t),R3,R3=t|(u)(S(t)R(u)t3u2,R4,R4=t|(u)(R(t

22、)S(u)t3u1),R5=t|(u)(v)(R(u)S(v)u1v2t1=u2t2=v3t3=u1),关系代数表达式到元组表达式的转换:RS 可用 t|R(t)S(t)表示;R-S 可用 t|R(t)S(t)表示;RS可用 t|(u)(v)(R(u)S(v)t1=u1 t2=u2t3=u3t4=v1t5=v2 t6=v3)表示。投影操作是2,3(R),那么元组表达式可写成:t|(u)(R(u)tl=u2t2=u3)F(R)可用 t|R(t)F表示,F是F的等价表示形式。例如2=d(R)可写成 t|(R(t)t2=d)。,【软件设计师考试2005年5月上午试题36、37】某数据库中有供应商关系

23、S和零件关系P,其中;供应商关系模式S(Sno,Sname,Szip,City),零件关系模式P(Pno,Pname,Color,Weight,City),供应模式SP(Sno,Pno,Status,Qty),要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。查询供应了“红”色零件的供应商名、零件号和数量的元组演算表达式为:t|(u)(v)(w)(36)u1=v1v2=w1w3=红(37),(36)A.S(u)SP(v)P(w)B.SP(u)S(v)P(w)C.P(u)SP(v)S(w)D.S(u)P(v)SP(w)(37)A.t1=u1t2=w2t3=v4 B.t1=v1t2=u

24、2t3=u4 C.t1=w1t2=u2t3=v4 D.t1=u2t2=v2t3=v4,关系数据库SQL语言 SQL的数据定义 SQL的数据查询 SQL的数据更新,【软件设计师考试2005年11月上午试题33、34】关系R,S如下图所示,元组演算表达式t|(u)(R(t)S(u)t3u1)的结果为(47),SQL的数据定义创建表,CREATE TABLE(,),涉及相应属性列的完整性约束条件:主键约束:PRIMARY KEY 检查约束:CHECK 外键约束:FOREIGN KEY 唯一性约束:UNIQUE 是否为空值约束:NULL/NOT NULL 默认值:DEFAULT,例:使用T-SQL语言

25、创建Student 表 Student(Sno,Sname,Ssex),CREATE TABLE Student(sno CHAR(10)PRIMARY KEY,sname CHAR(8)NOT NULL UNIQUE,ssex CHAR(2)DEFAULT(男),例:使用T-SQL语言创建Crouse表 Crouse(cno,cname,credit),CREATE TABLE Course(cno char(10)PRIMARY KEY,cname char(8)NOT NULL UNIQUE,credit int),例:使用T-SQL语言创建SC表 SC(sno,cno,score),C

26、REATE TABLE SC(sno CHAR(10)FOREIGN KEY REFERENCES Student(sno),cno CHAR(10)FOREIGN KEY REFERENCES Course(cno),score INT CHECK(score BETWEEN 0 AND 100),PRIMARY KEY(sno,cno),主键表名,主键,CREATE TABLE SC(sno CHAR(10),cno CHAR(10),score INT,PRIMARY KEY(sno,cno),FOREIGN KEY(sno)REFERENCES Student(sno),FOREIGN

27、 KEY(cno)REFERENCES Course(cno),CHECK(score BETWEEN 0 AND 100),某数据库中有供应商关系S和零件关系P,其中;供应商关系模式S(Sno,Sname,Szip,City)零件关系模式P(Pno,Pname,Color,Weight,City)要求一个供应商可以供应多种零件,而一种零件可由多个供应商供应。请将下面的SQL语句空缺部分补充完整。CREATE TABLE SP(Sno CHAR(5),Pno CHAR(6),Status CHAR(8),Qty NUMERIC(9),_(33)_(Sno,Pno),_(34)_(Sno),_(

28、35)_(Pno);,供选择的答案:(33)-(35)A.FOREIGN KEY B.PRIMARY KEY C.FOREIGN KEY(Sno)REFERENCES S D.FOREIGN KEY(Pno)PEFERENCES P(33)A(33)C(35)D,SQL的数据查询 数据查询语句基本格式如下:SELECT FROM WHERE,6个聚合函数:,SUM(列名):求某一列的总和(此列的值必须是数值型)AVG(列名):求某一列的平均值(此列的值必须是数值型)MIN(列名):求某一列中的最小值MAX(列名):求某一列中的最大值COUNT(列名):传回一列中的非NULL值的个数COUNT(

29、*):传回符合查询条件的元组的个数,例:查询男生的总人数,以及他们的平均年龄。SELECT COUNT(*),AVG(年龄)FROM 学生 WHERE 性别=男,例:查询财管1班的所有学生的英语总成绩和均分。SELECT SUM(c1),AVG(c1)FROM 成绩 WHERE c#=c1,ORDER BY子句对查询的结果进行排序 SELECT语句中可以使用ORDER BY子句对查询的结果进行排序,带ASC参数时为升序,带DESC参数时为降序,不待任何参数时为默认方式升序。SELECT FROM WHERE ORDER BY ASC|DESC,例:查询全体学生的姓名和年龄,年龄按降序排列 显示

30、。,SELECT 姓名,年龄FROM 学生ORDER BY 年龄 DESC,GROUP BY 子句、HAVING 子句 按条件分类统计,在SELECT语句中可以使用GROUP BY子句进行分类统计。GROUP BY子句可以将表达式的值相同的记录归为同一组,从而进行统计。语法格式如下:,GROUP BY,HAVING 子句指定组或聚合的搜索条件,只能和SELECT语句一起使用,通常和GROUP BY连用。语法格式如下:,HAVING,例:查询女生每一年龄组有多少人。SELECT 年龄,count(*)FROM 学生 WHERE 性别=女 GROUP BY 年龄,例:查询女生每一年龄组超过10人的

31、年龄。SELECT 年龄,FROM 学生 WHERE 性别=女 GROUP BY 年龄 HAVING COUNT(*)10,例:查询平均成绩低于60分的课程。SELECT 课程号,AVG(成绩)FROM 成绩 GROUP BY 课程号 HAVING AVG(成绩)60,例:下面给一个关系模式 R(TNAME,ADDRESS,C#,CNAME)关系模式中的属性一次表示教师姓名,教师地址,课程编号,课程名。分析该模式存在的问题。,有现实世界中的事实可知:一个教师只有一个地址(户籍所在地);一个教师可教若干门课程;每门课程只有一个教师任教。即:TNAME ADDRESS C#CNAME C#TNAM

32、E 于是关系模式R的主键是 C#,虽然这个模式只有四个属性,但在使用过程中明显存在下列问题。数据冗余。在上述关系中,如一名教师教多门课程,那么这位教师的地址就要重复多次。(2)更新异常。由于数据的冗余,在数据更新时会出现问题,例如:一个教师教三门课程,在关系中就会有三个元组,如果他的地址改变了,这三个元组中的地址都要改变,若有一个元组中的地址没有更改,就造成这个教师的地址不惟一,产生错误的信息。,(3)插入异常。在关系方法中,每个关系必须用键值区分关系中的不同元组。如果新增加一名教师,尚未分配教学任务,那么要存储该教师的姓名和地址到关系中去时,在属性C#和CNAME上就没有值,在本例中C#是主

33、键的一部分,键值为空的元组违反了实体完整性约束。(4)删除异常。与插入异常相反,删除操作会引起一些信息的丢失。如一个教师原来有教学任务,目前没有安排那么要把这个教师的所有元组都要删去,这样就把这个教师的姓名和地址信息也从数据库中删去了,这也是一种不合理的现象。,对于上述模式中存在的问题可采用分解的方法,将其分解成两个模式:R1(TNAME,ADDRESS)R2(TNAME,C#,CNAME)那么分解后的关系模式的好坏,用什么标准来衡量呢?范式:满足特定要求得关系模式。,设有关系模式R(U),X和Y是属性集U的子集,r是R任一具体关系,如果对r的任意两个元组t1和 t2,都有t1X=t2X导致t

34、1Y=t2Y,那么称X函数决定Y或Y函数依赖X,记为XY,XY为模式R的一个函数依赖。,第一范式 如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(first normal form,简记为1NF)的模式。满足1NF的关系称为规范化的关系,否则称为非规范化的关系。关系数据库研究的关系都是规范化的关系。例如关系模式R(NAME,ADDRESS,PHONE),如果一个人有两个电话号码(PHONE),那么在关系中至少要出现两个元组,以便存储这两个号码。1NF是关系模式应具备的最起码的条件。在建立关系数据模型时,必须将非规范化形式规范化,,第一范式,第二范式 如果关系模式R是1

35、NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)模式。如果数据库模式中每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。对于函数依赖WA,如果存在XW有XA成立,那么称WA是局部依赖(A局部依赖于W);否则称WA是完全依赖。,例:现在分析以下关系,它符合第一范式。假定职工号是每个职工的唯一标识,而工资完全由级别所确定。毕业时间由职工号和学历确定。这表明:姓名、级别、工资等的取值依赖于职工号,而毕业时间要由职工号和学历两个属性才能唯一确定。,那么,在这个表中各个属性之间表示的相互依赖关系如图。,存在(姓名,级别,工资)对(职工号,学历)的局部依赖,因此,可以拆开原

36、来关系为以下两个关系,使之成为第二范式。,第三范式 如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。如果数据库模式中每个关系模式都是3NF,则称其为3NF的数据库模式。如果XY,YA,且YX和 AY,那么称XA是传递依赖(A传递依赖于X)。,由以上关系可以看到实际上可能很多人的级别都是技6级的,那么他们的工资都是1500元,如果把技6级的工资改为1800元,则所有技6级的工资都要改,只要一个人改错了,就会造成同一级工资不一样的错误。原因就在于这些属性间存在着传递依赖关系:职工号级别,级别工资 从而使:职工号级别工资,进一步的规范化就是要消去非

37、主属性对主关键字的传递依赖性,变为第三范式。现在只要把第二范式的关系恰当拆开为几个关系即可达目的。,【软件设计师考试2004年11月上午试题45、46】建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:Sno(Sname,Zip,City),ZipCity。“供应商”表S属于(53)。(53)A.1NF B.2NF C.3NFD.BCNF,B,数据库模式设计原则:关系模式R相对于函数依赖集分解成数据库模式=R1,R2,。Rk,一般应具有下面四项特性。(1)中每个关系模式 上应有某种分时

38、性质(3NF或 BCNF)(2)无损联接。(3)保持函数的依赖集。,无损联接 设R是一个关系模式,F是R上的一个函数依赖集。R分解成数据库模式=R1,Rk。如果对R中满足F的每一个关系r,都有 r=R1(r)R2(r)Rk(r)那么称分解相对于F是“无损联接分解”简称为“无损分解”,否则称为“损失分解”。,无损联接测试:设=R1,R2 是关系模式R的一个分解,F是R上成立的FD集,那么分解相对于F是无损分解的充分必要条件是:(R1R2)(R1R2)或(R1R2)(R2R1)。,保持函数的依赖集 保持关系模式一个分解是等价的另一个重要条件是关系模式的函数依赖集在分解后仍在数据库模式中保持不变。设

39、=R1,Rk 是R的一个分解,F是R上的函数依赖,如果有 Ri(F)=F,那么称分解保持函数依赖集F。,【软件设计师考试2004年11月上午试题45、46】关系模式R(U,F),其中UW,X,Y,Z,F=WXY,WX,XZ,YW。关系模式R的候选建是(45)、(46)是无损连接并保持函数依赖的分解。(45)A.W和YB.WYC.WXD.WZ(46)A.p=R1(WY),R2(XZ)B.p=R1(WZ),R2(XY)C.p=R1(WXY),R2(XZ)D.p=R1(WX),R2(YZ),A,C,UW,X,Y,Z,F=WXY,WX,XZ,YW求属性集U关于函数依赖F的属性闭包U+。设 W+=W 找到左边被W包含的函数依赖关系:WX,将 W+=WX=WX 同理:找到左边被WX包含的函数依赖关系:WXY,XZ 将 W+=WXYZ=WXYZ 所以W+=WXYZ,即W能决定多有的属性,W为候选键,UW,X,Y,Z,F=WXY,WX,XZ,YW,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号