广东工业大学试卷用纸,第1页共7页广东工业大学考试试卷(A)参考答案及评分标准课程名称:数据库原理及应用(2006-2007年度第一学期)考试时间:第15周星期二(5月30日)题号一二三四五六七八九十总分得分评分人一、选择填空题(每题1.5分,共30分)1、数据库系统阶段,数据______B_________。A)具有物理独立性,没有逻辑独立性B)具有物理独立性和逻辑独立性C)独立性差D)具有逻辑独立性,没有物理独立性2、数据库系统的体系结构是C。A)二级模式结构和一级映像B)三级模式结构和一级映像C)三级模式结构和二级映像D)三级模式结构和三级映像3、在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是D。A)外模式B)内模式C)存储模式D)模式4、数据库的概念模型独立于A。A)具体的计算机系统和DBMSB)E-R图C)信息世界D)现实世界5、需求分析阶段得到的结果是___A_____。A)数据字典描述的数据需求B)E-R图表示的概念模型C)某个DBMS所支持的数据模型D)包括存储结构和存取方法的物理结构6、概念结构设计阶段得到的结果是___B_____。A)数据字典描述的数据需求B)E-R图表示的概念模型C)某个DBMS所支持的数据模型D)包括存储结构和存取方法的物理广东工业大学试卷用纸,第2页共7页7、在下列关于关系的陈述中,错误的是BA)表中任意两行的值不能相同B)表中任意两列的值不能相同C)行在表中的顺序无关紧要D)列在表中的顺序无关紧要8、一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHEREDNAMELIKE____B_____A)‘__W_%’B)‘_%W__’C)‘_W__’D)‘_W_%’9、数据库中只存放视图的____C_______。A)操作B)对应的数据C)定义D)限制10、有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于_____C______。A)实体完整性约束B)参照完整性约束C)用户自定义完整性约束D)关键字完整性约束11、设属性A是关系R的主属性,则属性A不能取空值(NULL),这是AA)实体完整性约束B)参照完整性约束C)用户自定义完整性约束D)关键字完整性约束12、已知成绩关系如下图所示。学号课程号分数S1C180S1C275S2C1nullS2C255S3C390执行SQL语句:SELECTCOUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果中包含的元组数目是BA)1B)2C)3D)413、一个实体型转换为一个关系模式。关系的码为____A____。A)实体的码B)二个实体码的组合C)n端实体的码D)每个实体的码广东工业大学试卷用纸,第3页共7页14、一个m:n联系转换为一个关系模式。关系的码为____B____。A)某个实体的码B)各实体码的组合C)n端实体的码D)任意一个实体的码15、设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡儿积,则T的元组个数是______C_____。A)400B)10000C)30000D)9000016、已知关系:厂商(厂商号,厂名);产品(产品号,颜色,厂商号),外码FK=厂商号假设两个关系中已经存在如下图所示元组:依据参照完整性规则,厂商产品若再往产品关系中插入如下元组:能够插入的元组是____D____。I:(P03,红,C02)II:(P01,蓝,C01)破坏实体完整性III:(P04,白,C04)IV:(P05,黑,null)A)I,II,IVB)I,IIIC)I,IID)I,IV17、已知关系R如图1所示,可以作为R主码的属性组是(B)RA)ABCB)ABDC)ACDD)BCD厂商号厂名C01宏达C02立仁C03广源产品号颜色厂商号P01红C01P02黄C03ABCD123413452456143413473456广东工业大学试卷用纸,第4页共7页18、下列聚合函数中不忽略空值(NULL)的是CA)SUM(金额)B)MAX(成绩)C)COUNT(*)D)AVG(成绩)19、现有借阅关系表:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的键是DA)书号B)读者号C)书号,读者号D)书号,读者号,借期20、关系数据模型的三要素中不包括CA)完整性规则B)数据结构C)恢复D)数据操作二、问答题(共22分)1、什么是数据的独立性?数据库系统中为什么能具有数据独立性?(8分)答:数据的独立性是指逻辑独立性和物理独立性。(2分)数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性(1分)。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变(1分)。原因:1)内模式映象保证了数据的物理独立性,如存储结构变化时,模式/内模式映象也应有相应的变化,使其概念模式仍保持不变,即把存储结构的变化的影响限制在概念模式之下,这使数据的存储结构和存储方法较高的独立于应用程序,通过映象功能保证数据存储结构的变化不影响数据的全局逻辑结构的改变,从而不必修改应用程序,即确保了数据的物理独立性。(2分)2)外模式/模式映象保证了数据的逻辑独立性。该级保证了数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。(2分)2、简述关系数据库中基本表的6个性质。(7分)答:1、同一关系中各个属性具有同质性;2、同一关系中列顺序无关性3、同一关系中元组具有无冗余性;4、同一关系中,属性名具有唯一性;5、同一关系中,元组顺序具有无关性;6、关系中每一分量必须是不可分的数据项(1分)3、试述关系模型的完整性规则。(7分)答:为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性:广东工业大学试卷用纸,第5页共7页1、实体完整性:是指主码的值不能为空或部分为空;(2分)2、参照完整性:如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值,或者取空值;(3分)3、用户定义的完整性:用户定义完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。(2分)三、分析设计题(共48分)(1)设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS),写出实现下列功能的SQL语句。其中NO为学号(整型),是主码;NAME为姓名(字符型);SEX为性别(字符型);AGE为年龄(整型);CLASS为班号(字符型)。(1)插入一个记录,学号:25;姓名:李明;性别:男;年龄:21;班号:95031;(3分)insertintoRvalues(25,‘李明’,‘男’,21,‘95031’)(2)将学号为10的学生姓名改为’王华’;(3分)updateRsetname=’王华’whereno=10(3)删除姓’王’的学生记录;(3分)deletefromRwherenamelike‘王%’(2)某医院病房计算机管理中需要如下信息:科室名,科地址,科电话,医生姓名病房号,床位号,所属科室名病历号,姓名,性别,诊断,主管医生,病房号;一个病房只能属于一个科室,一个医生只属于一个科室一个医生可负责多个病人的诊治,一个病人的主管医生只有一个。(1)画出E-R图,并指出其联系类别是1:1、1:N,还是M:N(5分)1n11nn1n(2)将E-R图转换为关系模型,并给出各关系模式中的主码(5分)解:科室(科室名,科地址,科电话,医生姓名)病房号,床位号,科室名)工作证号)病历号,姓名,性别,诊断,工作证号,病房号)科室病房医生病人工作拥有入住负责广东工业大学试卷用纸,第6页共7页(3)写出下列SQL语句或关系代数表达式的功能。1.deletefrombookwhereprice=35andbooktype='文学'orpublisher='机械工业出版社';(3分)从book表中删除价格大于等于35并且类型为文学得书籍,并且删除出版社为机械工业出版社的书籍。2.SELECTCOUNT(DISTINCTSno)FROMSCWHEREGradeISNULL;(3分)统计没有成绩的学生人数。3.π学号(学生)-π学号(σ课程号=‘C001’(选课)),其中π为投影算子,σ为选择算子。(3分)查询没有选修C001课程的学生的学号。(4)以下给出三个基本表,并给出各表的记录:Student(学生表)的字段按顺序为学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所属院系(Sdept);Course(课程表)的字段按顺序为课程编号(Cno)、课程名(Cname)、先行课程(Cpno)、课程学分(Ccredit);SC(选课表)的字段按顺序为学号(Sno)、课程号(Cno)、成绩(Grade)。1.写出创建学生表Student的SQL命令,各字段的类型及长度应根据实际情况确定,并确定该表的主码。其中姓名属性不能为空,性别属性缺省值为’男’,而且年龄限制在16-40之间。(4分)createtablestudent(Snochar(5)notnullprimarykey,Snamevarchar(8)notnull,Ssexchar(2)default‘男’,SagetinyintcheckSagebetween16and40,Sdeptvarchar(10));StudentSnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王明女18MA95004张立男19ISSCSnoCnoGrade9500119295001285950013889500229095003380CourseCnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64广东工业大学试卷用纸,第7页共7页2.利用SQL命令删除李勇同学的学生信息,并做其他必要的删除。(4分)deletefromScwhereSno=(selectsnofromstudentwhereSname=‘李勇’)deletefromStudentwhereSname=‘李勇’)3.利用SQL命令查询各个课程号及相应的选课人数,并给出SQL语句运行结果。(4分)selectcno,count(sno)as选课人数fromSCgroupbyCno运行结果:cno选课人数1122324.分别利用SQL命令以及关系代数,查询每个学生的学生姓名,及其选修的课程名和成绩。(4分)SQL语言:SelectSname,Cname,GradefromStudent,Course,SCWhereStudent.Sno=Sc.SnoandCourse.Cno=Sc.Cno关系代数:πSname,Cname,Grade(σStudent.Sno=Sc.Sno∧Course.Cno=Sc.Cno’(Student∞Course∞SC))5.查询选课在两门课以上,且各门课程均及格的学生的学号及其平均成绩,查询结果按平均成绩降序列出(4分)selectSno,Avg(Grade)fromScwhereGrade=60GroupbySnohavingCount(*)=2OrderbyAvg(Grade)DESC