数据库第五章作业
《数据库技术与应用》第5章 习题答案

第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。
数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.2。
什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
3. 试述DBMS如何实现完整性控制.解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
数据库第五章习题及答案

数据库第五章习题及答案本文档为数据库第五章的习题及答案,帮助读者巩固数据库相关知识。
习题1. 数据库的优点有哪些?数据库具有以下优点: - 数据共享:多个用户可以同时访问和共享数据库中的数据。
- 数据一致性:数据库提供事务管理能力,保证了数据的一致性。
- 数据持久性:数据在数据库中是永久存储的,不会因为系统关机或程序结束而丢失。
- 数据冗余度低:数据库通过规范化设计,减少了数据的冗余性,提高了数据的存储效率。
- 数据独立性:数据库支持数据与应用程序的独立性,提高了系统的灵活性和维护性。
- 数据安全性:数据库提供了用户权限管理和数据备份机制,保证了数据的安全性。
2. 数据库的三级模式结构是什么?数据库的三级模式结构包括: - 外模式(视图层):外模式是用户所看到的数据库的子集,用于描述用户对数据库的逻辑视图。
每个用户可以有不同的外模式来满足自己的需求。
- 概念模式(逻辑层):概念模式是全局数据库的逻辑结构和组织方式,描述了数据的总体逻辑视图。
概念模式独立于具体的应用程序,是数据库管理员的角度来看待数据库的。
- 内模式(物理层):内模式是数据库的存储结构和物理组织方式,描述了数据在存储介质上的实际存储方式。
3. 数据库的完整性约束有哪些?数据库的完整性约束包括: - 实体完整性约束:确保表的主键不为空,每个实体都能够唯一标识。
- 参照完整性约束:确保外键的引用关系是有效的,即外键值必须等于被引用表中的主键值或者为空。
- 用户定义完整性约束:用户可以自定义额外的完整性约束,如检查约束、唯一约束、默认约束等。
4. 数据库的关系模型有哪些特点?数据库的关系模型具有以下特点: - 数据用二维表的形式进行组织,表由行和列组成,每一行表示一个实体,每一列表示一个属性。
- 表与表之间通过主键和外键建立关联关系,形成关系。
- 关系模型提供了一种数据独立性的设计方法,使得应用程序与数据的逻辑结构相分离,提高了系统的灵活性和可维护性。
数据库第五章作业

第五、六章练习题一、选择题1、在关系数据库设计中,子模式设计是在__________阶段进行。
[ B]A.物理设计B.逻辑设计C.概念设计D.程序设计2、设有关系R(A,B,C)的值如下:A B C2 2 32 3 43 3 5下列叙述正确的是(B)A.函数依赖A→B在上述关系中成立B.函数依赖BC→A在上述关系中成立C.函数依赖B→A在上述关系中成立D.函数依赖A→BC在上述关系中成立3、数据库设计阶段分为(D )A. 物理设计阶段、逻辑设计阶段、编程和调试阶段B. 模型设计阶段、程序设计阶段和运行阶段C. 方案设计阶段、总体设计阶段、个别设计和编程阶段D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段4、下列说法中不正确的是(C)。
A. 任何一个包含两个属性的关系模式一定满足3NFB. 任何一个包含两个属性的关系模式一定满足BCNFC. 任何一个包含三个属性的关系模式一定满足3NFD. 任何一个关系模式都一定有码5、设有关系模式R(A,B,C,D),F是R上成立的函数依赖集,F={B→C,C→D},则属性C的闭包C+为( C )A.BCDB.BDC.CDD.BC6、在数据库设计中,将ER图转换成关系数据模型的过程属于( B )A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段7、下述哪一条不是由于关系模式设计不当而引起的?(B)A) 数据冗余B) 丢失修改C) 插入异常D) 更新异常8、下面关于函数依赖的叙述中,不正确的是(B)A) 若X→Y,X→Z,则X→YZB) 若XY→Z,则X→Z,Y→ZC) 若X→Y,Y→Z,则X→ZD) 若X→Y,Y′ Y,则X→Y′9、设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。
下面关于多值依赖的叙述中,不正确的是(C)A) 若X→→Y,则X→→ZB) 若X→Y,则X→→YC) 若X→→Y,且Y′⊂Y,则X→→Y′D) 若Z=Φ,则X→→Y第(10)至(12)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学生根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}10、关系模式A的码是(D)A) C B) (H,R)C)(H,T)D)(H,S)11、关系模式A的规范化程度最高达到(B)A) 1NF B) 2NF C) 3NF D) BCNF12、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到(D)A) 1NF B) 2NF C) 3NF D) BCNF13、下述哪一条不属于概念模型应具备的性质?(D)A) 有丰富的语义表达能力B) 易于交流和理解C) 易于变动D) 在计算机中实现的效率高14、在下面列出的条目中,哪个(些)是当前应用开发工具的发展趋势?(D)Ⅰ.采用三层或多层Client/Server结构Ⅱ.支持Web应用Ⅲ.支持开放的、构件式的分布式计算环境A) Ⅰ和ⅡB) 只有ⅡC) 只有ⅢD) 都是15、下面所列的工具中,不能用于数据库应用系统界面开发的工具是(C)A) Visual Basic B) DelphiC) PowerDesigner D) PowerBuilder16、设关系模式R{A,B,C,D,E},其上函数依赖集F={AB→C,DC→E,D→B},则可导出的函数依赖是(A)。
《MySQL数据库原理、设计与应用》第5章课后习题答案

第五章一、填空题1.逗号或,2. 33.FLOOR(3+RAND()*(11-3+1))或FLOOR(3+RAND()*9)4.NULL5.ON DUPLICATE KEY二、判断题1.错2.对3.错4.对5.对三、选择题1. D2. B3. D4. A5. C四、简答题1.请简述DELETE与TRUNCA TE的区别。
答:①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。
而DELETE语句则是逐条的删除数据表中保存的记录。
②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数据的方式执行效率更高。
③对AUTO_INCREMENT的字段影响不同,TRUNCATE清空数据后,再次向表中添加数据,自动增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。
④删除数据的范围不同:TRUNCATE语句只能用于清空表中的所有记录,而DELETE语句可通过WHERE指定删除满足条件的部分记录。
⑤返回值含义不同:TRUNCATE操作的返回值一般是无意义的,而DELETE语句则会返回符合条件被删除的记录数。
⑥所属SQL语言的不同组成部分:DELETE语句属于DML数据操作语句,而TRUNCA TE通常被认为是DDL数据定义语句。
2.请简述WHERE与HA VING之间的区别。
1答:①WHERE操作是从数据表中获取数据,用于将数据从磁盘存储到内存中,而HA VING是对已存放到内存中的数据进行操作。
②HA VING位于GROUP BY子句后,而WHERE位于GROUP BY 子句之前。
③HA VING关键字后可以跟聚合函数,而WHERE则不可以。
通常情况下,HA VING关键字与GROUPBY一起使用,对分组后的结果进行过滤。
mysql数据库武洪萍版第五章习题与答案

第五章一.选择题1.下列关于SQL语言索引(Index)的叙述中,哪一条是不正确的(C)。
A.索引是外模式B.一个基本表上可以创建多个索引C.索引可以加快查询的执行速度D.系统在存取数据时会自动选择合适的索引作为存取路径2.为了提高特定查询的速度,对SC(S#,C#,DEGREE)关系创建唯一性索引,应该创建在哪一个属性(组)上?(A)A.(S#,C#)B. (S#,DEGREE)C. (C#,DEGREE)D. DEGREE3.设S_AVG(SNO,AVG_GRADE)是一个基于关系SC 定义的学号和他的平均成绩的视图。
下面对该视图的操作语句中,(A)是不能正确执行的。
Ⅰ. UODATE S_AVG SET AVG_GRADE=90 WHERE SNO='2004010601'Ⅱ. SELECT SNO,AVG_GRADE FROM S_AVG WHERE SNO='2004010601'A . 仅Ⅰ B. 仅Ⅱ C. 都能 D.都不能4.在视图上不能完成的操作是(C)。
A.更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图5.在SQL语言中,删除一个视图的命令是(B)。
A.DELECTB. DROPC. CLEARD. UNION6.为了使索引建的值在基本表中唯一,在创建索引的语句中应使用保留字()。
A.UNIQUEB. COUNTC. DISTINCTD.UNION7.创建索引是为了(A)。
A.提高存取速度B. 减少I/OC. 节约空间D. 减少缓冲区个数8.在关系数据库中,视图(View )是三级模式结构中的(D)。
A.内模式B. 模式C. 存取模式D. 外模式9.视图是一个“虚表”,视图的构造基于(A)。
Ⅰ.基本表Ⅱ. 视图Ⅲ. 索引10.已知关系:STUDENT(Sno,Sname,Grade),以下关于命令”CREATE INDEX S index ON STUDENT(Grade)”的描述中,正确的是(B)。
第五章_数据库完整性(习题)

一、选择题1.完整性检查和控制的防范对象是(),防止它们进入数据库。
安全性控制的防范对象是(),防止他们对数据库数据的存取。
A.不合语义的数据B.非法用户C.不正确的数据D.非法操作2.找出下面SQL命令中的数据控制命令()。
A.GRANTMITC.UPDA TED.SELECT3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。
A.INSERTB.DELETEC.REFERENCESD. SELECT4.下述SQL命令的短语中,不用于定义属性上约束条件的是()。
A.NOT NULL短语B.UNIQUE短语C.CHECK短语D.HA VING短语二、填空题1.数据库的完整性是指数据的正确性和相容性。
2.关系模型的实体完整性在CREATE TABLE中用primary key 关键字来实现。
3.检查主码值出现不唯一和有一个为空违约情况时,则DBMS拒绝插入或修改。
4.关系模型的参照完整性在CREATE TABLE中用foreign key关键字来实现。
5.当参照完整性检查出现违约情况时,则DBMS可以采用拒绝、级联和设置为空策略处理。
6.参照完整性的级连操作的关键字是cascade 。
7.在CREA TE TABLE中定义属性上的约束条件,包括not null 、unique 和check。
8.在CREA TE TABLE中定义属性上的约束条件,检查列值唯一用unique 关键字。
9.关系模型的元组上的约束条件的定义,在CREATE TABLE中用check关键字来实现。
10.在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。
请写出对应的完整性命名子句constraint Sno_CK primary key check(sno between 18 and 22)。
1.A C ;BD 2. A 3. C 4. D三、综合题1.假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。
数据库系统基础教程第五章答案

数据库系统基础教程第五章答案-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANExercise a set:Average =As a bag:Average =Average = 218 As a bag:Average = 215 Exercise a set:As a bag:141615151418Exercise Classes)Exercise bags:On the left-hand side:Given bags R and S where a tuple t appears n and m times respectively, the union ofbags R and S will have tuple t appear n + m times. The further union of bag T with thetuple t appearing o times will have tuple t appear n + m + o times in the final result.On the right-hand side:Given bags S and T where a tuple t appears m and o times respectively, the union ofbags R and S will have tuple t appear m + o times. The further union of bag R with thetuple t appearing n times will have tuple t appear m + o + n times in the final result.For sets:This is a similar case when dealing with bags except the tuple t can only appear at most once in each set. The tuple t only appears in the result if all the sets have the tuple t. Otherwise, the tuple t will not appear in the result. Since we cannot have duplicates, the result only has at most one copy of the tuple t.Exercise bags:On the left-hand side:Given bags R and S where a tuple t appears n and m times respectively, the intersection of bags R and S will have tuple t appear min( n, m ) times. The further intersection of bag T with the tuple t appearing o times will produce tuple t min( o, min( n, m ) ) times in the final result.On the right-hand side:Given bags S and T where a tuple t appears m and o times respectively, the intersection of bags R and S will have tuple t appear min( m, o ) times. The further intersection of bag R with the tuple t appearing n times will produce tuple t min( n, min( m, o ) ) times in the final result.The intersection of bags R,S and T will yield a result where tuple t appears min( n,m,o ) times.For sets:This is a similar case when dealing with bags except the tuple t can only appear at most once in each set. The tuple t only appears in the result if all the sets have the tuple t. Otherwise, the tuple t will not appear in the result.Exercise bags:On the left-hand side:Given that tuple r in R, which appears m times, can successfully join with tuple s in S,which appears n times, we expect the result to contain mn copies. Also given that tuple t in T, which appears o times, can successfully join with the joined tuples of r and s, weexpect the final result to have mno copies.On the right-hand side:Given that tuple s in S, which appears n times, can successfully join with tuple t in T,which appears o times, we expect the result to contain no copies. Also given that tuple r in R, which appears m times, can successfully join with the joined tuples of s and t, weexpect the final result to have nom copies.The order in which we perform the natural join does not matter for bags.For sets:This is a similar case when dealing with bags except the joined tuples can only appear at most once in each result. If there are tuples r,s,t in relations R,S,T that can successfully join, then the result will contain a tuple with the schema of their joined attributes.Exercise bags:Suppose a tuple t occurs n and m times in bags R and S respectively. In the union of these two bags R S, tuple t would appear n + m times. Likewise, in the union of these two bags S R, tuple t would appear m + n times. Both sides of the relation yield the same result.For sets:A tuple t can only appear at most one time. Tuple t might appear each in sets R and S one or zero times. The combinations of number of occurrences for tuple t in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple t appears in both sets R and S will the union R S have the tuple t. The same reasoning holds when we take the union S R.Therefore the commutative law for union holds.Exercise bags:Suppose a tuple t occurs n and m times in bags R and S respectively. In the intersection of these two bags R ∩ S, tuple t would appear min( n,m ) times. Likewise in the intersection of these two bags S ∩ R, tuple t would appear min( m,n ) times. Both sides of the relation yield the same result.For sets:A tuple t can only appear at most one time. Tuple t might appear each in sets R and S one or zero times. The combinations of number of occurrences for tuple t in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple t appears in at least one of the sets R and S will the intersection R ∩ S have the tuple t. The same reasoning holds when we take the intersection S ∩ R.Therefore the commutative law for intersection holds.Exercise bags:Suppose a tuple t occurs n times in bag R and tuple u occurs m times in bag S. Suppose also that the two tuples t,u can successfully join. Then in the natural join of these two bags R S, the joined tuple would appear nm times. Likewise in the natural join of these two bags S R, the joined tuple would appear mn times. Both sides of the relation yield the same result.For sets:An arbitrary tuple t can only appear at most one time in any set. Tuples u,v might appear respectively in sets R and S one or zero times. The combinations of number of occurrences for tuples u,v in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple u exists in R and tuple v exists in S will the natural join R S have the joined tuple. The same reasoning holds when we take the natural join S R.Therefore the commutative law for natural join holds.Exercise bags:Suppose tuple t appears m times in R and n times in S. If we take the union of R and S first, we will get a relation where tuple t appears m + n times. Taking the projection of a list of attributes L will yield a resulting relation where the projected attributes from tuple t appear m + n times. If we take the projection of the attributes in list L first, then the projected attributes from tuple t would appear m times from R and n times from S. The union of these resulting relations would have the projected attributes of tuple t appear m + n times.For sets:An arbitrary tuple t can only appear at most one time in any set. Tuple t might appear in sets R and S one or zero times. The combinations of number of occurrences for tuple t in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple t exists in R or S (or both R and S) will the projected attributes of tuple t appear in the result.Therefore the law holds.Exercise bags:Suppose tuple t appears u times in R, v times in S and w times in T. On the left hand side, the intersection of S and T would produce a result where tuple t would appear min(v , w) times. With the addition of the union of R, the overall result would have u + min(v , w) copies of tuple t. On the right hand side, we would get a result of min(u + v, u + w) copies of tuple t. The expressions on both the left and right sides are equivalent.For sets:An arbitrary tuple t can only appear at most one time in any set. Tuple t might appear in sets R,S and T one or zero times. The combinations of number of occurrences for tuple t in R, S and T respectively are (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0) and (1,1,1). Only when tuple t appears in R or in both S and T will the result have tuple t.Therefore the distributive law of union over intersection holds.Exercise that in relation R, u tuples satisfy condition C and v tuples satisfy condition D. Suppose also that w tuples satisfy both conditions C and D where w≤ min(v , w). Then the left hand side will return those w tuples. On the right hand side, σC(R) produces u tuples and σD(R) produces v tuples. However, we know the intersection will produce the same w tuples in the result.When considering bags and sets, the only difference is bags allow duplicate tuples while sets only allow one copy of the tuple. The example above applies to both cases.Therefore the law holds.Exercise sets, an arbitrary tuple t appears on the left hand side if it appears in both R,S and not in T. The same is true for the right hand side.As an example for bags, suppose that tuple t appears one time each in both R,T and two times in S. The result of the left hand side would have zero copies of tuple t while the right hand side would have one copy of tuple t.Therefore the law holds for sets but not for bags.Exercise sets, an arbitrary tuple t appears on the left hand side if it appears in R and either S or T. This is equivalent to saying tuple t only appears when it is in at least R and S or in R and T. The equivalence is exactly the right side’s expression.As an example for bags, suppose that tuple t appears one time in R and two times each in S and T. Then the left hand side would have one copy of tuple t in the result while the right hand side would have two copies of tuple t.Therefore the law holds for sets but not for bags.Exercise sets, an arbitrary tuple t appears on the left hand side if it satisfies condition C, condition D or both condition C and D. On the right hand side, σC(R) selects those tuples that satisfy condition C while σD(R) selects those tuples that satisfy condition D. However, the union operator will eliminate duplicate tuples, namely those tuples that satisfy both condition C and D. Thus we are ensured that both sides are equivalent.As an example for bags, we only need to look at the union operator. If there are indeed tuples that satisfy both conditions C and D, then the right hand side will contain duplicate copies of those tuples. The left hand side, however, will only have one copy for each tuple of the original set of tuples.tidempotent.Exercise result of πL is a relation over the list of attributes L. Performing the projection again will return the same relation because the relation only contains the list of attributes L. Thus πL is idempotent.Exercise result of σC is a relation where condition C is satisfied by every tuple. Performing the selection again will return the same relation because the relation only contains tuples that satis fy the condition C. Thus σC is idempotent.Exercise result of γL is a relation whose schema consists of the grouping attributes and the aggregated attributes. If we perform the same grouping operation, there is no guarantee that the expression would make sense. The grouping attributes will still appear in the new result. However, the aggregated attributes may or may not appear correctly. If the aggregated attribute is given a different name than the original attribute, then performing γL would not make sense because it contains an aggregation for an attribute name that does not exist. In this case, the resulting relation would, according to the definition, only contain the grouping attributes. Thus, γL is not idempotent.Exercise result of τ is a sorted list of tuples based on some attributes L. If L is not the entire schema of relation R, then there are attributes that are not sorted on. If in relation R there are two tuples that agree in all attributes L and disagree in some of the remaining attributes not in L, then it is arbitrary as to which order these two tuples appear in the result. Thus, performing the operation τ multiple times can yield a different relation where these two tuples are swapped. Thus, τ is not idempotent.Exercise we only conside r sets, then it is possible. We can take πA(R) and do a product with itself. From this product, we take the tuples where the two columns are equal to each other.If we consider bags as well, then it is not possible. Take the case where we have the two tuples (1,0) and (1,0). We wish to produce a relation that contains tuples (1,1) and (1,1). If we use the classical operations of relational algebra, we can either get a result where there are no tuples or four copies of the tuple (1,1). It is not possible to get the desired relation because no operation can distinguish between the original tuples and the duplicated tuples. Thus it is not possible to get the relation with the two tuples (1,1) and (1,1).a)Exercise ← PC(model,speed,_,_,_) AND speed ≥b)c)Answer(m aker) ← Laptop(model,_,_,hd,_,_) AND Product(maker,model,_) AND hd ≥ 100d)e)Answer(model,price) ← PC(model,_,_,_,price) AND Product(maker,model,_) ANDmaker=’B’f)Answer(model,price) ← Laptop(model,_,_,_,_,price) AND Product(maker,model,_) ANDmaker=’B’g)Answer(model,price) ← Printer(model,_,_,price) AND Product(maker,model,_) ANDmaker=’B’h)i)Answer(model) ← Printer(model,color,type,_) AND color=’true’ AND type=’laser’j)k)PCMaker(maker) ← Product(maker,_,type) AND type=’pc’l)LaptopMaker(maker) ← Product(maker,_,type) AND type=’laptop’m)Answer(maker) ← LaptopMaker(maker) AND NOT PCMaker(maker)n)o)Answer(hd) ← PC(model1,_,_,hd,_) AND PC(model2,_,_,hd,_) AND model1 <> model2 p)q)Answer(model1,model2) ← PC(model1,speed, ram,_,_) AND PC(model2,_speed,ram,_,_) AND model1 < model2r)s)FastComputer(model) ← PC(model,speed,_,_,_) AND speed ≥t)FastComputer(model) ← Laptop(model,speed,_,_,_,_) AND speed ≥u)Answer(maker) ← Product(maker,model1,_) AND Product(maker,model2,_) AND FastComputer(model1) AND FastComputer(model2) AND model1 <> model2 v)w)Computers(model,speed) ← PC(model,speed,_,_,_)x)Computers(model,speed) ← Laptop(model,speed,_,_,_,_)y)SlowComputers(model) ← Computers(model,speed) AND Computers(model1,speed1) AND speed < speed1z)FastestComputers(model) ← Computers(model,_) AND NOT Sl owComputers(model) aa)Answer(maker) ← Fast estComputers(model) AND Product(maker,model,_)bb)cc)PCs(maker,speed) ← PC(model,speed,_,_,_) AND Product(maker,model,_)dd)Answer(maker) ← PCs(maker,speed) AND PCs(maker,speed1) AND PCs(maker,speed2) AND speed <> speed1 AND speed <> speed2 AND speed1 <> speed2ee)ff)PCs(maker,model) ← Product(maker,model,type) AND type=’pc’gg)Answer(maker) ← PCs(maker,model) AND PCs(maker,model1) AND PCs(maker,model2) AND PCs(maker,model3) AND model <> model1 AND model <> model2 AND model1 <> model2 AND (model3 = model OR model3 = model1 OR model3 = model2)a)Exercise ← Classes(class,_,country,_,bore,_) AND bore ≥ 16b)c)Answer(name) ← Ships(name,_,launched) AND launched < 1921d)e)Answer(ship) ← Outcomes(ship,battle,result) AND battle=’Denmark Strait’ AND result =‘sunk’f)g)Answer(name) ← Classes(class,_,_,_,_,displacement) AND Ships(name,class,launched)AND displacement > 35000 AND launched > 1921h)i)Answer(name,displacement,numGuns) ← Classes(class,_,_,numGuns,_,displacement)AND Ships(name,class,_) AND Outc omes (ship,battle,_) AND battle=’Guadalcanal’ AND ship=namej)k)Answer(name) ← Ships(name,_,_)l)Answer(name) ← Outcomes(name,_,_) AND NOT Answer(name)m)n)MoreThanOne(class) ← Ships(name,class,_) AND Ships(name1,class,_) AND name <> name1o)Answer(class) ← Classes(class,_,_,_,_,_) AND NOT MoreThanOne(class)p)q)Battleship(country) ← Classes(_,type,country,_,_,_) AND type=’bb’r)Battlecruiser(country) ← Classes(_,type,country,_,_,_) AND type=’bc’s)Answer(country) ← Battleship(country) AND Battlecruiser(country)t)u)Results(sh ip,result,date) ← Battles(name,date) AND Outcomes(ship,battle,result) AND battle=namev)Answer(ship) ← Results(ship,result,date) AND Results(ship,_,date1) AND result=’damaged’ AND date < date1Exercise ← R(x,y) AND z = zExercise ← R(a,b,c)Answer(a,b,c) ← S(a,b,c)Exercise ← R(a,b,c) AND S(a,b,c)Exercise ← R(a,b,c) AND NOT S(a,b,c)Exercise Union ← R(a,b,c)Union(a,b,c) ← S(a,b,c)Answer(a,b,c) ← Union(a,b,c) AND NOT T(a,b,c) Exercise ← R(a,b,c) AND NOT S(a,b,c)K(a,b,c) ← R(,a,b,c) AND NOT T(a,b,c) Answer(a,b,c) ← J(a,b,c) AND K(a,b,c) Exercise ← R(a,b,_)Exercise ← R(a,b,_)K(a,b) ← S(_,a,b)Answer(a,b) ← J(a,b) AND K(a,b)Exercise ← R(x,y,z) AND x = yExercise ← R(x,y,z) AND x < y AND y < z Exercise ← R(x,y,z) AND x < yAnswer(x,y,z) ← R(x,y,z) AND y < zExercise NOT(x < y OR x > y)To: x ≥ y AND x ≤ yThe above simplifies to x = yAnswer(x,y,z) ← R(x,y,z) AND x = yExercise NOT((x < y OR x > y) AND y < z)NOT(x < y OR x > y) OR y ≥ z(x ≥ y AND x ≤ y) OR y ≥ zTo: x = y O R y ≥ zAnswer(x,y,z) ← R(x,y,z) AND x = yAnswer(x,y,z) ← R(x,y,z) AND y ≥ zExercise NOT((x < y OR x < z) AND y < z)NOT(x < y OR x < z) OR y ≥ z To: (x ≥ y AND x ≥ z) OR y ≥ z Answer(x,y,z) ← R(x,y,z) AND x ≥ y AND x ≥ z Answer(x,y,z) ← R(x,y,z) AND y ≥zExercise ← R(a,b,c) AND S(b,c,d)Exercise ← S(b,c,d) AND T(d,e)Exercise ← R(a,b,c) AND S(b,c,d) AND T(d,e)a)Exercise ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = syb)c)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx < sy AND ry < szd)e)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx < syf)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry < szg)h)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = syi)j)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = syk)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry ≥ szl)m)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx ≥ sy AND rx ≥ sz n)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry ≥ szExercise := πx,y(Q R)Exercise := ρR1(x,z)(Q)R2 := ρR2(z,y)(Q)R3 := πx,y(R1 = R2)Exercise := πx,y(Q R)R2 := σx < y(R1)。
数据库原理及应用第5章课后习题答案

习题51、 理解并给出下列术语的定义:1)设R(U)是一个属性集U 上的关系模式,X 和Y 是U 的子集。
若对于R(U)的任意一个可能的关系r ,r 中不可能存在两个元组在X 上的属性值相等, 而在Y 上的属性值不等, 则称 X 函数确定Y 或 Y 函数依赖于X ,记作X →Y 。
2) 完全函数依赖在R(U)中,如果X →Y ,并且对于X 的任何一个真子集X ’,都有Y 不函数依赖于X ’ ,则称Y 对X 完全函数依赖,记作Y X F −→−3) 部分函数依赖若X →Y ,但Y 不完全函数依赖于X ,则称Y 对X 部分函数依赖,记作Y X p−→−4) 传递函数依赖在R(U)中,如果X →Y ,(Y ⊆X) , Y →X ,Y →Z , 则称Z 对X 传递函数依赖。
记为:Z X T −→−注: 如果Y →X , 即X ←→Y ,则Z 直接依赖于X 。
5)候选码设K 为R (U,F )的属性或属性组合。
若U K F →, 则K 称为R 的侯选码。
6)主码:若候选码多于一个,则选定其中的一个作为主码。
7)外码:关系模式 R 中属性或属性组X 并非 R 的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key )也称外码8)如果一个关系模式R 的所有属性都是不可分的基本数据项,则R ∈1NF.9)若R ∈1NF ,且每一个非主属性完全函数依赖于码,则R ∈2NF 。
10)如果R(U,F )∈2NF ,并且所有非主属性都不传递依赖于主码,则R(U,F )∈3NF 。
11)关系模式R (U ,F )∈1NF ,若X →Y 且Y ⊆ X 时X 必含有码,则R (U ,F ) ∈BCNF 。
12)关系模式R<U ,F>∈1NF ,如果对于R 的每个非平凡多值依赖X →→Y (Y ⊆ X ),X 都含有码,则R ∈4NF 。
2、 关系规范化的操作异常有哪些?1) 数据冗余大2) 插入异常3) 删除异常4) 更新异常3、 第一范式、第二范式和第三范式关系的关系是什么?4、 已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A->D,B->C,E-> A},该关系模式的候选码是什么?候选码为:(E,B)5、 已知学生表(学号,姓名,性别,年龄,系编号,系名称),存在的函数依赖集合是{学号->姓名,学号->性别,学号->年龄,学号->系编号,系编号->系名称},判断其满足第几范式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五、六章练习题一、选择题1、在关系数据库设计中,子模式设计是在__________阶段进行。
[ B]A.物理设计 B.逻辑设计 C.概念设计 D.程序设计2、设有关系R(A,B,C)的值如下:A B C2 2 32 3 43 3 5下列叙述正确的是(B)A.函数依赖A→B在上述关系中成立B.函数依赖BC→A在上述关系中成立C.函数依赖B→A在上述关系中成立D.函数依赖A→BC在上述关系中成立3、数据库设计阶段分为( D )A. 物理设计阶段、逻辑设计阶段、编程和调试阶段B. 模型设计阶段、程序设计阶段和运行阶段C. 方案设计阶段、总体设计阶段、个别设计和编程阶段D. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段4、下列说法中不正确的是(C)。
A. 任何一个包含两个属性的关系模式一定满足3NFB. 任何一个包含两个属性的关系模式一定满足BCNFC. 任何一个包含三个属性的关系模式一定满足3NFD. 任何一个关系模式都一定有码5、设有关系模式R(A,B,C,D),F是R上成立的函数依赖集,F={B→C,C→D},则属性C的闭包C+为( C )A.BCDB.BDC.CDD.BC6、在数据库设计中,将ER图转换成关系数据模型的过程属于( B )A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段7、下述哪一条不是由于关系模式设计不当而引起的?( B)A) 数据冗余B) 丢失修改C) 插入异常D) 更新异常8、下面关于函数依赖的叙述中,不正确的是( B)A) 若X→Y,X→Z,则X→YZB) 若XY→Z,则X→Z,Y→ZC) 若X→Y,Y→Z,则X→ZD) 若X→Y,Y′ Y,则X→Y′9、设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。
下面关于多值依赖的叙述中,不正确的是(C)A) 若X→→Y,则X→→ZB) 若X→Y,则X→→YC) 若X→→Y,且Y′⊂ Y,则X→→Y′D) 若Z=Φ,则X→→Y第(10)至(12)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学生根据语义有如下函数依赖集: F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}10、关系模式A的码是(D)A) C B) (H,R)C)(H,T)D)(H,S)11、关系模式A的规范化程度最高达到(B)A) 1NF B) 2NF C) 3NF D) BCNF12、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到(D)A) 1NF B) 2NF C) 3NF D) BCNF13、下述哪一条不属于概念模型应具备的性质?(D)A) 有丰富的语义表达能力B) 易于交流和理解C) 易于变动D) 在计算机中实现的效率高14、在下面列出的条目中,哪个(些)是当前应用开发工具的发展趋势?(D)Ⅰ.采用三层或多层Client/Server结构Ⅱ.支持Web应用Ⅲ.支持开放的、构件式的分布式计算环境A) Ⅰ和ⅡB) 只有ⅡC) 只有ⅢD) 都是15、下面所列的工具中,不能用于数据库应用系统界面开发的工具是(C)A) Visual Basic B) DelphiC) PowerDesigner D) PowerBuilder16、设关系模式R{A,B,C,D,E},其上函数依赖集F={AB→C,DC→E,D→B},则可导出的函数依赖是(A)。
A.AD→E B.BC→E C.DC→AB D.DB→A17、在关系模式R(A,B,C)中,有函数依赖集F={AB→C,BC→A},则R最高达到(D )。
A.第一范式B.第二范式C.第三范式D.BC范式18、下列属于逻辑结构设计阶段任务的是(C )。
A.生成数据字典 B.集成局部E-R图C.将E-R图转换为一组关系模式 D.确定数据存取方法19、关系模式R中的属性全部是主属性,则R至少是(C)范式的关系模式A、1NFB、2NFC、3NFD、BCNF20、关系模式SJP(S,J,P)中,S是学生,J是课程,P是名次。
每一个学生选修每门课程的成绩有一定的名次,每门课程中每一个名次只有一个学生(无并列)。
该关系模式属于(C)A、2NFB、3NFC、BCNFD、4NF21、ODBC中的“数据源”概念是( C )A、代表一个DBS的命名B、代表一个数据库的命名C、代表驱动器和DBMS连接命名D、代表一个磁盘的命名22、将局部E-R图集成为全局E-R图时,可能存在3类冲突,下面对这些冲突的描述中,不属于这3类冲突的是(D)A、属性冲突B、结构冲突C、命名冲突D、模式冲突23、ODBC技术中,数据源分为除了( B )以外的三种。
A、用户数据源B、网络数据源C、系统数据源D、文件数据源24、ODBC是指( C )A、对象数据为约束B、面向数据库约束C、开放式数据互联D、开放式数据库约束25、在数据库设计中,将E—R图转换成关系数据模型的过程属于(A)A、逻辑设计阶段B、需求分析阶段C、概念设计阶段D、物理设计阶段26、当关系模式R(A,B)已属于3NF,下列说法中(C )是正确的。
A、它一定消除了插入和删除异常B、一定属于BCNFC、仍存在一定的插入和删除异常D、A和B都是27、在关系模式中,如果属性A和B存在1对1的联系,则说(C )A、A→BB、B→AC、A←→BD、以上都不是28、关系数据库规范化是为解决关系数据库中(D )A、插入、删除和数据冗余B、提高查询速度C、减少数据操作的复杂性D、保证数据的安全性和完整性29、对于关系数据库,任何二元关系模式都可以达到(A )A、1NFB、2NFC、3NFD、BCNF30、概念结构设计阶段得到的结果是( B )A、数据字典描述的数据需求B、E—R图表示的概念模型C、某个DBMS所支持的数据模型D、包括存储结构和存取方法的物理结构二、填空题1、在关系数据库中,规范化关系是指_满足1NF(或属性值不可分解)2、在设计分E-R图时,由于各个子系统分别面向不同的应用,所以各个分E-R图之间难免存在冲突,这些冲突主要包括命名冲突、_属性冲突和_结构冲突三类。
3、在函数信赖中,平凡的函数信赖根据Armstrong推理规则中的___自反___律就可推出。
4、将E-R图中的实体和联系转换为关系模型中的关系,这是数据库设计过程中逻辑结构或逻辑设计阶段的任务。
5、关系模式规范化过程中,若要求分解保持函数依赖,那么模式分解一定可以达到3NF,但不一定能达到BCNF。
6、一个不好的关系模式会存在_插入异常_、_删除异常_和___数据冗余及修改异常等弊端。
7、函数依赖讨论的是属性之间的对应关系8、包含在候选码中的属性称为主属性。
9、把低级范式的关系模式,通过模式分解转换为高一级范式的关系模式的集合,这个过程称为关系模式的规范化设计。
10、在规范化设计中,消除1NF中的非主属性对码的部分函数依赖,就得到2NF,,消除2NF中的非主属性对码的传递函数依赖,就得到3NF。
三、判断题(20分)1、查询分析器是一个真正的分析工具,它不仅能执行T——SQL语句,而且对查询语句的执行进行分析,给出查询计划。
(√)2、在建立用户的登录帐号信息时,SQL SERVER会提示用户选择默认的数据库,以后用户每次连接上服务器之后,都会自动转到默认的数据库。
(√)3、SQL SERVER 在服务器和数据库级的安全级别上都设置了角色,其中角色是用户分配权限的单位。
SQL SERVER 允许用户在服务器级别上创建角色,但是为数据库安全,不允许在数据库级上建立新的角色。
(×)4、一般情况下,一个简单的数据库可以只有一个主数据文件和一个事务日志文件。
如果数据库很大,则可以设置多个次要数据文件和事务日志文件,并将它们放在不同的磁盘上。
(√)5、规则创建后,必须绑定到表中某一列或用户定义数据类型上才能生效。
(√)6、SQL SERVER 中的索引可分为索引优化与索引组合,其中索引组合不改变表中数据行的物理存储顺序,数据与索引分开存储。
(×)7、触发器就其本质而言是一种特殊的存储过程。
存储过程和触发器在数据库的开发中,在维护数据库实体完整性等方面具有不可替代的作用。
(×)8、数据库备份的类型只有两种,分别是数据库备份、事务日志备份;恢复模式只有三种:简单恢复、完全恢复和日志恢复。
(×)9、数据复制是SQL SERVER的主要功能之一。
复制有三种类型,其中对于复制不经常更改的数据,或不要求保持数据最新值(低滞后时间)的情况,合并复制是一种最好的数据复制方法。
(×)10、当关系模式已属于3NF时一定消除了所有异常。
(×)。