2006年下期中南大学《数据库原理及程序设计》试题及答案 、判断题(判断下列各题是否正确,正确的划,错误的划×,每小题1分,共25分) 1数据库模型或数据模型是一个描述现实世界如何表示成计算机信息的定义集合。() 2在数据库系统中,核心的部分是应用程序 3码可以选作主码,但一个主码不总是候选码 4视图、表、同义词是一样,可以进行更新操作的。 ))) 5在关系的规则中不允许出现重复的元组而在 ORACLE的表中却可以输入多条所有字段值都相同的 记录 6表T中仅有两个元组我们可以说T一定是BCNF 7在数据表定义时设置 Primary key是数据库的实体完整性控制 8RA→RB,RA→RC与RA→R(B,C)等价(其中A,B,C为R的属性)() 9.模式是数据库局部逻辑结构 10.数据库是整个数据库系统的基础() 11.已知关系模式 TEACH2(C,T,H),其中C表示课程,T表示教员,H表示参考书,假设 每一门课程可由多个教员讲授,每个教员可使用不同的参考书,并且可讲授不同的课,则 TEACH为全码 关系。() 12已知关系模式R(A,B,C,满足函数依赖集F={A>B,B->C,C->A},则R不存在非主属性因此一定属 于BCNF 13.在数据表定义时设置主键( Primary key)则不允许插入全为空的记录。() 14、若RA→RB,RA→RC,则RA→R(B,C)(其中ABC为R的属性)() 15、若R(B,C,D)→R(A,D,则R(B,C)→R(AD)(其中A,BC,D为R的属性)() 16、ⅤFP是关系统数据库系统,而且是完备式的关系系统。() 17、在 ORACLE的表中可以直接输入空值记录。() 18、关系模式R属性的属性或属性集如果具有唯一性,叫关系模式R的码。() 19、关系的优化是将表尽可能地变小(列数与行数都少)。() 0、外模式是数据库全局逻辑结构。() 21、现实世界的对象在数据库中用实体描述() 22、在基于有数据库的软件系统设计与实施中,只有程序编制是最主要的。() 23、对于数据量大的系统都应该采用数据库技术进行开发() 24、基于数据库的编程工具一般通过ODBC与数据库相联() 25、关系数据库已经是最好的了,现在的应用都能得到满足( 填空题(请把答案填在题中的横线上,每空1分,共30分) (1)在数据库的三级模式,包括内模式、 (2)在关系数据库中,表( table)是三级模式结构中的 (3)SQL的四种功能为操纵
1 2006 年下期中南大学《数据库原理及程序设计》试题及答案 一、判断题(判断下列各题是否正确,正确的划√,错误的划×,每小题 1 分,共 25 分) 1.数据库模型或数据模型是一个描述现实世界如何表示成计算机信息的定义集合。 ( ) 2.在数据库系统中,核心的部分是应用程序。 ( ) 3.码可以选作主码,但一个主码不总是候选码. ( ) 4.视图、表、同义词是一样,可以进行更新操作的。 ( ) 5.在关系的规则中,不允许出现重复的元组,而在 ORACLE 的表中却可以输入多条所有字段值都相同的 记录。 ( ) 6.表 T 中仅有两个元组,我们可以说 T 一定是 BCNF. ( ) 7.在数据表定义时设置 Primary key 是数据库的实体完整性控制。 ( ) 8.R.A→R.B, R.A→R.C 与 R.A→R.(B,C)等价 (其中 A,B,C 为 R 的属性) ( ) 9. 模式是数据库局部逻辑结构。 ( ) 10.数据库是整个数据库系统的基础 ( ) 11. 已知关系模式 TEACH2( C, T, H),其中 C 表示课程,T 表示教员, H 表示参考书,假设 每一门课程可由多个教员讲授,每个教员可使用不同的参考书,并且可讲授不同的课,则 TEACH2 为全码 关系。( ) 12.已知关系模式 R(A, B, C),满足函数依赖集 F={A->B,B->C,C->A},则 R 不存在非主属性,因此,一定属 于 BCNF 。 ( ) 13. 在数据表定义时设置主键(Primary key)则不允许插入全为空的记录。( ) 14、若 R.A→R.B, R.A→R.C,则 R.A→R.(B,C) (其中 A,B,C 为 R 的属性) ( ) 15、若 R.(B,C,D)→R.(A,D), 则 R.(B,C)→R.(A,D)(其中 A,B,C,D 为 R 的属性) ( ) 16、VFP 是关系统数据库系统,而且是完备式的关系系统。( ) 17、在 ORACLE 的表中可以直接输入空值记录。( ) 18、关系模式 R 属性的属性或属性集如果具有唯一性,叫关系模式 R 的码。( ) 19、关系的优化是将表尽可能地变小(列数与行数都少)。( ) 20、外模式是数据库全局逻辑结构。 ( ) 21、现实世界的对象在数据库中用实体描述 ( ) 22、在基于有数据库的软件系统设计与实施中,只有程序编制是最主要的。 ( ) 23、对于数据量大的系统都应该采用数据库技术进行开发( ) 24、基于数据库的编程工具一般通过 ODBC 与数据库相联 ( ) 25、关系数据库已经是最好的了,现在的应用都能得到满足 ( ) 二、填空题(请把答案填在题中的横线上,每空 1 分,共 30 分) (1) 在数据库的三级模式,包括内模式、 、与___________。 (2) 在关系数据库中,表(table)是三级模式结构中的 。 (3) SQL 的四种功能为操纵、_______________、_________________、________________
(4)数据库保护包括安全性 与恢复 (5)数据库设计的一般步骤有:需求分析、 运行与维护等。 (6)关系系统的完整性控制包括实体完整性、 (7)DB设计中优化设计的目标是 (8)E一R图的主要元素是实体型 (9)常用的关系运算是关系 与关系演算,其中关系演算包括 演算与域演算 (10)数据库中的数据一般包括 数据与媒体数据. (11)关系模式R的码都为单属性,则R一定是第 范式 (12)数据库系统一般包括数据库、 与用户。 (13)现在流行的数据库管理系统有 ORACLE 、 iBase等 简要回答下列问题(每小题3分,共12分) 为什么说DB2是关系系统,试举例说明 2试比较文件系统与数据库系统的优缺点。 3.SQL怎样实现关系系统的完整性约束的? 4.完备式关系系统与最小关系系统的主要区别? 四、(共15分)现有如下ER图 仓库 库存 零件 库存量 实体的主要属性如下,共甲下划线部分为主码: 仓库(仓库号、仓库名、面积、货位数、…) 零件(件号、零件名称、规格型号、计量单位、供货商号、价格、…) 库存(?,?,库存量) 1.试用SQL表示(即定义)上述ER图所有的实体及联系,其中实体只需表示列出的主要属性,要 求反映主码与联系(外码),其中的类型长度可以根据需要确定。?,?处需要填上相应的属性 2.在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系 3.用SQL与关系代数、元组演算表示查询: 找出职工“张明亮”的职工号、部门号、工作日期 出零件名为“镙丝Ⅱ”的零件号与规格型号,计量单位 4.试用SQL表示查询 1)找出“张明亮”所管理仓库的总面积与总货位数 2)找出所管理零件总价值(价格*总数量)超过50万的职工号及职工名。 删除价格大于10万的零件及库存记录
2 (4) 数据库保护包括安全性、________________、________________与恢复。 (5) 数据库设计的一般步骤有:需求分析、___________、____________、 _______________、 ________________、运行与维护等。 (6) 关系系统的完整性控制包括实体完整性、____________、____________。 (7) DB 设计中优化设计的目标是_______________、____________________。 (8) E-R 图的主要元素是实体型、____________、____________。 (9) 常用的关系运算是关系_______与关系演算,其中关系演算包括_______演算与域演算。 (10) 数据库中的数据一般包括 数据与媒体数据. (11) 关系模式 R 的码都为单属性,则 R 一定是第 _ 范式。 (12) 数据库系统一般包括数据库、___________、___________、___________与用户。 (13) 现在流行的数据库管理系统有 ORACLE、___________、___________、___________、___________、 ___________、iBase 等。 三、简要回答下列问题(每小题 3 分,共 12 分) 1.为什么说 DB2 是关系系统,试举例说明。 2.试比较文件系统与数据库系统的优缺点。 3.SQL 怎样实现关系系统的完整性约束的? 4.完备式关系系统与最小关系系统的主要区别? 四、(共 15 分)现有如下 E-R 图, 实体的主要属性如下,其中下划线部分为主码: 仓库(仓库号、仓库名、面积、货位数、…) 零件(零件号、零件名称、规格型号、计量单位、供货商号、价格、…) 库存(?,?,库存量) 1. 试用 SQL 表示(即定义)上述 E-R 图所有的实体及联系,其中实体只需表示列出的主要属性,要 求反映主码与联系(外码),其中的类型长度可以根据需要确定。?,?处需要填上相应的属性。 2. 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 3. 用 SQL 与关系代数、元组演算表示查询: 找出职工“张明亮”的职工号、部门号、工作日期 找出零件名为“镙丝 II”的零件号与规格型号,计量单位 4. 试用 SQL 表示查询: 1)找出“张明亮”所管理仓库的总面积与总货位数。 2)找出所管理零件总价值(价格*总数量)超过 50 万的职工号及职工名。 5、删除价格大于 10 万的零件及库存记录。 m 仓库 库存 零件 库存量 n
6、建立视图表示关系(仓库号、仓库名、零件号、零件名、计划价格、库存量) 五、(每小题5分,供10分) 1.已知关系模式R(A、B、C、D、E)满足的函数依救为: F={A一>B、B->D、C→>B、DE->A} (1)求R所有的码,并写出求解过程 (2)判断R的最高范式,,并说明理由 2.已知关系模式R(A、B、C、D、E)满足的函数依敕为 F={AB→>C、B→>D,D→→>B,BD→→>E} (1)求R所有的码,并写出求解过程。 (2)判断R的最高范式,,并说明理由 六、程序填空(共8分) 以下程序表示产生以'3011开头的第7位不为4而第8位固定为3的多个学号请将程序中的空格补 充完整(其中的数字与()只是作为第几空说明,不作程序) DECLARE V Loop Counter (1 BEGIN while v_ Loop CounterR(A,D)不一定16×VFP只是最小关系系统。 17√18×还需要最小性 19×关系的优化是进行极小化处理,消除冗余的联系
3 6、建立视图表示关系(仓库号、仓库名、零件号、零件名、计划价格、库存量) 五、(每小题 5 分,供 10 分) 1.已知关系模式 R(A、B、C 、D、E)满足的函数依敕为: F={A—>B、B—>D、C—>B、DE—>A } (1)求 R 所有的码,并写出求解过程。 (2)判断 R 的最高范式,,并说明理由 2.已知关系模式 R(A、B、C 、D、E)满足的函数依敕为: F={AB—>C、B—>D,D—>B,BD—>E } (1)求 R 所有的码,并写出求解过程。 (2)判断 R 的最高范式,,并说明理由 六、程序填空(共 8 分) 以下程序表示产生以’i3011’开头的第 7 位不为 4 而第 8 位固定为 3 的多个学号,请将程序中的空格补 充完整(其中的数字与()只是作为第几空说明,不作程序) DECLARE v_LoopCounter (1___________):= 1; BEGIN while v_LoopCounter< 36 LOOP If v_LoopCounter <10 and (2________________) then INSERT INTO temp_table (sno) select ‘i30110’||to_char(v_LoopCounter)||’3’ from dual; Else if (3________________) then INSERT INTO temp_table (sno) Select ‘i3011’||to_char(v_LoopCounter)||’3’ from dual; (4_________) v_LoopCounter := v_LoopCounter + 1; end loop; END; 程序运行完成后,一共产生了(5_________)个学号。 参考答案 一、判断题: 1 ╳ 数据是描述事物的符号记录。2 √ 3 √ 4 ╳ 某些视图是不能更新数据的,例如使用 DISTINCT 函数的视图等。 5 √ 6 ╳不存在非主属性并不一定是 BCNF。 7 √ 8 ╳ 9 √ 10 √ 11 √ 12 √ 13 √ 14 √ 15 ╳ R.(B,C)→R.(A,D)不一定 16 ╳ VFP 只是最小关系系统。 17 √ 18 ╳ 还需要最小性。 19 ╳ 关系的优化是进行极小化处理,消除冗余的联系
20×外模式是局部数据逻辑结构。21×现实世界的对象在数据库中用表及其联系描述。 22×最主要的应该是根据用户需要构造最优的数据库模式23×不一定 24√ 25×随着数据库技术的发展,又有新的数据库系统出现,如对象一关系 二、填空题 (1)外模式内模式 (2)内模式 (3)查询定义控制 (4)完整性备份 (5)概念结构设计逻辑结构设计数据库物理设计数据库实施 (6)参照完整性用户定义的完整性 (7)确定数据依赖对关系模式进行必要的分解 (8)属性联系 (9)代数元组关系 (10)数字 (12)数据库管理系统(及其开发工具)应用系统数据库管理员 (13) ACCESS SQL Sybase DB2 Mysql 三、简要回答下列问题 1.因为支持SαL,而sαL是表示表结构的,支持选择、投影、联接,而且不依赖于任何物理路径 如建表 create table.,选择、投影、联接分别可表示为: select,满足关系系统的定义,所以说DB2是关系 系统 2.文件系统的优点 (1)数据可以长期保存 (2)由文件系统管理数据 缺点: (1)数据共享性差,冗余度大 (2)数据独立性差 与文件系统相比,数据库系统有以下优点 (1)数据库系统实现整体数据的结构化,是数据库系统与文件系统的本质区别 (2)数据的共享性高,冗余度低,易扩充 (3)数据独立性高 (4)数据由数据库管理系统统一管理和控制 3.关系数据库系统包含六类完整性约束:静态列级约東、静态元组约束、静态关系约束、动态列级 约束、动态元组约束和动态关系约東 SQL语言定义完整性约束条件的功能主要体现在 CREATE TABLE语句和 ALTER TABLE中,可以在 这些语句中定义码、取值唯一的列、不允许空值的列、外码(参照完整性)及其他一些约束条件 4.最小关系系统仅支持数据结构和三种关系操作,而关系完备的系统支持数据结构和所有的关系代 数操作(功能上与关系代数等价),主要是增加了对集合运算的支持
4 20 ╳ 外模式是局部数据逻辑结构。 21 ╳ 现实世界的对象在数据库中用表及其联系描述。 22 ╳ 最主要的应该是根据用户需要构造最优的数据库模式 23 ╳ 不一定 24 √ 25 ╳随着数据库技术的发展,又有新的数据库系统出现,如对象—关系。 二、填空题: (1) 外模式 内模式 (2) 内模式 (3) 查询定义控制 (4) 完整性 备份 (5) 概念结构设计逻辑结构设计数据库物理设计 数据库实施 (6) 参照完整性 用户定义的完整性 (7) 确定数据依赖对关系模式进行必要的分解 (8) 属性联系 (9) 代数元组关系 (10) 数字 (11) 2 (12) 数据库管理系统(及其开发工具) 应用系统数据库管理员 (13) ACCESS SQL Sybase DB2 Mysql 三、简要回答下列问题 1. 因为支持 SQL,而 SQL 是表示表结构的,支持选择、投影、联接,而且不依赖于任何物理路径。 如建表 create table ..,选择、投影、联接分别可表示为:select,满足关系系统的定义,所以说 DB2 是关系 系统。 2. 文件系统的优点: ⑴数据可以长期保存 ⑵由文件系统管理数据 缺点: ⑴数据共享性差,冗余度大 ⑵数据独立性差 与文件系统相比,数据库系统有以下优点: ⑴数据库系统实现整体数据的结构化,是数据库系统与文件系统的本质区别 ⑵数据的共享性高,冗余度低,易扩充 ⑶数据独立性高 ⑷数据由数据库管理系统统一管理和控制 3. 关系数据库系统包含六类完整性约束:静态列级约束、静态元组约束、静态关系约束、动态列级 约束、动态元组约束和动态关系约束。 SQL 语言定义完整性约束条件的功能主要体现在 CREATE TABLE 语句和 ALTER TABLE 中,可以在 这些语句中定义码、取值唯一的列、不允许空值的列、外码(参照完整性)及其他一些约束条件。 4. 最小关系系统仅支持数据结构和三种关系操作,而关系完备的系统支持数据结构和所有的关系代 数操作(功能上与关系代数等价),主要是增加了对集合运算的支持
建立仓库表 Create table warehouse( wno varchar2(10) primary key wname varc guard varchar2(20) square number(10, 2 cou int 建立零件表 Create table material( ino varchar2(10) primary key mname varchar2(20) type varchar2 (10) unit varchar2(10) cusum varchar2 (10) price number (10, 2)) 建立库存表 Create table storage( wno varchar2(10) references warehouse(wno) nno varchar2(10) references material(mno) store number(10, 2) primary key(wno, mno)) 2. insert into employee values(“k10001’,’计划科’,‘张明’,2003-11-14) insert into warehouse values(‘w001’,‘仓库1’,’刘成’,1000,100); nsert into material values(‘030001'’,‘螺母’,‘中号’,‘只’,‘c1001’,5); insert into storage values(‘w001’,“030001’,2000) select eno,dno, edate from employee where ename=’张明亮’ select mno,type, unit from material where mname=’螺丝II 用关系代数表示 丌cmo. dno.edate( Bename=张明亮( employee 丌mpmn(mnam=螺丝n( material) 用元组演算表示 GETW( employee.eno, employee.dno, employee. edate): employee. ename=’张明亮 GET W(material mno, material type, material unit): material mname=,t s II 4.1)找出“张明亮”所管理仓库的总面积与总货位数 Select sum(size), sum(num) from warehouse, store, emp where warehouse wno=store wno and emp emo=store emo 张明 ename
5 四、 1. 建立仓库表 Create table warehouse( wno varchar2(10) primary key, wname varchar2(20), guard varchar2(20), square number(10,2), cou int); 建立零件表 Create table material( mno varchar2(10) primary key, mname varchar2(20), type varchar2(10), unit varchar2(10), cusnum varchar2(10), price number(10,2)); 建立库存表 Create table storage( wno varchar2(10) references warehouse(wno), mno varchar2(10) references material(mno), store number(10,2), primary key(wno,mno)); 2. insert into employee values(‘k10001' ,’计划科’,‘张明',2003-11-14); insert into warehouse values(‘w001',‘仓库 1',’刘成’,1000,100); insert into material values(‘030001',‘螺母',‘中号’,‘只’,‘c1001’,5); insert into storage values(‘w001',‘030001',2000); 3. 用 SQL 表示 select eno, dno, edate from employee where ename=’张明亮’; select mno, type, unit from material where mname=’螺丝 II’; 用关系代数表示 ( ( )) , , ' ' employee eno dno edate ename= 张明亮 ( ( )) , , ' ' material mno type unit mname= 螺丝II 用元组演算表示 GET W (employee.eno,employee.dno,employee.edate):employee.ename=’张明亮’; GET W (material.mno,material.type,material.unit):material.mname=’螺丝 II’; 4. 1)找出“张明亮”所管理仓库的总面积与总货位数。 Select sum(size), sum(num) from warehouse, store, emp where warehouse.wno=store.wno and emp.emo=store.emo and ename=‘张明’ group by ename
2)找出所管理零件总价值(单价用计划价格)超过50万的职工号及职工名。 Select eno, ename from emp where eno in (select eno from store, part where store pno=part pno group by eno having sum(I price*num)>=500000 5. delete from storage where storage. mno=material. mno and material price>100000; delete from material where price>100000 6. Create view IS M As Select warehouse wno, wname, material mno, mname, price, store From warehouse. material storage Where warehouse wno=storage wno and material. mno=storage mno 五、1.(1)由已知条件可知:函数关系的右属性不包含E,所以码中必包含E 易知E不能推出所有其它属性,所以不是码 同理考虑两个属性的组合,分析知只有{BE}和{CE}能推出所有其它属性 依此考虑三个属性的组合{ADE}不能推出其它所有属性 综上可知R的码有{BE}和{CE} (2)若码是(CB},不存在部分依赖和传递依赖,但存在决定因素B不包含码,故R是3NF 若码是{BE},因为存在{B->D部分依赖,所以R是1NF。 综上R的最高范式是3NF 2.(1)由已知条件可知:函数关系的右属性不包含A,所以码中必包含A 易知A不能推出所有其它属性,所以不是码 同理考虑两个属性的组合,分析知只有{AB}和{AD能推出其它所有属性 因为只有四个属性,因此不存在三个属性的组合 综上可知R的码有{AB}和{AD (2)若码是{AB},因为存在{B->D部分依赖,所以R是1NF; 若码是{AD},因为存在{D→>B}部分依赖,所以R是INF。 综上R的最高范式是1NF 六、程序填空 1 number 2 mod (v_ Loop Counter, 10)<>4 3V Loop Counter >=10 4 ELSE
6 2)找出所管理零件总价值(单价用计划价格)超过 50 万的职工号及职工名。 Select eno, ename from emp where eno in (select eno from store, part where store.pno=part.pno group by eno having sum(l_price*num)>=500000) 5. delete from storage where storage.mno=material.mno and material.price>100000; delete from material where price>100000; 6. Create view IS_M As Select warehouse.wno, wname, material.mno, mname, price, store From warehouse, material, storage Where warehouse.wno=storage.wno and material.mno=storage.mno; 五、1.⑴由已知条件可知:函数关系的右属性不包含 E,所以码中必包含 E 易知 E 不能推出所有其它属性,所以不是码 同理考虑两个属性的组合,分析知只有{BE}和{CE}能推出所有其它属性 依此考虑三个属性的组合{ADE}不能推出其它所有属性 综上可知 R 的码有{BE}和{CE} ⑵若码是{CE},不存在部分依赖和传递依赖,但存在决定因素 B 不包含码,故 R 是 3NF; 若码是{BE},因为存在{B->D}部分依赖,所以 R 是 1NF。 综上 R 的最高范式是 3NF。 2.⑴由已知条件可知:函数关系的右属性不包含 A,所以码中必包含 A 易知 A 不能推出所有其它属性,所以不是码 同理考虑两个属性的组合,分析知只有{AB}和{AD}能推出其它所有属性 因为只有四个属性,因此不存在三个属性的组合 综上可知 R 的码有{AB}和{AD} ⑵若码是{AB},因为存在{B->D}部分依赖,所以 R 是 1NF; 若码是{AD},因为存在{D->B}部分依赖,所以 R 是 1NF。 综上 R 的最高范式是 1NF。 六、程序填空 1 number 2 mod(v_LoopCounter,10)<>4 3 v_LoopCounter >=10 4 ELSE 5 36