数据库原理与技术复习题及答案.docx
数据库原理与技术复习题及答案中南大学现代远程教育课程考试复习题及参考答案 数据库原理与技术 一、填空 1关系代数运算中,运算对象为两个关系的运算有并、_、_、_、_等。运算对象为一个的有_、_等。 2常用的关系运算是_与_。 3SQL的标准库函数有_、_、_等,其中不允许直接出现在查询Where子句中的有_、_。 4、数据库具有数据结构化、_与_等特点。 5、数据模型包括数据结构、_与_。 6.数据库系统包括计算机硬件、_、_、_等 7.数据库的数据控制功能包括安全性、_、_等控制功能。 8.目前主要的关系数据库管理系统有ORACLE、_、_、_等,用于数据库应用系统的开发工具主要有VB、_、_等。 9数据库设计主要包括需求分析、_、_、_、运行维护等步骤。 10数据库系统主要包括关系、_、_等类型的系统。 二、选择题:选取最满意的一个答案任何由三个属性组成的关系可能是 (A) 1NF (B) 2NF (C) 3NF (D) 不能判定 2.数据冗余引起的问题主要是花费 (A) 时间 (B) 空间 (C) 时间与空间 (D) 时间或空间 3R是个三元关系,X,Y,Z是单属性且X是码,则R一定是 (A) 1NF (B) 2NF (C) 3NF (D) BCNF 4在数据库中,存储冗余数据是( ) (A)不应该的 (B) 应该且合理的 (C) 合理的但不能过度冗余 (D)视情况而定 5在关系运算中,进行自然联接运算的两个关系 (A) 必有相同的列名 (B)必有相同的关键字 (C)没有要求 (D)必有类型相同的列 6在数据库系统中,DBMS与DB的关系是 (A) DBMS包括DB (B) DB包括DBMS (C)不一定的 (D) 同级关系 1 7、在SQL的查询语句的WHERE子句中,下列哪个不能出现 (A) sum (B) != (C)<> (D) <= 8、关系模式R,S具有共同的属性X,且X是R的主码,则X称为S的 (A) 主码 (B)外码 (C)关键字 (D) 相对主码 9、关系系统不会具有如下哪个特征 (A)支持关系数据结构 (B)支持关系数据操作 (C)支持关系模型所有特征 (D) 支持表结构 10一个外部关键字的属性可以 (A) 1个 (B) 不超过2个 (C) 多个 (D) 最多1个 11、设属性组X,Y,Z分别是m, n, k目的,则R÷S是目的。 (A) m (B) n (C) k (D) m+n-k 12.数据库与数据仓库关系是( ) (A)一个概念 (B) 包含关系 (C)不一样的概念 (D) 不确定的 13.数据库管理系统是一个 ( ) (A) 软件系统 (B) 硬件系统 (C)软硬件结合的系统 (D) 数据集合 14.数据模型是数据特征的抽象。 (A)计算机世界 (B)现实世界 (C) 模型空间 (D) 概念世界 15.在SQL的查询中,子查询中返回多个记录。 (A) 不能 (B)能 (C)不一定 (D) 能,但有限制 16.关系模式R为3NF, 则R不存在 ( ) (A) 部分依赖 (B) 传递依赖 (C)非主属性对码的传递依赖 (D) 主属性对码的传递依赖 17.关系模式R为2NF, 则R不存在 ( ) (A) 部分依赖 (B) 传递依赖 (C)非主属性对码的部分依赖 (D) 主属性对码的传递依赖 18.关系模式R为BCNF, 则R不可能存在 ( ) 2 (A) 部分依赖 (B) 传递依赖 (C)码与码间的部分依赖 (D) 主属性对码的传递依赖 19. 关于关系数据库的缺点是 ( ) (A) 结构复杂 (B) 存取效率不高 (C) 操作复杂 (D) 操作语句难以理解与记忆 20关系R的实体完整性控制是指 ( ) 主键非空 主键唯一 主键非空且唯一 主键非空或唯一 三、判断题:判断下列各题是否正确,正确的划,错误的划× 1 任何由二个属性组成的关系不可能是 3NF。 2.数据冗余引起的问题主要是花费空间。 3R是个三元关系,X,Y,Z是单属性且X是码,则R一定是2NF。 4.DB设计中优化设计的目标是减少DB设计时间。 5在数据库中,不应该存储任何冗余数据。 6.关系中的行、列均可交换。 7在关系统运算中,进行自然联接运算的两个关系必须具有相同关键字。 8、在数据库设计中,由分 E-R图生成总E-R图,主要是消除结构冲突与命名冲突。 9.在关系笛卡尔积运算记号R×S中,R、S均为属性名。 10关系代数运算中,运算对象为两个关系的运算有并、交、选择、投影等。 11常用的关系运算是关系代数和逻辑演算。 12在数据库系统中,DBMS包括DBS和DB。 13SQL的标准库函数COUNT,SUM等是不允许直接出现在查询语句中的。 14、在SQL的查询语句的WHERE子句中,我们可以使用“字段!=null”。 3 15、数据库具有数据结构化、较小冗余、易于扩充等特点。 16、数据模型包括数据结构,数据操作,完整性约束条件。 17、关系模式R,S具有共同的属性X,且X是R的主码,则X称为S的外部码。 18、关系系统是支持关系模型所有特征的系统。 19一个外部关键字的属性至多一个。 20、设属性组X,Y,Z分别是m,n,k目的,则R÷S是m目的。 21、描述事物的符号记录称为数据。 22.数据库也就是数据仓库。( ) 23.数据库管理系统是一个软件系统。( ) 24.数据库系统指软件为主,不包括数据库与用户。( ) 25.数据库的实体完整性控制是指R中主键或者为空,或者唯一。( ) 26.数据库的数据控制功能包括安全性、并发、分布式控制等控制功能。( ) 27.数据模型是现实世界数据特征的抽象。( ) 28.在SQL的查询中,子查询中不能返回多个记录,否则会出错。 29.关系模式R为3NF,则R不存在部分信赖。( ) 30. 关于关系数据库存取效率不高。 ( ) 五、综合运用题,任选一个作答 1现有如下E-R图: 仓库 m 库存 p 4 零件 库存量 实体的主要属性如下,其中下划线部分为主码: 仓库 零件 库存 试用SQL表示上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系,价格在0到10万之间,其中的类型长度可以根据需要确定。?,?处需要填上相应的属性。 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 用SQL与关系代数表示查询: a> 找出成品库II的仓库号、面积、货位数。 b> 找出零件名为“110110011”的零件名、计量单位及所在仓库号、库存数量、保管员 (4) 试用SQL表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。 (5) 删除价格为空值的库存记录。 (6) 建立视图表示关系 2.现有如下E-R图: 实体的主要属性如下,其中下划线部分为主码: 部门 职工 部门 1 有 n 职工 (1) 试用SQL表示上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系,其中电话以0731-开头,年龄>=18,工资+津贴<=5000,各字段的类型长度可以根据需要自己确定。 (2) 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 (3) 用SQL与关系代数表示 5 找出职工 王晓芳的职工号与年龄、性别 找出售后服务部的电话与职工号、姓名 (4) 试用SQL表示查询: 找出平均工资大于3000的部门编号与名称、电话。 (5) 删除名称为空值的部门。 (6) 建立视图表示关系 六、编程题 1.编写程序,并写出程序运行产生的最后一个结果 用PL/SQL编写程序,表示产生以i6081开头的第8位固定为3的6、7位不超过36的多个学号。 2、程序填空 以下程序表示产生以湘A-D88开头的尾数不为4的共4个数字的牌号,请将程序中的空格补充完整(其中的数字与只是作为第几空说明,不作程序) DECLARE car_code := 1; BEGIN while car_code< 99 LOOP If car_code <10 and (2_) then INSERT INTO temp_table (sno) select 湘A-D880|to_char(car_code) from dual; Else if (3_) then INSERT INTO temp_table (sno) Select 湘A-D88|to_char(car_code) from dual; (4_) car_code := car_code + 1; end loop; END; 程序运行完成后,一共产生了(5_)个牌号。 参考答案 6 一、填空 1关系代数运算中,运算对象为两个关系的运算有并、_交_、_差_、_除_、_联接_等。运算对象为一个的有_、_等。 2常用的关系运算是_关系代数_与_关系演算_。 3SQL的标准库函数有_SUM_、_AVG_、_MAX_等,其中不允许直接出现在查询Where子句中的有_SUM_、_AVG_。 4、数据库具有数据结构化、_冗余小_与_易扩充_等特点。 5、数据模型包括数据结构、_数据操作_与_完整性约束条件_。 6.数据库系统包括计算机硬件、_数据库管理系统等软件,数据库,DBA等人员_等 7.数据库的数据控制功能包括安全性、_完整性,并发_等控制功能。 8.目前主要的关系数据库管理系统有ORACLE、_ SQL Server,Sybase,DB2(foxpro,access,my SQL), _等,用于数据库应用系统的开发工具主要有VB、_ PB, Delphi_等。 9数据库设计主要包括需求分析、_概念设计,逻辑设计,物理设计_、运行维护等步骤。 10数据库系统主要包括关系、_层次,网状_等类型的系统。 二、选择题:选取最满意的一个答案 2 任何由三个属性组成的关系可能是 (A) 1NF (B) 2NF (C) 3NF (D) 不能判定 2.数据冗余引起的问题主要是花费 (A) 时间 (B) 空间 (C) 时间与空间 (D) 时间或空间 3R是个三元关系,X,Y,Z是单属性且X是码,则R一定是 (A) 1NF (B) 2NF (C) 3NF (D) BCNF 4在数据库中,存储冗余数据是( C ) (A)不应该的 (B) 应该且合理的 (C) 合理的但不能过度冗余 (D)视情况而定 5在关系运算中,进行自然联接运算的两个关系 (A) 必有相同的列名 (B)必有相同的关键字 (C)没有要求 (D)必有类型相同的列 6在数据库系统中,DBMS与DB的关系是 (A) DBMS包括DB (B) DB包括DBMS (C)不一定的 (D) 同级关系 7、在SQL的查询语句的WHERE子句中,下列哪个不能出现 7 (A) sum (B) != (C)<> (D) <= 8、关系模式R,S具有共同的属性X,且X是R的主码,则X称为S的 (A) 主码 (B)外码 (C)关键字 (D) 相对主码 9、关系系统不会具有如下哪个特征 (A)支持关系数据结构 (B)支持关系数据操作 (C)支持关系模型所有特征 (D) 支持表结构 10一个外部关键字的属性可以 (A) 1个 (B) 不超过2个 (C) 多个 (D) 最多1个 11、设属性组X,Y,Z分别是m, n, k目的,则R÷S是目的。 (A) m (B) n (C) k (D) m+n-k 12.数据库与数据仓库关系是( C ) (A)一个概念 (B) 包含关系 (C)不一样的概念 (D) 不确定的 13.数据库管理系统是一个 ( A ) (A) 软件系统 (B) 硬件系统 (C)软硬件结合的系统 (D) 数据集合 14.数据模型是数据特征的抽象。 (A)计算机世界 (B)现实世界 (C) 模型空间 (D) 概念世界 15.在SQL的查询中,子查询中返回多个记录。 (A) 不能 (B)能 (C)不一定 (D) 能,但有限制 16.关系模式R为3NF, 则R不存在 ( D ) (A) 部分依赖 (B) 传递依赖 (C)非主属性对码的传递依赖 (D) 主属性对码的传递依赖 17.关系模式R为2NF, 则R不存在 ( C ) (A) 部分依赖 (B) 传递依赖 (C)非主属性对码的部分依赖 (D) 主属性对码的传递依赖 18.关系模式R为BCNF, 则R不可能存在 ( D ) (A) 部分依赖 (B) 传递依赖 (C)码与码间的部分依赖 (D) 主属性对码的传递依赖 8 19. 关于关系数据库的缺点是 ( B ) (A) 结构复杂 (B) 存取效率不高 (C) 操作复杂 (D) 操作语句难以理解与记忆 20关系R的实体完整性控制是指 ( A ) 主键非空 主键唯一 主键非空且唯一 主键非空或唯一 三、判断题:判断下列各题是否正确,正确的划,错误的划× 3 任何由二个属性组成的关系不可能是 3NF。 2.数据冗余引起的问题主要是花费空间。 3R是个三元关系,X,Y,Z是单属性且X是码,则R一定是2NF。 4.DB设计中优化设计的目标是减少DB设计时间。 5在数据库中,不应该存储任何冗余数据。 6.关系中的行、列均可交换。 7在关系运算中,进行自然联接运算的两个关系必须具有相同关键字。 8、在数据库设计中,由分 E-R图生成总E-R图,主要是消除结构冲突与命名冲突。 9.在关系笛卡尔积运算记号R×S中,R、S均为属性名。 10关系代数运算中,运算对象为两个关系的运算有并、交、选择、投影等。 11常用的关系运算是关系代数和逻辑演算。 12在数据库系统中,DBMS包括DBS和DB。 13SQL的标准库函数COUNT,SUM等是不允许直接出现在查询语句中的。× 14、在SQL的查询语句的WHERE子句中,我们可以使用“字段!=null”。 15、数据库具有数据结构化、较小冗余、易于扩充等特点。 9 16、数据模型包括数据结构,数据操作,完整性约束条件。 17、关系模式R,S具有共同的属性X,且X是R的主码,则X称为S的外部码。 18、关系系统是支持关系模型所有特征的系统。 19一个外部关键字的属性至多一个。 20、设属性组X,Y,Z分别是m,n,k目的,则R÷S是m目的。 21、描述事物的符号记录称为数据。 22.数据库也就是数据仓库。(× ) 23.数据库管理系统是一个软件系统。( ) 24.数据库系统指软件为主,不包括数据库与用户。( × ) 25.数据库的实体完整性控制是指R中主键或者为空,或者唯一。(× ) 26.数据库的数据控制功能包括安全性、并发、分布式控制等控制功能。( × ) 27.数据模型是现实世界数据特征的抽象。(× ) 28.在SQL的查询中,子查询中不能返回多个记录,否则会出错。 29.关系模式R为3NF,则R不存在部分依赖。(× ) 30. 关于关系数据库存取效率不高。 ( ) 五、综合运用题,任选一个作答 1现有如下E-R图: 仓库 m 库存 p 10 零件 库存量 实体的主要属性如下,其中下划线部分为主码: 仓库 零件 库存 试用SQL表示上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系,价格在0到10万之间,其中的类型长度可以根据需要确定。?,?处需要填上相应的属性。 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 用SQL与关系代数表示查询: a> 找出成品库II的仓库号、面积、货位数。 b> 找出零件名为“110110011”的零件名、计量单位及所在仓库号、库存数量、保管员 (5) 试用SQL表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。 (5) 删除价格为空值的库存记录。 (6) 建立视图表示关系 1解:?处分别填仓库号,零件号 Create table warehouse(wno char(4) primary key, wname varchar2(32), size number(8,2), l_num number(8),eno char(7) references emp(eno),emp_name char(8) Create table part(pno char(9) primary key, pname varchar2(32), p-size varchar2(32), cust_no char(7), p_price number(10,2) check(p_price between 0 and 100000) Create table store(wno char(4) references warehouse.wno, pno char(9) references part.pno, num number(12,2) 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 Insert into warehouse values(1001, 轴承库, 360.50,100, 张三) Insert into part values(101010101, 35轴承, 35, 268.65) Insert into store values(1001, 101010101, 30) 用SQL与关系代数表示查询: 11 a> 找出成品库II号仓库的仓库号、面积、货位数。 select wno, size, l_num from warehouse where wno=成品库II wno,size_l_num(wname=成品库II(warehouse) ) b> 找出零件名为“2# 镙丝”的零件号、计量单位及所在仓库号、库存数量及保管员 select part.pname, cust_no, wno, num,emp_name from part, store where part.pno=store.pno and pno=“110110011”; pname, cust_no, wno, num,emp_name (pno=110110011(part) |´| store ) (4) 试用SQL表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。 Select wno, wname, sum(l_num) from warehouse where wno in (select wno from store where pno= 110110011); (5) 删除价格为空值的库存记录。 Delete from store where pno in (select pno from part where p_price is null) (6) 建立视图表示关系 create view store_view(仓库号、仓库名、零件号、零件名、计划价格、库存量) as select w.wno, wname, p.pno, pname, p_price ,num from warehouse w,part,store where w.wno=store.wno and part.pno=sore.pno 2.现有如下E-R图: 实体的主要属性如下,其中下划线部分为主码: 部门 职工 部门 1 有 n 职工 (5) 试用SQL表示上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系,其中电话以0731-开头,年龄>=18,12 工资+津贴<=5000,各字段的类型长度可以根据需要自己确定。 (6) 在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 (7) 用SQL与关系代数表示 找出职工 王晓芳的职工号与年龄、性别 找出售后服务部的电话与职工号、姓名 (8) 试用SQL表示查询: 找出平均工资大于3000的部门编号与名称、电话。 (5) 删除名称为空值的部门。 (6) 建立视图表示关系 答案: (1) 表的定义: create table dept(dno char(4) primary key,dname varchar(32), tel char(12) check( substr(tel, 1,5) = 0731-) create table emp(eno char(7) primary key,ename char(8),age number(2) check(age>=18),sex char(2), sal number(10,2),comm. Number(10,2) , dno char(4) references dept (dno), check(sal+comm.)<=5000) alter table dept add manager_no char(7) references emp(eno) 上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 insert into dept values(1101,技术开发部,0731-8883210); insert into emp values(1101101,张大力,26,男,1600,2200,1101); SQL与关系代数表示: 找出职工王晓芳的职工号与年龄、性别 select eno, age, sex from emp where ename= 王晓芳 eno, age, sex (ename=王晓芳(emp) ) 找出售后服务部的电话与职工号、姓名 select tel,eno,ename from emp,dept where dname= 售后服务部 and emp.dno=dept.dno tel,eno,ename (dname=售后服务部(dept)|´|emp ) 13 (4) 用SQL表示查询: 找出平均工资大于3000的部门编号与名称、电话。 Select dno,dname,tel from dept where dno in (select dno from emp having avg(sal)>3000 group by dno); 删除名称为空值的部门。 delete from dept where dname is null; 建立视图表示关系 create view dept_emp(部门名称、电话、职工号、姓名、年龄、性别) as select dname,tel,eno,ename,age,sex from emp,dept where emp.dno=dept.dno 六、编程题 1.编写程序,并写出程序运行产生的最后一个结果 用PL/SQL编写程序,表示产生以i6081开头的第8位固定为3的6、7位不超过36的多个学号。 答案 DECLARE v_LC number:= 1; BEGIN while v_LC< =36 LOOP INSERT INTO temp_table (sno) Select i6081|to_char(v_LC)|3 from dual; v_LC := v_LC + 1; end loop; END; 最后一个结果是:i6081363。 2、程序填空 以下程序表示产生以湘A-D88开头的尾数不为4的共4个数字的牌号,请将程序中的空格补充完整(其中的数字与只是作为第几空说明,不作程序) DECLARE car_code := 1; BEGIN while car_code< 99 LOOP If car_code <10 and (2_) then 14 INSERT INTO temp_table (sno) select 湘A-D880|to_char(car_code) from dual; Else if (3_) then INSERT INTO temp_table (sno) Select 湘A-D88|to_char(car_code) from dual; (4_) car_code := car_code + 1; end loop; END; 程序运行完成后,一共产生了(5_)个牌号。 1. number(4) 2.mod(car_code,10)<>4 3. mod(car_code,10)<>4 4.end if; 5.90 15