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