数据库系统概论第五版课后习题答案王珊版.docx
- 文档编号:1965696
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:16
- 大小:27.88KB
数据库系统概论第五版课后习题答案王珊版.docx
《数据库系统概论第五版课后习题答案王珊版.docx》由会员分享,可在线阅读,更多相关《数据库系统概论第五版课后习题答案王珊版.docx(16页珍藏版)》请在冰豆网上搜索。
数据库系统概论第五版课后习题答案王珊版
第二章关系数据库
1.试述关系模型的三个组成部分。
答:
关系模型由关系数据结构,关系操作集合与关系完整性约束三部分组成。
2.试述关系数据语言的特点与分类。
答:
关系数据语言可以分为三类:
关系代数语言。
关系演算语言:
元组关系演算语言与域关系演算语言。
SQL:
具有关系代数与关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达实力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中运用。
3(略)
4.
5.述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么状况下才可以为空?
答:
实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R与S不确定是不同的关系),则对于R中每个元组在F上的值必需为:
或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σJno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(πSno,,Pno(σJno=‘J1‘(SPJ))∞πPno(σCOLOR=’红‘(P)))
4)求没有运用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))
7.试述等值连接与自然连接的区分与联系。
答:
连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的重量必需是相同的属性组,并且在结果中把重复的属性列去掉。
8.关系代数的基本运算有哪些如何用这些基本运算来表示其他运算
答:
并,差,笛卡尔积,投影与选择5种运算为基本的运算。
其他3种运算,即交,连接与除,均可以用这5种基本运算来表达。
第三章关系数据库语言SQL
1.试述sQL语言的特点。
答:
(l)综合统一。
sQL语言集数据定义语言DDL,数据操纵语言DML,数据限制语言DCL的功能于一体。
(2)高度非过程化。
用sQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL语句的操作过程由系统自动完成。
(3)面对集合的操作方式。
sQL语言采纳集合操作方式,不仅操作对象,查找结果可以是元组的集合,而且一次插入,删除,更新操作的对象也可以是元组的集合。
(4)以同一种语法结构供应两种运用方式。
sQL语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的运用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时运用。
(5)语言简捷,易学易用。
2.
3
(1)select*fromSwhereA='10';
(2)selectA,BfromS;
(3)selectA,B,S.C,S.D,E,FfromS,TwhereS.C=T.CandS.D=T.D;
(4)select*fromS,TwhereS.C=T.C;
(5)select*fromS,TwhereS.A (6)selectS.C,S.D,T.*fromS,T; 4.用sQL语句建立第二章习题6中的4个表。 答: 对于S表: S(SNO,SNAME,STATUS,CITY); 建S表: CREATETABLES(SnoC (2)UNIQUE,SnameC(6),StatusC (2),CityC(4)); 对于P表: P(PNO,PNAME,COLOR,WEIGHT); 建P表: CREATETABLEP(PnoC (2)UNIQUE,PnameC(6),COLORC (2),WEIGHTINT); 对于J表: J(JNO,JNAME,CITY); 建J表: CREATETABLEJ(JnoC (2)UNlQUE,JNAMEC(8),CITYC(4)) 对于sPJ表: sPJ(sNo,PNo,JNo,QTY); 建SPJ表: SPJ(SNO,PNO,JNO,QTY) CREATETABLESPJ(SnoC (2),PnoC (2),JNOC (2),QTYINT)) 针对建立的4个表用sQL语言完成第二章习题6中的查询。 (l)求供应工程Jl零件的供应商号码SNO; SELECTDISTSNOFROMSPJWHEREJNO=’J1’ (2)求供应工程Jl零件Pl的供应商号码SNO; SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1' (3)求供应工程Jl零件为红色的供应商号码SNO; SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红' (4)求没有运用天津供应商生产的红色零件的工程号JNO; SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR='红'ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。 (5)求至少用了供应商Sl所供应的全部零件的工程号JNO; 由于VFP不允许子查询嵌套太深,将查询分为两步 A,查询S1供应商供应的零件号 SELECTDISTPNOFROMSPJWHERESNO='S1'结果是(P1,P2) B,查询哪一个工程既运用P1零件又运用P2零件。 SELECTJNOFROMSPJWHEREPNO='P1' ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2') 5.针对上题中的四个表试用SQL语言完成以下各项操作: (1)找出全部供应商的姓名与所在城市。 SELECTSNAME,CITYFROMS (2)找出全部零件的名称,颜色,重量。 SELECTPNAME,COLOR,WEIGHTFROMP (3)找出访用供应商S1所供应零件的工程号码。 SELECTDISTJNOFROMSPJWHERESNO='S1' (4)找出工程项目J2运用的各种零件的名称及其数量。 SELECTPNAME,QTYFROMSPJ,P WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2' (5)找出上海厂商供应的全部零件号码。 SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海' (6)出访用上海产的零件的工程名称。 SELECTJNAMEFROMSPJ,S,J WHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO (7)找出没有运用天津产的零件的工程号码。 留意: SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='天津')适用于JNO是唯一或不唯一的状况. 留意: SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY<>'天津'适用于JNO是唯一的状况 (8)把全部红色零件的颜色改成蓝色。 UPDATEPSETCOLOR='蓝'WHERECOLOR='红' (9)由S5供应J4的零件P6改为由S3供应。 UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6' (10)从供应商关系中删除供应商号是S2的记录,并从供应状况关系中删除相应的记录。 A,DELETEFROMSWHERESNO=’S2’ B,DELETEFROMSPJWHERESNO=‘S2’ (11)请将(S2,J6,P4,200)插入供应状况关系。 INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200) 6.什么是基本表? 什么是视图? 两者的区分与联系是什么? 答: 基本表是本身独立存在的表,在sQL中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。 视图本身不独立存储在数据库中,是一个虚表。 即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 视图在概念上与基本表等同,用户可以犹如基本表那样运用视图,可以在视图上再定义视图。 7.试述视图的优点。 答 (l)视图能够简化用户的操作; (2)视图运用户能以多种角度看待同一数据;(3)视图对重构数据库供应了确定程度的逻辑独立性;(4)视图能够对机密数据供应平安爱护。 8.哪类视图是可以更新的? 哪类视图是不行更新的? 各举一例说明。 答: 基本表的行列子集视图一般是可更新的。 若视图的属性来自集合函数,表达式,则该视图确定是不行以更新的。 全部的视图是否都可以更新? 为什么? 答: 不是。 视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。 因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是全部的视图都是可更新的. 9.请为三建工程项目建立一个供应状况的视图,包括供应商代码(SNO),零件代码(PNO),供应数量(QTY)。 CREATEVIEWVSPASSELECTSNO,SPJ.PNO,QTYFROMSPJ,J WHERESPJ.JNO=J.JNOANDJ.JNAME='三建' 针对该视图VSP完成下列查询: (1)找出三建工程项目运用的各种零件代码及其数量。 SELECTDISTPNO,QTYFROMVSP (2)找出供应商S1的供应状况。 SELECTDIST*FROMVSPWHERESNO='S1' 第4章数据库平安性 1.什么是数据库的平安性? 答: 数据库的平安性是指爱护数据库以防止不合法的运用所造成的数据泄露,更改或破坏。 2.数据库平安性与计算机系统的平安性有什么关系? 答: 平安性问题不是数据库系统所独有的,全部计算机系统都有这个问题。 只是在数据库系统中大量数据集中存放,而且为很多最终用户干脆共享,从而使平安性问题更为突出。 系统平安爱护措施是否有效是数据库系统的主要指标之一。 数据库的平安性与计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 第五 课后 习题 答案 王珊版