数据库原理习题(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章绪论
Ⅰ、学习要点
1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念;
2、数据独立性的概念、分类及实现途径;
3、数据模型的概念、分类、要素及作用;
4、数据库三级模式体系结构的含义及作用;
5、关系数据模型的三要素内容。

Ⅱ、习题
一、选择题:
1、使用二维表格结构表达数据和数据间联系的数据模型是()
A、层次模型
B、网状模型
C、关系模型
D、实体—联系模型
2、DB、DBS、DBMS间的关系是()
A、DB包括DBMS和DBS
B、DBMS包括DB和DBS
C、DBS包括DB和DBMS
D、DBS与DB和DBMS无关
3、在数据库中存储的是()
A、数据
B、数据模型
C、数据及数据之间的联系
D、信息
4、数据库系统中,用()描述全部数据的整体逻辑结构。

A、外模式
B、模式
C、内模式
D、数据模式
5、数据库中,导致数据不一致的根本原因是()
A、数据量太大
B、数据安全性不高
C、数据冗余
D、数据完整性约束不强
6、划分层次型、网状型和关系型数据库的原则是()
A、记录的长度
B、文件的大小
C、联系的复杂程度
D、数据及联系的表示方式
7、数据库三级模式体系结构的划分,主要有利于保持数据库的()
A、数据安全性
B、数据独立性
C、结构规范化
D、操作可行性
8、数据库系统中,用()描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。

A、外模式
B、模式
C、内模式
D、数据模式
9、数据库系统中,用()描述全部数据的物理存储视图。

A、外模式
B、模式
C、内模式
D、数据模式
10、数据库系统中用于定义和描述数据库逻辑结构的语言是()
A、DML
B、DDL
C、DCL
D、SQL
11、数据库系统支持的数据共享指的是()
A、同一应用的多个程序共享同一数据集合
B、多个用户、同一语言程序共享同一数据集合
C、多个用户共享同一数据文件
D、多种语言、多个用户、多个应用相互覆盖地使用同一数据集合
12、数据库系统中,当内模式发生变化时,采用()来保证数据的物理独立性。

A、修改模式定义
B、修改模式\内模式映像
C、修改应用程序
D、修改外模式定义
二、填空题
1、指出下列缩写的含义:
(1)DML (2)DBMS (3)DDL (4)DD (5)DBS
(6)DD (7)DBA
2、数据管理技术经历了()、()、()三个阶段。

3、DBS组成部分包括()、()、()、()、()五部分。

4、DBMS是位于()和()之间的一层管理软件。

5、数据库和文件系统的根本区别是()。

6、DBMS提供的数据控制功能包括:(1)、(2)、(3)、(4)。

7、数据库中,数据模型用于(1),数据模型应当满足(2)、(3)、(3)三方面要求。

8、数据模型的三要素包括()、()、()。

9、概念模型,也称为(),是(),主要用于(),与具体的DBMS和机器()。

10、基本数据模型,是(1),主要用于(2)。

11、数据独立性是指(1),可以分为()和()。

12、(数据结构)用于对系统静态特性的描述,()用于对系统动态特性的描述
13、数据库系统中人员主要包括(1)、(2)、(3)和用户,其中用户可分为(4)、(5)、(6)三类。

14、数据库系统的软件包括(1)、(2)、(3)、(4)、(5)五部分。

三、简答题
1、什么是数据、数据处理、数据管理、数据管理的三个发展阶段是什么?
2、什么是数据库、数据库系统、数据库管理系统,数据库管理系统的主要功能是什么?
3、什么是数据独立性,数据独立性包括哪两个方面,数据库系统中如何保证数据独立性?
4、什么是数据物理独立性,如何保证?
5、什么是数据逻辑独立性,如何保证?
6、简述关系数据模型的三要素的内容及关系模型的优缺点。

7、文件系统和数据库系统的区别和联系,以及数据库系统的优点?
*8、简述现实世界的事物抽象、组织为某一具体DBMS支持的数据模型的过程。

Ⅲ、答案:
一、选择题:
1、C
2、C
3、C
4、B
5、C
6、D
7、B
8、A
9、C 10、B 11、D 12、B
二、填空题:
1、(略)
2、①人工管理②文件系统③数据库系统
3、①数据库②数据库管理系统③应用系统④数据库管理员⑤用户
4、①用户②操作系统
5、①数据的整体结构化
6、①数据定义②数据操纵③数据库的运行管理④数据库的建立和维护
7、①抽象、表示和处理现实世界的数据和信息②能比较真实模拟现实世界③易于为
人理解④便于在计算机上实现
8、①数据结构②数据操作③数据的约束条件
9、①信息模型②按用户观点对数据和信息建模③数据库设计④无关
10、①按计算机观点对数据建模②DBMS的实现
11、①用户应用程序和存储在存储器中的数据库的数据是相互独立的②数据逻辑独立
性③数据物理独立性
12、①数据结构②数据操作
13、①数据库管理员②系统分析员和数据库设计人员③应用程序员④偶然用户
⑤简单用户⑥复杂用户
14、①DBMS ②OS ③具有与数据库接口的高级语言及其编译系统,便于开发应用程序
④以DBMS为核心的应用开发工具⑤为特定应用环境开发的数据库应用系统
三、简答题:
1-7 (略)
*8、为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。

也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一DBMS支持的数据模型。

第二章关系数据库
Ⅰ、学习要点
1、掌握关系数据模型的三要素的内容,即数据结构、关系操作和完整性约束的具体内容;
2、掌握关系、关系模式等基本概念,理解基本关系的性质;
3、理解实体完整性约束、参照完整性约束的概念和含义;
4、熟练掌握关系代数的运算;
*5、掌握简单的利用关系代数表达式表示实际查询要求的方法。

Ⅱ、习题
一、选择题
1、当关系有多个侯选码时,则选定一个作为主码,但若主码为全码时应包含。

A、单个属性
B、两个属性
C、多个属性
D、全部属性
2、在基本的关系中,下列说法正确的。

A、行类列序有关
B、属性名允许重名
C、任意两个元组不允许重复
D、列是非同质的]
3、关系代数的五个基本操作是。

A、并、交、差、笛卡儿积、除法
B、并、交、选取、笛卡儿积、除法
C、并、交、选取、投影、除法
D、并、交、选取、笛卡儿积、投影
4、关系代数四个组合操作是。

A、并、连接、自然连接、除法
B、投影、连接、选取、除法
C、投影、自然连接、选取、除法
D、投影、自然连接、选取、连接
5、关系R为R(A,B,C,D),则。

A、πA,C(R)为取属性值为A,C的两列组成
B、π1,3(R)为取属性值为1,3的两列组成
C、π1,3(R)与πA,C(R)是等价的
D、π1,3(R)与πA,C(R)是不等价的
6、б3<‘2’(S)表示。

A、表示从S关系挑选3的值小于第二个分量的元组
B、表示从S关系挑选第三个分量小于2的元组
C、表示从S关系挑选第三个分量小于第二个分量的元组
D、б3<‘2’(S)是向关系垂直方向运算
7、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),R S构成的结果集为元关系。

A、4
B、 3
C、 7
D、 6
8、R为4元关系R(A,B,C,D),S为3元关系S(B,C,D),R∞S构成的结果集为 _____ 元关系。

A、4
B、 3
C、 7
D、 6
*9、关系模式S(A,B,C,D),代数中的б3<‘2’(S)等价于如下的()语句。

A、SEKECT * FORM S WHERE C〈‘2’
B、SEKECT B,C FORM S WHERE C〈‘2’
C、SEKECT B,C FORM S HAVING C〈‘2’
D、SEKECT * FORM S WHERE ‘3’〈 B
10、笛卡尔积是()进行运算。

A、向关系的垂直方向
B、向关系的水平方向
C、既向关系的垂直方向也向关系的水平方向
D、先向关系的垂直方向,然后再向关系的水平方向
11、自然连接是( )进行运算。

A、向关系的垂直方向
B、向关系的水平方向
C、既向关系的垂直方向也向关系的水平方向
D、先向关系的垂直方向,然后再向关系的水平方向
12、同一个关系模型的任两个元组值_______。

A、不能全同
B、可全同
C、必须全同
D、以上都不是
13、关系模型的任何属性_______。

A、不可再分
B、可再分
C、命名在该关系模型式中可以不惟一
D、以上都不是
14、自然连接是构成新关系的有效方法。

一般情况下,对关系R和S使用自然连接时,要求R和S含有一个或多个共有的________。

A、元组
B、行
C、记录
D、属性
二、填空题
1、关系模型由、、三部分组成。

2、关系的完整性分为、、三类。

3、关系代数运算中、、、和五个基本运算,其他运算可以从基本的运算中导出。

4、关系代数的连接运算中当θ为“=”的连接称之为,且当比较的分量是相
同的属性时,则称为 。

5、在元组演算中,如果φ1 φ2是公式, 、 也是公式。

6、关系运算主要有 、 、 三种,在关系的表达能力上是 可以 。

7、关系操作的特点是______操作。

8、关系数据库中的可命名的最小数据单位是_______。

9、在一个实体表示的信息中,称____能唯一标识实体_的属性或属性组_为关键字。

10、传统的集合“并,交,差”运算施加于两个关系时,这两个关系的 必须相等,相对应的属性值 必须去取同一个域、
11、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 ,系关系的外关键字是 ,学生关系的主关键字是 ,外关键字是 _、 三、问答题
1、关系运算的基本运算有那些?如何用这些基本运算来表示其他的运算?
2、试述笛卡儿积、F 连接、等值连接与自然连接有什么区别?
3、叙述等值连接与自然连接的区别和联系.
4、设有如图2.1所示的关系R,S和T,计算:
⑴ R 1=R∪S ⑵ R 2=R-S ⑶ R 3=R∞T ⑷ R 4=R∞TA<C ⑸ R 5=πA(R)
⑹ R 6=σA=C(R×T)
R S
T
图2.1 关系R,S和T 5、设有如图2.2所示的关系R,S,计算:
⑴ R1=R∞S
⑵ R2=]
2[]
2[〈∞S
R
⑶ R3=σB=d (R ×S)
R S
图2.2 关系R和S
6、设有如图2.3所示的关系R,W和D,计算:
(1) R1=πY,T (R) (2) R2=σp>5∧T=e (R) (3) R3=R ∞W
(4) R4=π[2],[1],[6]( σ[3]=[5](R ×
D)) (5) R5=R ÷D R
W D
图2.3 关系R,W和D *四、综合题
1、设有一个供应商、零件、工程项目数据库SPJ ,并有如下关系: S (Sno ,Sname ,Status ,City )
J (Jno ,Jname ,City ) P (Pno ,Pname ,Color ,Weight ) SPJ (Sno ,Pno ,Jno ,Qty )
其中:
S (Sno ,Sname ,Status ,City )分别表示:供应商代码、供应商名、供应商状态、供应上所在城市:
J(Jno,Jname,City)分别表示:工程号、工程名、工程项目所在城市:
P(Pno,Pname,Color,Weight)分别表示:零件代码、零件名称、零件的颜色、零件的重量:
SPJ(Sno,Pno,Jno,Qty)表示供应的情况,由:供应商代码、零件代码、工程号及数量组成。

今有具体的关系如图2.4所示:
S SPJ
P
J
试用关系代数、**ALPHA语言、**元组演算语言完成如下查询:
⑴求供应工程J1零件的供应商的号码Sno;
⑵求供应工程J1零件P1的供应商的号码Sno;
⑶求供应工程J1零件为“红”的供应商的号码Sno;
⑷求没有使用天津供应商生产”红”色零件的工程号Jno;
⑸求至少使用了供应商S1所供应的全部零件的工程号Jno。

Ⅲ、答案
一、选择题
1、D
2、 C
3、 D
4、A
5、C
6、B
7、C
8、A
9、A 10、B 11、C 12、A 13、A 14、D
二、填空题
1、关系的数据结构关系操作集合关系的完整性约束
2、实体完整性参照完整性用户定义完整性
3、并差笛卡儿积投影选择
4、等值连接自然连接
5、φ1 ∨φ2 →φ1
6、关系代数运算元组演算域演算等价的相互转换
7、集合
8、属性名
9、能惟一标识实体的属性或属性组
10、①属性个数②相对应的属性值
11、①系编号②无③学号④系编号
三、简答题
1、答:关系代数的五个基本操作为:并差笛卡儿积投影选择。

其他的操作都可以由5个基本的操作导出,因此它们构成了关系代数完备的操作集。

①两个关系R与S的交运算等价于:
R∩S=R-(R-S)或 R∩S=S-(S-R)
②两个关系R与S的F(条件)连接运算等价于:
R∞S=бF(R*S)
③两个关系R与S的自然连接运算等价于:
设R与S的公共属性为:A1,…A K,从R*中挑选出R、A1=S、A1, …R、A K=S、A K的元组,再去掉S、A1…S、A K,、即可写出等价的表达式如下:
R∞S=лi1…im(бR、A1=S、A1…R、AK=S、AK)
④两个关系R与S的除法运算等价于:
R/S=лX((лX(R)*S)-R)
2、答:笛卡尔积是一个基本操作,相当于将两个关系R,S进行无条件的连接操作。

而θ连接一个基本操作,相当于将两个关系R,S进行条件的连接操作。

既从R*S中选取满足θ条件的元组作为新关系的元组。

当连接运算符“θ”为“=”时,称为等值连接。

而自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量具有相同的属性组,
并且去掉重复属性列。

3、答:等值连接表示为R∞S,自然连接表示为R∞S;自然连接是除去重复属性的等值连接.两者之间的区别和联系如下:
自然连接一定是等值连接,但等值连接不一定是自然连接
等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性.
等值连接不把重复的属性除去;而自然连接要把重复的属性除去. 4、解:本题个小题的结果如图2.5所示. R1 R2
R3
R5
R4 R6
5、解:本题个小题的结果如图2.6所示.
精选文档 R2 R1
R3
2.6 计算结果
6、解:本题个小题的结果如图2.7所示.
R1 R2
R3 R4 R5
图2.7 计算结果
四、综合题
解:⑴关系代数:πSNO(πSNO=‘J1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’
元组演算表达式:{t|(∃u)(SPJ(u) ∧U[3]=’J1’ ∧t[1]=u[1])}
⑵关系代数:πSNO(σSNO=‘J1∧Pno=’p1‘(SPJ))
ALPHA语言:GET W (SPJ.Sno):SPJ.Sno=’J1’∧SPJ.Pno=’P1’
元组演算表达式:{t|(∃u)(SPJ(u)∧U[3]=’J1’∧U[2]=’P1’
∧t[1]=u[1])}
⑶关系代数:πSNO(σsno=’p1‘σcolor=‘红’(P)∞SPJ))
ALPHA语言:RANGE P X
GET W (SPJ.Sno): ∀X(X.Pno=SPJ.Sno∧x、color=’红’ ∧SPJ.Jno=’J1’
元组演算表达式:{t|(∀U)(∃u)(SPJ(u) ∧P(V)∧U[2]=V[1] ∧V[3]= ’红’ ∧U[3]=’J1’∧t[1]=u[1])}
⑷关系代数
π(SPJ)-πJNO(σCITY=‘天津’∧Color=‘红’(S∞SPJ∞P ))
ALPHA语言:RANGE P X
S SX
P PX
GET W (SPJ.Sno): ∀X ∃SX∃PX(X.Pno=SX.Sno∧SX.CITY≠’天津’∧
X.PNO=PX.Pno=PX.PNO∧PX.COLOR≠’红’)
元组演算表达式:
{t|(∀U)(∃u)(∃ww)(SPJ(u) ∧P(V)∧s(w) ∧U[2]=V[1] ∧u[1]= w[1]
w[4] ≠’天津’ ∧V[3] ≠’红’ ∧T[1]=u[3])}
⑸关系代数:πJno.pno(SPJ) ÷πPNO(σSNO=‘S1’(SPJ))
ALPHA语言:
RANGE SPJ SPJY
SPJ SPJY
P PX
GET W (SPJ.Sno): ∀PX (∃SPJY(SPJY.Sno=‘S1’∧SPJT.Pno=PX.PNO)∀ЕSPJY(SPJY.JNO=SPJ.JNO∧SPJY.PNO=PX.PNO ))
元组演算表达式:
{t|(∀U)(∃u)(∃w)(P U) ∧SPJ(v) ∧SPJ(W)∧V(1) =’S1’∧U[1]=V[2] ⇒ w[2] =U[1] ∧w[3]= v[3])∧t[1]=u[3]}
第三章关系数据库标准语言SQL
Ⅰ、学习要点
1、掌握SQL的功能特点和体系结构;
2、熟练掌握SQL定义、修改和删除表、建立视图、定义索引的方法;
3、熟练掌握利用SQL的SELECT语句表达数据查询要求的方法;
4、掌握如何利用SQL语句表达数据的修改、删除操作。

Ⅱ、习题
一、选择题
1、SQL属于数据库语言。

A.关系型
B.网状型
C.层次型
D.面向对象型
2、当两个子查询的结果时,可以执行并,交,差操作.
A.结构完全不一致 B.结构完全一致
C.结构部分一致
D.主键一致
3、SQL中创建基本表应使用语句.
A.CEARTE SCHEMA
B.CEARTE TABLE
C.CEARTE VIEW
D.CEARTE DATEBASE
4、SQL中创建视图应使用( )语句.
A. CEARTE SCHEMA
B.CEARTE TABLE
C. CEARTE VIEW
D.CEARTE DATABASE
*5、视图创建完毕后,数据字典中存放的是( ).
A. 查询语句
B.查询结果
C. 视图定义
D.所引用的基本表的定义
6、关系代数中的л运算符对应SELECT语句中的( )子句.
A.SELECT
B.FROM
C.WHERE
D.GROUP BY
7、关系代数中的σ运算符对应SELECT语句中的( )子句.
A.SELECT
B.FROM
C.WHERE
D.GROUP BY
8、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( ).
A. *
B. %
C. -
D. ?
9、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( ).
A. *
B. %
C. -
D. ?
10、SELECT语句中与HAVING子句同时使用的是( )子句.
A.ORDER BY
B.WHERE
C.GROUP BY
D.无需配合
11、与WHERE G BETWEEN 60 AND 100语句等价的子句是( ).
A.WHERE G>60 AND G<100
B.WHERE G>=60 AND G<100
C.WHERE G>60 AND G<=100
D.WHERE G>=60 AND G<=100
12、SELECT语句执行的结果是( ).
A.数据项
B.元组
C.表
D.视图
13、SQL语言具有_____的功能。

A.关系规范化,数据操纵,数据控制B。

数据定义,数据操纵,数据控制
C.数据定义,关系规范化,数据控制D。

数据定义,关系规范化,数据操纵
14、SQL语言中,实现数据检索的语句是______。

A、SELECT
B、INSERT
C、UPDATE
D、DELETE
15、下列SQL语句中,修改表结构的是______
A.ALTER
B.CREATE
C.UPDA TE
D.INSERT
二、填空题
1.非关系数据模型的数据操纵语言是_______的,而关系数据库的标准语言SQL是面向
集合的语言.
2.SQL语言的功能包括_________,_________,__________和_________.
3.SQL以同一种语法格式,提供_自__________和_________两种使用方式.
4.SELECT语句中,_________子句用于选择满足给定条件的元组,使用_________子句可
按指定列的值分组,同时使用_________子句可提取满足条件的组.
5.在SQL中,如果希望将查询结果排序,应在SELECT语句中使用________子句,其中
_______选项表示升序,________选项表示将序.
6.SELECT语句中进行查询,若希望查询的结果不出现重复元组,应在SELECT子句中使用
_________保留字.
7.在SQL中,WHERE子句的条件表达式中,字符串匹配的操作符是_________;与0个或多
个字符匹配的通配符是_______;与单个字符匹配的通配符是________.
8.如果外连接符出现在连接条件的右边称之为_______,出现在连接条件的左边称之为
__________.
9.子查询的条件不依赖与父查询,这类查询称之为___________,否则称之为
__________.
10.若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,
但保留了码,我们称这类视图为_____________.
11.SQL是________________。

12.SQL语言的数据定义功能包括定义数据库__________,_________,________和_______。

13.视图是一个虚表,它是从____________中导出的表。

在数据库中,只存放视图的
__________不存放视图对应的数据__________。

三.简答题
1.什么是基本表?什么是视图?两者的区别是什么?
2.试述视图的优点.
3.所有的视图都可以更新吗?为什么?
4.叙述SQL语言支持的三级逻辑结构。

5.叙述使用SQL语言实现各种关系运算的方法。

6.设有图书登记表TS,具有属性:BNO(图书类别)、BNA(书名)、AU(著者)、PUB(出版社)。

按下列要求用SQL语言进行设计:
(1)按图书编号BNA建立TS表的索引ITS。

(2)查询按出版社统计其出版图书总数。

(3)删除索引ITS。

*7、三个关系R、S和T如图3.3所示。

R S T
A B C A D E D F
a1 b1 20a1d1 15 d2 12
a1 b2 22 a2d2 18 d3 13
a2 b1 18 a1d2 24
a2 b3a2
图3.3关系R、S和T
试用SQL语句实现如下操作:
(1)将R 、S和T三个关系按关联属性建立一个视图R-S-T;
(2)对视图R-S-T按属性A 分组后,求属性C和E的平均值。

8、有关系R 和S 如图3.4所示
R S
A B A C
a1 b1 a1 40
a2 b2 a2 50
a3 b3 a3 55
图3.4 关系R和S
试用SQL语句实现:
(1)查询属性C>50时,R中与相关联的属性B之值。

(2)当属性C=40时,将R 中与之相关联的属性B值修改为b4。

*9、知R和S两个关系如图3.5所示:
R S
A B C C D E
图3.5 关系R和S
执行如下SQL语句:
(1)CREATE SQL VIEW H(A,BC,C,D,E)
AS SELECT A, B, R.C, D, E
FEOM R, S
WHERE R.C=S.C;
(2)SELECT B , D, E
FROM H
WHERE C=’C2’
试给出:(1)视图H;
(2)对视图H的查询结果
10.已知学生表S和学生选课表SC。

其关系模式如下:
S(SNO,SN,SD,PROV)
SC(SNO,CN,GR)
其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。

试用SQL语句实现下列操作:
(1)查询“信息系”的学生来自哪些省区。

(2)按分数降序排列,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。

*四.综合题
1.用SQL为供销数据库(图2_17)创建四个表:供应商,零件,工程项目,供应情况.
2.请为三建工程项目建立一个供应商情况的视图,包括供应商号Sno,零件号Pno,数量
号Qty.针对该视图完成如下查询:
(1)找出三建工程项目使用各种零件代码及数量;
(2)找出供应商S1的供应情况.
3.根据本章习题四中的第一小题建立的表,用SQL语言完成以下操作:
(1)把对S的INSERT权限授予用户张勇,并允许他将此权限授予其他用户;
(2)把对SPJ表和修改QTY属性的权限授予用户李天明.
4.对本章习题四中的第一小题用SQL语言完成以下操作:
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称,颜色和重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
(6)找出使用上海产的零件的工程的名称;
(7)找出没有使用天津产的零件的工程号码;
(8)把全部红色零件的颜色改为蓝色;
(9)有S5供给J4的零件P6改为由S3供应,请做必要的修改;
(10)从供应商关系中删除S2记录,并从供应情况关系中删除相应的记录;
(11)请将(S2,J6,P4,200)插入供应情况关系.
Ⅲ、答案
一.选择
1 .A
2 .B 3. B 4. C 5. C
6. A
7. C 8 .B 9. C 10.C
11.D 12.C 1 3 .B 14. A 15. A
二.填空
1.面向对象面向集合
2.数据查询数据操纵数据定义数据控制
3.自含式自定义
4.WHERE GROUP BY HA VING
5.ORDER BY ASC DESC
6.DESTINCT
7.LIKE % —
8.右连接符左连接符
9.不相关子查询相关子查询
10.列子集视图
11.结构化查询语言
12.定义数据库、定义基本表、定义视图、定义索引
13.一个或几个基本表定义视图对应的数据
三.简答
1.答:基本表是独立存在的表,在SQL中,一个关系对应于一个表,一个表对应与一个存储文件。

视图是在创建时,将其定义存放在存放在数据字典中,并不存放视图对应的数据,因此视图是从一个或几个基本表中导出来的,它本身不独立存储在数据库中,是一个虚表。

两者的区别是基本表是独立存于数据库中,而视图存放的只是视图的定义。

2.视图的优点主要有四个方面:
(1)能够简化用户的操作;
(2)用户可以从多种角度看待数据;
(3)视图对重构数据库提供了一定程度的逻辑独立性;
(4)视图能对机密数据提供安全保护。

3 .并不是所有的视图都可以更新,因为有些视图的更新不能惟一地有意义地转换
成相对应的基本表的更新。

4.答:SQL语言支持的三级逻辑结构如图3.1所示:
用户
外层
概念层存储文件s1 存储文件s2 存储文件s3 存储文件s4 内层
图 3.1 SQL语言支持的三级结构
在概念层,对应概念模式的概念记录型的基本表。

基本表是这样的一种表,它本身实际存在,在Visual FoxPro 中没个表在存储中可用一个存储文件来表示(在ORACLE中多个表存储在一个文件中),一个基本表就是一个关系,它不是由其他表导出的表。

基本表是使用CREATE TABLE语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。

视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在与物理存储器上的表。

视图是使用CREATE SQL VIEW语句建立的。

在内层,每个基本表用一个存储文件来表示,即用一组类型相同的存储记录值来表示。

DBA可以对物理存储文件进行操作。

5.由Visual FoxPro支持的SQL语言没有提供关系的迪卡尔积、交和差运算。

其他关系运算对应的SQL语句是:
R∪S SELECT语句(生成R)
UNION
SELECT语句(生成S)
选择SELECT*
FROM〈表〉
WHERE〈指定选择的文件〉
投影SELECT 〈投影字段列表〉
精选文档FROM 〈表〉
连接SELECT 〈连接的字段列表〉
FROM 〈连接的两个表名〉
WHERE〈连接条件〉
6.(1)USE TS
INDEX ON BNO TO ITS
(2)SELECT PUB,COUNT(BNO)
FROM TS
GROUP BY PUB
(3)DELETE FILE ITS.IDX
7.(1)CREATE SQL VIEW R-S-T
AS SELECT R.A,B,C,S.D,E,F
FROM R,S,T
WHERE R.A=S.A AND S.D=T.D
(2)SELECT A VG(C),A A VG(E)
FROM R-S-T
GROUP BY A
8.(1)SELECT B
FROM R,S
WHERE R.A=S.A AND C>50
(2)UPDATE R
SET B =‘b4’
WHERE A IN
(SELECT A FROM S
WHERE C=40)
9.本题结果如图3.6所示:
视图H 对视图H的查询结果
A B C D E B D E
a1 b1 c1 d1 e1 b1 d2e2
a2b2 c2 d2 e2 b2 d2e2
a3 b3c3 d3e3
图3.6 视图H及其查询结果
10.(1)SELECT DISDINCT PROV
FROM S
WHERE SD=“信息系”
(2)SELECT SN,GR
FROM S,SC
精选文档WHERE SD=“英语系”AND CN=“计算机”AND S.SNO=SC.SNO
ORDER BY GR DESC:
四.综合题
1.设有一个供应商,零件,工程项目,供应情况数据库SPJ,并有如下关系:供应商关系模式S为S(Sno,Sname,Status,City)其中属性的含义分别为:供应商代码,供应商名,供应商状态,供应上所在城市;
CREATE TABLE S(Sno CHAR(3) NOT NULL UNIQUE,
Sname CHAR(30) UNIQUE,
Status CHAR(8),
City CHAR(20));
零件关系模式J为J(Jno,Jname,City)其中属性的含义分别为:工程号,工程名,工程项目所在城市;
CREATE TABLE J(Jno,CHAR(4) NOT NULL UNIQUE,
Jname CHAR(30),
City CHAR(20));
工程项目关系模式P为P(Pno,Pname,Color,Weight)轻重属性的含义分别为:零件代码,零件名称,零件的颜色,零件的重量;
CREATE TABLE P(Pno CHAR(3) NOT NULL UNIQUE,
Pname CHAR(20),
Color CHAR (2)
Weight INT);
供应情况关系模式SPJ为SPJ(Sno CHAR(3) NOT NULL,
Pno CHAR(3) NOT NULL,
Jno CHAR(4) NOT NULL,
Qty INT,
PRIMARY KEY (Sno,Pno,Jno),
FPREIGNKEY(Sno) REFERENCES S(Sno),
FPREIGNKEY(Pno) REFERENCES P(Pno),
FPREIGNKEY(Jno) REFERENCES J(Jno), 上例中,“PRIMARY KEY ”定义的关系中的主码,“FOREIGNKEY REFERENCES”定义关系中的外码。

2.答:三建工程项目建立一个供应商情况的视图如下:
CREATE VIEW V-SP
AS SELECT Sno,Pno.Qty
FROM SPJ
WHERE Jno IN
(SELECT Jno
精选文档FROM J
WHERE Jname=‘三建’)
(1)找出三建工程项目使用各种零件代码及数量;
SELECT Pno,Qty
FROM V—SPJ
(2)找出供应商S1的供应情况
SELECT *
FROM V—SPJ
WHERE SNO =‘S1’
3.解
(1)GRANT INSERT ON TABLE S TO 张勇WITH GRANT OPTION;
(2)GRANT UPDATE(Qty)ON TABLE SPJ TO 李天明
4.解
(1)SELECT Sname ,City
FROM S;
(2)SELECT Pname ,Color,Weight
FROM P;
(3) SELECT DISTINCT(Jno)
FROM SPJ;
WHERE Sno=’S1’
(4)方法一:SELECT Jname,Q ty
FROM P,SPJ
WHERE P.pno=SPJ.pno AND SPJ.jno=’j2’;
方法二:SELECT Jname,Qty
FROM P
WHERE pno IN
(SLEECT Pno
FEOM SPJ
WHERE jno=‘j2‘);
(5)找出上海厂商供应的所有零件号码。

方法1:(联结查询)
SELECT Disdinct(Pno)
FROM S,SPJ
WHERE S.sno=SPJ.snoAND S.city=‘上海‘;
方法2:(嵌套查询)
SELECT Distinct(Pno)
FROM SPJ
精选文档WHERE Sno IN
(SELECT Pno
FROM S
WHERE City=‘上海‘);
(6)找出使用上海产的零件工程的名称。

方法1:(联结查询)
SELECT Jname
FROM S,SPJ,J
WHERE J.jno=SPJ.jno AND S.sno= SPJ.snoAND S.city=‘上海‘;
方法2:(嵌套查询)
SELECT Jname
FROM J
WHERE Jno IN
(SELECT Sno
FROM S
WHERE City=‘上海‘));
(7)找出没有使用天津产的零件的工程的号码。

方法1:(联结查询)
SELECT Jno
FROM S,SPJ
WHERE S.sno=SPJ.sno AND S.city<>’天津’;
方法2:(嵌套查询)
SELECT Jno
FROM SPJ
WHERE Sno IN
(SELECT Sno
FROM S
WHERE City<>’天津’);
(8)解:
Update P
SET Color=’蓝’
Where Color=’红’;
(9)解:Update SPJ
SET Sno=’S3’
Where Sno=’S5’AND Jno=’j4’AND Pno=’P6’;
(10) 解:
DELETE
精选文档FROM S
Where Sno=’S2’;
DELETE
FPOM SPJ
Where Sno=’S2’;
(11) 解:
INSERT
INTO SPJ
V ALUES (‘S2’,’J6’,’P4’,200);
第四章关系数据理论
Ⅰ、学习要点
1、理解函数依赖的概念和Armstrong公理系统的基本内容;
2、理解关系模式规范化的概念、理由和方法;
3、熟练掌握各级范式的定义和判断方法;
*4、熟练掌握关系模式的侯选码、最小函数依赖集的求法;
*5、熟练掌握关系模式中属性的闭包的求法;
*6、理解模式分解的概念,掌握无损连接、保持函数依赖的概念及判断方法;
*7、掌握简单的关系模式的分解。

Ⅱ、习题
一、选择题
1、系规范中的删除操作异常是指①,插入操作异常是指②。

A、不该删除的数据被删除
B、不该插入的数据被插入
C、应该删除的数据未被删除
D、应该插入的数据未被插入
2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是。

A、关系规范化理论
B、关系运算理论
C、关系代数理论
D、数理逻辑
3、规范化理论是关系数据库进行逻辑设计的理论依据。

根据这个理论,关系数据库中的关系必须满足:其每一属性都是。

A、互不相关的
B、不可分解的
C、长度可变的
D、互相关联的
4、关系数据库规范化是为解决关系数据库中问题而引入的。

A、插入、删除和数据冗余
B、提高查询速度
C、减少数据操作的复杂性
D、保证数据的安全性和完整性
5、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及的缺陷。

A、数据的不一致性
B、结构不合理
C、冗余度大
D、数据丢失
6、当关系模式R(A,B)属于3NF,下列说话中是正确的。

A、它一定消除了插入和删除异常
B、仍存在一定的插入和删除异常
C、一定属于BCNF
D、A和C都是
7、关系模型中的关系模式至少是。

A、1NF
B、2NF
C、3NF
D、BCNF
8、在关系DB中,任何二元关系模式的最高范式必定是。

相关文档
最新文档