数据库系统概论复习资料2doc.docx
《数据库系统概论复习资料2doc.docx》由会员分享,可在线阅读,更多相关《数据库系统概论复习资料2doc.docx(22页珍藏版)》请在冰豆网上搜索。
数据库系统概论复习资料2doc
数据库系统概论复习资料
(2)
数据库系统概论复习资料第一章
一、名词解释1.Data:
数据,是数据库中存储的基本对象,是描述事物的符号记录。
2.Database:
数据库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。
3.DBMS:
数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学地组织、存储和管理数据、高效地获取和维护数据。
4.DBS:
数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。
5.数据模型:
是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的模拟,是数据库系统的核心和基础;其组成元素有数据结构、数据操作和完整性约束。
6.概念模型:
也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
7.逻辑模型:
是按计算机系统的观点对数据建模,用于DBMS实现。
8.物理模型:
是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
9.实体和属性:
客观存在并可相互区别的事物称为实体。
实体所具有的某一特性称为属性。
10.E-R图:
即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设计的主要工具。
11.关系模式:
从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规范化的二维表。
12.型/值:
型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例。
13.数据库模式:
是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。
14.数据库的三级系统结构:
外模式、模式和内模式。
15.数据库内模式:
又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库只有一个内模式。
16.数据库外模式:
又称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。
通常是模式的子集。
一个数据库可有多个外模式。
17.数据库的二级映像:
外模式/模式映像、模式/内模式映像。
二、填空题1.数据库系统由数据库、数据库管理系统、应用系统和数据库管理员构成。
2.数据管理是指对数据进行分类、组织、编码、存储、检索和维护等活动。
3.数据管理技术的发展经历了人工管理、文件系统、数据库系统3个阶段。
4.数据模型分为概念模型、逻辑模型和物理模型3个方面。
5.数据模型的组成要素是:
数据结构、数据操作、完整性约束条件。
6.实体型之间的联系分为一对一、一对多和多对多三种类型。
7.常见的数据模型包括:
关系、层次、网状、面向对象、对象关系映射等几种。
8.关系模型的完整性约束包括:
实体完整性、参照完整性和用户定义完整性。
三、问答题1.简述DBMS的主要功能
?
?
?
?
?
?
?
?
?
?
数据定义数据组织、存储和管理数据操纵(查询、插入、删除和修改)数据库的事务管理和运行管理数据库的建立和维护功能其它功能由程序员管理,数据不保存应用程序管理数据数据不共享、冗余度极大数据不具独立性,完全依赖于程序
2.简述人工数据管理阶段的特点
3.简述文件系统阶段数据管理的特点
?
数据由文件系统管理,可长期保存?
数据面向某一应用程序,共享性差、冗余度大?
数据独立性差,数据的逻辑结构改变必须修改应用程序
4.简述数据库系统阶段数据管理的特点
?
?
?
?
数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制
5.DBMS可以对数据提供哪些控制功能?
?
数据的安全性(Security)保护:
保护数据,以防止不合法的使用造成的数据的泄
密和破坏。
?
数据的完整性(Integrity)检查:
将数据控制在有效的范围内,或保证数据之间满
足一定的关系。
?
并发(Concurrency)控制:
对多用户的并发操作加以控制和协调,防止相互干扰而
得到错误的结果。
?
数据库恢复(Recovery):
将数据库从错误状态恢复到某一已知的正确状态。
6.何谓数据模型?
它应满足哪些要求?
?
数据模型是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界
的模拟。
?
数据模型应满足三方面要求:
1)能比较真实地模拟现实世界2)容易为人所理解3)便于在计算机上实现
7.何谓数据结构?
描述的内容是什么?
?
数据结构是对数据库的组成对象以及对象之间的联系的描述。
?
描述的内容包括与对象的类型、内容、性质有关的和与数据之间联系有关的对象。
8.举例说明一对一、一对多和多对多3种联系。
?
一个班级只能有一个正班长,一个班长只能在一个班级中任职。
班长和班级两个实
体集之间就是一对一的联系。
?
一个班级可以有很多学生,一个学生只能在一个班级中就读。
班级和学生两个实体
集之间就是一对多的联系。
?
一门课程可以被多个学生选修,一个学生可以选修多门课程。
课程和学生两个实体
集之间就是多对多的联系。
9.分析并画出某教学管理系统的E-R图(可不画出属性)。
主要实体型包括:
学生、教师、课程、参考书、教室。
参考书
m指定n
学生
m
选修
n
课程
n安排1
n
讲授
1
教师
教室
10.分析并画出某图书馆管理系统的E-R图(可不画出属性)。
主要实体型包括:
图书、出版社、经销商、借阅人、书库、职工。
职工
1工作1
供应商
m采购n1库存n
书库
图书
n借阅m
n
出版
1
出版社
借阅人
11.简述层次模型的基本特点:
?
?
?
?
?
结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在
12.简述层次模型的优缺点。
优点:
?
层次模型的数据结构比较简单清晰?
查询效率高,性能优于关系模型,不低于网状模型?
层次数据模型提供了良好的完整性支持
缺点:
?
?
?
?
多对多联系表示不自然对插入和删除操作的限制多,应用程序的编写比较复杂查询子女结点必须通过双亲结点由于结构严密,层次命令趋于程序化
13.阐述数据库三级模式及优点、二级映象的含义及作用。
?
数据库三级模式反映的是数据的三个抽象层次:
模式是对数据库中全体数据的逻辑
结构和特征的描述。
内模式又称为存储模式,是对数据库物理结构和存储方式的描述。
外模式又称为子模式或用户模式,是对特定数据库用户相关的局部数据的逻辑结构和特征的描述。
?
数据库三级模式通过二级映象在DBMS内部实现这三个抽象层次的联系和转换。
外模
式面向应用程序,通过外模式/模式映象与逻辑模式建立联系,实现数据的逻辑独立性。
模式/内模式映象建立模式与内模式之间的一对一映射,实现数据的物理独立性。
14.阐述DBA的职责。
?
?
?
?
?
?
决定数据库的中的信息内容和结构决定数据库的存储结构和存取策略决定数据的安全性要求和完整性约束条件监控数据库的使用和运行数据库的改进和重组重构定期对数据库进行重组织,以提高系统的性能
第二章
一、名词解释1.主码:
能够唯一地标识一个元组的属性或属性组称为关系的码或候选码。
若一个关系有多个候选码则可选其一作为主码或主键(Primarykey)。
2.外码:
如果一个关系的一个或一组属性引用(参照)了另一个关系的主码,则称这个或这组属性为外码或外键(Foreignkey)。
3.关系数据库:
依照关系模型建立的数据库称为关系数据库。
它是在某个应用领域的所有关系的集合。
4.关系模式:
简单地说,关系模式就是对关系的型的定义,包括关系的属性构成、各属性的数据类型、属性间的依赖、元组语义及完整性约束等。
关系是关系模式在某一时刻的状态或内容,关系模型是型,关系是值,关系模型是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
5..实体完整性:
用于标识实体的唯一性。
它要求基本关系必须要有一个能够标识元组唯一性的主键,主键不能为空,也不可取重复值。
6.参照完整性:
用于维护实体之间的引用关系。
它要求一个关系的外键要么为空,要么取与被参照关系对应的主码值,即外码值必须是主码中已存在的值。
7.用户定义的完整性:
就是针对某一具体应用的数据必须满足的语义约束。
包括非空、唯一和布尔条件约束三种情况。
二、填空题1.在学生(学号,姓名,性别,年龄,班长学号)、课程(课程号,课程名,学时数)、选修(学号,课程号,成绩)三个关系中:
?
选修关系的主码是学号+课程号,外码学号参照学生关系的主码,外码课程号参照课
程关系的主码。
?
学生关系的主码是学号,外码是班长学号,参照学生关系的主码。
2.3.4.关系的三类完整性约束分别是实体完整性、参照完整性和用户定义的完整性。
关系数据库语言分为关系代数、关系演算和结构化查询语言三大类。
关系的5种基本操作是选择、投影、并、差、笛卡尔积。
三、问答题1.简述基本关系的性质
?
?
?
?
?
?
每个列具有相同的数据类型不同的列可出自同一个域,但必须是不同的名字列的顺序可以任意交换行的顺序也可以任意交换至少有一个候选码,用于标识元组的唯一性分量必须取原子值,即属性不能再分
2.写出关系模式的五元组形式化表示并说明各符号的含义。
关系模式是对关系的描述,形式化表示为:
R(U,D,DOM,F)
?
?
?
?
?
R——关系名U——组成该关系的属性名集合D——属性组U中属性所来自的域DOM——属性向域的映象集合F——属性间的数据依赖关系集合学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名称,学分)选修(学号,课程号,成绩)
3.简述教材“学生-课程”示例数据库三个关系(表)的主外键及参照情况。
?
学号是学生关系的主键,课程号是课程关系的主键,选修关系的主键是学号+课程号
属性组。
选修关系有两个外键,其中学号外键参照学生关系的主键(学号),课程号外键参照课程关系的主键(课程号)。
选修关系属于参照关系,学生关系和课程关系以至于是被参照关系。
4.设R是包含k1个元组的n目关系,S是包含k2个元组的m目关系,写出R与S的笛卡尔积运算公式并说明其含义。
?
运算公式为:
R×S={
关系S的一个元组。
trts|tr?
R∧ts?
S
}
?
运算结果为一个(n+m)目关系,其每个元组的前n列是关系R的一个元组,后m列是?
运算结果包含由k1×k2个元组,由来自R和S的所有元组交叉组合而成
5.写出关系选择(σ)运算的公式并说明其含义。
?
运算公式为:
σ
F
(R)
={t|t?
R∧F(t)=‘真'}
?
选择运算的含义为从关系R中找出符合条件的所有元组。
式中:
F为选择条件,t
表示元组,它是R元组的子集,并使逻辑表达式F(t)为真。
6.写出关系投影(?
)运算的公式并说明其含义。
?
运算公式为:
?
A(R)={t[A]|t?
R}?
投影运算的含义为从关系R中选择出若干属性列组成新的关系。
式中A为R的部分
属性组,t表示元组,t[A]表示由属性组A上的分量构成的元组。
第三章
一、名词解释1.SQL:
结构化查询语言的简称,是关系数据库的标准语言。
SQL是一种通用的、功能极强的关系数据库语言,是对关系数据存取的标准接口,也是不同数据库系统之间互操作的基础。
集数据查询、数据操作、数据定义、和数据控制功能于一体。
2.3.数据定义:
数据定义功能包括模式定义、表定义、视图和索引的定义。
嵌套查询:
指将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询。
二、填空题1.SQL数据定义语句的操作对象有:
模式、表、视图和索引。
2.3.4.5.SQL数据定义语句的命令动词是:
CREATE、DROP和ALTER。
RDBMS中索引一般采用B+树或HASH来实现。
索引可以分为唯一索引、非唯一索引和聚簇索引三种类型。
填空完成下列查询条件表:
查询条件比较确定范围确定集合字符匹配空值多重条件(逻辑运算)运算符/谓词=,>,<,>=,<=,!
=,<>,!
>,!
<BETWEENAND,NOTBETWEENANDIN,NOTINLIKE,NOTLIKEISNULL,ISNOTNULLAND,OR,NOT
操作对象模式表视图索引
三、问答题1.简述SQL的特点。
创建CREATESCHEMACREATETABLECREATEVIEWCREATEINDEX
操作方式删除DROPSCHEMADROPTABLEDROPVIEWDROPINDEX
修改ALTERTABLE
?
集数据定义语言(DDL)、数据操纵(DML)和数据控制语言(DCL)于一体,可以独立完成
数据库生命周期中的全部活动。
?
属于高度非过程化语言,只要告知"做什么",而无须了解"如何做"。
?
采用集合操作方式,操作对象、查询结果均为元组的集合,效率高。
?
同一语法结构多种使用方式。
既可用于联机交互操作,也可嵌入其它高级语言程序
中使用。
?
语言简单易用,完成核心功能只需9个动词。
2.写出SQL创建表语句的一般格式并说明其含义。
CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束>][,<列名><数据类型>[<列级完整性约束>]]?
[,<表级完整性约束>]);
?
<数据类型>可以是数据库系统支持的各种数据类型,包括长度和精度。
?
列级完整性约束为针对单个列(本列)的完整性约束,包括PRIMARYKEY、REFERENCES
表名(列名)、UNIQUE、NOTNULL等。
?
表级完整性约束可以是基于表中多列的约束,包括PRIMARYKEY(列名列表)、
FOREIGNKEYREFERENCES表名(列名)等。
3.写出SQL创建索引语句的一般格式并说明其含义。
CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名列表>);
?
UNIQUE:
表示创建唯一索引,缺省为非唯一索引。
?
CLUSTER:
表示创建聚簇索引,缺省为非聚簇索引。
?
<列名列表>:
一个或逗号分隔的多个列名,每个列名后可跟ASC或DESC,表示升/
降序,缺省为升序。
多列时则按为多级排序。
4.写出SQL查询语句的一般格式并说明其含义。
SELECT[ALL|DISTINCT]<算术表达式列表>FROM<表名或视图名列表>[WHERE<条件表达式1>][GROUPBY<属性列表1>[HAVING<条件表达式2>]][ORDERBY<属性列表2>[ASC|DESC]];说明:
?
ALL/DISTINCT:
缺省为ALL,即列出所有查询结果记录,包括重复记录。
DISTINCT
则对重复记录只列出一条。
?
算术表达式列表:
一个或多个逗号分隔的算术表达式,表达式由常量(包括数字和字
符串)、列名、函数和算术运算符构成。
每个表达式后还可跟别名。
也可用*代表查询表中的所有列。
?
?
?
?
?
<表名或视图名列表>:
一个或多个逗号分隔的表或视图名。
表或视图名后可跟别名。
条件表达式1:
包含关系或逻辑运算符的表达式,代表查询条件。
条件表达式2:
包含关系或逻辑运算符的表达式,代表分组条件。
<属性列表1>:
一个或逗号分隔的多个列名。
<属性列表2>:
一个或逗号分隔的多个列名,每个列名后可跟ASC或DESC,表示升/降序,缺省为升序。
5.自己认真调试教材“学生-课程”示例数据库(含完整性约束定义)。
P82表6.写出插入单个记录的SQL语句格式并说明其含义。
?
语句格式:
INSERTINTO<表名>[(<属性列表>)]VALUES(<常量列表>)
?
说明:
INTO子句的<属性列表>可为表中的全部属性列,也可为非空部分属性,顺序不限,以逗号分隔。
缺省为表中的所有属性。
VALUES子句的<常量列表>由逗号分隔的常量构成,其个数、类型和顺序必须与属性列表一致。
7.简述视图的作用。
?
能够简化用户的操作:
简化用户的查询操作,用户注意力可集中在自己关心的数据
上。
?
使用户能以多种角度看待同一数据:
不同的用户可以从不同的角度看待同一数据。
?
对重构数据库提供了一定程度的逻辑独立性:
在数据库三级模式结构中,视图属于
外模式,因而可保证数据的逻辑独立性。
?
能够对机密数据提供安全保护:
视图机制不仅具备受限更新,更可向特定用户屏蔽
或开放机密数据。
?
适当的利用视图可以更清晰的表达查询。
第四、五章
一、名词解释1.数据库角色:
被命名的一组与数据库操作相关的权限,是权限的集合,通过角色授权可简化授权过程。
用CREATEROLE语句创建角色,然后用GRANT语句给角色授权。
2.自主存取控制(DAC):
通过将不同数据库对象的不同操作权限授予不同的用户,来实现数据安全性控制的一种机制。
在这种机制下,DBA和属主用户可以将对象的操作权限自主授予他人,也可随时回收权限。
3.强制存取控制(MAC):
是建立在DAC之上的安全验证机制。
这种机制分别对主体和客体施加敏感度标记(许可证和密级),标记与数据是一个不可分的整体,数据的副本与正本一样拥有密级保护。
4.数据加密:
是根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文)的一种数据保护手段,加密可以使不知道解密算法的人无法获知数据的内容,从而防止数据在存储和传输过程中失密。
5.触发器:
是用户定义在基本表上的一类由事件驱动的特殊过程。
由服务器自动激活,能执行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。
使用CREATETRIGGER命令建立触发器。
二、填空题1.计算机系统存在技术安全、管理安全和政策法律三类安全性问题。
2.3.4.5.TCSEC/TDI标准由安全策略、责任、保证和文档四个方面内容构成。
常用存取控制方法包括自主存取控制(DAC)和强制存取控制(MAC)两种。
自主存取控制(DAC)的SQL语句包括GRANT和REVOKE两个。
用户权限由数据对象和操作类型两部分构成。
填空,完成以下权限表。
权限可否执行的操作
CREATEUSERDBARESOURCECONNECT6.7.8.9.可以不可以不可以
CREATESCHEMA可以不可以不可以
CREATETABLE可以可以不可以
CRUD操作可以可以可以但必须被授权
强制存取控制(MAC)将实体分为主体和客体两大类。
MAC的敏感度标记分为绝密、机密、可信和公开四个安全级别。
数据加密的方法大致分为替换法、置换法和混合法三种类型。
参照完整性违约处理的方式包括拒绝执行、级连操作和置空值三种策略。
三、问答题1.数据库安全性控制的常用方法有哪些?
?
用户标识和鉴定:
是数据库访问控制的最外层安全保护措施,通过用户标识和口令
实现。
?
?
?
?
存取控制:
通过用户权限定义和合法权限检查机制共同构成DBMS的安全子系统视图:
可在一定程度上对保密数据提供隐藏保护。
审计:
用于记录用户对数据库的所有操作以便事后跟踪和追溯。
加密存储:
对高度机密的数据进行数据加密,是防止数据在存储和传输过程中失密的有效手段。
2.写出下列SQL自主权限控制命令。
1)把对Student和Course表的全部权限授予所有用户。
GRANTALLPRIVILIGESONTABLEStudent,CourseTOPUBLIC;2)把对Student表的查询权和姓名修改权授予用户U4。
GRANTSELECT,UPDATE(Sname)ONTABLEStudentTOU4;3)把对SC表的插入权限授予U5用户,并允许他传播该权限。
GRANTINSERTONTABLESCTOU5WITHGRANTOPTION;4)把用户U5对SC表的INSERT权限收回,同时收回被他传播出去的授权。
REVOKEINSERTONTABLESCFROMU5CASCADE;5)创建一个角色R1,并使其对Student表具有数据查询和更新权限。
CREATEROLER1;GRANTSELECT,UPDATEONTABLEStudentTOR1;6)对修改Student表结构的操作进行审计。
AUDITALTERONStudent;3.简述可能破坏参照完整性的情况及违约处理方式。
被参照表(例如student)可能破坏参照完整性可能破坏参照完整性删除元组--->修改主码值--->
参照表(例如SC)<--插入元组<--修改主码值可能破坏参照完整性可能破坏参照完整性
违约处理拒绝拒绝拒绝/级连删除/设置为空值拒绝/级连删除/设置为空值
?
在参照表中插入或删除元组时可能会破坏参照完整性,DBMS将拒绝执行。
?
在被参照表中删除元组时也可能会破坏参照完整性,DBMS将选择拒绝删除或级连删
除或设置空值几种方案处理。
拒绝为默认策略。
?
在被参照表中修改主码值时也可能会破坏参照完整性,DBMS将选择拒绝修改或级连
修改或设置空值几种方案处理。
拒绝为默认策略。
4.写出创建触发器的一般语法并说明其含义。
CREATETRIGGER<触发器名>{BEFORE|AFTER}<触发事件>ON<表名>FOREACH{ROW|STATEMENT}[WHEN<触发条件>]ASBEGIN<触发动作体>END;说明:
?
?
?
?
?
<触发事件>可以是INSERT、DELETE或UPDATE[OF<列,?
>]等数据更新操作BEFORE表示在操作执行前触发动作