重庆大学数据库第五章习题

合集下载

数据库第五章习题及答案

数据库第五章习题及答案

数据库第五章习题及答案本文档为数据库第五章的习题及答案,帮助读者巩固数据库相关知识。

习题1. 数据库的优点有哪些?数据库具有以下优点: - 数据共享:多个用户可以同时访问和共享数据库中的数据。

- 数据一致性:数据库提供事务管理能力,保证了数据的一致性。

- 数据持久性:数据在数据库中是永久存储的,不会因为系统关机或程序结束而丢失。

- 数据冗余度低:数据库通过规范化设计,减少了数据的冗余性,提高了数据的存储效率。

- 数据独立性:数据库支持数据与应用程序的独立性,提高了系统的灵活性和维护性。

- 数据安全性:数据库提供了用户权限管理和数据备份机制,保证了数据的安全性。

2. 数据库的三级模式结构是什么?数据库的三级模式结构包括: - 外模式(视图层):外模式是用户所看到的数据库的子集,用于描述用户对数据库的逻辑视图。

每个用户可以有不同的外模式来满足自己的需求。

- 概念模式(逻辑层):概念模式是全局数据库的逻辑结构和组织方式,描述了数据的总体逻辑视图。

概念模式独立于具体的应用程序,是数据库管理员的角度来看待数据库的。

- 内模式(物理层):内模式是数据库的存储结构和物理组织方式,描述了数据在存储介质上的实际存储方式。

3. 数据库的完整性约束有哪些?数据库的完整性约束包括: - 实体完整性约束:确保表的主键不为空,每个实体都能够唯一标识。

- 参照完整性约束:确保外键的引用关系是有效的,即外键值必须等于被引用表中的主键值或者为空。

- 用户定义完整性约束:用户可以自定义额外的完整性约束,如检查约束、唯一约束、默认约束等。

4. 数据库的关系模型有哪些特点?数据库的关系模型具有以下特点: - 数据用二维表的形式进行组织,表由行和列组成,每一行表示一个实体,每一列表示一个属性。

- 表与表之间通过主键和外键建立关联关系,形成关系。

- 关系模型提供了一种数据独立性的设计方法,使得应用程序与数据的逻辑结构相分离,提高了系统的灵活性和可维护性。

数据库系统概论第五版课后习题答案

数据库系统概论第五版课后习题答案

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。

答:( l )数据( Data ) :描述事物的符号记录称为数据。

数据的种类有数字、文字、图形、图像、声音、正文等。

数据与其语义就是不可分的。

解析在现代计算机系统中数据的概念就是广义的。

早期的计算机系统主要用于科学计算,处理的数据就是整数、实数、浮点数等传统数学中的数据。

现代计算机能存储与处理的对象十分广泛,表示这些对象的数据也越来越复杂。

数据与其语义就是不可分的。

500这个数字可以表示一件物品的价格就是 500元,也可以表示一个学术会议参加的人数有 500人,还可以表示一袋奶粉重 500克。

( 2 )数据库( DataBase ,简称 DB ) :数据库就是长期储存在计算机内的、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述与储存,具有较小的冗余度、较高的数据独立性与易扩展性,并可为各种用户共享。

( 3 )数据库系统( DataBas。

Sytem ,简称 DBS ) :数据库系统就是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

解析数据库系统与数据库就是两个概念。

数据库系统就是一个人一机系统,数据库就是数据库系统的一个组成部分。

但就是在日常工作中人们常常把数据库系统简称为数据库。

希望读者能够从人们讲话或文章的上下文中区分“数据库系统”与“数据库”,不要引起混淆。

( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统就是位于用户与操作系统之间的一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。

DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立与维护功能。

解析 DBMS就是一个大型的复杂的软件系统,就是计算机中的基础软件。

目前,专门研制 DBMS的厂商及其研制的 DBMS产品很多。

数据库系统概论(第五版)王珊第五章课后习题答案

数据库系统概论(第五版)王珊第五章课后习题答案

数据库系统概论(第五版)王珊第五章课后习题答案1什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。

2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系?答:数据的完整性和安全性是两个不同的概念,但是有⼀定的联系。

前者是为了防⽌数据库中存在不符合语义的数据,防⽌错误信息的输⼊和输出,即所谓垃圾进垃圾出( Garba : e In Garba : e out )所造成的⽆效操作和错误结果。

后者是保护数据库防⽌恶意的破坏和⾮法的存取。

也就是说,安全性措施的防范对象是⾮法⽤户和⾮法操作,完整性措施的防范对象是不合语义的数据。

3 .什么是数据库的完整性约束条件?可分为哪⼏类?答完整性约束条件是指数据库中的数据应该满⾜的语义约束条件。

⼀般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

静态列级约束是对⼀个列的取值域的说明,包括以下⼏个⽅⾯: ( l )对数据类型的约束,包括数据的类型、长度、单位、精度等; ( 2 )对数据格式的约束; ( 3 )对取值范围或取值集合的约束; ( 4 )对空值的约束; ( 5 )其他约束。

静态元组约束就是规定组成⼀个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

静态关系约束是在⼀个关系的各个元组之间或者若⼲关系之间常常存在各种联系或约束。

常见的静态关系约束有: ( l )实体完整性约束; ( 2 )参照完整性约束; ( 3 )函数依赖约束。

动态列级约束是修改列定义或列值时应满⾜的约束条件,包括下⾯两⽅⾯: ( l )修改列定义时的约束; ( 2 )修改列值时的约束。

动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满⾜某种约束条件。

动态关系约束是加在关系变化前后状态上的限制条件,例如事务⼀致性、原⼦性等约束条件。

4 . DBMS 的完整性控制机制应具有哪些功能?答:DBMS 的完整性控制机制应具有三个⽅⾯的功能: ( l )定义功能,即提供定义完整性约束条件的机制; ( 2 )检查功能,即检查⽤户发出的操作请求是否违背了完整性约束条件;( 3 )违约反应:如果发现⽤户的操作请求使数据违背了完整性约束条件,则采取⼀定的动作来保证数据的完整性。

数据库系统基础教程课后答案第五章

数据库系统基础教程课后答案第五章

Exercise 5.1.1 As a set:Average = 2.37 As a bag:Average = 2.48 Exercise 5.1.2 As a set:Average = 218 As a bag:Average = 215 Exercise 5.1.3a As a set:As a bag:Exercise 5.1.3bπbore(Ships Classes)Exercise 5.1.4aFor bags:On the left-hand side:Given bags R and S where a tuple t appears n and m times respectively, the union of bags R and S will have tuple t appear n + m times. The further union of bag T with the tuple 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 of bags R and S will have tuple t appear m + o times. The further union of bag R with the tuple 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 5.1.4bFor bags:On the left-hand side:Given bags R and S where a tuple t appears n and m times respectively, the intersectionof 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 thefinal 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 5.1.4cFor 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 tin 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 rin 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 5.1.4dFor 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 5.1.4eFor 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 5.1.4fFor 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 Rand 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 5.1.4gFor 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 5.1.4hFor 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 5.1.4iSuppose 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 5.1.5aFor 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 5.1.5bFor 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 5.1.5cFor sets, an arbitrary tuple t appears on the left hand side if it satisfies condition C, condition Dor 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.Exercise 5.2.1bExercise 5.2.1cExercise 5.2.1dExercise 5.2.1fExercise 5.2.1gExercise 5.2.1hExercise 5.2.1iExercise 5.2.1jExercise 5.2.1kExercise 5.2.1lExercise 5.2.1mExercise 5.2.1nExercise 5.2.2aApplying the δ operator on a relation with no duplicates will yield the same relation. Thus δ is idempotent.Exercise 5.2.2bThe 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 5.2.2cThe 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 satisfy the condition C. Thus σC is idempotent.Exercise 5.2.2dThe 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 resultingrelation would, according to the definition, only contain the grouping attributes. Thus, γL is not idempotent.Exercise 5.2.2eThe 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 5.2.3If we only consider 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).Exercise 5.3.1a)Answer(model) ← PC(model,speed,_,_,_) AND speed ≥ 3.00b)Answer(maker) ← Laptop(model,_,_,hd,_,_) AND Product(maker,model,_) AND hd ≥100c)Answer(model,price) ← PC(model,_,_,_,price) AND Product(maker,model,_) ANDmaker=’B’Answer(model,price) ← Laptop(mode l,_,_,_,_,price) AND Product(maker,model,_)AND maker=’B’Answer(model,price) ← Printer(model,_,_,price) AND Product(maker,model,_) ANDmaker=’B’d)Answer(model) ← Printer(model,color,type,_) AND color=’true’ AND type=’laser’e)PCMaker(maker) ← Product(maker,_,type) AND type=’pc’LaptopMaker(maker) ← Product(maker,_,type) AND type=’laptop’Answer(maker) ← LaptopMaker(maker) AND NOT PCMaker(maker)f)Answer(hd) ← PC(model1,_,_,hd,_) AND PC(model2,_,_,hd,_) AND model1 <>model2g)Answer(model1,model2) ← PC(model1,speed, ram,_,_) ANDPC(model2,_speed,ram,_,_) AND model1 < model2h)FastComputer(model) ← PC(model,speed,_,_,_) AND speed ≥ 2.80FastComputer(model) ← Laptop(model,speed,_,_,_,_) AND speed ≥ 2.80Answer(maker) ← Product(maker,model1,_) AND Product(maker,mod el2,_) ANDFastComputer(model1) AND FastComputer(model2) AND model1 <> model2i)Computers(model,speed) ← PC(model,speed,_,_,_)Computers(model,speed) ← Laptop(model,speed,_,_,_,_)SlowComputers(model) ← Computers(model,speed) AND Computers(model1,speed1)AND speed < speed1FastestComputers(model) ← Computers(model,_) AND NOT SlowComputers(model)Answer(maker) ← Fast estComputers(model) AND Product(maker,model,_)j)PCs(maker,speed) ← PC(model,speed,_,_,_) AND Product(maker,model,_) Answer(maker) ← PCs(maker,spe ed) AND PCs(maker,speed1) AND PCs(maker,speed2) AND speed <> speed1 AND speed <> speed2 AND speed1 <> speed2k)PCs(maker,model) ← Product(maker,model,type) AND type=’pc’Answer(maker) ← PCs(maker,model) AND PCs(maker,model1) ANDPCs(maker,model2) AND PCs(maker,model3) AND model <> model1 AND model <>model2 AND model1 <> model2 AND (model3 = model OR model3 = model1 ORmodel3 = model2)Exercise 5.3.2a)Answer(class,country) ← Classes(class,_,country,_,bore,_) AND bore ≥ 16b)Answer(name) ← Ships(name,_,launch ed) AND launched < 1921c)Answer(ship) ← Outcomes(ship,battle,result) AND battle=’Denmark Strait’ AND result= ‘sunk’d)Answer(name) ← Classes(class,_,_,_,_,displacement) AND Ships(name,class,launched)AND displacement > 35000 AND launched > 1921e)Answer(nam e,displacement,numGuns) ← Classes(class,_,_,numGuns,_,displacement)AND Ships(name,class,_) AND Outcomes (ship,battle,_) AND battle=’Guadalcanal’AND ship=namef)Answer(name) ← Ships(name,_,_)Answer(name) ← Outcomes(name,_,_) AND NOT Answer(name)g)MoreThan One(class) ← Ships(name,class,_) AND Ships(name1,class,_) AND name <>name1Answer(class) ← Classes(class,_,_,_,_,_) AND NOT MoreThanOne(class)h)Battleship(country) ← Classes(_,type,country,_,_,_) AND type=’bb’Battlecruiser(country) ← Classes(_,type,country,_,_,_) AND type=’bc’Answer(country) ← Battleship(country) AND Battlecruiser(country)i)Results(ship,result,date) ← Battles(name,date) AND Outcomes(ship,battle,result) ANDbattle=nameAnswer(ship) ← Results(ship,result,date) AND Results(ship,_,date1) ANDresult=’damaged’ AND date < date1Exercise 5.3.3A nswer(x,y) ← R(x,y) AND z = zExercise 5.4.1aAnswer(a,b,c) ← R(a,b,c)Answer(a,b,c) ← S(a,b,c)Exercise 5.4.1bAnswer(a,b,c) ← R(a,b,c) AND S(a,b,c)Exercise 5.4.1cAnswer(a,b,c) ← R(a,b,c) AND NOT S(a,b,c)Exercise 5.4.1dUnion(a,b,c) ← 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 5.4.1eJ(a,b,c) ← 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 5.4.1fAnswer(a,b) ← R(a,b,_)Exercise 5.4.1gJ(a,b) ← R(a,b,_)K(a,b) ← S(_,a,b)Answer(a,b) ← J(a,b) AND K(a,b)Exercise 5.4.2aAnswer(x,y,z) ← R(x,y,z) AND x = yExercise 5.4.2bAnswer(x,y,z) ← R(x,y,z) AND x < y AND y < z Exercise 5.4.2cAnswer(x,y,z) ← R(x,y,z) AND x < yAnswer(x,y,z) ← R(x,y,z) AND y < zExercise 5.4.2dChange: 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 5.4.2eChange: 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 OR y ≥ zAnswer(x,y,z) ← R(x,y,z) AND x = yAnswer(x,y,z) ← R(x,y,z) AND y ≥ zExercise 5.4.2fChange: 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 ≥ zAnswer(x,y,z) ← R(x,y,z) AND x ≥ y AND x ≥ zAnswer(x,y,z) ← R(x,y,z) AND y ≥zExercise 5.4.3aAnswer(a,b,c,d) ← R(a,b,c) AND S(b,c,d)Exercise 5.4.3bAnswer(b,c,d,e) ← S(b,c,d) AND T(d,e)Exercise 5.4.3cAnswer(a,b,c,d,e) ← R(a,b,c) AND S(b,c,d) AND T(d,e)Exercise 5.4.4a)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = syb)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx < sy AND ry < szc)Answer(rx,ry,rz,sx,sy,s z) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx < syAnswer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry < szd)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = sye)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx = syAnswe r(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry ≥ szf)Answer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND rx ≥ sy AND rx ≥ szAnswer(rx,ry,rz,sx,sy,sz) ← R(rx,ry,rz) AND S(sx,sy,sz) AND ry ≥ szExercise 5.4.5aR1 := πx,y(Q R)Exercise 5.4.5bR1 := ρR1(x,z)(Q)R2 := ρR2(z,y)(Q)R3 := πx,y(R1 (R1.z = R2.z) R2)Exercise 5.4.5cR1 := πx,y(Q R)R2 := σx < y(R1)。

最新数据库系统概论第5版(王珊、萨师煊)课后答案第5章-数据库完整性

最新数据库系统概论第5版(王珊、萨师煊)课后答案第5章-数据库完整性

第5章数据库完整性1.什么是数据库的完整性?答: 数据库的完整性是指数据的正确性和相容性。

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?答: 数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In Garba : e out )所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

3.什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。

4.关系DBMS 的完整性控制机制应具有哪些功能?答: DBMS 的完整性控制机制应具有三个方面的功能:1)定义功能,即提供定义完整性约束条件的机制;2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

5.关系DBMS 在实现参照完整性时需要考虑哪些方面?答:关系DBMS 在实现参照完整性时需要考虑以下几个方面:1)外码是否可以接受空值。

2)被参照关系中删除元组或修改主码时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行< NO ACTION >(默认策略)、级联操作<CASCADE>、设置为空值。

3)参照关系中插入或修改元组时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作(CASCADE)、设置为空值。

数据库第五章习题及答案

数据库第五章习题及答案

第五章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。

A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。

A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( c ),主关键字有( 1个 )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。

A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。

A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、 填空题1、如果模式是BCNF ,则模式R 必定是(3NF ),反之,则( 不一定 )成立。

(完整版)数据库原理第五版习题答案

(完整版)数据库原理第五版习题答案
第1章绪论
1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:
( l)数据(Data ):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。500这个数字可以表示一件物品的价格是500元,也可以表示一个学术会议参加的人数有500人,还可以表示一袋奶粉重500克。
20.试述数据库系统三级模式结构,这种结构的优点是什么?
答:
数据库系统的三级模式结构由外模式、模式和内模式组成。(参见书上图1 . 29 )外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMs管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
答:
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。( l)关系:一个关系对应通常说的一张表;( 2)属性:表中的一列即为一个属性;( 3)域:属性的取值范围;( 4)元组:表中的一行即为一个元组;( 5)主码:表中的某个属性组,它可以惟一确定一个元组;( 6)分量:元组中的一个属性值;( 7)关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n )

数据库应用基础第5章习题参考答案

数据库应用基础第5章习题参考答案

1.选择题(1)SQL 语言中,删除一个视图的命令是( B )。

A. DELETEB. DROPC. CLEARD. REMOVE(2)建立索引的作用之一是 ( D )。

A . 节省存储空间 B. 便于管理C . 提高查询速度 D. 提高查询和更新的速度(3)以下关于主索引和候选索引的叙述正确的是 ( C )。

A .主索引和候选索引都能保证表记录的惟一性B .主索引和候选索引都可以建立在数据库表和自由表上C .主索引可以保证表记录的惟一性,而候选索引不能D .主索引和侯选索引是相同的概念(4)在数据库设计器中,不能完成的操作是( )。

A .创建数据表关联BC .修改关联中的主键表和外键表D .删除关联 (5)下面所列条目中,( C )不是标准的SQL 语句。

A. ALTER TABLE B. CREATE TABLE C. ALTER VIEW D. CREATE VIEW2.填空题(1)索引是数据库中一种特殊类型的对象,它与( 数据库表 )有着紧密的关系。

(2)在数据库中,索引使数据库程序无需对整个表进行( 扫描 ),就可以在其中找到所需数据。

(3)在SQL Server 2000中可创建3种类型的索引,即惟一性索引、( 主键索引 )和聚集索引。

(4)视图是一个( 虚拟表 ),并不包含任何的物理数据。

(5)视图属性包括视图( 视图名称、权限、所有者、创建日期 )和用于创建视图的文本等几个方面。

3.问答题(1)聚集索引与非聚集索引之间有哪些不同点?在一个表中是否可以建立多少个聚集索引和非聚集索引?答:在建立了聚集索引的基本表中,表中各记录的物理顺序与索引键值的逻辑顺序相同;数据表中数据更改后需要对记录重新物理排序。

而在只建立了非聚集索引的表中,记录的物理顺序不一定与索引键值保持一致;数据表中数据更改后,不需要对表中记录重新排序,只需要更新对应的索引即可。

一个基本表中只能建立一个聚集索引,但可以建立多个非聚集索引。

数据库设计及应用试题(参考答案)

数据库设计及应用试题(参考答案)
student (stuid char(8), name char(10, gender char(2), birthday date, department char(30))
course (courseid char(6), coursename char(30), credit smallint )
要求:(1)程序必须结构完整;(2)所有对象和控件的名称自定(命名符合PB规范);(3)写出数据窗口对象所需数据源的SELECT语句。
对象:
Application对象:student
Windows对象:w_main
W_main上的控件:
Statictext:st_1
Statictext:st_2
Singlelineedit:sle_1
Alter table stu_information
Add
Constraint 2w_1 default ‘重庆’ for city
Constraint 2w_2 default ‘未知’ for家庭住址
Constraint 2w_3 check(邮编like([0-9], [0-9], [0-9], [0-9], [0-9], [0-9])
1重庆大学数据库设计及应用课程试题a卷参考答案系名网络学院专业信息管理与信息系统年级2002学号姓名时间120分钟闭卷题号一二三四五六七八九十总分得分一简答题每题4分共20分1简述sqlserver企业管理器和查询分析器的功能企业管理器是一种遵从mmc的用户界面使用户得以定义和运行sqlserver服务器组在服务器上执行sqlserver管理任务在服务器上定义和管理sqlserver数据库和对象登陆用户等通过唤醒调用查询分析器交互地设计和调试sql语句批处理和脚本唤醒调用sqlserver定义的各种向导

数据库设计第五章(高教版)含课后答案

数据库设计第五章(高教版)含课后答案

数据库设计第五章(⾼教版)含课后答案第5章数据库设计与ER模型5.1 基本内容分析5.1.1 本章重要概念(1)DBS⽣存期及其7个阶段的任务和⼯作,DBD过程的输⼊和输出。

(2)概念设计的重要性、主要步骤。

逻辑设计阶段的主要步骤。

(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。

采⽤ER⽅法的概念设计步骤。

(4)ER模型到关系模型的转换规则。

采⽤ER⽅法的逻辑设计步骤。

(5)ER模型的扩充:弱实体,超类和⼦类。

5.1.2 本章的重点篇幅(1)教材中P193-194的转换规则和实例。

(2)教材中P196-200的四个ER模型实例。

5.1.3 对ER模型的理解ER模型是⼈们认识客观世界的⼀种⽅法、⼯具。

ER模型具有客观性和主观性两重含义。

ER模型是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实,反映了⽤户的需求,因此ER模型具有客观性。

但ER模型⼜不等同于客观事物的本⾝,它往往反映事物的某⼀⽅⾯,⾄于选取哪个⽅⾯或哪些属性,如何表达则决定于观察者本⾝的⽬的与状态,从这个意义上说,ER模型⼜具有主观性。

ER模型的设计过程,基本上是两⼤步:·先设计实体类型(此时不要涉及到“联系”);·再设计联系类型(考虑实体间的联系)。

具体设计时,有时“实体”与“联系”两者之间的界线是模糊的。

数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,⽤“实体”与“联系”来表⽰。

另外,设计者应注意,ER模型应该充分反映⽤户需求,ER模型要得到⽤户的认可才能确定下来。

5.2 教材中习题5的解答5.1名词解释(1)·软件⼯程:研究如何⽤科学知识、⼯程⽅⾯的纪律指导软件开发的过程,以提⾼软件质量和开发效率,降低开发成本,这样的⼀门学科称为“软件⼯程”。

·软件⽣存期:软件⽣存期是指从软件的规划、研制、实现、投⼊运⾏后的维护,直到它被新的软件所取代⽽停⽌使⽤的整个期间。

数据库原理及应用第5章课后习题答案

数据库原理及应用第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章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。

答:( l )数据( Data ) :描述事物的符号记录称为数据。

数据的种类有数字、文字、图形、图像、声音、正文等。

数据与其语义是不可分的。

解析在现代计算机系统中数据的概念是广义的。

早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。

现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。

数据与其语义是不可分的。

500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。

( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

( 3 )数据库系统( DataBas 。

Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

解析数据库系统和数据库是两个概念。

数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。

但是在日常工作中人们常常把数据库系统简称为数据库。

希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。

( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。

DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。

目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。

数据库系统概论第5版(王珊、萨师煊)课后答案第5章数据库完整性

数据库系统概论第5版(王珊、萨师煊)课后答案第5章数据库完整性

数据库系统概论第5版(王珊、萨师煊)课后答案第5章数据库完整性第5章数据库完整性1.什么是数据库的完整性?答: 数据库的完整性是指数据的正确性和相容性。

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?答: 数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba : e In Garba : e out )所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

3.什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。

4.关系DBMS 的完整性控制机制应具有哪些功能?答: DBMS 的完整性控制机制应具有三个方面的功能:1)定义功能,即提供定义完整性约束条件的机制;2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

5.关系DBMS 在实现参照完整性时需要考虑哪些方面?答:关系DBMS 在实现参照完整性时需要考虑以下几个方面:1)外码是否可以接受空值。

2)被参照关系中删除元组或修改主码时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作、设置为空值。

3)参照关系中插入或修改元组时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作(CASCADE)、设置为空值。

数据库复习 第五章习题

数据库复习 第五章习题

第五章习题一、选择题:1.关系规范化中的删除操作异常是指①,插入操作异常是指②。

A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答案:①A ②D2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是____。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3.规范化理论是关系数据库进行逻辑设计的理论依据。

根据这个理论,关系数据库中的关系必须满足:其每一属性都是____。

A.互不相关的B.不可分解的C.长度可变的D.互相关联的答案:B4.关系数据库规范化是为解决关系数据库中____问题而引人的。

A.插入、删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性答案:A5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及____的缺陷。

A.数据的不一致性B.结构不合理C.冗余度大D.数据丢失答案:C6.当关系模式R(A,B)已属于3NF,下列说法中____是正确的。

A.它一定消除了插入和删除异常B.仍存在一定的插入和删除异常C.一定属于BCNF D.A和C都是答案:B7.关系模型中的关系模式至少是____。

A.1NF B.2NF C.3NF D.BCNF答案:A8.在关系DB中,任何二元关系模式的最高范式必定是____。

A.1NF B.2NF C.3NF D.BCNF答案:D9.在关系模式R中,若其函数依赖集中所有候选关键宇都是决定因素,则R最高范式是____。

A.2NF B.3NF C.4 NF D.BCNF答案:C10.当B属性函数依赖于A属性时,属性A与B的联系是____。

A.1对多B.多对1 C.多对多D.以上都不是答案:B11.在关系模式中,如果属性A和B存在1对1的联系,则说____。

A.A→B B.B→A C.A↔B D.以上都不是答案:C12.候选码中的属性称为____。

《数据库概论》第五章期末考试复习提纲+课后习题答案

《数据库概论》第五章期末考试复习提纲+课后习题答案

1.什么是数据库的完整性?
答:数据库的完整性是指数据的正确性和相容性。

2.什么是数据库的完整性约束条件?
答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

3.DBMS的完整性控制机制应具有哪三个方面的功能?
答:
①定义功能,即提供定义完整性约束条件的机制。

②检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。

③违约处理功能:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

数据库系统基础教程第五章答案

数据库系统基础教程第五章答案

Exercise 5.1.1 As a set:Average = 2。

37 As a bag:Average = 2.48 Exercise 5.1.2Average = 218 As a bag:Average = 215 Exercise 5.1.3a As a set:18As a bag:bore1516141615151418Exercise 5。

1。

3bπbore(Ships Classes)Exercise 5.1.4aFor bags:On the left-hand side:Given bags R and S where a tuple t appears n and m times respectively, the union of bags R and S will have tuple t appear n + m times。

The further union of bag T with the tuple 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。

大学数据库-第5章习题解答

大学数据库-第5章习题解答

第5章习题解答〖5.1〗简述C/S体系结构及特点。

答:C/S是分布式数据库与网络技术相结合的产物。

C/S体系结构有两层和N层之分:两层C/S数据库系统包括一个数据库服务器和多个SQL客户机;多层C/S数据库系统结构包括后端数据库服务器、中间数据库端服务器和客户机。

C/S系统的软件组成包括客户机软件、网络连接和SQL服务器软件等三部分构成。

〖5.2〗SQL Server DBMS有哪些系统数据库? 它们的主要作用是什么?答:SQL Server主要包括Master、Msdb、Model和Tempdb等4个系统数据库。

Master中内含许多系统表,用来跟踪和记录SQL Server DBMS相关信息;Msdb数据库中记录着任务计划信息、事件处理信息、数据备份及恢复信息和警告及异常信息;Model数据库是为用户数据库提供的样板,新的用户数据库都以Model数据库为基础Tempdb数据库是一个共享的工作空间,为临时表和其他临时工作提供了一个存储区。

〖5.3〗试述登录名与数据库用户、数据库用户和角色之间的关系。

答:登录名是服务器合法用户,数据库用户是具体数据库合法使用者,用户必须首先是登陆。

角色是由一个或多个用户组成的职能组,用户加入角色可以获得相应的操作权限。

〖5.4〗试述表和视图之间的不同的关系。

答:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。

视图是从一个或几个基本表导出的表,是一个虚表。

视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

〖5.5〗简述SQL Server DBMS提供的主要管理工具及功能。

答:①集成管理平台SSMS,将多种可视化工具和多种功能脚本编辑器合理组合在一起,完成访问、配置、控制、管理和开发SQL Server的主要工作,SSMS中常用的管理工具包括“对象资源管理器”、“已注册的服务器”、“查询编辑器”、“模板资源管理器”和“解决方案资源管理器”等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【5.1】用SQL查询请求。

(第三章关系模型中习题用SQL语句编写)
1.找出所有顾客、代理商和商品不都在同一个城市,(可能有两个在同一城市)的三元组(cid,aid,pid)
selectdistinct cid,aid,pid
from agents a,customers c,products p
where a.city<>c.city or c.city<>p.city
2.取出接受顾客c002订单的代理商所在的城市
select city from agents a,orders o
where a.aid=o.aid and cid='c002'
3.取出曾经收到Kyoto的顾客订单的代理商所销售的所有的商品的pid值。

selectdistinct pid from orders
where aid in(select aid from customers c,orders o
where c.cid=o.cid and cname='Kyoto')
4.找出没有通过代理商a03订购过商品的顾客的cid值。

selectdistinct cid from customers
where cid notin(
select cid from orders
where aid='a03')
5.找出订购了所有商品的顾客的cid值。

select c.cid from customers c Where notexists
(select pid from orders x where notexists
(select*from orders y Where x.pid=y.pid and y.cid=c.cid))
6.取出商品的pname和pid值,要求这些商品所在的城市和某个销售过该商品的代理商所在的城市相同。

select p.pname,p.pid from products p,agents a,orders o
where p.pid=o.pid and a.aid=o.aid and a.city=p.city
7.取出同时订购了商品p01和p07的顾客的pid值。

selectdistinct x.cid from orders x,orders y
where x.cid=y.cid and x.pid='p01'and y.pid='p07'
8.取出销售过所有曾经被某些顾客订购过的商品的代理商的名字
select a.aname from agents a where notexists
(select pid from orders x where notexists
(select*from orders y Where x.pid=y.pid and y.aid=a.aid))
9.取出所有曾在代理商a03处订购商品的顾客订购过的商品的pid值。

selectdistinct pid from orders where cid in
(select cid from orders where aid='a03')
10.给出所有的(cname,aname)对,要求对应的顾客曾经在对应的代理商处订购过商品。

selectdistinct cname,aname from customers c,agents a,orders o
where c.cid=o.cid and a.aid=o.aid
【5.2】用基本sQL标准来编写能完成下列任务的SQL语句。

1.如果A是orders表中所有满足cid=x且pid=y的行avg(qty),那我们称顾客x以平均量A订购了一个产品y。

可以用一个SQL语句求出以至少300的平均量订购了他们所收到的每样产品的顾客的cid值吗?
selectdistinct cid from orders groupby cid,pid having avg(qty)>=300
2.求出为住在Duluth或Kyoto的所有顾客订购了至少一样公共产品的代理商的aid值。

selectdistinct o.aid from orders o,customers c
where (c.city='Duluth'or c.city='Kyoto')and c.cid=o.cid
3.求出被所有住在Dallas的顾客都订购过了的产品的Pid值。

selectdistinct p.pid from products p,customers c Where c.city ='Dallas'andnotexists (select pid where notexists
(select*from orders x Where x.pid=p.pid and x.cid=c.cid))
4.在agents表中,删除名为Gray的代理商所在的行,以完整的形式打印出结果表,然后用Insert语句将Gray所在的行放回原表。

deletefrom agents where aname='Gray'
select*from agents
insertinto agents(aid,aname,city,[percent])values('a04','Gray','New York','6')
select*from agents
5.用一个Update语句把存放在Duluth或Dallas的所有产品的价格提高10%。

然后重新运行最初用于创建products表并导入数据的过程以恢复表中的原值。

update products set price=price*1.1
where city='Duluth'or city='Dallas'
6.写一个SQL查询来求出为住在Duluth的所有顾客订货的代理商的aid和percent值。

按照percent值从大到小的顺序排列结果中的aid值。

(注意,如果选择列表中没有包含percent,那就不能根据该列的值来排序。

)
select a.aid,[percent] from customers c,agents a,orders o
where c.cid=o.cid and a.aid=o.aid and c.city='Duluth'orderby aid desc。

相关文档
最新文档