数据库期末考试模拟试题(三)

2020-04-15 13:33

浙江万里学院 学年第 学期

《 数据库原理 》试卷(3)卷 标准答案

专业: 计算机科学技术 层次:本科 年级: 命题教师:杨爱民

一、单项选择题(本大题共10小题,每小题2分,共20分)

装 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 社团 负责人 图书 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)内模式

学年第 学期 专业 计算机科学技术 年级 本科 《数据库原理 》试卷 卷答案 第 1 页 共 3 页

图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 社会团体

学年第 学期 专业计算机科学技术 年级 本科 《 数据库原理 》试卷 卷答案 第 2 页 共 3 页

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 页


数据库期末考试模拟试题(三).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018WORD版可编辑海淀区初三一模语文试题及答案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: