文档库 最新最全的文档下载
当前位置:文档库 › 数据库范式练习题

数据库范式练习题

数据库范式练习题
数据库范式练习题

#

1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信息一览表如

下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题12

第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可

分割的数据项。

第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全

依赖于其主码。

第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。

考生情况(考生编号,姓名,性别,考生学校)

%

考场情况(考场号,考场地点)

考场分配(考生编号,考场号)

成绩(考生编号,考试成绩,学分)

2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关

配件关系:(配件编号,配件名称,型号规格)

供应商关系(供应商名称,供应商地址)

配件库存关系(配件编号,供应商名称,单价,库存量)

3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系,

教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么如果它不属于3NF,请把它规范到3NF。

4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。

例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案:

仓库号+零件号;1NF;

仓库(仓库号,面积,电话号码)

]

零件(零件号,零件名称,规格)

保存(仓库号,零件号,库存数量)

例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。

例2答案:

学员编号+培训编号;1NF;

学员(学员编号,学员姓名)

培训(培训编号,培训名称,培训费)

~

报名(学员编号,培训编号,报名日期)

5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。

(部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)

[注]职务指某员工在某项目中的职务。

部门(部门编号,部门名称,所在城市)

员工(员工编号,员工姓名,部门编号)

项目(项目编号,项目名称,预算)

工作(员工编号,项目编号,职务,加入项目的日期)

数据库范式练习题

1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信 息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF 的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校)

考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符 合3NF的关系。(12分) 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试

问该关系的主键是什么,属于第几范式,为什么如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。 例 1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量) 例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。例2答案: 学员编号+培训编号;1NF;

数据库范式习题答案

Normalization Questions and Answers Database Systems,CSCI4380-01 Sibel Adal? October28,2002 Question1Suppose you are given a relation R=(A,B,C,D,E)with the following functional dependencies:{CE→D,D→B,C→A}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The only key is{C,E} b.The relation is in1NF c.Decompose into R1=(A,C)and R2=(B,C,D,E).R1is in BCNF,R2is in2NF.Decompose R2 into,R21=(C,D,E)and R22=(B,D).Both relations are in BCNF. Question2Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:{BC→ADE,D→B}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The keys are{B,C}and{C,D} b.The relation is in3NF c.It cannot be put into BCNF,even if I remove D and put into a relation of the form(B,C,D)(I need C for the functional dependency),the resulting relation would not be in BCNF. Question3Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:BD→E,A→C. a.Show that the decomposition into R1=(A,B,C)and R2=(D,E)is lossy.You can show using any method.My suggestion is to show how spurious tuples result from this decomposition with respect to the table below: A B C D E 12345 18344 1

数据库原理复习题1

一、填空 1.目前,数据库系统支持的主要数据模型有__层次__模型、__网状__模型和关系模型。 2.与文件系统相比较,数据库系统的冗余度__小__,数据共享性__高___。3.关系模型的三类完整性是__实体完整性__、__参照完整性__和用户自定义完整性。若基本关系R中含有与另一个基本关系S的主码Ks相对应的属性组F,则对于R中每一个元组在F上的值必须为_空值___或者_S中主码某个值 __。4.由于数据库系统在三级模式之间提供了__外模式/模式_和__模式/内模式__两层映象功能,这就保证了数据库系统具有较高的数据独立性。 5.1NF的关系消除__非主属性对码的部分函数___依赖后,可将范式等级提高到2NF。2NF的关系消除__非主属性对码的传递函数___依赖后,可将范式等级提高到3NF。 6.E-R图的主要元素是实体、属性和_实体之间的联系___。 7.关系代数中专门的关系运算包括:选择、投影、__连接___和__除__。 8.SQL语言中的GRANT语句的功能是__授权__;REVOKE语句的功能是__收回权限__。 9.数据库的逻辑模型设计阶段,任务是将_E-R模型___转换成关系模型。 二、选择 1.关系模型中,同一个表中的不同属性命名( C ) A.可相同 B.必须相同 C.必须不同 D.可相同,但数据类型不同2.逻辑数据独立性是指( B ) A.模式变,用户不变 B.模式变,应用程序不变 C.应用程序变,模式不变 D.子模式变,应用程序不变 3.进行自然联接运算的两个关系必须具有( B ) A.相同属性个数 B.公共属性 C.相同关系名 D.相同关键字4.数据库具有( D ),最小冗余,较高的数据独立性和易于扩充等特点。 A.程序结构化 B.程序标准化 C.数据模块化 D.数据结构化 5. 任何由二个属性组成的关系( D ) A.可能为1NF B.可能为2NF C.可能为3NF D.必为3NF 6.数据库管理系统是位于____之间的一层数据管理软件。( B ) A.硬件与软件 B.用户与操作系统 C.硬件与操作系统 D.数据库与操作系统 7.数据库中,层次模型( A ) A.有且仅有一个结点无双亲,其他结点有且仅有一个双亲 B.有一个以上结点无双亲 C.每个结点都无双亲 D.有一个结点有多于一个双亲 8.一个关系中的候选关键字( B ) A.至多一个 B.可多个 C.必须多个 D.至少3个 9. 在数据库技术中,独立于计算机系统的模型是( A ) A.E-R模型 B.层次模型

数据库习题答案-3

《数据库习题答案》来自五星文库 点这里,有很多篇《数据库习题答案》 在线阅读本文: 数据库习题答案 导读:第三章习题,1.关系数据库设计理论,数据依赖范式和关系模式的规范化设计方法,其中数据依赖起着核心的作用,2.关系数据库中的关系模式至少要满足第一范式,如果每个属性值都是不可再分的最小数据单位,(2)试分析模式R的数据冗余问题,关系R中的C属性会存在在数据冗余,相应地原来存储在一张二维表内的数据就要分散存储到多张二维表中,第四章习题,A删除基本表B修改基本表中的数据,A数据项B 元组,C表D数据库 第三章习题 一、单项选择题 1.在关系模型R中,函数依赖X→Y的语义是(B )A.在R的某一关系中,若两个元组的X值相等,则Y值也相等 B.在R的每一关系中,若两个元组的X值相等,则Y值也相等 C.在R的某一关系中,X值应与Y值相等 D.在R的每一关系中,X值应与Y值相等 2.设学生关系模式为:学生(学号,姓名,年龄,性别,成绩,专业),则该关系模式的主键是( B ) A.性别B.学号 C.学号,姓名D.学号,姓名,性别 3.如果X→Y(Y不包含于X,且Y不能决定X)和Y→Z成立,那么X→Z成立。这条规则称为( B ) A.自反律B.传递律 C.伪传递律D.增广律

4.关系模式R2NF,则R一定是(b ) A.1NF B.3NF C.BCNF D.4NF 5.设一关系模式为:运货路径(顾客姓名,顾客地址,商品名,供应商姓名,供应商地址),则该关系模式的主键是( C )A.顾客姓名,供应商姓名,供应商地址B.顾客姓名,商品名 C.顾客姓名,供应商姓名,商品名D.顾客姓名,顾客地址 6.下列有关范式的叙述中正确的是(B ) A.如果关系模式R1NF,且R中主属性完全函数依赖于主键,则R是2NF B.如果关系模式R3NF,则R2NF一定成立 C.如果关系模式R1NF,则只要消除了R中非主属性对主键的传递依赖,则R可转换成2NF D.如果关系模式R1NF,则只要消除了R中非主属性对主键的部分依赖,则R可转换成3NF 7.关系模式学生(学号,课程号,名次),若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是( B ) A.(学号,课程号)和(课程号,名次)都可以作为候选键B.只有(学号,课程号)能作为候选键 C.该关系模式属于第三范式 D.该关系模式属于BCNF 8.已知关系模式R(ABCD),F={A→C,B→C,C→D },则以下成立的是( B ) A.A→B B.A→D C.AD→BC D.AC→BD 9.如果X→Y且ZU成立,那么XZ→YZ成立,这条规则称为(D )A.自反律B.传递律` C.伪传递律D.增广律

数据库范式理解例题

范式分解 主属性:包含在任一候选关键字中的属性称主属性。 非主属性:不包含在主码中的属性称为非主属性。 函数依赖: 是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。 如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant)。例:身份证号→姓名。部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 完全函数依赖: 在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y不函数依赖于X',则称Y对X完全函数依赖。否则称Y对X部分函数依赖。

【例】; 举个例子就明白了。假设一个学生有几个属性 SNO 学号 SNAME 姓名 SDEPT系 SAGE 年龄 CNO 班级号 G 成绩 对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO, CNO), 因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。 而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。 传递函数依赖: 设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。 如果X->Y, Y->Z, 则称Z对X传递函数依赖。 计算X+ (属性的闭包)算法: a.初始化,令X+ = X; b.在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令X+ = X+∪“右边属性集”, 并为访问过的函数依赖设置标记。

数据库范式练习题

数据库范式练习题

1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信息一览表 如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(12分) 配件关系:(配件编号,配件名称,型号规格)

供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。 例2答案: 学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期)

数据库设计范式

数据库设计三大范式 引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 例如,如下的数据库表是符合第一范式的: 而这样的数据库表是不符合第一范式的: 很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。 假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) →(姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称) →(学分) (学号) →(姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。

由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余: 同一门课程由n个学生选修,"学分"就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。 (2) 更新异常: 若调整了某门课程的学分,数据表中所有行的"学分"值都要更新,否则会出现同一门课程学分不同的情况。 (3) 插入异常: 假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有"学号"关键字,课程名称和学分也无法记录入数据库。 (4) 删除异常: 假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。 把选课关系表SelectCourse改为如下三个表: 学生:Student(学号, 姓名, 年龄); 课程:Course(课程名称, 学分); 选课关系:SelectCourse(学号, 课程名称, 成绩)。 这样的数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。 另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B →C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段→非关键字段x →非关键字段y 假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系:

数据库范式练习题

1、请简述满足1NF、2NF和3NF的基本条件。并 完成下题:某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的

关系。(12分) 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),

每项培训有多个学员报名,每位学员可参加多项培训。 例2答案: 学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期) 5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。 (部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期) [注]职务指某员工在某项目中的职务。 部门(部门编号,部门名称,所在城市) 员工(员工编号,员工姓名,部门编号) 项目(项目编号,项目名称,预算) 工作(员工编号,项目编号,职务,加入项目的日期)

数据库系统原理试题(二)

《数据库原理及应用》复习题及参考答案 一、判断题 1.采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接,不能绝对保持依赖。(×) 2.原则上,两个不同的对象所具有的属性值不能相同,但在给定关系中的元组可以是完全相同的。 (×) 3 5 6 7 8. 9 1 A. 2 A. 4. 6 A. 7 A.顺序不能任意排列,一定要按照输入的顺序排列 B.顺序可以任意排列 C.顺序一定要按照关键字段值的顺序排列 D.排列顺序不同,统计处理的结果就可能不同。 8.SQL中创建基本表应使用(C)语句。 A.CREATEVIEW B.CREATEDATABASE C.CREATETABLE D.CREATEFORM

9.与WHERE年龄BETWEEN32AND45语句等价的子句是(D)。 A.WHERE年龄>32AND年龄<45 B.WHERE年龄>=32AND年龄<45 C.WHERE年龄>32AND年龄<=45 D.WHERE年龄>=32AND年龄<=45 10.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,职员与部门的联系类型是(C)。 A.m:n B.1:n C.n:1 D.1:1 11.在数据库的三级模式结构中,内模式有(A)。 A.1个B.2个C.三个D.任意多个 12 A C 13 A 14 A. 15 A.R SC.R-SD.S-R 16 17 A. 18.(B)A. 1 2.DBS由(硬件系统)、(数据库集合)、(数据库管理系统及相关软件)、(数据库管理)、(用户)五部分组成.,其中(数据库管理系统)是数据库系统的核心组成部分。 3.SQL语言的功能包括(数据查询)、(数据定义)、(数据操纵)、(数据控制)。 4.数据库管理员利用(Grant)语句将对某类数据的操作权限赋于用户;用(revoke)语句收回用户对某类数据的操作权限。 7.一个关系进行分解时必须考虑两个问题是(无损联接性)、保持函数依赖)。 8.数据操作描述的是系统的动态特性,主要分为(更新)和(检索)两大类,共包括(插入(增加))、(删除)、(修改)和(查询)4种操作。

数据库范式理解例题

范式分解 主属性: 包含在任一候选关键字中得属性称主属性。 非主属性: 不包含在主码中得属性称为非主属性。 函数依赖: 就是指关系中一个或一组属性得值可以决定其它属性得值。函数依赖正象一个函数y =f(x) 一样,x得值给定后,y 得值也就唯一地确定了。 如果属性集合Y中每个属性得值构成得集合唯一地决定了属性集合X中每个属性得值构成得集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。属性集合Y中得属性有时也称作函数依赖Y→X得决定因素(determinant).例:身份证号→姓名。 部分函数依赖: 设X,Y就是关系R得两个属性集合,存在X→Y,若X’就是X得真子集,存在X’→Y,则称Y部分函数依赖于X。 完全函数依赖: 在R(U)中,如果Y函数依赖于X,并且对于X得任何一个真子集X’,都有Y不函数依赖于X', 则称Y对X完全函数依赖。否则称Y对X部分函数依赖。 【例】;

举个例子就明白了。假设一个学生有几个属性 SNO 学号SNAME 姓名SDEPT系 SAGE 年龄CNO班级号G 成绩 对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO,CNO),因为(SNO,CNO)可以决定G,而SNO与CNO都不能单独决定G。 而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独得SNO也可以决定SAGE。 传递函数依赖: 设R(U)就是属性集U上得关系,x、y、z就是U得子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。 如果X—>Y, Y—〉Z, 则称Z对X传递函数依赖。 计算X+(属性得闭包) 算法: a、初始化,令X+ = X; b、在F中依次查找每个没有被标记得函数依赖,若“左边属性集”包含于X+,则令 X+ = X+∪“右边属性集",并为访问过得函数依赖设置标记。 c、反复执行b直到X+不改变为止。 检验给定得任意函数依赖A1A2、、、An->B就是否蕴含于依赖集S: 分析:

第5章-关系数据库的模式设计习题解答

; 第5章关系数据库的模式设计 习题解答 一. 简答题 1.理解并给出下列术语的定义: 函数依赖,部分函数依赖,完全函数依赖,传递函数依赖,键码、主键码、,外键码,全码,1NF,2NF,3NF,BCNF,多值依赖,4NF。 此处从略,详见书上。 2.各举一个属于1NF,2NF,3NF,BCNF和4NF的例子,并加以说明。 - 此处从略,详见书上。 二.问答题 1. 设有关系模式 R(A,B,C,D,E),F={AB→C,B→D,D→E,C→B},要求: (l)通过闭包的计算来求出 R的所有键码,并说明该模式是哪一类范式 单属性:A+=A,B+=BDE,C+=BCDE,D+=DE,E+=E 双属性:AB+=ABCDE,AC+=ABCDE,AD+=ADE,AE+=AE,BC+=BCDE, BD+=BDE,BE+=BDE,CD+=BCDE,CE+=BCDE,DE+=DE ] 三属性:ABC+=ABCDE,BCD+=BCDE,CDE+=BCDE,ADE+=ADE,ABE+=ABCDE, ABD+=ABCDE,BCE+=BCDE,ACD+=ABCDE,BDE+=BDE,ACE+=ABCDE 四属性:ABCD+=ABCDE,BCDE+=BCDE,ACDE+=ABCDE,ABDE+=ABCDE,ABCE+=ABCDE 五属性:ABCDE+=ABCDE R的所有键码是:AB,AC。 注:R的所有超键码是:ABC、ABE、ABD、ACD、ACE、ABCD、ACDE、ABDE、ABCE、ABCDE。 若选AB为主键码,由于D是部分函数依赖于AB,故R1NF。 \ (2)R分解为R1(A,B,C)和R2(B,D,E),请问该分解是否保持函数依赖 R1的键码为AB和AC,F1={AB→C,C→B};R2的键码为B,F2={B→D,D→E}。因为F=F1∪F2,所以该分解保持函数依赖。 (3)指出R1和R2的范式等级,并给出证明。 因为R1没有非主属性,所以也不可能存在非主属性对键码的部分函数依赖和传递函数依赖,即:R13NF。又由于F1中有违例C→B,故R1BCNF。 因为D和E完全函数依赖于B,故R22NF。又由于E传递函数依赖于B,故R23NF。

数据库范式练习题

1、请简述满足1NF、2NF和3NF的基本条件。并完 成下题:某信息一览表如下,其是否满足3NF,若不满足请将其化为符合 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。 例 1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量) 例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码)

零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。 例2答案: 学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期) 5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。 (部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期) [注]职务指某员工在某项目中的职务。 部门(部门编号,部门名称,所在城市) 员工(员工编号,员工姓名,部门编号) 项目(项目编号,项目名称,预算) 工作(员工编号,项目编号,职务,加入项目的日期)

数据库范式(1NF2NF3NFBCNF)详解

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、 结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不 能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一 对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式 就是无重复的列。 说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一 范式(1NF)的数据库就不是关系数据库。 例如,如下的数据库表是符合第一范式的: 字段1 字段2 字段3 字段4 而这样的数据库表是不符合第一范式的: 字段1 字段2 字段3 字段4 字段字段 数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、 实数、字符型、逻辑型、日期型等。很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一 列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不 可能的。 第二范式(2NF)属性完全依赖于主键[ 消除部分子函数依赖] 如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被 惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。 例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的, 因此每个员工可以被惟一区分。

数据库范式与关系模式示例

第七章补充讲义 一、范式举例 BCNF.如:课程号与学号) 例4:R(X,Y,Z),F={XY->Z},R为几范式? BCNF。 例5:R(X,Y,Z),F={Y->Z,XZ->Y},R为几范式? 3NF。R的候选码为{XZ,XY},(R中所有属性都是主属性,无传递依赖)

二、求闭包 数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规范的(直观问题好办,复杂问题难办了),所以,这对分析数据模型,达到规范化设计要求,还有差距,为此,从规范数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规范化程度。 例1.已知关系模式R(U、F),其中,U={A,B,C,D,E}; F={AB→ C, B→ D, EC → B , AC→B} ,求(AB)+F. 解:设X(0)=AB ○1计算X(1),在F中找出左边为AB子集的FD,其结果是:AB→C,B→D ∴X(1)=X(0)UB=ABUCD=ABCD 显然,X(1)≠X(0) ○2计算X(2),在F中找出左边为ABCD子集的FD,其结果是:C→E,AC→B ∴X(2)=X(1)UB=ABCDUBE=ABCDE 显然,X(2)=U 所以,(AB)+ F=ABCDE.(等于U,所以AB是唯一候选关键字) 例2.设有关系模式R(U、F),其中U={A,B,C,D,E,I};F={A→D,AB→E,B→E,CD→I,E→C},计算(AE)+ 解:令X={AE},X(0)=AE ○1在F中找出左边是AE子集的FD,其结果是:A→D,E→C ∴X(1)=X(0)UB=X(0)UDC=ACDE 显然,X(1)≠X(0) ○2在F中找出左边是ACDE子集的FD,其结果是:CD→I ∴X(2)=X(1)UI=ACDEI 显然,X(2)≠X(1),但F中未用过的函数依赖的左边属性已含有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI. 因为,X(3)=X(2),所以,算法结束。

数据库三个范式的理解

目前关系数据库有六种范式:第一范式()、第二范式()、第三范式()、巴德斯科范式()、第四范式()和第五范式(,又称完美范式) 满足第二范式一定满足第一范式,满足第三范式一定满足第二范式,依次类推... 关系型数据库地最低要求是满足第一范式.一般来讲,数据库满足到第三范式就行了. 第一范式()无重复地列 数据库表地每一列都是不可分割地原子数据项,而不能是集合,数组,记录等非原子数据项.如果实体中地某个属性有多个值时,必须拆分为不同地属性文档收集自网络,仅用于个人学习 在任何一个关系数据库中,第一范式()是对关系模式地设计基本要求,一般设计中都必须满足第一范式().不过有些关系模型中突破了地限制,这种称为非地关系模型.换句话说,是否必须满足地最低要求,主要依赖于所使用地关系模型.文档收集自网络,仅用于个人学习 第二范式()属性完全依赖于主键 第二范式()是在第一范式()地基础上建立起来地,即满足第二范式()必须先满足第一范式().文档收集自网络,仅用于个人学习 当存在多个主键地时候,才会发生不符合第二范式地情况.比如现在有两个主键,不能存在这样地属性,它只依赖于其中一个主键,这就是不符合第二范式.文档收集自网络,仅用于个人学习 如果存在不符合第二范式地情况,那么这个属性和主关键字地这一部分应该分离出来形成一个新地实体,新实体与原实体之间是一对多地关系.文档收集自网络,仅用于个人学习 第三范式()属性不能传递依赖于主属性(属性不依赖于其它非主键属性) 第二范式()是在第一范式()地基础上建立起来地,即满足第二范式()必须先满足第一范式().文档收集自网络,仅用于个人学习 如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性.文档收集自网络,仅用于个人学习 下面以一个学校地学生系统为例分析说明这几个范式地应用.首先我们确定一下要设计地内容包括那些.学号、姓名、年龄、性别、电话、系别、系办地址、系办电话、课程、学分、成绩,等信息.文档收集自网络,仅用于个人学习 第一范式举例 在当前地任何关系数据库管理系统()中,傻瓜也不可能做出不符合第一范式地数据库,因为这些不允许你把数据库表地一列再分成二列或多列.因此,你想在现有地中设计出不符合第一范式地数据库都是不可能地.文档收集自网络,仅用于个人学习 虽然第一范式一定是满足地,但是为了加强理解,还是举例说明一下 如果在某个学生地“电话”属性中填入了“ ”,那么就违反了第一范式.学生电话属性违反了原子性,它还可以再分,分成手机和座机两个属性.文档收集自网络,仅用于个人学习 第二范式举例 我们把(学号、姓名、年龄、性别、电话、系别、系办地址、系办电话、课程、学分、成绩)这些信息放到一个表中,其中“学生学号”和“课程”两个属性是主键.文档收集自网络,仅用于个人学习 这样不符合第二范式.出现了属性依赖于部分主键地情况(比如”姓名“只依赖于”学号“,和“课程”属性无关)文档收集自网络,仅用于个人学习 那么违反了第二范式有什么问题呢?下面来分析一下: 数据冗余:同一门课程由个学生选修,"学分"就重复次;同一个学生选修了门课程,“姓名”和“年龄”就重复了次.文档收集自网络,仅用于个人学习

数据库原理--范式习题

1.(8分)假设某公司销售业务中使用的订单格式如下: 订单号:1145订货日期:09/15/2002 客户编号:1001客户名称:ABC 客户电话:8141763 产品编号品名价格数量金额 A 电源100.00 20 2000.00 B 电表200.00 40 8000.00 C 卡尺40.00 50 2000.00 总金额:12000.00 公司的业务规定: (1)订单号是唯一的,每张订单对应一个订单号; (2)一张订单可以订购多种产品,每一种产品可以在多个订单中出现; (3)一张订单有一个客户,且一个客户可以有多张订单; (4)每一个产品编号对应一种产品的品名和价格; (5) 每一个客户有惟一的客户编号。 试根据上述表格和业务规则设计关系模式: R(订单号,订货日期,客户编号,客户名称,客户电话,产品编号,品名,价格,数量) (1)指出该关系模式中的基本函数依赖 (2)指出该关系模式的范式级别(要求按照各范式定义简要分析) (3)按3NF的定义将其分解为3NF,要求无损联结并保持函数依赖 2.假设某企业集团数据库中有一关系模式R如下: R(商店编号,商品编号,商品库存数量,部门编号,负责人) 如果规定: (1)每个商店的每种商品只在该商店的一个部门销售;(2)每个商店的每个部门只有一个负责人; (3)每个商店的每种商品只有一个库存数量。 试分析: (4)根据上述规定,写出关系模式R的基本函数依赖;(5)指出该关系模式R的候选码 (6)指出该关系模式R的范式级别,为什么? 若R不是3NF,将R分解为3NF。

3.建立一个描述学生情况的数据库: 一个系有若干学生,但一个学生只属于一个系;一个系只有一名负责人;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生学习每一门课程有一个成绩; 学生(用学号SNO描述);系(用系名SDEPT描述);系负责人(用其姓名MN描述); 课程(用课程名CNAME描述);成绩(G); 假定建立了如下关系模式S(SNO, SEDPT, MN, CNAME, G) 试分析: (1)指出该关系模式中的函数依赖 (2)指出该关系模式的范式级别(要求按照各范式定义简要分析) 按3NF的定义将其分解为3NF,要求无损联结并保持函数依赖(要求解题过程)

数据库三大范式的理解

数据库三大范式的理解 一:引言 作为一个数据库的学习者,搞懂关系数据库的三大范式是很有用的。然而教科书上有关数据库范式的介绍都是采用学术性的定义,语法羞涩,让人难懂,故写下自己对数据库范式的理解,给初学者提供帮助,也备日后查看。 本文不介绍规范化程度高于3NF的范式,因为其在实际应用中基本不会用到,原因也是很明显的(查询代价变大),因此,对于很多大型复杂的系统,其数据库设计都没有遵循所谓的范式,这也是为什么会出现所谓的逆规范化,好了,进入正题吧。 二:范式介绍 a:第零范式 第零范式就是指没有使用任何范式的设计,其添加数据的行为非常诡异,看看下表便知: 假设一个学生学习了三门课程,每门课程都有成绩,那么,采用第零范式的设计将会是如下情况 表a_0 这样的话,会使得往表中添加数据变得非常麻烦,每次添加一个新的数据,都要添加相应的字段,而且,因为

表中其他的记录可能不需要这么多字段,因此会浪费 很多空间。如表a_1所示。 表a_1 由此可以看出,不对数据库任用任何范式是非常 愚蠢的,因为不仅会产生大量无用的表字段,而且会使得表结构非常难以维护。由此,引出第一范式的介绍 b: 第一范式 第一范式就是在第零范式的基础上进行的改进, 网上有很多人认为,所谓第一范式就是指表中的所有字段都是原子的、不可再分的,我个人认为此种理解也是正确的,原因不解释,我对第一范式的理解是,将 第零范式中重复的字段抽取出来,作为表的数据, 从而形成一个稳定的、冗余数据少得表结构。 由此,可以得出符合第一范式的表结构应该是: 此时,表的结构变得稳定了,而且表中的冗余信息相对第零范式也少了很多。可是,第一范式只是关系数据库设计的最低满足的范式,第一范式中仍然有很多的冗余信息,由此,需要引入第二范式。

数据库系统原理试题二

数据库原理及应用》复习题及参考答案 一、判断题 1.采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接,不能绝 对保 持依赖。(X ) 2.原则上,两个不同的对象所具有的属性值不能相同,但在给定关系中的元组可以是完 全相同的。( X ) 3 ?概念设计可以独立于数据库管理系统。( V ) 5. 在视图中插入一个元组,该元组会同时插入到基本表中。 ( V ) 6. 对象查询语言中,可以用运算符ELEMEN 从多个元素的聚集中提取单个元素。( 7. 对于表只能有惟一的主键码,但可有任意数量的 UNIQUE 属性或属性集。( V 8. 如果一个关系没有一个属性能由所有其他属性函数决定,则该关系根本不存在非平凡 函数依赖。( V ) 9. 超类可以自动继承子类的所有特性。 ( X ) 4. SQL >( C )的缩写. 6. 在数据库设计中 ,当合并局部 E---R 图时, 职工在某一局部应用中被除数当作实体 另一局部应用中被除数当作属性 , 那么被称之为( A )冲突 A. 结构 B. 命名 C. 联系 D. 属性 7. 在关系中的各元组的( B )。 A. 顺序不能任意排列,一定要按照输入的顺序排列 B. 顺序可以任意排列 C. 顺序一定要按照关键字段值的顺序排列 D .排列顺序不同 , 统计处理的结果就可能不同。 8. SQL 中创建基本表应使用( C )语句。 X) ) 选择题 1. 实体联系模型属于( D )。 A. 层次模型 B. 网状模型 C. 关系模型 D 概念模型 2. 在一个关系中,任意两个元组的值( C ) A. 可以全同 B. 必须全同 C. 不能全同 D. 以上都不是 A. Standard Query Language C. Structured Query Language B. Select Query Language D. 以上都不是 , 而在

相关文档