学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第1页共3页浙江万里学院学年第学期《数据库原理》试卷(2)卷标准答案专业:计算机科学技术层次:本科年级:命题教师:杨爱民一、单项选择题(每小题1分,共10分)1.下面哪种数据模型只有一个根结点(B)A)概念B)层次C)关系D)网状2.哪种模式不是数据库的模式(C)A)模式B)外模式C)映像模式D)内模式3.视图定义是(D)A)一个基表中导出的基表B)一个基表中导出的虚表C)一个或几个基表或视图中导出的基表D)一个或几个基表或视图中导出的虚表4.下面的关系模式是属于(A)S-D-L(sno学号,dept系,loc住所)A)2NFB)3NFC)4NFD)BCNF5.对数据库存储结构和存取方法的分析在(D)阶段A)需求分析B)概念结构C)逻辑结构D)物理设计6.为了描述现实世界中的事物,在信息世界中所建立的模型称为(D)A)关系模型B)网状模型C)层次模型D)概念模型7.在关系数据库中,只消除非主属性对码的部分依赖的范式是(C)A)BCNFB)1NFC)2NFD)3NF8.在数据库系统中,同一个外模式(C)A)只能被一个用户的一个应用程序使用B)不能被一个用户的多个应用程序使用C)可以被同一个用户的多个应用程序使用D)可以被所有用户的应用程序使用9.在数据库系统中,对全体数据的逻辑结构和特征的描述称为(B)A)子模式B)模式C)存储模式D)内模式10.实体所具有的某一特性称为实体的(C)A)特征B)性质C)属性D)特点二、判断题(认为对的,在题后的括号内打“√”,错的打“×”,错误的请给出反例说明。每小题2分,共10分)1.任何一个二目关系是属于2NF的.(√)2.任何一个二目关系是属于3NF的.(√)3.任何一个三目关系是属于2NF的(×)4.若R.A→R.BR.B→R.C则R.A→R.C(√)5.若R.B→R.AR.C→R.A则R.(B,C)→R.A(√)因为第1小题是错误的,故第2、3小题也是错误的。只需对第1小题举出反例。设三目关系模式为R(S#,SD,C#),其中S#是学生号,SD是所在系,C#是课程号。模式R的语义:一个学生只属于一个系,可选多门课;一个系有若干学生,开若干门课;一门课程若干学生选修。因此,R有唯一的码(S#,C#),唯一的非主属性SD。因S#→SD,非主属性SD部分依赖于码(S#,C#),所以R不是2NF的,也不是3NF的。又虽有S#→SD,(SDS#),但S#不含码,故R不是BCNF的。三、填空题(每空1分,共10分)1.将数据转换成信息的过程称为数据处理。2.在E-R模型中,用菱形框表示实体之间的联系,用椭圆形框表示属性,用矩形框表示实体。3.数据库管理系统所支持的数据模型被分为层次、网状、关系和面向对象四种类型。4.一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,工人和零件之间为__多对多(m:n)_________的联系。5.二维表中的列和行在关系中分别称为属性和元组。装订线学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第2页共3页四、实用操作题(每小题3分,共30分)设有学生—课程关系数据库,其中有学生关系S,课程关系C和学生选课关系SC,如下图所示:关系S关系C关系SC学号课程号成绩S#C#GS1C190S1C290S1C385S1C487S2C190S3C175S3C270S3C456S4C190S4C285S5C195S5C480要求使用SQL语言写出下列操作:1.找出全部开课的老师.2.找出学习C1且成绩为90分以上(包括90分)的学生号.3.把WANG老师的办公室改为OF1.4.把全体男学生的成绩置零.5.在表S中增加‘学生所在系’的列,其数据类型为变长字符串,最大长度为15.6.找出没有选修课程C3的学生名.7.求出男同学集合与年龄不大于20的学生集合.8.求年龄在20岁与23岁之间(包括20岁和23岁)的学生号和年龄.9.查询选修了C1课程的学生的学号及成绩,查询结果按分数的降序排列.10.查询所有有成绩的学生号和课程号.1.SELECTDISTINCTTEFROMC2.SELECTS#FROMSCWHEREC#=’C1’ANDG893.UPDATECSETOF=’OF1’WHERETE=’WANG’4.UPDATESCSETG=0WHERE‘M’=(SELECTSSFROMSWHERES.S#=SC.S#)5.ALTERTABLESADDSDVARCHAR(15)6.SELECTSNFROMSWHERENOTEXISTS(SELECT*FROMSCWHERES#=S.S#ANDC#=’C3’)7.SELECT*FROMSWHERESS=’M’ANDSA208.SELECTS#,SAFROMSWHERESABETWEEN20AND229.SELECTS#,GFROMSCWHEREC#=’C1’ORDERBYGDESC10.SELECTS#,C#FROMSC学号姓名年龄性别S#SNSASSS1WANG20FS2LI23MS3CHEN21MS4ZHANG20MS5ZHANG22F课程号称学时教师教师办公室C#FOTEOFC1200ZHOUOF2C2120LIUOF2C380LIUOF2C480WANGOF3学年第学期专业计算机科学技术年级本科《数据库原理》试卷卷答案第3页共3页WHEREGISNOTNULL五、写出下列命令或命令组的功能(每题2分,共16分)假定使用的“图书”、“读者”、“借阅”和ZGJK库文件结构如下:图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(16),单价N(7,2))读者(借书证号C(4),单位C(10),姓名C(6),性别C(2),职称C(6),地址C(16))借阅(借书证号C(4),总编号C(6),借书日期D())ZGJK(职工号C(6),姓名C(6),性别C(2),出生日期D(),职称C(6),基本工资N(7,2))1.select*;from图书;where作者=李查询出“图书”数据库中作者姓“李”的所有图书。2.selectcount(*);from图书;where书名like%数据库%AND单价=20.00求出“图书”数据库中书名包含“数据库”、单价不高于20元的图书册数。3.selectMAX(单价)AS最高价,MIN(单价)AS最低价,AVG(单价)AS平均价;from图书;where出版单位=高等教育出版社求出“图书”数据库中高等教育出版社出版的图书的最高价、最低价和平均价。4.selectdistinct分类号,书名,作者;from图书;orderby分类号desc按分类号降序显示“图书”数据库中各种图书的分类号、书名和作者。5.select*;from图书;where出版单位in(清华大学,北京大学)orderby分类号按分类号升序显示“图书”数据库中由清华大学出版社和北京大学出版社出版的所有图书。6.selectcount(*);from图书;where单价between50and100统计出“图书”数据库中单价在50至100之间的图书数量。7.select借书证号,count(*);from借阅;where借书日期{2001/01/01};groupby借书证号;havingcount(*)=3分组统计出2000年底以前借阅的、借阅数不低于3本的借书证号和借阅数量。8.select单位,count(*);from读者,借阅;where读者.借书证号=借阅.借书证号;groupby单位按单位分组统计出各单位借阅图书的数量。六,设计题(10分)1.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中一些教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。用E-R图画出此学校的概念模型。11nn11nnnnmm七.请设计一个学生成绩管理系统,要求有学生表,选课成绩表,课程表,密码表。并提出主要的功能模块图,以及学生选课的E-R图(14分)答案(略)教学系下属包含班级教研室学习工作学生教师选课教学课程研究生普通生