.
浙江科技学院
2013 -2014 学年第 1 学期考试试卷 A 卷
考试科目 数据库系统原理 考试方式 闭 完成时限 2小时 拟题人 俞坚 审核人 批准人 2014 年 1 月 7 日 信息学院 院 12 年级 计算机 专业
命题:
一、选择题。在题后括号内,填上正确答案代号。(本大题共10小题,每
小题2分,共20分) 1、( B )学生表S(sno,sname,ssex,sage,sdept)与学生选课表SC(sno,cno,grade)的自然连接查询是:
A .select s.*,sc.* from s,sc where s.sno=sc.sno;
B .select s.*,https://www.wendangku.net/doc/008439855.html,o,sc.grade from s,sc where s.sno=sc.sno;
C .select s.*,sc.sno,https://www.wendangku.net/doc/008439855.html,o,sc.grade from s,sc where s.sno=sc.sno;
D .select s.sno,sname,ssex,sage,sdept,sc.sno,https://www.wendangku.net/doc/008439855.html,o,sc.grade from s,sc
where s.sno=sc.sno;
2、( A )依sno 降序cno 升序查询学生选课表sc 中所有记录的正确查询语句是
A .select * from sc order by sno desc, cno;
B .select * from sc order by sno , cno desc;
C .select * from sc order by sno asc, cno desc;
D .select * from sc order by sno , cno ; 3、( D )在学生选课表sc(sno,cno,grade)中,查找每门课平均成绩为90分及以上的元组
A .select cno,avg(grade) from sc group by cno where avg(grade)>=90 ;
B .select cno,avg(grade) from sc having avg(grade)>=90 ;
C .select cno,avg(grade) from sc where avg(grade)>=90 ;
D .select cno,avg(grade) from sc group by cno having avg(grade)>=90 ; 专业班 学 姓 ……………………………………………………………………装订线……………………………………………………………………………………
语句为:insert into c(CNAME,TEACHEER) values(‘操作系统’,‘王老师’),此插入操作
A、违背了实体完整性
B、违背了参照完整性
C、能成功执行
D、违背了用户自定义完整性
5、( D )
create table if not exists student
( sno char(8) primary key ,
sname char(20) not null unique ,
ssex char(2) default '男' ,
sage int check(sage<35 and sage>15),
sdept char(20));
基于目前的MySQl版本,以上建表语句中的还没有被强化(即会被MySQl分析,但被忽略不起任何作用)的约束是。
A.not null;
B.unique;
C.default '男';
D.check(sage<35 and sage>15)。
6、( C )对子表(参照表或称引用表)的哪些操作需要考虑是否违背参照完整性
约束条件问题:
A.增加,删除;
B.删除,修改;
C.增加,修改;
D.修改,查询。
7、( C )在数据库中存储的是。
A.数据 B.数据模型
C.数据及数据之间的联系 D.信息
8、( A )在以下学生、课程、选课以及班级四个关系模式中,既描述了实体也描
述了联系的关系模式是:
A.学生(学号,姓名,性别,年龄,系,班号);
B.课程(课程号,课程名,先修课,学分);
C.选课(学号,课程号,成绩);
D.班级(班号,班名,人数)。
9、( C )在Powerdesigner中,与具体的DBMS相关的模型是:
A. CDM
B. LDM
C. PDM
D. BPM
10、( D )对主表(被参照表或称被引用表)的哪些操作需要考虑是否违背参照完
整性约束条件问题(增加、删除、修改和查询),
A. 增加,修改;
B. 增加,删除;
C. 删除,查询;
D. 删除,修改。
二、填空题。在题中“”处填上答案。(共15小题,总计15分)
1、需求分析的重点是调查、收集与分析用户在数据管理中的 1数据需
求、 2 处理(23)需求、安全性与完整性需求。(B1)
2、在关系数据模型中,实体及实体间的联系都用 3关系来表示。【P30】(B2)
3、如果当删除或修改主表中被引用列的数据时,需要将子表中相应的数据行设置成
空值,则在建表语句中定义外码时需要使用 4 set null 关键字。(描述需要核实概念的准确性,特别是修改语句中修改前后的值是一样的情况?)(B3)
4、如果当删除或修改主表中被引用列的数据时,需要级联删除或修改子表中相应的
数据行,则在建表语句中定义外码时需要使用 5 cascade(22)关键字。5、6一对一与一对多联系既可以单独使用一个表描述也可以与某一端的实体表合
并描述。
6、7多对多或多个实体联系只能使用一个表描述
7、关系可以有三种类型:基本关系(通常又称为基本表或基表)、 8查询表和视图
表。【P44】
8、执行建表语句的结果:在数据库中建立一个 9新的空的学生表,将表的定义
及有关约束条件存放在(10)数据字典中。
9、11规范化的关系简称为范式。【P45】
10、在MySQl中,有关数据库、表、列、用户、权限等信息被存放在 mysql(12)数
据库的相应表中,这些内部表一般不直接访问。
11、在MySQl中, 13客户机是与用户打交道的软件,与数据文件打交道的只有服
务器(14)软件。
12、关系模式 student(sno,sname,ssex)中, sno的域D1是(1,2,3),sname的
域D2是(a,b,c),ssex的域D3是(f,m),D1 X D2 X D3有 18(15)个元
组
三、判断题。认为正确在题中“( )”中处填上√。认为不正确在题中“( )”中处填上×。(本大题共10小题,总计10分)
1. ( √ )在MySQl 安装与配置过程中,默认启用TCP/IP 网络,默认的端口号
为3306。
2. ( √ )MySQL 中,建表时自动在primary key 字段上建立primary 索引,即
唯一索引。
3. ( X )学生(学号,姓名,性别,年龄,入校毕业年份)是规范化的关系。
4. ( √ )any(6,1,16,7,5)等价于小于max(6,1,16,7,5)。
5. ( √ )MySQL 中,同一表中不能定义具有相同触发时间和触发事件的触发器。
6. ( X )所有的视图都是可以更新的
7. ( √ )在window7操作系统中,可通过“控制面板\系统和安全\管理工具”
下的服务管理器查看、启动、停止MySQL 服务。
8. ( X )学生(学号,姓名,年龄)关系模式中,如果有如下的函数依赖:姓名
→学号,学号→姓名,姓名→年龄,那么可以说年龄传递函数学号。
9. ( √ )在MySQL 中,新创建的用户账号没有访问权限。它们能登录到MySQL ,
但不能看到数据,不能执行任何的数据库操作【英P200】
10. ( X )破坏事务的隔离性特性不会产生丢失修改等数据不一致性问题。【会产生
丢失修改等数据不一致性问题】【增加】
四、(本大题共26分)
假设有下面两个关系模式: 教师(职工号,姓名,性别,年龄,职称,工资,系号),其中职工号为主码,姓名要求非空,年龄要求在12~50,工资不低于2000。属性的数据类型为:职工号为10个字符的字符串,姓名为20个字符的字符串,性别为2个字符的字符串,年龄为整形数,职称为8个字符的字符串,工资为整形数。
系(系号,系名,系主任,电话),其中系号为主码。属性的数据类型:系号为10个字符的字符串,其它属性都是最长为30个字符的字符串。 请回答下列问题:
1、 (6分)用SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约
束条件的定义:
(1)定义每个关系模式的实体完整性;
(2)定义外码,并要求当删除系表中的某条记录时系统能自动将教师表中对应的系号置为空;
(3)定义教师关系模式的自定义完整性。
create table D
( dno char(10) primary key,
dname char(30) ,
dean char(30),
tel char(30));
Drop table T;
create table T
(no char(10) primary key,
name char(20) not null,
sex char(2),
age integer check(age >12 and age<50) ,
title char(8),
salary int check(salary >2000) ,
dno char(10) references D(dno) on delete set null on update set null);
2、(10分)在MySQL中,使用触发器实现年龄(大于12且小于50)以及工资
(不低于2000)的自定义完整性约束;
答:
create table if not exists t_control(id int primary key);
insert into t_control values (1);
DELIMITER &&
create trigger trigger_T_before_insert
before insert
on T
for each row
begin
if new.age>=50||new.age<=12||new.salary<1000 then
insert into t_control values (1);
end if;
end&&
DELIMITER ;
DELIMITER &&
create trigger trigger_T_before_update
before update
on T
for each row
begin
if new.age>=50||new.age<=12||new.salary<1000 then
insert into t_control values (1);
end if;
end&&
DELIMITER ;
3、(4分)试用关系代数完成下列操作
1)查询教授职称教师的职工号、姓名、性别与年龄;
答:
Пno,name,ssex,sage(σtitle='教授'(T))
2)查询计算机系教师的职工号、姓名、性别、年龄、工资及系号情况信息;
答:
Пdno(σdname='计算机系'(D))∞Пno,name,ssex,sage,salary ,dno(T)
4、(6分)试用SQL语言完成下列操作
1)查询与李明不在同一个系教师的职工号、姓名、年龄;
答:
select no,name,age
from T where dno not in (select dno from t where name="李明");
2)查询各类职称教师的数量;
答:select title,count(*)
from T
group by title;
3) 查询计算机系教师的平均工资。
答:
select "计算机系" as 系,avg(salary) 平均工资 from T
where dno in (select dno from D where dname="计算机系" ); #或
select dn
五、(本题共16分)
根据以下需求,回答后述问题。
1) 医院里只有医生可以开处方单,每个医生可以开多张处方,每张处方只能由一个医生开。处方单的属性有:处方单号(为主码)、开单日期。
医生的属性有:职工号(为主码)、姓名、性别、年龄。
2) 一张处方单对应一个病人,但每个病人可能有多张处方单。病人的属性有:病历
号、姓名、性别、年龄、主要疾病(一种)。
3) 一张处方单包含很多明细行,每行描述了客户使用的一种药品,一种药品可以出
现在一张处方的多个明细行中。明细行的属性有:行号、药品代码、药品名称、摘要、数量、剂量。
4) 药品的属性有:药品代码、药品名称、用途。
5) 每种药品有多个供应商,每个供应商可能供应多种药品。供应商的属性有:供应
商编号、供应商名称、地址。 问题:
1、 创建该系统的E -R 图;(8分) 答:
2、 给出相应的关系模式;(8分) 答:
医
生(职工号、姓名、性别、年龄)
处方单(处方单号、开单日期、病历号、职工号)(1
、2) 病
人(病历号、姓名、性别、年龄、主要疾病)
明细行(行号、摘要、数量、剂量、药品代码、处方单号)
(3、4) 药
品(药品代码、药品名称、用途)
供应商(供应商编号、供应商名称、地址) 供应(药品代码、供应商编号)(5)
(少一联系描述扣一分,少一实体描述扣一分)
六、(本题共9分)
有关供应商、图书及学生的E-R
图为:
供应商号是供应商的主码;书号是图书的主码;学号是学生的主码。
如果将E-R 图转换为如下关系模式:图书借阅供应(学号、姓名、性别、年龄、书号、书名、作者、日期、供应商号,供应商名,供应商地址)
请回答以下问题: 1、 (2分)“图书借阅供应”关系模式的主码分别是什么? 答:“图书借阅供应”的主码:学号、书号。
2、 (4分)给出“图书借阅供应”关系模式中属性间的函数依赖关系图。
3、 (3分)将不满足3NF 的关系模式规范为第3NF 。 答:(略)错一个扣一分
七、(本题共4分)
请问以下两个并发执行的事务可能存在什么不一致性问题,并给出解决不一致问题的方法。
t1
t2
t3
……………………………………………………………
答:不可重复读。使用第三级封锁协议(事务1在对数据对象AB读前加共享锁,加到事务结束释放。事务2在对数据对象更新前加排它锁,加到事务结束释放)