文档库

最新最全的文档下载
当前位置:文档库 > 数据库系统包括题目和答案

数据库系统包括题目和答案

数据库系统原理复习题

第1章

一、选择题

1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。

A. DBS包括DB和DBMS

B. DBMS包括DB和DBS

C. DB包括DBS和DBMS

D. DBS就是DB,也就是DBMS

2.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D )。

A.层次模型

B. 关系模型

C. 网状模型

D. 实体-联系模型

3.目前,数据库管理系统最常用的逻辑数据模型是(C)。

A.网状模型B.层次模型

C.关系模型D.面向对象模型

4.下列四项中,不属于数据库系统特点的是(C)。

A.数据共享

B. 数据完整性

C. 数据冗余度高

D. 数据独立性高

5.数据模型的三个要素分别是(B )。

A.实体完整性、参照完整性、用户自定义完整性

B.数据结构、数据操作、数据完整性约束条件

C.插入数据、修改数据、删除数据

D.外模式、模式、模式

6.数据库三级结构从到外的3个层次依次为(B)。

A.外模式、模式、模式

B. 模式、模式、外模式

C. 模式、外模式、模式

D. 模式、外模式、模式

7.下列关于数据库系统的正确叙述是(A):

A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致

D.数据库系统比文件系统能管理更多的数据

8.数据的逻辑独立性是指(B)。

A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变

C.模式改变时保持模式不变D.数据改变时保持应用程序不变

9.数据的物理独立性是指(C)。

A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变

C.模式改变时保持模式不变D.数据改变时保持应用程序不变

10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职

员,从部门到职员的联系类型是(D)。

A.多对多

B. 一对一

C. 多对一

D. 一对多

11.储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是(C)。

A.一对一联系

B. 一对多联系

C. 多对多联系

D. 不确定联系

12.描述数据库全体数据的全局逻辑结构和特性的是(A)。

A.模式

B. 模式

C. 外模式

D. 以上三级模式

二、填空

1. 数据库系统一般由(数据库)、(数据库管理系统)、(应用程序)和(数据库管理员)

组成。

2. 数据库是长期存储在计算机中、有(组织)的、可(共享)的数据集合。

3. DBMS表示(DataBase Management System),它是位于(用户)和(操作系统)

之间的一层数据管理软件。

4. 实体之间的联系可抽象为三类,它们是(一对一)、(一对多)和(多对多)。

5. 数据模型的三要素包括(数据结构)、(数据操作)和(数据完整性约束条件)三部

分。

6. 根据数据模型的应用目的不同,数据模型分为(概念模型)、(逻辑模型)和(物理

模型)等。

7. 按照数据结构的类型命名,逻辑模型分为(关系模型)、(层次模型)和(网状模型)

等。

8. E-R图中,(矩形)表示实体,(椭圆)表示属性,(菱形)表示实体之间的联系。

三、简述题

1. 数据库是长期存贮在计算机的、有组织的、可共享的大量数据的集合。

2. 数据库管理系统的主要功能包括:

(1)数据定义功能,

(2)数据的组织、存储和管理,

(3)数据操纵功能,

(4)数据库事务的管理与运行管理,

(5)数据的建立与维护,

(6)其它功能。

3. 数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。

4. 数据库中数据操作包括插入、修改、删除和查询。

6. 实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。

8. 数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模

型等。

9. 数据库系统由数据库、数据库管理系统、应用系统和数据库管理员等组成。

10. 数据库系统三级模式结构是指模式、模式和外模式。

三、简述题

1.数据库的定义是什么?

2.数据库管理系统的主要功能有哪些?

3.数据模型的三要素是什么?

4.数据库中数据操作包括哪些?

5.实体型之间的联系包括哪三种?

6.数据库领域中常用的逻辑数据模型有哪些?

7.数据库系统由哪几部分组成?

8.数据库系统三级模式结构?

答案:

1. 数据库是长期存贮在计算机的、有组织的、可共享的大量数据的集合。

2. 数据库管理系统的主要功能包括:

(1)数据定义功能,

(2)数据的组织、存储和管理,

(3)数据操纵功能,

(4)数据库事务的管理与运行管理,

(5)数据的建立与维护,

(6)其它功能。

3. 数据结构、数据操作和数据完整性约束条件构成数据模型的三要素。

4. 数据库中数据操作包括插入、修改、删除和查询。

6. 实体型之间的联系包括一对一联系、一对多联系和多对多联系三种类型。

8. 数据库领域中常用的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模

型等。

9. 数据库系统由数据库、数据库管理系统、应用系统和数据库管理员等组成。

10. 数据库系统三级模式结构是指模式、模式和外模式。

四、应用题

1.设有商品和顾客两个实体,商品实体包括商品编号、名称、单价等属性,顾客实体包括

顾客编号、、联系等属性,两个实体存在如下的关系:

●一个顾客可购买多种任意商品

●每次可购买一定数量的商品(一天只限一次购物)

数据库系统包括题目和答案

绘出E-R图,并标明属性和联系的类型

2.为某百货公司设计一个E-R模型:百货公司管辖若干个连锁商店,每家商店经营若干商

品,每家商店有若干职工,但每个职工只能服务于一家商店。实体类型“商店”的属性有:商店编号、商店名称、地址、联系。实体类型“商品”的属性有:商品编号、商品名称、单价、产地。实体类型“职工”的属性有:职工编号、职工、性别、工资。在联系中应反映出职工参加某商店工作的工作时间,商店推销产品的销售量。

数据库系统包括题目和答案

3.试为一网上书店建立概念模型。

数据库系统包括题目和答案

第2章一、选择题

1.关于关系模型,下列说法中不正确的是(D)。

B.关系模型是建立在集合代数的基础上的

C.数据的逻辑结构是一个二维表

D.关系操作是面向集合的操作方式

E.关系中的数据可以是任意的

2关于关系,下列说法中不正确的是(D )。

B.关系中每个属性值都是不可分解的 B. 关系中不允许出现相同的元组

C. 关系中不考虑元组间的顺序

D. 元组中的属性是有序的

3关系代数中,选择运算的运算符号是(C)

A.×B.ΠC. D.θ4关系查询时取出关系的某些列,并取消重复元组的关系运算为(B)。

B.选择运算 B. 投影运算

C. 连接运算

D.笛卡儿积

5根据关系模式的实体完整性规则,一个关系的主码属性(C)。

A.不能有两个B.不能成为另一个关系的外码

C.不允许为空D.可以取任意值

6在关系模式R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#在R中称为(B)。

C.主码 B. 外码 C. 候选码

D. 全码

7“成绩在0-100之间”这种约束属于哪种完整性约束(C )。

D.主键约束 B. 外键约束 C. 用户定义的完整性约束 D. 全不是

8关系R

数据库系统包括题目和答案

E.{b1,b2 } B. {(b1,c1),(b2,c3)}

C. {c1,c3}

D. {(b1,c1),(b2,c3), (b1,c2)}

二、简述题

9.关系模型的三个组成部分是什么?

10.关系模型的完整性约束分为哪三类?

11.关系代数中提供了哪些关系的查询运算?

答案

1.关系模型由关系数据结构、关系操作和关系的完整性约束条件三部分组成。

2.关系的完整性约束包括主键约束、外键约束和用户定义的完整性约束三种。

3.关系代数中的查询包括关系的并、交、差、笛卡儿积、选择、投影、连接和除法等

三、用关系代数表示查询

12设有选课关系数据库模式如下:

Student(Sno,Sname,Sage,Ssex)

Course(Cno,Cname)

SC(Sno,Cno,Grade)

请用关系代数表达式表示下列查询:

(1)查询选修了2号课程的学生的学号

(2)查询学号为“03”的学生的学号和

(3)查询年龄大于20岁的男同学的学号和

(4)查询选修了课程的学生的学号和

(5)查询有选修学生的课程号和课程名

(6)查询选修了5号课程的学生的和成绩

(7)查询选修了“数据库原理”课程的学生的学号和

答案:

(1)∏Sno(σCno=‘2’(SC)) select sno from sc whereo=’2’

(2)∏Sno,Sname (σSno=‘03’(Student))

Select sno,sname from student where sno=’03’

(3)∏Sno,Sname (σSage >20 ∧Ssex=‘男’(Student))

Select sno,sname from student where sage>20 and ssex=’男’

数据库系统包括题目和答案

(4)∏Sno,Sname(Student SC )

Select sc.sno,sanme from sc,student where student.sno=sc.sno

数据库系统包括题目和答案

(5)∏Cno,Cname(Course SC)

Select http://www.wendangku.net/doc/c17e5059b81aa8114431b90d6c85ec3a86c28b50.htmlo,cname from course,sc where http://www.wendangku.net/doc/c17e5059b81aa8114431b90d6c85ec3a86c28b50.htmlo=http://www.wendangku.net/doc/c17e5059b81aa8114431b90d6c85ec3a86c28b50.htmlo

数据库系统包括题目和答案

(6)∏Sname,Grade(Student (σCno=‘5’(SC ) )

Select sname,grade from student,sc where student.sno=sc.sno ando=’5’

数据库系统包括题目和答案

数据库系统包括题目和答案

(7)∏Sno,Sname(σCname=‘数据库原理’(Student SC Course)

数据库系统包括题目和答案

数据库系统包括题目和答案

或∏Sno,Sname(Student ∏Sno( SC σCname=‘数据库原理’(Course) )

Select sno,sname from student,sc,course where sc.sno=student.sno and http://www.wendangku.net/doc/c17e5059b81aa8114431b90d6c85ec3a86c28b50.htmlo=http://www.wendangku.net/doc/c17e5059b81aa8114431b90d6c85ec3a86c28b50.htmlo andame=’数据库原理’

13现有图书借阅关系数据库模式如下:

图书(图书号,书名,作者,单价,库存量)

读者(读者号,,工作单位,地址)

借阅(图书号,读者号,借期,还期,备注)

其中,还期为NULL表示该书未还。

用关系代数表示如下查询:

(1)查询读者号为“R016”的读者、工作单位

(2)查询图书号为“B5”的读者

(3)查询读者“林”所借阅图书的书名

(4)查询读者“林”所借阅图书中未还的书名

答案

(1)∏,工作单位(σ读者号=‘R016’(读者))

数据库系统包括题目和答案

(2)∏(σ图书号=‘B5’(读者借阅))

数据库系统包括题目和答案

数据库系统包括题目和答案

(3)∏书名(σ =‘林’(读者借阅图书))

数据库系统包括题目和答案

数据库系统包括题目和答案

(4)∏(σ =‘林’∧还期= NULL(读者借阅图书))

数据库系统包括题目和答案

数据库系统包括题目和答案

或∏((σ=‘林’(读者))(σ还期= NULL(借阅))图书)

2、∏Sname,Grade (σCno=’5’(Student SC))

3、∏Sno,Sname(Student ∏Sno (SCσCname=’操作系统’(Course))

第3章

一、选择题

1.SQL语言称为(C)。

A.结构化定义语言 B. 结构化操纵语言

C. 结构化查询语言

D. 结构化控制语言

2.下列SQL语句中,修改表结构的是( D)

A.CREATE B.UPDATE C.INSERT D.ALTER

3.在SELECT语句中, 用于实现数据分组统计的子句是(C )

A.FROM子句B.WHERE子句

C.GROUP BY子句D.ORDER BY 子句

4.下列哪种运算不能引出子查询。( B )

A.IN B.LIKE C.EXISTS D.比较运算

5.基于学生选课数据库中的3个关系:S(学号, , 性别, 年龄)、C(课程号, 课程名, 任课教

师)、SC(学号, 课程号, 成绩),若要求查找选修“数据库技术”这门课程的学生和成绩,将使用关系(D )

A.S和SC B.SC和C C.S和C D.S、SC和C

6.基于学生选课数据库中的3个关系:S(学号, , 性别, 年龄)、C(课程号, 课程名, 任课教

师)、SC(学号, 课程号, 成绩),若要求查找学生的平均成绩大于80分的学号和平均成绩,下面列出的SQL语句,正确的是(C )。

A.SELECT 学号, AVG(成绩) FROM SC WHERE AVG(成绩)>80

B.SELECT 学号, AVG(成绩) FROM SC WHERE AVG(成绩)>80 GROUP BY 学号

C.SELECT 学号, AVG(成绩) FROM SC GROUP BY 学号HAVING AVG(成绩)>80

D.SELECT 学号, 成绩FROM SC GROUP BY 学号HAVING AVG(成绩)>80

7.下列SQL语句中,正确的是(C)。

A.SELECT S#, SNAME FROM SC GROUP BY S#

B.SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>3

C.SELECT S# FROM SC GROUP BY S# WHERE COUNT(*)>3

D.SELECT S# FROM SC WHERE COUNT(*)>3 GROUP BY S#

8.在视图上不能完成的操作是(C)。

A.更新视图B.查询视图

C.在视图上定义新的基本表D.在视图上定义新视图

二、填空

1. 在SQL的查询语句中,使用(FROM)子句数据源,使用(WHERE)子句选择参与

运算的数据行,使用(SELECT)子句指定目标列。可使用(GROUP BY)子句结合聚集函数进行分组统计。若对查询结果排序可使用(ORDER BY)子句。

2. 在SQL中,(CREATE TBLE)语句创建表和声明完整性约束条件。如果要为一个基本

表增加列和完整性约束条件,应该使用(ALTER TABLE)语句。删除表的定义及表中的数据和索引,应该使用的语句是(DROP TABLE)。

3. 视图是定义在(基本表)之上的虚表,对视图也可以进行插入、修改、删除和查询操作。但视图不存储数据,对视图的一切操作最终要转换为对(基本表)的操作。

三、简述题

1.SQL语言的特点?

2.SQL语言中常用的语句有哪些?

3.SQL中提供了哪些常用的聚集函数?它们如何使用?

4.什么是连接查询?连接查询如何指定连接条件?

5.什么是子查询?用在WHERE子句中的子查询有几种调用方式?

答案:

1.SQL语言集数据查询、数据操纵、数据定义和数据控功能于一体,其主要的操作语句包括CREATE、ALTER、DROP、INSERT、UPDATE、DELETE、SELECT、GRANT、REVOKE 等。

2.SQL中提供了一些聚集函数,用于统计数据库数据,包括COUNT、AVG、SUM、MAX、MIN等,除COUNT(*)用法外,统计时均忽略空值,使用DISTINCT选项可忽略对重复数据的统计。聚集行数只可用于SELECT子句和HAVING子句。

3.若一个查询同时涉及到两个表,则称之为连接查询。连接查询的连接条件可在WHERE 子句过一个比较运算指定,或在FROM子句中在指定连接方式的同时指定连接条件。

4.子查询又称嵌套查询,是嵌套在SELECT、INSERT、UPDATE、DELETE等语句中的SELECT 查询语句。多用在WHERE子句中,使用子查询的结果作为搜索条件。在Where子句中使用子查询有以下几种方式:由IN引出子查询、由比较运算符引出子查询、由EXISTS引出子

查询。

四、数据库操作

1. 仓库管理系统

在某仓库管理系统中,有两个表:KC表和CKMX表,其结构和部分数据如下:

数据库系统包括题目和答案

数据库系统包括题目和答案

其中,KC表保存当前仓库库存材料的信息,CKMX表存放库存材料的出库名细。

例如,KC表第一行表示该仓库中现有计算机10台。CKMX表第二行表示2009年11月20日从仓库中出库3台计算机。

(1)试写出创建KC表和CKMX表的SQL语句,要求定义实体和参照完整性。

(2)写出在KC表上按材料名称建立唯一索引的SQL语句。

(3)创建一个视图,用于查询计算机的出库明细。

(4)写出将表中数据插入到相应表中的语句。

(5)从表CKMX中统计出各种材料的出库次数和出库总数量,试写出SQL语句。

(6)写出由KC表和CKMX表产生如下结果集的查询语句:

数据库系统包括题目和答案

答案:

. 仓库管理系统

(8)创建表

CREATE TABLE KC

(

材料代码char(2)PRIMARY KEY,

材料名称char(20),

单位char(10),

单价numeric(10,2),

库存数量int

)

CREATE TABLE CKMX

(

编号char(4)PRIMARY KEY,

材料代码char(2)REFERENCES KC(材料代码),

出库日期date,

出库数量int

)

Or或者

CREATE TABLE CKMX

(

编号char(4)PRIMARY KEY,

材料代码char(2),

出库日期date,

出库数量int,

Foreign key (材料代码) REFERENCES KC(材料代码)

)

(9)创建索引

CREATE UNIQUE INDEX index1ON KC(材料名称)

Drop index index1 on KC

(10)创建视图

CREATE VIEW viewComputer

AS

SELECT*FROM CKMX,KC

WHERE CKMX.材料代码=KC.材料代码and KC.材料名称='计算机' (11)插入数据

INSERT INTO KC VALUES('01','计算机','台',5000.00,10)

INSERT INTO KC VALUES('02','电视机','台',2000.00,20)

INSERT INTO CKMX VALUES('1','01','2009-10-10',4)

INSERT INTO CKMX VALUES('2','01','2009-10-20',3)

INSERT INTO CKMX VALUES('3','02','2009-10-20',5)

(12)统计

SELECT材料代码,COUNT(*)as次数,SUM(出库数量)as出库数量

from CKMX

group by材料代码

(13)查询

SELECT ckmx.编号,出库日期,材料名称,单价,出库数量,出库数量*单价as金额FROM KC,CKMX

WHERE KC.材料代码=CKMX.材料代码

2. 财务管理系统

学校有多名学生,财务处每年要收一次学费。财务处现用两个表记录相关信息,其结构和部分数据如下表:

数据库系统包括题目和答案

数据库系统包括题目和答案

其中,XS表是在校学生名册和基本信息登记表,JFQK表是学生交学费情况记录。

(1)试写出创建XS表和JFQK表的SQL语句,要求定义实体和参照完整性。

(2)写出在XS表上按学生建立唯一索引的SQL语句。

(3)创建一个视图,用于查询计算机系同学的基本信息。

(4)写出将表中数据插入到相应表中的语句。

(5)将计算机系同学的年龄增加1岁,并将计算机系同学的学费减1000元。

(6)从表JFQK中统计出每个同学的交费次数和交费总金额,试写出SQL语句。

(7)写出由XS表和JFQK表能产生类似如下结果集的查询语句:

数据库系统包括题目和答案

答案财务管理系统

(5)创建表

CREATE TABLE XS

(

学号char(6)PRIMARY KEY,

char(10)not null,

性别char(2)null,

年龄smallint,

所在系char(20)

)

CREATE TABLE JFQK

(

序号int PRIMARY KEY,

学号char(6)REFERENCES XS(学号),

交费日期date,

书费numeric(6,2),

学费int

)

(6)创建索引

CREATE UNIQUE INDEX index1ON XS()

(7)创建视图

CREATE VIEW viewComputer1

AS

SELECT*FROM XS WHERE所在系='计算机'

(8)插入数据

INSERT INTO XS VALUES('200901','明','男',18,'计算机')

INSERT INTO XS VALUES('200902','王晓萌',null,21,'信息')

INSERT INTO XS VALUES('200903','刚','男',20,'计算机')

INSERT INTO JFQK VALUES(1,'200901','2009-09-10',500.50,5000)

INSERT INTO JFQK VALUES(2,'200902','2009-09-10',400.00,5000)

INSERT INTO JFQK VALUES(3,'200901','2010-10-10',300.20,4000)

(9)更新数据

UPDATE XS SET年龄=年龄+ 1

WHERE所在系='计算机'

或UPDATE viewComputer1SET年龄=年龄+ 1

UPDATE JFQK SET学费=学费-1000

WHERE'计算机'=(SELECT所在系FROM XS WHERE XS.学号=JFQK.学号)

(10)统计

SELECT学号,COUNT(*)as交费次数,SUM(书费+学费)as总金额

FROM JFQK

GROUP BY学号

(11)查询

SELECT序号,,交费日期,书费,学费,书费+学费as合计

FROM XS,JFQK

WHERE XS.学号=JFQK.学号

第4、5章

一、选择题

1. 实体完整性要求主属性不能取空值,这通常是通过(D )。

A.DBMS自动保证 B. 用户定义的完整性约束来保证

C. 定义外键来保证

D. 定义主键来保证

2. 下列SQL语句中,能够实现参照完整性控制的语句是(D )。

A. NOT NULL

B. PRIMARY KEY

C. UNIQUE

D. FOREIGN KEY

3. 若关系R(A,B,C)主码为A,关系S(D,A)主码为D,外码为A,下面在关系S中哪个元组违反了完整性约束条件?(C)。

R S

数据库系统包括题目和答案

数据库系统包括题目和答案

A. (1, 2)

B. (2, Null)

C. (3, 3)

D. (4, 1)

4. 使用CREATE TABLE STU (NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2), AGE INT ) 创建了表STU ,下列哪些语句可以插入到表中。(B)A.INSERT INTO STU VALUES(‘1031’,’华’,男,23)

B.INSERT INTO STU VALUES (‘1031’,’华’,NULL,NULL)

C.INSERT INTO STU VALUES(NULL,’华’,’男’,23)

D.INSERT INTO STU VALUES (‘1031’,NULL, ’男’,23)

5. 下列哪种操作不会激活触发器。( A)

A. SELECT

B. UPDATE C.INSERT D.DELETE

6. 在SQL语言中授权的操作是通过(C)语句实现的。

A.DELETE B.UPDATE C.GRANT D.REVOKE

二、简述题

1. 什么是数据库的安全性?数据库系统中常用的安全控制方法和技术有哪些?

2. 什么是数据库的完整性?关系数据库的完整性包括哪几类?

3. 什么是触发器?触发器由哪些事件激活?

答案:

1. 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更

改或破坏。

数据库系统中常用的安全控制方法有技术包括用户标识和鉴别、存取控制、定义视图、审计、数据加密等。

2. 数据完整性是指数据库中的数据在逻辑上的一致性和准确性。

关系数据库的完整性包括实体完整性、参照完整性和用户定义完整性三类。

3. 触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊存储过程。触发

器由对表的插入、修改和删除事件激活。

三、完整性约束定义

1. 设有关系S、SC、C如下:

S(sno, sname, age, sex, sdept)

C(cno,ame, teacher)

SC(sno,o, score)

用SQL完成下列功能:

(1)创建学生表S和课程表C(要求标明主码)

(2)创建选修课程情况表SC。(要求标明主码、外码及成绩的围)

. 创建关系S、SC、C

CREATE TABLE S

(Sno CHAR(8)PRIMARY KEY,/*主码约束*/

Sname CHAR(20)UNIQUE,/*唯一约束*/

Ssex CHAR(2)NOT NULL,/*非空约束*/

Sage SMALLINT,

Sdept CHAR(20)

);

CREATE TABLE C

(Cno CHAR(4)PRIMARY KEY,/*主码约束*/

Cname CHAR(40)NOT NULL,

Teacher CHAR(8),

);

CREATE TABLE SC

(Sno CHAR(8)REFERENCES S(Sno),/*外码约束*/

Cno CHAR(4),

Score SMALLINT CHECK(Score<=100),/*检查约束*/

PRIMARY KEY (Sno,Cno),/*主码约束*/

FOREIGN KEY (Cno)REFERENCES C(Cno)/*外码约束*/

);

2. 假设有下面两个关系模式:

职工(职工号,,年龄,进校时间,工资,部门号),其中职工号为主码

部门(部门号,部门名称,经理名,),其中部门号为主码

用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:(1)定义每个模式的主码

(2)定义参照完整性

(3)定义职工年龄不得超过60岁

);

2. 创建关系部门、职工

CREATE TABLE部门

(部门号char(4)PRIMARY KEY,/*主码*/

部门名称char(20),

经理名char(8),

char(11)

)

CREATE TABLE职工

(职工号char(8)PRIMARY KEY,

char(8),

年龄smallint CHECK(年龄<=60),

进校时间date,

工资numeric(10,2),

部门号char(4)REFERENCES部门(部门号)

)

第6章

一、选择题

1. 关系数据库规化是为了解决关系数据库中(B)的问题而引入的。

A.提高查询速度

B.插入、删除、更新异常和数据冗余

C.保证数据的安全性和完整性

D.恢复数据库

2. 关系模式中每个分量都是不可分的数据项,则关系模式属于( A)

A. 1NF

B. 2NF

C. 3N

D. BCNF

3. 若R∈2NF,则R的每个(B )

A.非主属性部分依赖于码B.非主属性完全依赖于码

C.主属性部分依赖于码D.主属性完全依赖于码

4. 消除了非主属性对码传递函数依赖的2NF的关系模式,必定属于( C)

A.1NF B.2NF C. 3NF D. BCNF

5. 关系模式中,满足2NF的模式( B )

A.可能是1NF B.必定是1NF

C.必定是3NF D.必定是BCNF

二、关系模式规化

1. 设有关系模式:选修(,专业,课程,任课教师,成绩)

假设:每个学生在一个专业学习;每门课程有一个任课教师;每个学生选修的每门课程只有一个成绩;、课程无重名。

(1)请写出选修关系中存在的基本函数依赖集。

(2)找出关系模式的候选码,指出哪些是主属性?那些是非主属性。

(3)分析关系模式最高属于第几式?为什么?

(4)如果选修关系不属于3NF,请将其分解为第3NF模式集。

关系模式:选修(,专业,课程,任课教师,成绩)

(1)基本函数依赖包括:

→专业

课程→任课教师

(,课程)→专业部分

(,课程)→任课教师部分

(,课程)→成绩完全

(2)关系模式的码为:(,课程)

主属性包括“”和“课程”。

非主属性包括“专业”,“任课教师”和“成绩”。

(3)关系模式达到1NF,但未达到2NF。因为在关系模式中存在非主属性“专业”和“任课教师”部分依赖于码的现象。