资源描述
文档数据库原理与技术复习题与参考答案一、填空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) 时间或空间3RX,Y,Z是个三元关系,X,Y,Z是单属性且X是码,如此R一定是(A) 1NF (B) 2NF (C) 3NF (D) BF4在数据库中,存储冗余数据是()(A)不应该的 (B) 应该且合理的 (C) 合理的但不能过度冗余 (D)视情况而定5在关系运算中,进展自然联接运算的两个关系 (A) 必有一样的列名 (B)必有一样的关键字 (C)没有要求 (D)必有类型一样的列 6在数据库系统中,DBMS与DB的关系是 (A) DBMS包括DB (B) DB包括DBMS (C)不一定的 (D) 同级关系 7、在SQL的查询语句的WHERE子句中,如下哪个不能出现 (A) sum (B) != (C) (D) 找出成品库II名的仓库号、面积、货位数。b 找出零件名为“110110011的零件名、计量单位与所在仓库号、库存数量、保管员(4) 试用SQL表示查询: 找出110110011号零件的所在的仓库号,仓库名,货位数。(5) 删除价格为空值的库存记录。(6) 建立视图表示关系仓库号、仓库名、零件号、零件名、计划价格、库存量2.现有如下E-R图:1n职工部门有实体的主要属性如下,其中下划线局部为主码:部门编号、名称、部门负责人号、职工职工号、年龄、性别、工资、津贴、(1) 试用SQL表示即定义上述E-R图所有的实体与联系,其中实体只需表示列出的主要属性,要求反映主码与联系一定要表示联系,其中以0731-开头,年龄=18,工资+津贴=5000,各字段的类型长度可以根据需要自己确定。(2) 在上述定义的每个表中输入一个有代表性的记录,表现相互间的联系。(3) 用SQL与关系代数两者都要表示a找出职工 王晓芳的职工号与年龄、性别b找出售后服务部的与职工号、(4) 试用SQL表示查询: 找出平均工资大于3000的部门编号与名称、。(5) 删除名称为空值的部门。(6) 建立视图表示关系部门名称、职工号、年龄、性别五、编程题1.编写程序,并写出程序运行产生的最后一个结果用PL/SQL编写程序,表示产生以i6081开头的第8位固定为3的6、7位不超过36的多个学号。2、程序填空以下程序表示产生以湘A-D88开头的尾数不为4的共4个数字的牌号,请将程序中的空格补充完整(其中的数字与只是作为第几空说明,不作程序) DECLARE car_code 1_:= 1;BEGIN while car_code99 LOOPIf car_code 10 and (2_) then INSERT INTO temp_table (sno)select 湘A-D880|to_char(car_code) from dual;Else if (3_) thenINSERT INTO temp_table (sno)Select 湘A-D88|to_char(car_code) from dual;(4_) car_code := car_code + 1;end loop;END;程序运行完成后,一共产生了(5_)个牌号。参考答案一、填空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(A) 1NF (B) 2NF (C) 3NF (D) 不能判定2.数据冗余引起的问题主要是花费C(A) 时间 (B) 空间 (C) 时间与空间 (D) 时间或空间3RX,Y,Z是个三元关系,X,Y,Z是单属性且X是码,如此R一定是B(A) 1NF (B) 2NF (C) 3NF (D) BF4在数据库中,存储冗余数据是(C)(A)不应该的 (B) 应该且合理的 (C) 合理的但不能过度冗余 (D)视情况而定5在关系运算中,进展自然联接运算的两个关系 D (A) 必有一样的列名 (B)必有一样的关键字 (C)没有要求 (D)必有类型一样的列 6在数据库系统中,DBMS与DB的关系是 D (A) DBMS包括DB (B) DB包括DBMS (C)不一定的 (D) 同级关系 7、在SQL的查询语句的WHERE子句中,如下哪个不能出现 A (A) sum (B) != (C) (D) 找出成品库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)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)3用SQL与关系代数表示查询:a 找出成品库II号仓库的仓库号、面积、货位数。select wno, size, l_num from warehouse where wno=成品库IIwno,size_l_num(wname=成品库II(warehouse) )b 找出零件名为“2# 镙丝的零件号、计量单位与所在仓库号、库存数量与保管员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,store2.现有如下E-R图:1n职工部门有实体的主要属性如下,其中下划线局部为主码:部门编号、名称、部门负责人号、职工职工号、年龄、性别、工资、津贴、(5) 试用SQL表示即定义上述E-R图所有的实体与联系,其中实体只需表示列出的主要属性,要求反映主码与联系一定要表示联系,其中以0731-开头,年龄=18,工资+津贴=18),sex char(2), sal number(10,2),m. Number(10,2) , dno char(4) references dept (dno), check(sal+m.)3000 group by dno);(5) 删除名称为空值的部门。delete from dept where dname is null;6 建立视图表示关系部门名称、职工号、年龄、性别create view dept_emp(部门名称、职工号、年龄、性别) as 五、编程题1.编写程序,并写出程序运行产生的最后一个结果用PL/SQL编写程序,表示产生以i6081开头的第8位固定为3的6、7位不超过36的多个学号。答案DECLARE v_Lumber:= 1;BEGIN while v_LC=36 LOOPINSERT 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_:= 1;BEGIN while car_code99 LOOPIf car_code 10 and (2_) then INSERT INTO temp_table (sno)select 湘A-D880|to_char(car_code) from dual;Else if (3_) thenINSERT 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)43. mod(car_code,10)44.end if;15 / 15
展开阅读全文