天津理工大学数据库期中复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(从4个备选答案中选择最适合的一项,每小题1分,共10分)
1. 下列不属于数据管理技术主要经历阶段的是
A、手工管理
B、机器管理
C、文件系统
D、数据库
2. 数据库的概念模型独立于
A、具体的机器和DBMS
B、E-R图
C、信息世界
D、现实世界
4. 下列不属于关系完整性的是
A、实体完整性
B、参照的完整性
C、用户定义的完整性
D、逻辑结构的完整性
5.不同的数据模型是提供模型化数据和信息的不同工具,用于信息世界建模的是
A、网状模型
B、关系模型
C、概念模型
D、结构模
6.下列关于数据库系统正确的描述是。
A、数据库系统减少了数据的冗余
B、数据库系统避免了一切冗余
C、数据库系统中数据的一致性是指数据的类型一致
D、数据库系统比文件系统能管理更多的数据
7.下面哪个不属于数据库系统的三级模式结构
A、外模式
B、模式
C、中模式
D、内模式
8.下面哪个命令属于SQL语言授权命令
A、update
B、delete
C、select
D、grant
10. 同一个关系模型的任意两个元组值
A、不能全同
B、可全同
C、必须全同
D、以上都不是
二、填空题(每空1分,共10分)
1.描述事物的符号记录称为(数据)。
2.如果D1有3个元组,D2中有4个元组,则D1×D2有(12)个元组。
3.在SQL语言中,“_”和(%)符号属于通配符。
4.在SQL语言中,“>ANY”等价于(>min)。
5.(视图)是从一个或几个基本表导出的表。
6.触发器的类型分为(行级)触发器和语句级触发器。
7.在MAC机制当中,仅当主体的许可证级别(大于或等于)客体的密级时,该主体才能读取相应的客体。8.对于关系代数的查询优化,(选择运算应尽可能先做)优化策略是最重要和最基本的一条。
四、编程题(每小题1分,共15分)
可能用到的表结构如下:
学生表(学号,姓名,性别,年龄,班级)
课程表(课程号,课程名,学分)
成绩表(学号,课程号,成绩)
1.创建存储过程GetStudentByID,带有参数sno,根据学生的学号查询学生情况
Create procedure GetStudendByID sno varchar(10)
As
Begin
Select * from 学生表where 学号=sno
End
2. 编写SQL语句,查询学生表中所有学生,要求第一按照班级升序排序,第二按照年龄降序排序select * from 学生表
order by 班级asc, 年龄desc
3. 编写SQL语句,查询学生表中姓张的学生
select * from 学生表
where 姓名like '张%'
4. 编写SQL语句,查询学生表中男女生的人数各多少人
select 性别,count(*)
from 学生表group by 性别
5. 编写SQL语句,查询所有比“王平”年龄大的情况
Select * from 学生表where 年龄>(select 年龄from 学生表where 姓名=’王平’)
6. 编写SQL语句,在学生表和成绩表中查询学号,姓名,课程号,成绩
SELECT 学生表.学号, 学生表.姓名, 成绩表.课程号, 成绩表.成绩
FROM 学生表
INNER JOIN 成绩表ON 学生表.学号= 成绩表.学号
7. 编写SQL语句,将(1022,张望,男,19,信息2)的学生插入到学生表中
insert into 学生表(学号,姓名,性别,年龄, 班级) values('1022','张望','男',19,'信息2')
8. 编写SQL语句,将学号为1022学生的姓名改为张旺
update 学生表
set 姓名='张旺'
where 学号='1022'
9. 编写SQL语句,删除没有选课的学生
delete from 学生表sno not in (select sno from sc)
10. 编写SQL语句,查询课程号9的先行课的情况
select * from 课程表
where 课程号=
(select 先行课号from 课程表where 课程号=9)
11. 编写关系代数,查询选修3号课程的学生学号
∏学号(∫课程号=‘3’(选课表))
12. 编写关系代数,查询至少选修了一门直接先行课为5号课程的学生姓名参看课本60页
13. 编写SQL语句,创建学生表
Create table 学生表
(学号char(10),姓名varchar(20),性别char(2),年龄int,班级char(30))
14. 编写SQL语句,建立计算机1班男生的视图
Create view
as
select * from 学生表
where 班级=‘计算机1班’ and 性别=‘男’
15. 编写SQL语句,将对学生表的修改权限赋给用户U1
Grant update on table 学生表to U1
三、简答题(每小题5分,共25分)
1. 简述数据库系统的三级模式结构和两级映像。
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(1分)外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据购逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。(1分)
2. 关系的完整性有哪些?并用实例解释。
答:(共3个完整性,各1分,举例共2分)
1)实体完整性:主属性不能为空。
例如学生(学号,姓名,性别,专业号,年龄)
主属性学号不能为空