数据库课后题文档格式.docx
《数据库课后题文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课后题文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
)数据由
统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
6
.数据库管理系统的主要功能有哪些
)数据库定义功能;
)数据存取功能;
)数据库运行管理;
)数据库的建立和维护功能。
7.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
(l)数据结构:
是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:
是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:
是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
10
.试给出
个实际部门的
E
一
R
图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。
15.今有一个层次数据库实例,试用子女一兄弟链接法和层次序列链接法画出它的存储结
构示意图。
子女兄弟链接法:
层次序列链接法:
23
.试述数据库系统的组成。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
19
.试述关系数据库的特点。
关系数据模型具有下列优点:
)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
)关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操作的对象和操作的结果都是关系,所以其数据结构简单、清晰,用户易懂易用。
)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
第2章
关系数据库
.试述关系模型的三个组成部分。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
.试述关系数据语言的特点和分类。
关系数据语言可以分为三类:
关系代数语言。
关系演算语言:
元组关系演算语言和域关系演算语言。
SQL:
具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空
实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);
或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘
(σCOLOR=’红‘
(P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)-
πJNO(σcity=‘天津’∧Color=‘红‘
(S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷
πPno(σSno=‘S1‘
(SPJ))
6.试述等值连接与自然连接的区别和联系。
连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,
并且在结果中把重复的属性列去掉。
7.关系代数的基本运算有哪些
如何用这些基本运算来表示其他运算
并、差、笛卡尔积、投影和选择5种运算为基本的运算。
其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
第3章
关系数据库标准语言SQL
.试述
sQL
语言的特点。
(l)综合统一。
语言集数据定义语言
DDL
、数据操纵语言
DML
、数据控制语言
DCL
的功能于一体。
语言风格统一,可以独立完成数据库生命周期中的全部活动。
(2)高度非过程化。
用
语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及
语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;
作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
的定义功能。
的数据定义功能包括定义表、定义视图和定义索引。
SQL
语言使用
cREATE
TABLE
语句建立基本表,
ALTER
语句修改基本表定义,
DROP
语句删除基本表;
使用
CREATE
INDEX
语句建立索引,
语句删除索引;
VIEW
语句建立视图,
语句删除视图。
.用
语句建立第二章习题
中的
个表。
对于
S
表:
SNO
SNAME
STATUS
CITY
建
Sno
C
(2)
UNIQUE,Sname
C(6)
,Status
C
(2),City
C(4));
P
PNO
PNAME
COLOR
WEIGHT
);
表
P(Pno
UNIQUE,Pname
C(6),COLOR
C
(2),
INT);
J
JNO
JNAME
CITY)
;
J(Jno
UNlQUE,JNAME
C(8),
C(4))
sPJ
sNo
PNo
JNo
QTY)
SPJ
SPJ(SNO,PNO,JNO,QTY)
SPJ(Sno
C
(2),Pno
C
(2),JNO
QTY
INT))
4.针对上题中建立的
个表试用
语言完成第二章习题
中的查询。
)求供应工程
Jl
零件的供应商号码
SELECT
DIST
FROM
WHERE
JNO=’J1’
零件
Pl
的供应商号码
JNO='
J1'
AND
PNO='
P1'
零件为红色的供应商号码
SPJ,P
=
COLOR='
红'
)求没有使用天津供应商生产的红色零件的工程号
NOT
IN
(SELE
SPJ,P,S
='
天津'
AND=。
)求至少用了供应商
Sl
所供应的全部零件的工程号
由于VFP不允许子查询嵌套太深,将查询分为两步
A、查询S1供应商供应的零件号
SNO='
S1'
结果是(P1,P2)
B、查询哪一个工程既使用P1零件又使用P2零件。
(SELECT
P2'
5.针对习题3中的四个表试用SQL语言完成以下各项操作:
(1)找出所有供应商的姓名和所在城市。
SNAME,CITY
S
(2)找出所有零件的名称、颜色、重量。
PNAME,COLOR,WEIGHT
(3)找出使用供应商S1所供应零件的工程号码。
(4)找出工程项目J2使用的各种零件的名称及其数量。
PNAME,QTY
J2'
(5)找出上海厂商供应的所有零件号码。
SPJ,S
CITY='
上海'
(6)出使用上海产的零件的工程名称。
SPJ,S,J
(7)找出没有使用天津产的零件的工程号码。
意:
DISP
适用于JNO是唯一或不唯一的情况.
注意:
<
>
'
适用于JNO是唯一的情况
(8)把全部红色零件的颜色改成蓝色。
UPDATE
SET
蓝'
(9)由S5供给J4的零件P6改为由S3供应。
S3'
S5'
J4'
P6'
(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETE
SNO=’S2’
B、DELETE
SNO=‘S2’
(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERT
INTO
VALUES(‘S2’,‘J6’,‘P4’,200)
第4章
数据库安全性
.什么是数据库的安全性
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
.数据库安全性和计算机系统的安全性有什么关系
安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,
.试述实现数据库安全性控制的常用方法和技术。
实现数据库安全性控制的常用方法和技术有:
)用户标识和鉴别:
该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
)存取控制:
通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如CZ
级中的自主存取控制(
DAC
Bl
级中的强制存取控制(MAC
)。
)视图机制:
为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户
隐藏起来,从而自动地对数据提供一定程度的安全保护。
)审计:
建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA
可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
)数据加密:
对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
.什么是数据库中的自主存取控制方法和强制存取控制方法
自主存取控制方法:
定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象
7
.SQL
语言中提供了哪些数据控制(自主存取控制)的语句请试举几例说明它们的使用方法。
中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。
如:
GRANT
ON
Student
TO
王平
WITH
OPTION
就将Student
表的SELECT
和INSERT
权限授予了用户王平,后面的“WITH
”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。
REVOKE
王平CASCADE
表的INSERT
权限从用户王平处收回,选项CASCADE
表示,如果用户王平将Student
的INSERT
权限又转授给了其他用户,那么这些权限也将从其他用户处收回。
8.请用SQL的GRANT
和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
a
)用户王明对两个表有SELECT
权力。
职工,部门
王明
b
)用户李勇对两个表有INSERT
和DELETE
INSERT,DELETE
李勇
c
每个职工只对自己的记录有SELECT
职工
WHEN
USER()=NAME
ALL;
d
)用户刘星对职工表有SELECT
权力,对工资字段具有更新权力。
SELECT,UPDATE(工资)
刘星
e
)用户张新具有修改这两个表的结构的权力。
张新;
f
)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。
ALL
PRIVILIGES
周平
OPTION;
g
)用户杨兰具有从每个部门职工中SELECT
最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。
部门工资
AS
第5章
数据库完整性
1什么是数据库的完整性
答:
数据库的完整性是指数据的正确性和相容性。
.数据库的完整性概念与数据库的安全性概念有什么区别和联系
数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(
Garba
:
In
out
)所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
.什么是数据库的完整性约束条件可分为哪几类
完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:
静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
静态列级约束是对一个列的取值域的说明,包括以下几个方面:
)对数据类型的约束,包括数据的类型、长度、单位、精度等;
)对数据格式的约束;
)对取值范围或取值集合的约束;
)对空值的约束;
)其他约束。
静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:
)实体完整性约束;
)参照完整性约束;
)函数依赖约束。
动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:
)修改列定义时的约束;
)修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。
动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
.
的完整性控制机制应具有哪些功能
的完整性控制机制应具有三个方面的功能:
)定义功能,即提供定义完整性约束条件的机制;
)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;
)违约反应:
如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
RDBMS
在实现参照完整性时需要考虑哪些方面
RDBMs
在实现参照完整性时需要考虑以下几个方面:
)外码是否可以接受空值。
)册
除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:
)级联删除(
CASCADES
)受限删除(
RESTRICTED
)置空值删除(
NULLIFIES
)在参照关系中插入元组时的问题,这时系统可能采取的作法有:
)受限插入;
)递归插入。
)修改关系中主码的问题。
一般是不能用
语句修改关系主码的。
如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。
如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改。
然后要区分是参照关系还是被参照关系。
.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码。
语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
定义每个模式的主码;
定义参照完整性;
定义职工年龄不得超过
60
岁。
DEPT
(Deptno
NUMBER
(2),
Deptname
VARCHAR(10),
Manager
PhoneNumber
Char(12)
CONSTRAINT
PK_SC
RIMARY
KEY(Deptno));
EMP
(Empno
NUMBER(4),
Ename
VARCHAR(10),Age
C1
CHECK
Aage<
=60),
Job
VARCHAR(9),
Sal
NUMBER(7,2),
Deptno
FK_DEPTNO
FOREIGN
KEY(Deptno)
REFFERENCES
DEPT(Deptno));
第6章
关系数据库理论
.理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All
一key
)、1
NF
、2NF
、3NF
、BcNF
、多值依赖、4NF
定义1:
设R(U)是属性集U上的关系模式。
X,Y是属性集U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。
(即只要X上的