2010数据库原理与技术复习题及参考答案

更新时间:2024-01-26 06:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中南大学现代远程教育课程考试复习试题及参考答案

数据库原理与技术

一、名词解释:

1.DB 2.DBS 3.DBA 4.DBMS 5.DBMS 6.SQL 7.NF 8.BCNF 9.完整性控制 10.PL/SQL 11.3NF 12.安全性控制 13.关系模型 14.关系数据库 二、判断题:

1.任何由二个属性组成的关系不可能是 3NF。( ) 2.数据冗余引起的问题主要是花费空间。( )

3.R(X,Y,Z)是个三元关系,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。( )

13.SQL的标准库函数COUNT,SUM等是不允许直接出现在查询语句中的。

14.在SQL的查询语句的WHERE子句中,我们可以使用“字段!=null”。( ) 15.数据库具有数据结构化、较小冗余、易于扩充等特点。( ) 16.数据模型包括数据结构,数据操作,完整性约束条件。( )

17.关系模式R,S具有共同的属性X,且X是R的主码,则X称为S的外部码。( ) 18.关系系统是支持关系模型所有特征的系统。( ) 19.一个外部关键字的属性至多一个。( )

20.设属性组X,Y,Z分别是m,n,k目的,则R(X,Y)÷S(Y,Z)是m目的。 21.描述事物的符号记录称为数据。( ) 22.数据库也就是数据仓库。( )

23.数据库管理系统是一个软件系统。( )

24.数据库系统指软件为主,不包括数据库与用户。( )

25.数据库的实体完整性控制是指R中主键或者为空,或者唯一。( )

26.数据库的数据控制功能包括安全性、并发、分布式控制等控制功能。( ) 27.数据模型是现实世界数据特征的抽象。( )

28.在SQL的查询中,子查询中不能返回多个记录,否则会出错。( ) 29.关系模式R为3NF,则R不存在部分信赖。( ) 30.关于关系数据库存取效率不高。 ( ) 31.在数据库系统中,核心的部分是DBS。( )

32.在ORACLE 10g中,一个表是可以由多个用户同时进行查询与更新操作的。 ( )

33.在灾难性事件中,即便现场的计算机硬件不可修复,则原有的数据库也可能被恢复。( ) 34.数据查询是关系代数最基本的运算,现在流行的关系系统肯定都支持。 ( ) 35.在数据库中,外码一定是某个主码,但主码不总是外码。 ( ) 36.数据或文件的集合称为数据库。 ( )

37.在关系的规则中,不允许出现重复的元组,因此在ORACLE的表中却可以输入多条所有字段值都

相同的记录。 ( )

38.已知关系模式R(A, B, C),满足函数依赖集F={A->B,A->C},则R为2NF。 ( ) 39.一个表T只有二个属性,则我们可以说T为BCNF。 ( )

40.在数据表定义时设置外键(Primary key)是数据库的完整性控制。 ( ) 41.对象—关系数据库中可以表示关系数据库中非1NF的表。 ( ) 42.关系数据库系统只能输入不完全为空的记录。 ( )

43.从数据库中每次可以只读取记录中的数据项。 ( ) 44.DB包括DBS及DBAS。 ( )

45.视图与表不完全一样,有些视图是不可以对其进行更新操作的。 ( ) 46.数据库编程一般指用开发工具对数据库进行更新操作。( ) 三、简要回答下列问题:

1.为什么说SYBASE是关系系统,试举例说明。 2.试比较文件系统与数据库系统的优缺点。 3.试比较1NF,2NF,3NF及BCNF的关系。

4.为什么说如果R为BCNF,则R一定为3NF。 四、综合运用题:

1.现有如下E-R图:

仓库 m 库存 p 零件

库存量 实体的主要属性如下,其中下划线部分为主码:

仓库(仓库号、仓库名、面积、货位数、保管员,?)

零件(零件号、零件名称、规格型号、计量单位、供货商号、价格、?) 库存(?,?,库存量)

(1)试用SQL表示(即定义)上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,要求反映主码与联系(外码),一定要表示实体间的联系,其中的类型长度可以根据需要确定,零件计划不超过10万元。

(2)在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 (3)用SQL与关系代数表示:

a> 找出仓管员“张明”所管的仓库号、仓库名、面积

b> 找出库存了零件号为’10010001’的仓库号、仓库名、零件名称、计划价格 (4)试用SQL表示查询:

(5)将1996年前库存的价格高于3000元的尚有库存量的零件的价格减价25%。 (6)删除计划价格大于10万的零件的库存记录。

(7)建立视图表示关系(仓库号、仓库名、仓管员、零件号、零件名、计划价格、库存量) 2.现有如下E-R图:

部门 1 有 n 职工 实体的主要属性如下,其中下划线部分为主码: 部门(编号、名称、电话、部门负责人号、?)

职工(职工号、姓名、年龄、性别、工资、津贴、?)

(1)试用SQL表示(即定义)上述E-R图所有的实体及联系,其中实体只需表示列出的主要属性,

要求反映主码与联系(一定要表示联系),其中电话以’0731-’开头,年龄>=18,工资+津贴<=5000,各字段的类型长度可以根据需要自己确定。

(2)在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 (3)用SQL与关系代数(两者都要)表示:

(a)找出职工’李芳芳’的职工号与年龄、性别 (b)找出’技术开发部’的电话与职工号、姓名 (4)试用SQL表示查询:

(5)删除名称为空值的部门。

(6)建立视图表示关系(部门名称、电话、职工号、姓名、年龄、性别)

2

五、试编写程序:

1.产生以’湘A-D88’开头的尾数不为4的共4个数字的牌号,但如果尾数为44,则标注为”特别号”,如果尾数为 ‘7’、‘8’、‘9’则为”吉祥号”。

2.写程序表示产生以’888’(3位)开头的6位QQ号存入一个号码表中,表中字段除号码外,还有一个标注字段。后3位都为数字,其中末位一般不为4,但如果最后4位是‘444’,则允许并标注为”特别号”,号码中尾数为6,7,8,9都需标注为”幸运号”。

3.产生以’湘A-0’开头的两位字母、两位数字(如湘A-0AA99,湘A-0BB66,湘A-0SS77),的不少于200个的车牌号码,其中要求尾数不为4,并要求存入数据库表v_number(l_number varchar(20),Memo varchar(32))。

参考答案

一、名词解释:

1.DB:数据库,在DBMS的集成管理下,有较高的数据独立性,有较少的冗余,相互间有文件的集成.如答案为:存储数据的仓库,给一半分,答:相互间有联系的数据集成,给全分.

2.DBS:数据库系统(1分),包括DB,DBMS与DBA的计算机系统,

3.DBA:数据库管理员(1分),负责监控与维护\\管理数据库系统,负责优化数据库系统的结构等工作的人员

4.DBMS:数据库管理系统,即管理数据库系统的软件系统.

5.DBAS:数据库应用系统,即用于某一特定领域或用途的有数据库系统作为支撑的应用软件系统.

6.SQL:结构化查询语言,为大型数据库系统的标准操作评语言.

7.NF:规范化的关系模型,一般指满足属性不能再分条件的关系模式.

8.BCNF:是关系数据库系统中单值依赖最高的关系模式,要求非码的属性都不能函数决定其它属性。

9.完整性控制:即保证数据是正确有效相容的一种控制机制,大型数据库系统中一般在表的定义时通过定义主键,外键与CHECK约束,以及触发器来定义。

10.PL/SQL:编程化的SQL,支撑条件分支,遁环及过程、函数及触发器等固定结构的程序结构 11.3NF:第3范式,要求关系模式R中的非主属性都是非传递依赖于码的

12.安全性控制:一般指用户访问系统数据的权限控制方式,可通过GRANT 与REVOKE来实现 13.关系模型:用表来表示实体联系的模型。

14.关系数据库:在关系数据库系统管理下的数据库,而关系数据库系统是指支持表结构,支持选择投影联接等基本关系操作,而不依赖任何物理路径的系统(最小关系系统)。 二、判断题:

1.× 2.× 3.√ 4.× 5.× 6.√ 7.× 8.√ 9.× 10.× 11.× 12.× 13.× 14.× 15.√ 16.√ 17.√ 18.× 19.× 20.√ 21.√ 22.× 23.√

24.× 25.× 26.× 27.√ 28.× 29.× 30.√ 31.× 32.√ 33.√ 34.× 35.√ 36.× 37.√ 38.√ 39.√ 40.× 41.√ 42.× 43.√ 44.× 45.√ 46.× 三、答案要点:

1.关系系统是指表结构,支持关系操作(最小关系系统),关系完整性(完备式关系系统),SYBASE支持SQL,而SQL就是定义表结构的,支持选择投影联接等关系操作,支持完整性定义。因此,SYBASE为完备式关系数据库系统。实例用SQL中的定义,查询(选择列为投影,WHERE条件为选择,FROM 多个表为联接)

select * from stud where nl>20 (选择) select xh,xm from stud(投影)

select * from stud,dept where stud.dno=dept.dno(联接) 且这些操作不依赖任何物理路径.

2.数据库系统有数据结构化,面向全组织;数据与程序的独立性高,冗余小,易扩充;统一的控制方式;最小操作单位为数据项。

文件系统是冗余大,独立性差,控制功能差,最小操作单位为记录。

3.从单值依赖来看,范式最高的为BCNF,即条件要求最强.1NF为最基本的,依次条件递增。 根据家义证明,如果R为BCNF,则R为3NF,且为2NF。

4.采用反证法,证逆否命题.

假设R不为3NF,则一定存在非主属性X,码K,属性Y,有Y?X,而Y\\-->K. 而由于Y\\-->K.,即Y不为码,因此R不为BCNF. 四、综合运用题 1.解:

(1) ??分别为仓库号,零件号 Create table warehouse(wno char(4) primary key, wname varchar2(32), size number(8,2), l_num number(8),eno

char(7))

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),s_date date,primary key(wno,pno,s_date))

(2)在上述定义的每个表中输入一个有代表性的记录,体现相互间的联系。 Insert into warehouse values(‘1001’, ‘轴承库’, 360.50,100) Insert into part values(‘101010101’, ‘35轴承’, ‘35’, 268.65) Insert into store values(‘1001’, ‘101010101’, ‘20000625’,30) (3)用SQL与关系代数表示:

a> 找出仓管员“张明”所管的仓库号、仓库名、面积 select wno, wname, size from warehouse where ename=’张明’ Πwno, wname, size (δename=‘张明’(warehouse) )

b> 找出库存了零件号为’10010001’的仓库号、仓库名、零件名称、计划价格

select w.Wno, wname, pname, p_price from warehouse w ,store where pno=’ 10010001’ and w.wno=store.wno

ΠWno, wname, pname, p_price (δpno=‘10010001’(store) |?| warehouse ) (4)试用SQL表示查询:

找出所管理零件总价值(单价用计划价格)超过500万的仓管员。

Select ename from warehouse where wno in (select wno from part, store where part.pno=sore.pno having sum(p_price*num)>5000000 group by wno,pno)

(5)将1996年前库存的价格高于3000元的尚有库存量的零件的价格减价25%。

Update warehouse w set p_price=(1-0.25)*P_price where p_price>3000 and wno in (select wno from Store where s_date<’19960101’);

(6) 删除计划价格大于10万的零件的库存记录。

Delete from store where pno in (select pno from part where p_price>100000);

(7) 建立视图表示关系(仓库号、仓库名、仓管员、零件号、零件名、计划价格、库存量) create view store_view(仓库号、仓库名、仓管员、零件号、零件名、计划价格、库存量) as select w.wno, wname, ename,part.pno,pname,p_price,num from warehouse w,store,part where w.wno=store.wno and p.pno=store.pno) 2.解:(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) (2)

insert into dept values(‘1101’,’技术开发部’,’0731-8883210’);

insert into emp values(‘1101101’,’张大力’,26,’男’,1600,2200,’1101’); (3)

(a)找出职工’李芳芳’的职工号与年龄、性别 select eno, age, sex from emp where ename=’李芳芳’ Πeno, age, sex (δename=‘李芳芳’(emp) )

(b)找出’技术开发部’的电话与职工号、姓名

select tel,eno,ename from emp,dept where dname=’ 技术开发部’ and emp.dno=dept.dno Πtel,eno,ename (δdname=‘技术开发部’(dept)|?|emp )

(4)找出平均工资大于2000的部门编号与名称、电话。

Select dno,dname,tel from dept where dno in (select dno from emp having avg(sal)>2000 group by dno); (5)删除名称为空值的部门。(2分) delete from dept where dname is null; (6)

create view dept_emp(部门名称、电话、职工号、姓名、年龄、性别) as select dname,tel,eno,ename,age,sex from emp,dept where emp.dno=dept.dno 五、试编写程序

1.产生以’湘A-D88’开头的尾数不为4的共4个数字的牌号,但如果尾数为44,则标注为”特别号”,

2

如果尾数为 ‘7’、‘8’、‘9’则为”吉祥号”

假定先建立了表Car_num(car_id,memo) DECLARE

car_code number_:= 1; car_idM char; memm char; BEGIN

while car_code< 99 LOOP

If car_code <10 and mod(car_code,10)<>4 then Car_idm:= ‘湘A-D880’||to_char(car_code);

Else if mod(car_code,10)<>4 then

Car_idm:= ‘湘A-D88’||to_char(car_code); end if;

If mod(car_code,10) in (7, 8, 9) then Memm:=’ 吉祥号’; End if;

INSERT INTO ca _num (car_id) Select car_idm,memm from dual;

car_code := car_code + 1; end loop;

END; 2.略 3.略

本文来源:https://www.bwwdw.com/article/3vzw.html

Top