1、浙江科技学院考试试卷第 页 共 页浙江科技学院2013 -2014 学年第 1 学期考试试卷 A 卷 考试科目 数据库系统原理 考试方式 闭 完成时限 2 小时 拟题人 俞坚 审核人 批准人 2014 年 1 月 7 日信息学院 院 12 年级 计算机 专业题序 一 二 三 四 五 六 七 总分 加分人 复核人得分 20 15 10 26 16 9 4签名命题:一、选择题。在题后括号内,填上正确答案代号。 (本大题共 10 小题,每小题 2 分,共 20 分)1、 ( B )学生表 S(sno,sname,ssex,sage,sdept)与学生选课表 SC(sno,cno,grade)的自然连
2、接查询是:Aselect s.*,sc.* from s,sc where s.sno=sc.sno;Bselect s.*,o,sc.grade from s,sc where s.sno=sc.sno;Cselect s.*,sc.sno,o,sc.grade from s,sc where s.sno=sc.sno;Dselect s.sno,sname,ssex,sage,sdept,sc.sno,o,sc.grade from s,sc where s.sno=sc.sno;2、 ( A )依 sno 降序 cno 升序查询学生选课表 sc 中所有记录的正确查询语句是Aselect
3、* from sc order by sno desc, cno;Bselect * from sc order by sno , cno desc;Cselect * from sc order by sno asc, cno desc;Dselect * from sc order by sno , cno ;3、 ( D )在学生选课表 sc(sno,cno,grade)中,查找每门课平均成绩为 90 分及以上的元组Aselect cno,avg(grade) from sc group by cno where avg(grade)=90 ;Bselect cno,avg(grade)
4、 from sc having avg(grade)=90 ;Cselect cno,avg(grade) from sc where avg(grade)=90 ;Dselect cno,avg(grade) from sc group by cno having avg(grade)=90 ;4、( A )向以 C#为主码的课程关系 C(C#,CNAME,TEACHEER)插入一条记录的 SQL语句为:insert into c(CNAME,TEACHEER) values(操作系统 , 王老师),得分专业班级 学号 姓名 装订线浙江科技学院考试试卷2此插入操作 A、违背了实体完整性 B、
5、违背了参照完整性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(sage15),sdept char(20);基于目前的 MySQl 版本,以上建表语句中的还没有被强化(即会被 MySQl 分析,但被忽略不起任何作用)的约束是。Anot null;Bunique;Cdefault 男;Dcheck(sage15)。6、 (
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. LDMC.
7、 PDM D. BPM10、 ( D )对主表(被参照表或称被引用表)的哪些操作需要考虑是否违背参照完整性约束条件问题(增加、删除、修改和查询) ,A. 增加,修改;B. 增加,删除;浙江科技学院考试试卷3C. 删除,查询;D. 删除,修改。二、填空题。在题中“ ”处填上答案。 (共 15 小题,总计 15 分)1、 需求分析的重点是调查、收集与分析用户在数据管理中的 1 数据 需求、 2 处理( 23) 需求、安全性与完整性需求。 (B1)2、 在关系数据模型中,实体及实体间的联系都用 3 关系 来表示。 【P30】(B2)3、 如果当删除或修改主表中被引用列的数据时,需要将子表中相应的数据
8、行设置成空值,则在建表语句中定义外码时需要使用 4 set null 关键字。(描述需要核实概念的准确性,特别是修改语句中修改前后的值是一样的情况?)(B3)4、 如果当删除或修改主表中被引用列的数据时,需要级联删除或修改子表中相应的数据行,则在建表语句中定义外码时需要使用 5 cascade(22) 关键字。5、 6 一对一与一对多联系既可以单独使用一个表描述也可以与某一端的实体表合并描述。6、 7 多对多或多个实体联系只能使用一个表描述7、 关系可以有三种类型:基本关系(通常又称为基本表或基表) 、 8 查询表 和视图表。 【P44】8、 执行建表语句的结果:在数据库中建立一个 9 新的空
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、组得分浙江科技学院考试试卷4三、判断题。认为正确在题中“( ) ”中处填上。认为不正确在题中“( ) ”中处填上。 (本大题共 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 中,同一表中不能定义具有相同触发时间和触发
11、事件的触发器。6. ( X )所有的视图都是可以更新的7. ( )在 window7 操作系统中,可通过“控制面板系统和安全管理工具”下的服务管理器查看、启动、停止 MySQL 服务。8. ( X )学生(学号,姓名,年龄)关系模式中,如果有如下的函数依赖:姓名学号,学号姓名,姓名年龄,那么可以说年龄传递函数学号。9. ( )在 MySQL 中,新创建的用户账号没有访问权限。它们能登录到MySQL,但不能看到数据,不能执行任何的数据库操作【英 P200】10. ( X )破坏事务的隔离性特性不会产生丢失修改等数据不一致性问题。 【会产生丢失修改等数据不一致性问题】 【增加】四、 (本大题共 2
12、6 分)假设有下面两个关系模式: 教师(职工号,姓名,性别,年龄,职称,工资,系号) ,其中职工号为主码,姓名要求非空,年龄要求在 1250,工资不低于 2000。属性的数据类型为:职工号为 10 个字符的字符串,姓名为 20 个字符的字符串,性别为2 个字符的字符串,年龄为整形数,职称为 8 个字符的字符串,工资为整形数。系(系号,系名,系主任,电话) ,其中系号为主码。属性的数据类型:得分得分浙江科技学院考试试卷5系号为 10 个字符的字符串,其它属性都是最长为 30 个字符的字符串。请回答下列问题:1、 (6 分)用 SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定
13、义:(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 age2000) ,dno c
14、har(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 end if;end3、 (4 分)试用关系代数完成下列操作1) 查询教授职称教师的职工号、姓名、性别与年龄;答:no,name,ss
15、ex,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
16、 title; 3) 查询计算机系教师的平均工资。答:select “计算机系 “ as 系 ,avg(salary) 平均工资from T where dno in (select dno from D where dname=“计算机系 “ );#或select dn 浙江科技学院考试试卷7五、 (本题共 16 分)根据以下需求,回答后述问题。1) 医院里只有医生可以开处方单,每个医生可以开多张处方,每张处方只能由一个医生开。处方单的属性有:处方单号(为主码) 、开单日期。医生的属性有:职工号(为主码) 、姓名、性别、年龄。2) 一张处方单对应一个病人,但每个病人可能有多张处方单。病人的属
17、性有:病历号、姓名、性别、年龄、主要疾病(一种) 。3) 一张处方单包含很多明细行,每行描述了客户使用的一种药品,一种药品可以出现在一张处方的多个明细行中。明细行的属性有:行号、药品代码、药品名称、摘要、数量、剂量。4) 药品的属性有:药品代码、药品名称、用途。5) 每种药品有多个供应商,每个供应商可能供应多种药品。供应商的属性有:供应商编号、供应商名称、地址。问题:1、 创建该系统的 ER 图;( 8 分)答:1n 1 n 1 m n n n 12、 给出相应的关系模式;(8 分)答:医 生(职工号、姓名、性别、年龄)处方单(处方单号、开单日期、病历号、职工号) (1、2)得分供应商医生开
18、1处方单供应 5对应 2病人明细行包含 3药品包含 4姓名性别处方单号开单日期病历号姓名性别年龄 主要疾病摘要数量剂量 行号 药品代码药品名称用途供应商编号供应商名称地址 年龄 职工号浙江科技学院考试试卷8病 人(病历号、姓名、性别、年龄、主要疾病)明细行(行号、摘要、数量、剂量、药品代码、处方单号) (3、4)药 品(药品代码、药品名称、用途)供应商(供应商编号、供应商名称、地址)供应(药品代码、供应商编号) (5)(少一联系描述扣一分,少一实体描述扣一分)六、 (本题共 9 分)有关供应商、图书及学生的 E-R 图为:1 nmn供应商号是供应商的主码;书号是图书的主码;学号是学生的主码。如
19、果将 E-R 图转换为如下关系模式:图书借阅供应(学号、姓名、性别、年龄、书号、书名、作者、日期、供应商号,供应商名,供应商地址)请回答以下问题:1、 (2 分) “图书借阅供应”关系模式的主码分别是什么?答:“图书借阅供应”的主码:学号、书号。2、 (4 分)给出“图书借阅供应”关系模式中属性间的函数依赖关系图。答:图书借阅供应:供应商课程图书供应日期供应商名供应商地址供应商号 书号书名作者借阅学生学号姓名性别年龄学号书号日期书名作者姓名性别供应商号年龄供应商名供应商地址浙江科技学院考试试卷93、 (3 分)将不满足 3NF 的关系模式规范为第 3NF。答:(略)错一个扣一分七、 (本题共 4 分)请问以下两个并发执行的事务可能存在什么不一致性问题,并给出解决不一致问题的方法。事务 1: 事务 2:t1t2t3答:不可重复读。使用第三级封锁协议(事务 1 在对数据对象 AB 读前加共享锁,加到事务结束释放。事务 2 在对数据对象更新前加排它锁,加到事务结束释放)专业班级 学号 姓名 装订线t1 检索读 A=50,读 B=100求和=150t3 检索(验算)读 A=50,读 B=200求和=250t2 更新读 B=100B=B*2写回数据库 B=200AB