数据库第四章练习题答案
数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。
A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。
A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。
A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。
A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。
A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。
A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。
(错)2、一个关系模式属于BC范式,它一定属于第三范式。
(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。
(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。
(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。
正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。
数据库系统原理教程课后习题及答案(第四章)

第4章数据库安全性1 .什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2 .数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,3 .试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。
目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《DoD 可信计算机系统评估标准》(伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。
(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Tmsted Database Interpretation 简称TDI , 又称紫皮书)。
在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。
每个方面又细分为若干项。
4 .试述T csEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。
答:根据计算机系统对安全性各项指标的支持情况,TCSEC ( TDI )将系统划分为四组(division ) 7 个等级,依次是D 、C ( CI , CZ )、B ( BI , BZ , B3 )、A ( AI ) ,按系统可靠或可信程度逐渐增高。
这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
《MySQL数据库原理、设计与应用》第4章课后习题答案

第四章一、填空题1.椭圆框2.属性3.关系4.物理设计5.一个或多个二、判断题1.错2.对3.错4.对5.错三、选择题1. B2. B3. C4.B、C、D5.B、C四、简答题1.请简述数据库设计规范化的必要性。
答:数据库设计对数据的存储性能、数据的操作都有很大的关系。
为了避免不规范的数据库出现数据冗余,造成插入、删除、更新操作异常等情况,就要进行数据库设计规范化。
2.请分析数据库范式1NF、2NF、3NF的区别。
答:(1)1NF:数据库表的每一列都是不可分割的基本数据项。
(2)2NF:在满足1NF基础上,遵从唯一性,非主键字段需完全依赖主键(3)3NF:在满足2NF基础上,非主键字段不能相互依赖。
五、实训题1.请完成电子商务网站用户等级的数据表设计。
CREATE TABLE sh_user_level (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '等级id',name VARCHAR(20) NOT NULL DEFAULT '' COMMENT '等级名称',config VARCHAR(255) NOT NULL DEFAULT '' COMMENT '满足条件') DEFAULT CHARSET=utf8;12.请完成电子商务网站用户订阅、用户收藏的数据表设计。
# 订阅CREATE TABLE sh_user_subscribe (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '订阅id',email VARCHAR(60) COMMENT '邮箱地址',status INT COMMENT '是否确认,0未确认,1已确认',code VARCHAR(10) COMMENT '邮箱确认的验证码',add_time INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '开始订阅时间') DEFAULT CHARSET=utf8;# 收藏CREATE TABLE sh_user_favorite (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '收藏id',user_id INT UNSIGNED NOT NULL COMMENT '用户id',goods_id INT UNSIGNED NOT NULL COMMENT '商品id',add_time INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '收藏时间') DEFAULT CHARSET=utf8;2。
数据库系统基础教程第四章答案

SolutionsChapter 4 4。
1。
14。
1.2a)b)c)In c we assume that a phone and address can only belong to a single customer (1—m relationship represented by arrow into customer)。
d)In d we assume that an address can only belong to one customer and a phone can exist at only one address.If the multiplicity of above relationships were m—to—n, the entity set becomes weak and the key ssNo of customers will be needed as part of the composite key of the entity set。
In c&d, we convert attributes phones and addresses to entity sets. Sinceentity sets often become relations in relational design,we must consider more efficient alternatives.Instead of querying multiple tables where key values are duplicated, we can also modify attributes:(i) Phones attribute can be converted into HomePhone, OfficePhone and CellPhone。
(ii) A multivalued attribute such as alias can be kept as an attribute where a single column can be used in relational design i。
数据库 练习题(答案)

第四章练习题一、选择题1、设有两个关系R(A,B)与S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式就是 [ C]A.πA,B(σC≠'C56'(R⋈S))B.πA,B(R ⋈ S)C≠'C56'C.R-πA,B(σC= 'C56'(R⋈S))D.R-πA,B(σC≠'C56'(R⋈S))2、嵌入式SQL的预处理方式,就是指[ B]A.识别出SQL语句,加上前缀标识与结束标志B.把嵌入的SQL语句处理成函数调用形式C.对源程序进行格式化处理D.把嵌入的SQL语句编译成目标程序3、SQL中,“DELETE FROM 表名”表示 [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)用于[ C]A.计算元组个数B.计算属性的个数C.对一列中的非空值计算个数D.对一列中的非空值与空值计算个数5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际上为 [B]A.数组B.列表C.包D.集合6、在数据库中,能提高查询速度的就是(C )A、数据依赖B、视图C、索引D、数据压缩7、语句 delete from sc 表明( A )A、删除sc中的全部记录B、删除基本表scC、删除基本表sc中的列数据D、删除基本表sc中的部分行8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。
A、指针B、游标C、数组D、栈9、在下列基本表的定义中,数值5表示( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A、表中有5条记录B、表中有5列C、表中字符串Sno 的长度D、表格的大小10、在视图上不能完成的操作就是( C )A、更新视图B、查询C、在视图上定义新的基本表D、在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的就是 (C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where子句中,对空值的操作,不正确的就是 ( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。
数据库原理关系运算习题答案

数据库原理关系运算习题答案数据库系统原理第四章关系运算课后习题答案4.1 名词解释(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。
(2)关系模式:关系模式实际上就是记录类型。
它的定义包括:模式名,属性名,值域名以及模式的主键。
关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。
(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。
(4)属性:实体的一个特征。
在关系模型中,字段称为属性。
(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。
(6)元组:在关系中,记录称为元组。
元组对应表中的一行;表示一个实体。
(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。
(8)候选键:不含有多余属性的超键称为候选键。
(9)主键:用户选作元组标识的一个候选键为主键。
(单独出现,要先解释“候选键”)(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC 的外键。
(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。
如果出现空值,那么主键值就起不了唯一标识元组的作用。
(12)参照完整性规则:这条规则要求“不引用不存在的实体”。
其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。
这条规则在使用时有三点应注意:1)外键和相应的主键可以不同名,只要定义在相同值域上即可。
2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。
3)外键值是否允许空应视具体问题而定。
(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。
如Pascal和C语言等。
(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。
数据库原理及应用第4章课后习题答案

习题61、说明数据库设计的特点。
1)三分技术,七分管理,十二分基础数据2)综合性3)结构(数据)设计和行为(处理)设计相结合2、试述数据库设计的过程3、试述数据库设计过程的各个阶段设计内容。
1)需求分析阶段需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
2)概念结构设计阶段概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于DBMS和有关软、硬件的概念数据模型的设计过程。
3)逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化的设计过程。
4)物理设计阶段数据库物理设计阶段,是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某种计算机系统所支持的数据库物理结构的实现过程。
5)数据库实施阶段数据库实施阶段,即数据库调试、试运行阶段。
一旦数据库的物理结构形成,就可以用已选定的DBMS来定义、描述相应的数据库结构,装入数据库数据库,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析。
6)数据库运行和维护阶段数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
4、需求分析中发现事实的方法有哪些?1)跟班作业。
通过亲身参加业务工作来观察和了解业务活动的情况。
2)开调查会。
通过与用户座谈来了解业务活动的情况及用户需求。
3)检查文档。
通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并有利于提供与原系统问题相关的业务信息。
4)问卷调查。
5、需求分析阶段的设计目标是什么?调查的内容是什么?需求分析阶段的目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,确定企业的组织目标,明确用户的各种需求,进而确定新系统的功能,并把这些要求写成用户和数据库设计者都能够接受的文档。
(完整版)数据库练习题(答案)..

(完整版)数据库练习题(答案)..第四章练习题⼀、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B(σC≠'C56'(R?S))2、嵌⼊式SQL的预处理⽅式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌⼊的SQL语句处理成函数调⽤形式C.对源程序进⾏格式化处理D.把嵌⼊的SQL语句编译成⽬标程序3、SQL中,“DELETE FROM 表名”表⽰ [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)⽤于[ C]A.计算元组个数B.计算属性的个数C.对⼀列中的⾮空值计算个数D.对⼀列中的⾮空值和空值计算个数5、在传统SQL技术中,使⽤“ORDER BY”⼦句的SELECT语句查询的结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提⾼查询速度的是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏8、在DB应⽤中,⼀般⼀条SQL 语句可产⽣或处理⼀组记录,⽽DB主语⾔语句⼀般⼀次只能处理⼀条记录,其协调可通过(B )实现。
A. 指针B. 游标C. 数组D. 栈9、在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩10、在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where⼦句中,对空值的操作,不正确的是( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。
mysql数据库武洪萍版第四章习题与答案

mysql数据库武洪萍版第四章习题与答案一.选择题1.下面哪种数字数据类型不可以存储数据256?(D)A.bigintB.intC.SmallintD.tinyint2.下面是有关主键和外键之间的关系描述,正确的是(AC)A.一个表最多只能有一个主键约束,多个外键约束。
B.一个表中最多只有一个外键约束,一个主键约束。
C.在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束。
D.在定义主键外键约束时,应该首先定义主键约束,然后定义主键约束。
3.下面关于数据库中表的行和列的叙述正确的是(D)A.表中的行是有序的,列是无序的B.表中的列是有序的,行是无序的C.表中的行和列都是有序的D.表中的行和列都是无序的4.SQL语言的数据操作语句包括SELECT、INSERT、UPDATE、DELETE 等。
其中最重要的,也是使用最频繁的语句是(A)A.SELECTB.INSERTC.UPDATED.DELETE5.在下列SQL语句中,修改表结构的语句是(A)。
A.ALTERB.CREATEC.UPDATED.INSERT6.设有关系R(A,B,C)和S(C,D),与关系代数表达式πA,B,D(σR.C=S.C(R∞S)等价的SQL语句是(B)。
A.SELECT某FROMR,SWHERER.C=S.CB.SELECTA,B,DFROMR,SWHERER.C=.SELECTA,B,D FROMR,SWHERER=SD.SELECTA,BFROMRWHERE(SELECTDFROMSWHERER.C=S.C)7.设关系R(A,B,C)与SQL语句“SELECTDISTINSTAFROMRWHEREB=17”等价的关系代数表达式是(A)A.πA(σB=17(R))B.σB=17(πA(R))C.σB=17(πA.C(R))D.πA.C(σB=17(R))下面第(8)-(12)题,基于“学生-选课-课程”数据库中的3个关系。
数据库第六版第四章答案

Intermediate SQLPractice Exercises4.1Write the following queries in SQL:a.Display a list of all instructors,showing their ID,name,and the num-ber of sections that they have taught.Make sure to show the numberof sections as0for instructors who have not taught any section.Yourquery should use an outerjoin,and should not use scalar subqueries.b.Write the same query as above,but using a scalar subquery,withoutouterjoin.c.Display the list of all course sections offered in Spring2010,alongwith the names of the instructors teaching the section.If a section hasmore than one instructor,it should appear as many times in the resultas it has instructors.If it does not have any instructor,it should stillappear in the result with the instructor name set to“—”.d.Display the list of all departments,with the total number of instructorsin each department,without using scalar subqueries.Make sure tocorrectly handle departments with no instructors.Answer:a.Display a list of all instructors,showing their ID,name,and the num-ber of sections that they have taught.Make sure to show the numberof sections as0for instructors who have not taught any section.Yourquery should use an outerjoin,and should not use scalar subqueries.select ID,name,count(course id,section id,year,semester)as’Number of sections’from instructor natural left outer join teachesgroup by ID,nameThe above query should not be written using count(*)since count*counts null values also.It could be written using count(section id),or1920Chapter4Intermediate SQLany other attribute from teaches which does not occur in instructor,which would be correct although it may be confusing to the reader.(Attributes that occur in instructor would not be null even if the in-structor has not taught any section.)b.Write the same query as above,but using a scalar subquery,withoutouterjoin.select ID,name,(select count(*)as’Number of sections’from teaches T where T.id=I.id)from instructor Ic.Display the list of all course sections offered in Spring2010,alongwith the names of the instructors teaching the section.If a section hasmore than one instructor,it should appear as many times in the resultas it has instructors.If it does not have any instructor,it should stillappear in the result with the instructor name set to“−”.select course id,section id,ID,decode(name,NULL,’−’,name)from(section natural left outer join teaches)natural left outer join instructorwhere semester=’Spring’and year=2010The query may also be written using the coalesce operator,by re-placing decode(..)by coalesce(name,’−’).A more complex versionof the query can be written using union of join result with anotherquery that uses a subquery tofind courses that do not match;refer toexercise4.2.d.Display the list of all departments,with the total number of instructorsin each department,without using scalar subqueries.Make sure tocorrectly handle departments with no instructors.select dept name,count(ID)from department natural left outer join instructorgroup by dept name4.2Outer join expressions can be computed in SQL without using the SQLouter join operation.To illustrate this fact,show how to rewrite each of thefollowing SQL queries without using the outer join expression.a.select*from student natural left outer join takesb.select*from student natural full outer join takesAnswer:a.select*from student natural left outer join takescan be rewritten as:Exercises21 select*from student natural join takesunionselect ID,name,dept name,tot cred,NULL,NULL,NULL,NULL,NULLfrom student S1where not exists(select ID from takes T1where T1.id=S1.id)b.select*from student natural full outer join takescan be rewritten as:(select*from student natural join takes)union(select ID,name,dept name,tot cred,NULL,NULL,NULL,NULL,NULLfrom student S1where not exists(select ID from takes T1where T1.id=S1.id))union(select ID,NULL,NULL,NULL,course id,section id,semester,year,gradefrom takes T1where not exists(select ID from student S1where T1.id=S1.id))4.3Suppose we have three relations r(A,B),s(B,C),and t(B,D),with allattributes declared as not null.Consider the expressions•r natural left outer join(s natural left outer join t),and•(r natural left outer join s)natural left outer join ta.Give instances of relations r,s and t such that in the result of thesecond expression,attribute C has a null value but attribute D has anon-null value.b.Is the above pattern,with C null and D not null possible in the resultof thefirst expression?Explain why or why not.Answer:a.Consider r=(a,b),s=(b1,c1),t=(b,d).The second expression wouldgive(a,b,NULL,d).b.It is not possible for D to be not null while C is null in the result of thefirst expression,since in the subexpression s natural left outer join t,it is not possible for C to be null while D is not null.In the overallexpression C can be null if and only if some r tuple does not have amatching B value in s.However in this case D will also be null.4.4Testing SQL queries:To test if a query specified in English has been cor-rectly written in SQL,the SQL query is typically executed on multiple test22Chapter4Intermediate SQLdatabases,and a human checks if the SQL query result on each test databasematches the intention of the specification in English.a.In Section Section3.3.3The Natural Joinsubsection.3.3.3we saw an ex-ample of an erroneous SQL query which was intended tofind whichcourses had been taught by each instructor;the query computed thenatural join of instructor,teaches,and course,and as a result uninten-tionally equated the dept name attribute of instructor and course.Givean example of a dataset that would help catch this particular error.b.When creating test databases,it is important to create tuples in refer-enced relations that do not have any matching tuple in the referencingrelation,for each foreign key.Explain why,using an example queryon the university database.c.When creating test databases,it is important to create tuples with nullvalues for foreign key attributes,provided the attribute is nullable(SQL allows foreign key attributes to take on null values,as long asthey are not part of the primary key,and have not been declared asnot null).Explain why,using an example query on the universitydatabase.Hint:use the queries from Exercise Exercise4.1Item.138.Answer:a.Consider the case where a professor in Physics department teaches anElec.Eng.course.Even though there is a valid corresponding entryin teaches,it is lost in the natural join of instructor,teaches and course,since the instructors department name does not match the departmentname of the course.A dataset corresponding to the same is:instructor={(12345,’Guass’,’Physics’,10000)}teaches={(12345,’EE321’,1,’Spring’,2009)}course={(’EE321’,’Magnetism’,’Elec.Eng.’,6)}b.The query in question0.a is a good example for this.Instructors whohave not taught a single course,should have number of sections as0in the query result.(Many other similar examples are possible.)c.Consider the queryselect*from teaches natural join instructor;In the above query,we would lose some sections if teaches.ID is al-lowed to be NULL and such tuples exist.If,just because teaches.ID isa foreign key to instructor,we did not create such a tuple,the error inthe above query would not be detected.4.5Show how to define the view student grades(ID,GP A)giving the grade-point average of each student,based on the query in Exercise??;recallthat we used a relation grade points(grade,points)to get the numeric pointsExercises23 associated with a letter grade.Make sure your view definition correctly handles the case of null values for the grade attribute of the takes relation.Answer:We should not add credits for courses with a null grade;further to to correctly handle the case where a student has not completed any course, we should make sure we don’t divide by zero,and should instead return a null value.We break the query into a subquery thatfinds sum of credits and sum of credit-grade-points,taking null grades into account The outer query divides the above to get the average,taking care of divide by0.create view student grades(ID,GP A)asselect ID,credit points/decode(credit sum,0,NULL,credit sum)from((select ID,sum(decode(grade,NULL,0,credits))as credit sum,sum(decode(grade,NULL,0,credits*points))as credit pointsfrom(takes natural join course)natural left outer join grade pointsgroup by ID)unionselect ID,NULLfrom studentwhere ID not in(select ID from takes))The view defined above takes care of NULL grades by considering the creditpoints to be0,and not adding the corresponding credits in credit sum.The query above ensures that if the student has not taken any course with non-NULL credits,and has credit sum=0gets a gpa of NULL.This avoid the division by0,which would otherwise have resulted.An alternative way of writing the above query would be to use student natural left outer join gpa,in order to consider students who have not taken any course.4.6Complete the SQL DDL definition of the university database of Figure Fig-ure4.8Referential Integrityfigcnt.50to include the relations student,takes, advisor,and prereq.Answer:create table student(ID varchar(5),name varchar(20)not null,dept name varchar(20),tot cred numeric(3,0)check(tot cred>=0),primary key(ID),foreign key(dept name)references departmenton delete set null);24Chapter4Intermediate SQLcreate table takes(ID varchar(5),course id varchar(8),section id varchar(8),semester varchar(6),year numeric(4,0),grade varchar(2),primary key(ID,course id,section id,semester,year),foreign key(course id,section id,semester,year)references sectionon delete cascade,foreign key(ID)references studenton delete cascade);create table advisor(i id varchar(5),s id varchar(5),primary key(s ID),foreign key(i ID)references instructor(ID)on delete set null,foreign key(s ID)references student(ID)on delete cascade);create table prereq(course id varchar(8),prereq id varchar(8),primary key(course id,prereq id),foreign key(course id)references courseon delete cascade,foreign key(prereq id)references course);4.7Consider the relational database of Figure Figure4.11figcnt.53.Give an SQLDDL definition of this database.Identify referential-integrity constraintsthat should hold,and include them in the DDL definition.Answer:create table employee(person name char(20),street char(30),city char(30),primary key(person name))Exercises25create table works(person name char(20),company name char(15),salary integer,primary key(person name),foreign key(person name)references employee,foreign key(company name)references company)create table company(company name char(15),city char(30),primary key(company name))pp create table manages(person name char(20),manager name char(20),primary key(person name),foreign key(person name)references employee,foreign key(manager name)references employee)Note that alternative datatypes are possible.Other choices for not nullattributes may be acceptable.4.8As discussed in Section Section4.4.7Complex Check Conditions and Assertionssubsection.4.4we expect the constraint“an instructor cannot teach sections in two differ-ent classrooms in a semester in the same time slot”to hold.a.Write an SQL query that returns all(instructor,section)combinationsthat violate this constraint.b.Write an SQL assertion to enforce this constraint(as discussed in Sec-tion Section4.4.7Complex Check Conditions and Assertionssubsection.4.4.7,current generation database systems do not support such assertions,although they are part of the SQL standard).Answer:a.select ID,name,section id,semester,year,time slot id,count(distinct building,room number)from instructor natural join teaches natural join sectiongroup by(ID,name,section id,semester,year,time slot id)having count(building,room number)>1Note that the distinct keyword is required above.This is to allow twodifferent sections to run concurrently in the same time slot and are26Chapter4Intermediate SQLtaught by the same instructor,without being reported as a constraintviolation.b.create assertion check not exists(select ID,name,section id,semester,year,time slot id,count(distinct building,room number)from instructor natural join teaches natural join sectiongroup by(ID,name,section id,semester,year,time slot id)having count(building,room number)>1)4.9SQL allows a foreign-key dependency to refer to the same relation,as in thefollowing example:create table manager(employee name char(20),manager name char(20),primary key employee name,foreign key(manager name)references manageron delete cascade)Here,employee name is a key to the table manager,meaning that each em-ployee has at most one manager.The foreign-key clause requires that everymanager also be an employee.Explain exactly what happens when a tuplein the relation manager is deleted.Answer:The tuples of all employees of the manager,at all levels,getdeleted as well!This happens in a series of steps.The initial deletion willtrigger deletion of all the tuples corresponding to direct employees ofthe manager.These deletions will in turn cause deletions of second levelemployee tuples,and so on,till all direct and indirect employee tuples aredeleted.4.10SQL-92provides an n-ary operation called coalesce,which is defined asfollows:coalesce(A1,A2,...,A n)returns thefirst nonnull A i in the listA1,A2,...,A n,and returns null if all of A1,A2,...,A n are null.Let a and b be relations with the schemas A(name,address,title)and B(name,address,salary),respectively.Show how to express a natural full outer joinb using the full outer-join operation with an on condition and the coalesceoperation.Make sure that the result relation does not contain two copiesof the attributes name and address,and that the solution is correct even ifsome tuples in a and b have null values for attributes name or address.Answer:Exercises27 select coalesce(,)as name,coalesce(a.address,b.address)as address,a.title,b.salaryfrom a full outer join b on = anda.address=b.address4.11Some researchers have proposed the concept of marked nulls.A markednull⊥i is equal to itself,but if i=j,then⊥i=⊥j.One application of marked nulls is to allow certain updates through views.Consider the view instructor info(Section Section4.2Viewssection.4.2).Show how you can use marked nulls to allow the insertion of the tuple(99999,“Johnson”,“Music”) through instructor info.Answer:To insert the tuple(99999,“(”Johnson),“Music”)into the view instructor info,we can do the following:instructor←(99999,“Johnson”,⊥k,⊥)∪instructordepartment←(⊥k,“Music′′,⊥)∪departmentsuch that⊥k is a new marked null not already existing in the database.Note:“Music”here is the name of a building and may or may not be related to Music department.。
数据库技术与应用第4章 习题答案

第4章关系数据库标准语言SQL1. 试述关系数据库标准语言SQL的特点。
解:SQL语言是一种功能强大、通用性好又简单易学的语言,主要特点包括:●综合统一:SQL语言将数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。
●高度非过程化:用SQL语言进行数据操作只要提出“做什么”,而无需指明“怎么做”。
●面向集合操作:SQL采用集合操作方式。
不仅查询的结果可以是元组的集合,而且一次插入、更新、删除操作的对象也可以是元组的集合。
●支持关系数据库的三级模式结构:外模式对应于视图(View),模式对应于基本表,内模式对应于存储文件。
●简洁易学,灵活易用:SQL语言简洁,只有少量关键字,语法简单。
SQL的使用方式非常灵活,可以直接通过SQL实现人机交互,还可以将SQL语句嵌入到其他高级语言程序中来使用。
2. 概述SQL的基本功能。
解:SQL语言是一种综合的、通用的、功能强大的关系数据库语言,集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体。
数据定义功能。
主要用于定义、删除和修改关系数据库中的对象,数据库对象主要包括基本表、视图等。
数据查询功能。
运用SELECT语句来实现查询数据的功能。
数据操纵功能。
主要用于增加、删除和修改数据库中的数据。
数据控制功能。
主要用来控制用户对数据库的操作权限,包括数据库安全控制和事物管理两部分。
3. 什么是基本表?什么是视图?两者的区别和联系是什么?解:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
试图是从一个或几个基本表导出的表。
试图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据。
视图与表的区别:概念不同。
表是使用DBMS的DDL定义的,拥有真实数据的,以独立文件的形式存储在计算机外存上的具有固定模式结构和相应元组数据的实表。
最新mysql数据库武洪萍版第四章习题与答案

一.选择题1.下面哪种数字数据类型不可以存储数据256?(D)A.bigintB. intC. SmallintD. tinyint2.下面是有关主键和外键之间的关系描述,正确的是(AC)A.一个表最多只能有一个主键约束,多个外键约束。
B.一个表中最多只有一个外键约束,一个主键约束。
C.在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束。
D.在定义主键外键约束时,应该首先定义主键约束,然后定义主键约束。
3.下面关于数据库中表的行和列的叙述正确的是(D)A.表中的行是有序的,列是无序的B. 表中的列是有序的,行是无序的C. 表中的行和列都是有序的D. 表中的行和列都是无序的4.SQL语言的数据操作语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是(A)A.SELECTB.INSERTC.UPDATED.DELETE5.在下列SQL语句中,修改表结构的语句是(A)。
A.ALTERB. CREATEC. UPDATED. INSERT6.设有关系R(A,B,C)和S(C,D),与关系代数表达式πA,B,D(σR.C=S.C(R ∞S)等价的SQL语句是(B)。
A.SELECT *FROM R,S WHERE R.C=S.CB.SELECT A,B,D FROM R,S WHERE R.C=S.CC.SELECT A,B,D FROM R,S WHERE R=SD.SELECT A,B FROM R WHERE(SELECT D FROM S WHERE R.C=S.C)7.设关系R(A,B,C) 与SQL语句“SELECT DISTINST A FROM R WHERE B=17”等价的关系代数表达式是(A)A.πA(σB=17 (R))B. σB=17 (πA(R))C. σB=17 (πA. C(R))D. πA. C(σB=17 (R))下面第(8)-(12)题,基于“学生-选课-课程”数据库中的3个关系。
(完整版)《数据库》第4章习题答案

4.2 对于教学数据库的三个基本表S(SNO,SNAME,AGE,SEX,SDEPT)SC(SNO,CNO,GRADE)C(CNO,CNAME,CDEPT,TNAME)试用SQL的查询语句表达下列查询:①检索LIU老师所授课程的课程号和课程名。
②检索年龄大于23岁的男学生的学号和姓名。
③检索至少选修LIU老师所授课程中一门课程的女学生姓名。
④检索WANG同学不学的课程的课程号。
⑤检索至少选修两门课程的学生学号。
⑥检索全部学生都选修的课程的课程号与课程名。
⑦检索选修课程包含LIU老师所授(全部)课程的学生学号。
参考答案:SELECT CNO,CNAMEFROM CWHERE TNAME=‘LIU’;SELECT SNO,SNAMEFROM S WHERE AGE>23 AND SEX=‘M’;SELECT SNAME (联接查询方式)FROM S,SC,CWHERE S.SNO=SC.SNO AND O=OAND SEX=’F’ AND TNAME=’LIU’;或:SELECT SNAME (嵌套查询方式)FROM S WHERE SEX=‘F’AND SNO IN(SELECT SNOFROM SCWHERE CNO IN (SELECT CNOFROM CWHERE TNAME=’LIU’));或:SELECT SNAME (存在量词方式) FROM S WHERE SEX=‘F’ AND EXISTS(SELECT * FROM SC WHERE SC.SNO=S.SNOAND EXISTS(SELECT *FROM CWHERE O=OAND TNAME=’LIU’)); SELECT CNOFROM CWHERE NOT EXISTS(SELECT *FROM S,SCWHERE S.SNO=SC.SNO AND O=OAND SNAME=’WANG’);或:SELECT CNOFROM CWHERE CNO NOT IN(SELECT OFROM S,SCWHERE S.SNO=SC.SNO AND SNAME=’WANG’);或:SELECT CNOFROM CWHERE CNO NOT IN(SELECT CNOFROM SCWHERE SNO IN(SELECT SNOFROM SWHERE SNAME=’WANG’));SELECT DISTINCT X..SNOFROM SC AS X,SC AS YWHERE X.SNO=Y.SNO AND O<>O;或:SELECT SNOFROM SCGROUP BY SNO HAVING COUNT(CNO)>=2; SELECT CNO,CNAMEFROM CWHERE NOT EXISTS(SELECT *FROM SWHERE NOT EXISTS(SELECT *FORM SCWHERE SC.SNO=S.SNO AND O=O)); SELECT DISTINCT SNOFROM SC AS XWHERE NOT EXISTS(SELECT *FORM CWHERE TNAME=’LIU’AND NOT EXISTS(SELECT *FROM SC AS YWHERE Y.SNO=X.SNO AND O=O));4.3 设有两个基本表R(A,B,C)和S(D,E,F),试用SQL查询语句表达下列关系代数表达式:SELECT A FROM R;SELECT * FROM R WHERE B=17;SELECT * FROM R,S;SELECT A,F FROM R,S WHERE C=D;4.4 设有两个基本表R(A,B,C)和S(A,B,C),试用SQL查询语句表达下列关系代数表达式:1.(SELECT * FROM R)UNION(SELECT * FROM S);2.(SELECT * FROM R)INTERSECT(SELECT * FROM S);3.(SELECT * FROM R)EXCEPT(SELECT * FROM S);4.(SELECT A,B FROM R)NATURAL INNER JOIN(SELECT B,C FROM S);或:SELECT R.A, R.B, S.CFROM R,SWHERE R.B=S.B4.6 试用SQL查询语句表达下列对教学数据库中三个基本表S、SC、C的查询:1、统计有学生选修的课程门数。
数据库原理习题与答案 第4章关系数据库方法

第四章.关系数据库方法习题:一.填空题1.关系操作的特点是。
2.一个关系模式的定义格式为。
3.在一个实体的表示信息中,称为关键字。
4.关系代数运算中,传统的集合运算有、、和。
5.关系代数使用对关系的运算来表达查询的,而关系演算是用查询的,它又分为演算和演算两种。
二.选择题1.关系数据库管理系统应能实现的专门关系运算包括。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表2.通常情况下,下面的关系中不可以作为关系数据库的关系是。
A.R1(学生号,学生名,性别)B.R2(学生号,学生名,班级号)C.R3(学生号,学生名,宿舍号)D.R4(学生号,学生名,简历)3.自然连接是构成新关系的有效方法,一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的。
A.元组B.行C.记录D.属性4.设有如图所示的关系R,经操作ΠA,B(σB=b(R))的运算结果是______。
关系R:三.简答题1. 试述关系模型的三个组成部分。
2. 试述关系数据语言的特点和分类。
3. 试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?四.设有如图所示的三个关系S 、C 和SC ,将下列关系代数表达式用汉语表示出来,并求其结果。
A BCD1.∏学号,姓名,课程号(σ籍贯=‘上海’(S∞SC))2.∏姓名,课程号,成绩(S∞SC∞σ课程名=‘操作系统’(C))3.∏姓名,年龄(S∞(∏学号,课程号(SC)÷∏课程号(C)))参考答案:一.填空题1.集合2.关系名(属性名1,属性名2,……属性名n)3.能唯一标识实体的属性或属性组4.笛卡尔积,并,交,差5.谓词表达,元组关系,域关系二.选择题1. B2. D3. D4. C三.简答题1.关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2.关系数据语言可以分为三类:(1)关系代数语言(2)关系演算语言,分为关系演算语言和域关系演算语言(3)具有关系代数和关系演算双重特点的语言,例如SQL这些关系数据语言的共同特点是:具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
数据库原理及应用课后答案第4章关系数据库设计理论

第4章关系数据库设计理论、选择题1、C2、B3、C4、C5、A9、D 10、B二、填空题1、数据依赖主要包括—函数_依赖、—多值—依赖和连接依赖。
2、一个不好的关系模式会存在_插入异常_、_删除异常_和—修改复杂_等弊端。
3、设X T Y为R上的一个函数依赖,若_对任意X的真子集X '均无XY存在__, 则称Y完全函数依赖于X.4、设关系模式R上有函数依赖X T Y和Y T Z成立若_Y不包含于X_且_Y T X不成立_,则称Z传递函数依赖于X。
5、设关系模式R的属性集为U, K为U的子集,若_K T U为完全函数依赖_,则称K 为R的候选键。
6、包含R中全部属性的候选键称_主属性_。
不在任何候选键中的属性称—非主属性7、Armstrong公理系统是—有效__的和—完备__的.8、第三范式是基于_函数_依赖的范式,第四范式是基于_多值_依赖的范式。
9、关系数据库中的关系模式至少应属于_第一_范式。
10、规范化过程,是通过投影分解,把_一个范式级别较低的_的关系模式“分解”为_若干个范式级别较高__的关系模式。
三、简答题1、解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、 完全函数依赖、传递函数依赖、范式、无损连接性、依赖保持性。
解:函数依赖:设关系模式R ( U ,F), U 是属性全集,F 是U 上的函数依赖集,X 和丫是U 的子集,如果对于R(U)的任意一个可能的关系 r ,对于X 的每一个具体值,Y 都有唯一的具 体的值与之对应,则称X 函数决定Y,或Y 函数依赖于X ,记X T Y 。
我们称X 为决定因素, Y 为依赖因素。
当Y 不函数依赖于 X 时,记作:©Y 。
当X T Y 且Y T X 时,则记作:X Y 。
平凡函数依赖:当属性集Y 是属性集X 的子集时,则必然存在着函数依赖X T Y ,这种类型的函数依赖称为平凡的函数依赖。
非平凡函数依赖: 如果Y 不是X 子集,则称X T Y 为非平凡的函数依赖。
数据库管理系统原理 第四章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

数据库管理系统原理第四章测验一、单选题(共40.00分)1. 在数据加密技术中,原始数据通过某种加密算法变换为不可直接识别的格式称为,请选择最恰当选项()。
A. 密钥B. 密文C. 档案D. 密码正确答案:B2. GRANT SELECT ON TABLE SC TO PUBLIC;A. 把对表SC的查询权限授予名字为PUBLIC的用户B. 把对表SC的选择权限授予名字为PUBLIC的用户C. 把对表SC的查询权限授予所有用户D. 把对表SC的选择权限授予所有用户正确答案:C3. 数据库角色实际上是一组与数据库操作相关的各种(),请选择最恰当选项。
A. 事务B. 人员C. 数据D. 权限正确答案:D4. 哪个安全标准于1999年被ISO采用为国际标准并于 2001年被我国采用为国家标准()。
A. TCSECV2.1版B. ITSECV2.1版C. CC V2.1版D. CTCPECV2.1版正确答案:C二、多选题(共33.00分)1. 在对用户授予列INSERT权限时,除了授权的列,其他列的值可能的取值为()请选择最恰当的两个选项。
A. 随机值B. 默认值C. 主属性值D. 空值正确答案:C D2. 自主存取控制(Discretionary Access Control ,简称DAC),关于自主存取控制描述正确的有()。
A. 用户对不同的数据对象有不同的存取权限B. 不同的用户对同一对象也有不同的权限C. 用户还可将其拥有的存取权限转授给其他用户D. 用户无权将其拥有的存取权限转授给其他用户正确答案:A B C答案解析:用户可将其拥有的存取权限转授给其他用户3. GRANT语句的中的参数WITH GRANT OPTION 的作用是()。
A. 带有这个参数,表示用户“可以再授予”这个权限给其它用户。
B. 带有这个参数,表示用户执行GRANT语句中指定操作时,系统首先检查用户是否具有这个权限。
C. 没有指定这个参数表示用户“不可以再授予”这个权限给其它用户。
数据库第4章习题参考答案

1第4章习题解答1.选择题(1)在SELECT 语句中,需显示的内容使用“*”,则表示( )。
BA .选择任何属性B .选择所有属性C .选择所有元组D .选择主键(2)查询时要去掉重复的元组,则在SELECT 语句中使用( )。
DA .AllB .UNIONC .LIKED .DISTINCT(3)在SELECT 语句中使用GROUP BY NO 时,NO 必须( )。
CA .在WHERE 子句中出现B .在FROM 子句出现C .在SELECT 子句中出现D .在HAVING 子句中出现(4)使用SELECT 语句进行分组检索时,为了去掉不满足条件的分组,应当( )。
BA .使用WHERE 子句B .在GROUP BY 后面使用HAVING 子句C .先使用WHERE 子句,再使用HA VING 子句D .先使用HA VING 子句,再使用WHERE 子句(5)在SQL 语句中,与表达式“仓库号Not In("wh1","wh2")”功能相同的表达式是 ( )。
DA .仓库号="wh1" And 仓库号="wh2"B .仓库号<>"wh1" Or 仓库号<>"wh2"C .仓库号<>"wh1" Or 仓库号="wh2"D .仓库号<>"wh1" And 仓库号<>"wh2" 第6~10题使用如下3个表:部门:部门号 Char (8),部门名 Char (12),负责人 Char (6),电话 Char (16)职工:部门号 Char (8),职工号 C har(10),姓名 Char (8),性别 Char (2),出生日期 Datetime工资:职工号 Char (10),基本工资 Numeric (8,2),津贴 Numeric (8,2),奖金 Numeric (8,2),扣除Numeric (8,2)(6)查询职工实发工资的正确命令是( )。
数据库系统原理与设计(万常选版)第四章练习题和详细答案

数据库系统原理与设计(万常选版)第四章练习题和详细答案第四章关系系统及其优化一、选择题1.概念模型是现实世界的第一层抽象,这一类最著名的模型是()。
A.层次模型B. 关系模型C. 网状模型D. 实体-关系模型2.区分不同实体的依据是()。
A. 名称B. 属性C. 对象D. 概念3.关系数据模型是目前最重要的一种数据模型,它的三个要素分别为()。
A.实体完整、参照完整、用户自定义完整B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式4.在()中一个结点可以有多个双亲,节点之间可以有多种联系。
A.网状模型B. 关系模型C.层次模型D. 以上都有5.()的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
A.网状模型B. 关系模型D.层次模型 D. 以上都有6.在关系数据库中,要求基本关系中所有的主属性上不能有空值,其遵守的约束规则是()。
A.数据依赖完整性规则B. 用户定义完整性规则C.实体完整性规则D. 域完整性规则选择题答案:二、简答题1.试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2.试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言例如ISBL关系演算语言(元组关系演算语言例如APLHA,QUEL 和域关系演算语言例如QBE)具有关系代数和关系演算双重特点的语言例如SQL这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3. 定义并理解下列术语,说明它们之间的联系与区别:(1)域,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。
关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组。
关系数据库设计理论练习题答案

关系数据库设计理论练习题答案第四章关系数据库设计理论练习题一、选择题1、关系规范化中的删除操作异常是指①A,插入操作异常是指②DA、不该删除的数据被删除.B、不该插入的数据被插入;C、应该删除的数据未被删除;D、应该插入的数据未被插入.2、关系数据库规范化是为解决关系数据库中()问题而引入的。
A、插入异常、删除异常和数据冗余;B、提高查询速度;C、减少数据操作的复杂性;D、保证数据的安全性和完整性。
3、假设关系模式R(A,B)属于3NF,下列说法中()是正确的。
A、R一定消除了插入和删除异常;B、R仍可能存在一定的插入和删除异常;C、R一定属于BCNF;D、A和C都是.4、关系模式的分解A、唯一B、不唯一.5、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是()A、W1(工号,姓名),W2(工种,定额);B、W1(工号,工种,定额),W2(工号,姓名);C、W1(工号,姓名,工种),W2(工种,定额);D、以上都不对.6、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是()A、姓名;B、学号,姓名;C、学号;D、学号,姓名,年龄. 7根据数据库规范化理论,下面命题中正确的是()A、若R∈2NF,则R∈3NFB、若R∈1NF,则R不属于BCNFC、若R∈3NF,则R∈BCNFD、若R∈BCNF,则R∈3NF8、关系数据库设计理论中,起核心作用的是A、范式;B、模式设计;C、函数依赖;D、数据完整性.9、设计性能较优的关系模设称为规范化,规范化的主要理论依据是()A、关系规范化理论;B、关系运算理论;C 、关系代数理论;D 、数理逻辑。
10、规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是()A 、互不相关的;B 、不可分解的C 、长度可变的;D 、互相关联的。
11、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及()的缺陷。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系模式
R2(S#,CNAME,GRADE)
R11(S#,SNAME,SDEPT)
R12(SDEPT,MNAME)
R2,R11,R12关系模式存在的函数依赖
S#,CNAME→GRADES#→SNAME,SDEPT SDEPT→MNAME
上述函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF。
B.满足2NF且不存在非主属性对关键字部分依赖现象
C.满足2NF且不存在非主属性
D.满足2NF且不存在组合属性
答案:A
7.关系模型中的关系模式至少是。
A.1NF B.2NF C.3NF D.BCNF
答案:A
8.在关系模式中,如果属性A和B存在1对1的联系,则说。
A.A→B B.B→A C.A←→BD.以上都不是
II.分解后的关系相互独立
III.保持原有的依赖关系
A.Ⅰ和ⅡB.Ⅰ和ⅢC.ⅠD.Ⅱ
答案:B
二、综合题
设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖:
S#,CNAME→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
将关系分解为:
R1(S#,SNAME,SDEPT,MNAME)
R2(S#,CNAME,GRADE)
在关系R1中存在非主属性对候选码的传递函数依赖S#→SDEPT,SDEPT→MNAME,所以以上关系模式还不是BCNF,进一步分解R1:
R11(S#,SNAME,SDEPT)
R12(SDEPT,MNAME)
答案:B
3.关系数据库规范化是为解决关系数据库中问题而引入的。
A.插入、删除和数据冗余 B.提高查询速度
C.减少数据操作的复杂性 D.保证数据的安全性和完整性
答案:A
4.当关系模式R(A,B)已属于3NF,下列说法中是正确的。
A.它一定消除了插入和删除异常B.仍可能存在一定的插入和删除异常
C.一定属于BCNF D.A和C都是
S#,CNAME→GRADE
SDEPT→MNAME
试求下列问题:
(1)关系STUDENT属于第几范式?
(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。
要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
解:
(1)关系STUDENT是1NF。
(2)首先消除部分函数依赖{S#,CNAME}→{SNAME,SDEPT,MNAME}
A.0个 B.1个 C.1个或多个 D.多个
答案:C
12.设某关系模式S(SNO,CNO,G,TN,D),其中SNO表示学号,CNO表示课程号,G表示成绩,TN表示教师姓名,D表示系名。属性间的依赖关系为:
(SNO,CNO)→G,CNO→TN,TN→D。则该关系模式最高满足_______。
A.1NF B.2NF C.3NF D.BCNF
A.1NF B.2NF C.3NF D.BCNF
答案:A(AB为Key)
17.设某关系模式R(ABC),函数依赖{A→B,B→A,A→C},则R最高满足_______。
A.1NF B.2NF C.3NF D.BCNF
答案:C(A为Key)
18.设某关系模式R(ABC),函数依赖{A→B,B→A,C→A},则R最高满足_______。
A、非平凡的
B、平凡的
C、完全非平凡的
D、完全平凡的
答案:A
15.什么样的关系模式是严格好的关系模式________。
A.优化级别最高的关系模式B.优化级别最高的关系模式
C.符合3NF要求的关系模式D.视具体情况而定
答案:D
16.设某关系模式R(ABCD),函数依赖{B→D,AB→C},则R最高满足_______。
答案:C
9.若关系模式R∈1NF,且R中若存在X→Y,则X必含关键字,称该模式_______。
A.满足3NF B.满足BCNF C.满足2NF D.满足1NF
答案:B
10.消除了部分函数依赖的1NF的关系模式,必定是。
A.1NF B.2NF C.3NF D.BCNF
答案:B
11.候选关键字中的属性可以有。
答案:A
13.学生表(id,name,sex,age,depart_id,depart_name),存在函数依赖是id→name,sex,age,depart_id;dept_id→dept_name,其满足()。
A. 1NF B. 2NF C. 3NF D. BCNF
答案:B
14.如果X→Y,并且Y不是X的子集,则称X→Y是()函数依赖。。
第四章练习题
一、选择题
1.设计性能较优的关系模式称为规范化,规范化主要的理论依据是。
A.关系规范化理论B.关系运算理论
C.关系代数理论 D.数理逻辑
答案:A
2.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是。
A.互不相关的 B.不可分解的
C.长度可变的 D.互相关联的
答案:B
5.关系模式中2NF是指_______。
A.满足1NF且不存在非主属性对关键字的传递依赖现象
B.满足1NF且不存在非主属性对关键字部分依赖现象
C.满足1NF且不存在非主属性
D.满足1NF且不存在组合属性
答案:B
6. 关系模式中3NF是指___________。
A.满足2NF且Hale Waihona Puke 存在非主属性对关键字的传递依赖现象
A.1NF B.2NF C.3NF D.BCNF
答案:B(C为Key)
19.设某关系模式R(ABCD),函数依赖{A→C,D→B},则R最高满足_______。
A.1NF B.2NF C.3NF D.BCNF
答案:A(AD为Key)
20.在关系规范式中,分解关系的基本原则是_______。
I.实现无损连接