浙大远程教育数据库系统概论离线作业参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

浙江大学远程教育学院《数据库系统概论》课程作业姓名:学号:年级:学习中心:—————————————————————————————第一章习题2、6、10第二章习题4、5第三章习题3、4、5、11第四章习题4、8、9、11第五章习题2、5、6、7第六章习题2、12第七章习题9、11、12第九章习题2第十章习题6、7、8第十一章习题4、7、9、10(回答见后页)第一章绪论2.使用数据库系统有什么好处?答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。用一个通俗的比喻,使用了DBMS就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由DBMS执行。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。6.数据库管理系统的主要功能有哪些?答:(l)数据库定义功能;(2)数据存取功能;(3)数据库运行管理;(4)数据库的建立和维护功能。10.试给出3个实际情况的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。答:解析部门和总经理是两个实体。一个部门或者一个公司只有一个总经理,一个总经理只在一个公司工作,不能兼任两个以上公司的总经理,所以部门和总经理两个实体之间是一对一的联系。一个科研项目可以由多个教员和多个学生承担。如果规起一个教员只能参加一个项目,一个学生也只能参加一个项目。按照这样的语义,科研项目和教员、学生三者之间是一对多的联系。如果一门课程可以由多个教员讲授,一个教员可以讲授多门课程,则课程和教员之间是多对多的联系。第2章关系数据库4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称做是关系的两个不变性,应该由关系系统自动支持。(1)实体完整性规则:指若属性A是基本关系R的主属性,则属性A不能取空值。(2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:1)或者取空值(F的每个属性值均为空值);2)或者等于S中某个元组的主码值。(3)用户自定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的学生表中,专业号是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)即属性F本身不是主属性,则可以取空值,否则不能取空值。专业(专业号,专业名)而在下面的选修表中的课程号虽然也是一个外部码属性,但它又是课程表的主属性,所以不能为空,因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);p(PNO,PNAME,COLOR,WEIGHT);JONO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表PEI3零件代码(PNO)、零件名(PNAME)、颜包(COlρR)、重量(WEIGHT)组成:工程项目表J由工程项目代码ONO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成:供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。今有若干数据如下:试分别用关系代数、ALPHA语言、QBE语言完成下列操作:1)求供应工程J1零件的供应商号码SNO:答:2)求供应工程J1零件P1的供应商号码SNO:答:3)求供应工程J1零件为红色的供应商号码SNO:答:4)求没有使用天津供应商生产的红色零件的工程号JNO:答:关系代数解析1)S、P、SPJ表上各设了一个元组变量。2)解题思路是:要找的是满足给定条件的工程号JNO,因此,对工程表J中的每一个JNO进行判断:看SPJ中是否存在这样的元组,其JNO=J.JNO,并且所用的零件是红包的,该零件的供应商是天津的。如果SPJ中不存在这样的元组,则该工程号]NO满足条件,放入结果集合中。如果SPJ中存在这样的元组,则该工程号JNO不满足条件,不放入结果集中。再对工程表J中的下一个JNO进行同样的判断。直到所有JNO都检查完。结果集中是所有没有使用天津供应商生产的红色零件的工程号,包括没有使用任何零件的工程号。QBE语言当不考虑没有使用任何零件的工程时解析本题是从SPJ表中输出满足条件的JNO,没有使用任何零件的工程项目的工程号是不会出现在SPJ中的,所以本题的结果不包括没有使用任何零件的工程号。考虑没有使用任何零件的工程5)求至少用了供应商S1所供应的全部零件的工程号JNO:答:第3章关系数据库标准语言SQL3.用SQL语句建立第二章习题5中的4个表。答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SNOCHAR(3)UNIQUE,SnameCHAR(10),StatusCHAR(2),CityCHAR(20));对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PNOCHAR(3)UNIQUE,PnameCHAR(10),COLORCHAR(2),WEIGHTINT);对于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JNoCHAR(3)UNlQUE,JNAMECHAR(10),CITYCHAR(20))对于SPJ表:SPJ(SNo,PNo,JNo,QTY);建SPJ表:CREATETABLESPJ(SNoCHAR(3),PNoCHAR(3),JNOCHAR(3),QTYINT))4.针对上题中建立的4个表试用SQL语言完成第二章习题5中的查询。答:对比SQL语言、关系代数、ALPHA语言、QBE语言,体会各种语言的优点。(l)求供应工程Jl零件的供应商号码SNO;SELECTDISTINCTSNOFROMSPJWHEREJNO='J1'(2)求供应工程Jl零件Pl的供应商号码SNO;SELECTDISTINCTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'(3)求供应工程Jl零件为红色的供应商号码SNO;SELECTDISTINCTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO;解析对比第二章习题5中用ALPHA语言未完成该查询的解答。如果大家理解了有关该题的解析说明,那么本题的解答可以看成是把关系演算用SQL来表示的过程。或(5)求至少用了供应商Sl所供应的全部零件的工程号JNO;5.针对习题3中的四个表试用SQL语言完成以下各项操作:答:(1)找出所有供应商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名称、颜色、重量。SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供应商S1所供应零件的工程号码。SELECTDISTINCTJNOFROMSPJWHERESNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。SELECTP.PNAME,SPJ.QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。(6)找出使用上海产的零件的工程名称。(7)找出没有使用天津产的零件的工程号码。(8)把全部红色零件的颜色改成蓝色。UPDATEPSETCOLOR='蓝'WHERECOLOR='红'(9)由S5供给J4的零件P6改为由S3供应。UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。DELETEFROMSPJWHERESNO='S2'DELETEFROMSWHERESNO='S2'解析注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从S表中删除。(11)请将(S2,J6,P4,200)插入供应情况关系。INSERTINTOSPJ(SNO,PNO,JNO,QTY)VALUES('S2','J6','P4',200)或者INSERTINTOSPJVALUES('S2','J6','P4',200)11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。(2)找出供应商S1的供应情况。答:建视图:CREATEVIEWV_SPJASSELECTSNO,PNO,QTYFROMSPJWHEREJNO=(SELECT]NOFROMJWHEREJNAME='三建');对该视图查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECTPNO,QTYFROMV_SPJ;(2)找出供应商S1的供应情况。SELECTPNO,QTY/*S1供应三建工程的零件号和对应的数量*/FROMV_SPJWHERESNO='SI';第4章数据库安全性4.试述CC评估保证级划分的基本内容。答:CC提出国际公认的表述信息技术安全性的结构,把信息产品的安全要求分为安全功能要求、安全保证要求。CC文本由三部分组成:简介和一般模型;安全功能要求;安全保证要求。CC评估保证级划分如下:评估保证级定义TCSEC安全级别(近似相当)EAL1功能测试(functionallytested)EAL2结构测试(structurallytested)C1EAL3系统地测试和检查(methodicallytestedandchecked)C2EAL4系统地设计、测试和复查(methodicallydesigned,tested,andreviewed)B1EAL5半形式化设计和测试(semiformallydesignedandtested)B2EAL6半形式化验证的设计和测试(semiformallyverifieddesignandtested)B3EAL7形式化验证的设计和测试(formallyverifieddesignandtested)A18.请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功