1、 浙江万里学院 学年第 学期 数据库原理 试卷(3)卷 标准答案装订线专业: 计算机科学技术 层次:本科 年级: 命题教师:杨爱民 一、单项选择题(本大题共10小题,每小题2分,共20分) 1 在客户机/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是 ( B ) A).用户界面B). 存取结构 C).数据输入D).报表输出 2. 实体集书店与图书之间具有( B )联系。A) 一对一 B) 一对多 C) 多对多 D)多对一3. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是( A )A) 患者编号,医生编号,诊断日期 B)医
2、生编号 C)诊断日期 D)患者编号4. 任何一个三目关系都属于( A )A )1NF B) 3NF C) BCNF D) 4NF5. 相对于关系模型,层次数据模型的缺点之一是( A )A) 数据维护困难 B) 数据结构复杂 C )数据独立性高 D )有严格的数学基础6. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( A )A) 患者编号 B) 患者姓名 C) 患者编号和患者姓名 D)医生编号和患者编号7. 班长和学生是什么关系( B )A)1:1 B)1:M C)M:N D)都不
3、是8.下面哪种数据模型只有一个根结点( B )A)概念 B)层次 C)关系 D)网状9.哪种模式不是数据库的模式( C )A)模式 B)外模式 C)映像模式 D)内模式10视图定义是( D )A)一个基表中导出的基表B)一个基表中导出的虚表C)一个或几个基表或视较中导出的基表D)一个或几个基表或视较中导出的虚表二、名词解释(本大题共5个小题,每小题3分,共15分) 实体、实体型、实体集、属性、码1答实体:现实世界中存在的可以相互区分的事物或概念称为实体。例如,一个学生、一个工人、一台机器、一部汽车等是具体的事物实体,一门课、一个班级等称为概念实体。实体型:现实世界中,对具有相同性质、服从相同规
4、则的一类事物(或概念,即实体)的抽象称为实体型。实体型是实体集数据化的结果,实体型中的每一个具体的事物(实体)为它的实例。实体集:具有相同特征或能用同样特征描述的实体的集合称为实体集。例如,学生、工人、汽车等都是实体集。属性:属性为实体的某一方面特征的抽象表示。如学生,可以通过学生的“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等特征来描述,此时,“姓名”、“学号”、“性别”、“年龄”及“政治面貌”等就是学生的属性。码:码也称关键字,它能够惟一标识一个实体。例如,在学生的属性集中,学号确定后,学生的其他属性值也都确定了,学生记录也就确定了,由于学号可以惟一地标识一个学生,所以学号为码。三
5、、填空题(本大题共5个空,每空1分,共5分) 1. 标准的数据库三级模式是概念模式、内模式和(外模式)。 2. 在SQL中,用MODIFY命令可以修改表中的数据,用(ALTER)命令可以修改表的结构。 3. 在ER图中,矩形框表示(实体)。4. 在SQL查询时,如果需要去掉查询结果中的重复组,应使用(DISTINCT)。 5. 封锁一般分为两种排他型封锁,X封锁和(共享型封锁,S封锁) 四、简答题(本大题共3小题,1-2小题6分,3小题8分,共20分) 1试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。图5-2中:一个部门有一个负责人,一个负责人负责一个部
6、门的工作,部门和负责人间的联系是一对一的联系:一个学生可以借阅多本书,一本书只能一个人借,学生和借阅间的联系为一对多的联系;一个学生可以参加多个社会团体,一个社会团体有多个学生参加,学生和社会团体间的联系为多对多的联系。部门学生学生 参加 1 1 n 负责借阅 1 n m社团图书负责人0 图5-2 三个部门的E-R图2试述数据设计过程答: 数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。各阶段的主要内容为:3 下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明。1)任何一个二目关系是属于3NF的。2)任何一个二目关系是属
7、于BCNF的。3)任何一个二目关系是属于4NF的。4)当且仅当函数依赖AB在R上成立,关系R(A,B,C)等于投影R1(A,B)和R2(A,C)的连接。5)若R.AR.B,R.BR.C,则R.AR.C。6)若R.AR.B,R.AR.C,则R.AR.(B,C)。7)若R.BR.A,R.CR.A,则R.(B,C) R.A。8)若R.(B,C) R.A,则R.BR.A,R.CR.A。12答:1) 正确。2) 正确。3) 正确。4) 不正确。5) 正确。6) 正确。7) 正确。8) 不正确。五应用题:设职工-社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人,活动地
8、点);参加(职工号,编号,参加日期);其中:1)职工表的主码为职工号。2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。试用SQL语句表达下列操作:(每小题4分共40分)1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。2)建立下列两个视图。社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);参加人情况(职工号,姓名,社团编号,社团名称,参加日期)3)查找参加唱歌队或篮球队的职工号和姓名。4)查找没有参加任何团
9、体的职工情况。5)查找参加了全部社会团体的职工情况。6) 查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。7) 求每个社会团体的参加人数。8) 求参加人数最多的社会团体的名称和参加人数。9) 求参加人数超过100人的社会团体的名称和负责人。10)把对社会团体和参加两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。 答:1) CREATTABLE职工(职工号CHAR(10)NOTNULLUNIQUE,姓名CHAR(8)NOTNULL,年龄SMALLINT,性别CHAR(2),CONSTRAINTC1CHECK(性别IN(男,女);CREATTAB
10、LE社会团体(编号CHAR(8)NOTNULLUNIQUE,名称CHAR(12)NOTNULL,负责人CHAR(8),活动地点VARCHAR(50),CONSTRAINTC2FOREIGNKEY(负责人)REFERENCES职工(职工号);CREATTABLE参加(职工号CHAR(8),编号CHAR(8),参加日期DATA,CONSTRAINTC3PRIMARYKEY(职工号,编号),CONSTRAIN C3 FOREIGN KEY(职工号)REFERENCES职工(职工号);2)CREAT VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)AS SELECT 编号,名称
11、,负责人,姓名,性别FROM社会团体,职工WHERE社会团体.负责人职工.职工号;CREAT VIEW参加人情况(职工号,姓名,社团编号,参加日期)ASSELECT参加.职员号,姓名,社会团体.编号,名称,参加日期 FROM 职工,社会团体,参加WHERE职工.职工号参加.职工号AND 参加.编号社会团体.编号; 3) SELECT职工号,姓名FROM职工,社会团体,参加WHERE职工.职工号参加.职工号 AND 参加.编号社会团体.编号 AND社会团体.名称 IN(唱歌队,篮球队); 4)SELECT*FROM职工WHERENOTEXISTS(SELECT*FORM参加WHERE参加.职工号
12、职工.职工号); 5)SELECT*FROM职工WHERENOTEXISTS(SELECT*FROM 参加WHERENOTEXISTS(SELECT*FROM社会团体WHERE参加.职工号职工.职工号AND 参加.编号社会团体.编); 6) SELECT 职工号FROM职工WHERENOTEXISTS(SELECT* FROM 参加参加1WHERE参加1.职工号1001ANDNOTEXISTS(SELECT* FROM参加参加2WHERE参加2.编号参加1.编号AND参加2.职工号职工.职工号);7) SELECTCOUNT(职员号)FROM参加GROUPBY编号;8)SELECT社会团体.名
13、称,COUNT(参加.职工号) FROM 社会团体参加WHERE社会团体.编号参加.编号GROUPBY参加编号HAVINGMAX(COUNT(参加.职工号)COUNT(参加.职工号);9)SELECT社会团体.名称,职工.姓名 FROM职工,社会团体,参加WHERE社会团体.编号参加.编号AND社会团体.负责人职工.职工号GROUPBY参加.编号HAVINGCOUNT(参加.编号)100;10) GRANTSELECT,INSERT,DELECTON社会团体,参加TO李平WHEREGRANTOPTION;学年第 学期 专业计算机科学技术 年级 本科 数据库原理 试卷 卷答案 第 3 页 共 3 页