数据库系统理论复习资料利于复习.docx
《数据库系统理论复习资料利于复习.docx》由会员分享,可在线阅读,更多相关《数据库系统理论复习资料利于复习.docx(16页珍藏版)》请在冰豆网上搜索。
数据库系统理论复习资料利于复习
数据库系统理论复习资料
什么是数据?
什么是信息?
数据和信息有什么区别和联系?
数据()是数据库中存储的基本对象
数据的定义描述事物的符号记录
数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等
信息与数据之间存在着固有联系:
数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小
数据独立性较高易扩展
位于用户与操作系统之间的一层数据管理软件。
是基础软件,是一个大型复杂的软件系统
的用途科学地组织和存储数据、高效地获取和维护数据
的主要功能
▪数据定义功能
提供数据定义语言()
定义数据库中的数据对象
▪数据组织、存储和管理
分类组织、存储和管理各种数据
确定组织数据的文件结构和存取方式
实现数据之间的联系
提供多种存取方法提高存取效率
▪数据操纵功能
提供数据操纵语言()
实现对数据库的基本操作(查询、插入、删除和修改)
▪数据库的事务管理和运行管理
数据库在建立、运行和维护时由统一管理和控制
保证数据的安全性、完整性、多用户对数据的并发使用
发生故障后的系统恢复
▪数据库的建立和维护功能(实用程序)
数据库初始数据装载转换
数据库转储
介质故障恢复
数据库的重组织
性能监视分析等
▪其它功能
与网络中其它软件系统的通信
两个系统的数据转换
异构数据库之间的互访和互操作
v什么是数据库系统(,)
v数据库系统的构成
▪数据库
▪数据库管理系统(及其开发工具)
▪应用系统
▪数据库管理员
什么是数据处理?
围绕着数据所做的工作都可称为数据处理。
即对各种数据进行收集、管理、加工和传播的一系列活动的总和。
如:
对全班学生信息进行收集、存储和查询。
数据处理包括哪些工作?
v1)数据管理:
收集信息、将信息用数据表示并按类别组织保存;
▪收集和整理数据;
▪组织和保存数据;
▪进行数据维护;
▪提供数据查询和数据统计功能。
v2)数据加工:
对数据进行变换、抽取和运算;
v3)数据传播:
在空间或时间上以各种形式传播信息,而不改变数据的结构、性质和内容;
数据管理技术
v什么是数据管理技术
▪对数据进行分类、组织、编码、存储、检索和维护
▪数据处理的中心问题
数据管理和数据处理的关系是什么?
v数据管理是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。
v数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。
v应研制有效的数据管理软件,以减少程序员的负担。
数据管理技术的产生和发展(续)
v数据管理技术的发展动力
▪应用需求的推动
▪计算机硬件的发展
▪计算机软件的发展
一、人工管理阶段
二、文件系统阶段
三、数据库系统阶段
数据库系统的特点是什么?
数据结构化数据的共享性高,冗余度低,易扩充
数据独立性高数据由统一管理和控制
数据独立性高
物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由的二级映像功能来保证的
提供的数据控制功能
▪
(1)数据的安全性()保护
保护数据,以防止不合法的使用造成的数据的泄密和破坏。
▪
(2)数据的完整性()检查
将数据控制在有效的范围内,或保证数据之间满足一定的关系。
▪(3)并发()控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
▪(4)数据库恢复()
将数据库从错误状态恢复到某一已知的正确状态。
应用程序与数据的对应关系(数据库系统)
数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
通俗地讲数据模型就是现实世界的模拟。
数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现
数据模型分为两类(分属两个不同的层次)
(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
(2)逻辑模型和物理模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
什么是数据结构?
描述数据库的组成对象,以及对象之间的联系
数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则
数据操作的类型查询更新(包括插入、删除、修改)
图
关系数据库系统采用关系模型作为数据的组织方式
关系()一个关系对应通常说的一张表
元组()表中的一行即为一个元组
属性()表中的一列即为一个属性,给每一个属性起一个名称即属性名
关系的完整性约束条件
▪实体完整性
▪参照完整性
▪用户定义的完整性
模式()数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的
数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库系统的三级模式结构模式()外模式()内模式()
模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:
是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关
外模式(也称子模式或用户模式)
▪数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
▪数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
Ø一个数据库可以有多个外模式。
但一个应用程序只能使用一个外模式
外模式(续)
内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式一个数据库只有一个内模式
二级映象在内部实现这三个抽象层次的联系和转换
▪外模式/模式映像
▪模式/内模式映像
一、外模式/模式映象
v模式:
描述的是数据的全局逻辑结构
v外模式:
描述的是数据的局部逻辑结构
v同一个模式可以有任意多个外模式
v每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
二、模式/内模式映象
v模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
▪例如,说明逻辑记录和字段在内部是如何表示的
v数据库中模式/内模式映象是唯一的
v该映象定义通常包含在模式描述中
数据库的内模式
▪依赖于它的全局逻辑结构
▪独立于数据库的用户视图,即外模式
▪独立于具体的存储设备
▪将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率
数据库的外模式
▪面向具体的应用程序
▪定义在逻辑模式之上
▪独立于存储模式和存储设备
▪当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
▪设计外模式时应充分考虑到应用的扩充性
一、硬件平台及数据库
二、软件
支持运行的操作系统与数据库接口的高级语言及其编译系统以为核心的应用开发工具为特定应用环境开发的数据库应用系统
三、人员数据库管理员系统分析员和数据库设计人员应用程序员用户
第一章绪论
12存在问题:
①研究生与学生是否作为一类实体型②如何给联系起名字③是否该区分教授副教授?
13存在问题:
①原材料和零件与仓库的存储联系是否可以作为一个联系②原材料和仓库的联系类型③仓库是一个实体,有多个同学画成了两个实体
1)求供应工程J1零件的供应商号码:
π(σ‘J1’())
W():
‘J1’
2)求供应工程J1零件P1的供应商号码:
π(σ‘J1’∧‘P1‘())
π(σ‘J1’(σ‘P1‘())
π(σ‘J1’()∩(σ‘P1‘())
W():
‘J1’∧‘P1‘
3)求供应工程J1零件为红色的供应商号码:
π(σ’红‘(P)∞σ‘J1‘())
P
W():
$(=‘红’∧=’J1’∧=)
4)求没有使用天津供应商生产的红色零件的工程号:
π(J)-π(σ‘天津’∧‘红‘(S∞∞P)
W():
Ø$(∧$(=∧’天津’)∧$(=∧=‘红’))
5)求至少用了供应商S1所供应的全部零件的工程号:
π,()÷π(σ‘S1‘())
P
W():
($(=∧=‘S1’)→
$(∧∧’S1’))
3用语句建立第二章习题5中的四个表。
S(,,,);
P(,,,);
J(,,);
(,,,);
1)供应商表S由供应商代码()、供应商姓名()、供应商状态()、供应商所在城市()组成:
S(
(2),(6),
(2),(4))
2)零件表P由零件代码()、零件名()、颜色()、重量()组成:
P(
(2),(6),
(2),
(2))
3)工程项目表J由工程项目代码()、工程项目名()、所在城市()组成:
J(
(2),(8),(4))
4)供应情况表由供应商代码()、零件代码()、工程项目代码()、供应数量()组成:
(
(2),
(2),
(2),
(2))
4.针对上题中建立的四个表试用语言完成第二章习题5中的查询:
1)求供应工程J1零件的供应商号码:
’J1’
尽量不要写成
’J1’
2)求供应工程J1零件P1的供应商号码:
'J1''P1'
3)求供应工程J1零件为红色的供应商号码:
'J1''红'
不要忘了连接条件
4)求没有使用天津供应商生产的红色零件的工程号:
J
(
'天津''红'
)。
不能使用
‘天津’或者‘天津’
5)求至少用了供应商S1所供应的全部零件的工程号。
/*不存在这样的工程,它没有使用任何一种由S1供应的零件*/
(
*
='S1'(
*
=
'S1'));
5.针对习题3中的四个表试用语言完成以下各项操作:
(1)找出所有供应商的姓名和所在城市。
S
(2)找出所有零件的名称、颜色、重量。
P
(3)找出使用供应商S1所供应零件的工程号码。
'S1'
(4)找出工程项目J2使用的各种零件的名称及其数量。
'J2'
(5)找出上海厂商供应的所有零件号码。
'上海'
(6)出使用上海产的零件的工程名称。
'上海'
(7)找出没有使用天津产的零件的工程号码。
J
(
'天津')
不能写成
(*
S
=‘天津’)
也不能写成
‘天津’=
(8)把全部红色零件的颜色改成蓝色。
P'蓝''红'
(9)由S5供给J4的零件P6改为由S3供应。
'S3''S5''J4''P6'
部分同学条件不全或写成
'S5''J4''P6'
(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、S’S2’
B、‘S2’
不能写成
‘S2’
(11)请将(S2,J6,P4,200)插入供应情况关系。
(‘S2’,‘J6’,‘P4’,200)有同学没加引号
计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。
计算机系统的三类安全性问题技术安全类管理安全类政策法律类
数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储
存取控制机制组成定义用户权限合法权限检查
用户权限定义和合法权检查机制一起组成了的安全子系统
常用存取控制方法
▪自主存取控制(,简称)C2级灵活
▪强制存取控制(,简称)B1级严格
4.2数据库安全性控制
4.2.1用户标识与鉴别
4.2.2存取控制
4.2.3自主存取控制方法
4.2.4授权与回收
4.2.5数据库角色
4.2.6强制存取控制方法
4.2.3自主存取控制方法
v通过的语句和语句实现
v用户权限组成数据对象操作类型
v定义用户存取权限:
定义用户可以在哪些数据库对象上进行哪些类型的操作
v定义存取权限称为授权
自主存取控制方法(续)
v关系数据库系统中存取控制对象
[例]把对表和表的全部权限授予用户U2和U3
U2,U3;
例题
[例3]把对表的查询权限授予所有用户
;
[例5]把对表的权限授予U5用户,并允许他再将此权限授予其他用户
U5
;
(续)
[例8]把用户U4修改学生学号的权限收回
()
U4;
数据库角色被命名的一组与数据库操作相关的权限
[例11] 通过角色来实现将一组权限授予一个用户。
步骤如下:
1.首先创建一个角色R1
R1;
2.然后使用语句,使角色R1拥有表的、、权限
,,
R1;
3.将这个角色授予王平,张明,赵玲。
使他们具有角色R1所包含的全部权限
R1
王平,张明,赵玲;
4.可以一次性通过R1来回收王平的这3个权限
R1
王平;
强制存取控制方法
主体是系统中的活动实体所管理的实际用户代表用户的各进程
客体是系统中的被动实体,是受主体操纵的文件基表索引视图
主体的敏感度标记称为许可证级别()客体的敏感度标记称为密级()
强制存取控制规则
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体
视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护
审计分为
▪用户级审计针对自己创建的数据库表或视图进行审计记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的操作
▪系统级审计设置监测成功或失败的登录要求监测和操作以及其他数据库级权限下的操作
语句:
设置审计功能
语句:
取消审计功能
审计(续)
[例15]对修改表结构或修改表数据的操作进行审计
,
;
[例16]取消对表的一切审计
,
;
数据加密防止数据库中数据在存储和传输中失密的有效手段
加密的基本思想
加密方法替换方法置换方法混合方法
数据库完整性数据的正确性和相容性
数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:
不合语义的、不正确的数据
数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:
非法用户和非法操作
1.提供定义完整性约束条件的机制2.提供完整性检查的方法3.违约处理
数据库完整性实体完整性参照完整性用户定义的完整性
实体完整性定义(续)
[例2]将表中的,属性组定义为码
((9),
(4),
,
(,)/*只能在表级定义主码*/
);
关系模型的参照完整性定义在中用短语定义哪些列为外码用短语指明这些外码参照哪些表的主码
例如,关系中一个元组表示一个学生选修的某门课程的成绩,(,)是主码。
,分别参照引用表的主码和表的主码
[例3]定义中的参照完整性
((9),
(4),
,
(,),/*在表级定义实体完整性*/
()(),
/*在表级定义参照完整性*/
()()
/*在表级定义参照完整性*/
);
参照完整性检查和违约处理
违约处理
参照完整性违约处理1.拒绝()执行2.级联()操作3.设置为空值()
•对于参照完整性,除了应该定义外码,还应定义外码列是否允许空值
范式()定义6.8关系模式R∈1,若X→Y且Y⊆X时X必含有码,则R∈。
等价于:
每一个决定属性因素都包含码
若R∈
所有非主属性对每一个码都是完全函数依赖
所有的主属性对每一个不包含它的码,也是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性
R∈R∈3
[例5]关系模式C(,,)C∈3∈
[例6]关系模式S(,,,)假定S有两个码,
S∈3。
S∈
[例8]在关系模式(S,T,J)中,S表示学生,T表示教师,J表示课程。
▪函数依赖:
(S,J)→T,(S,T)→J,T→J(S,J)和(S,T)都是候选码
1
↓消除非主属性对码的部分函数依赖
消除决定属性2
集非码的非平↓消除非主属性对码的传递函数依赖
凡函数依赖3
↓消除主属性对码的部分和传递函数依赖
↓消除非平凡且非函数依赖的多值依赖
4
事务()一个数据库操作序列一个不可分割的工作单位恢复和并发控制的基本单位
事务和程序比较
▪在关系数据库中,一个事务可以是一条或多条语句,也可以包含一个或多个程序。
▪一个程序通常包含多个事务
事务的特性(特性)事务的特性:
原子性()一致性()
隔离性()持续性()
系统故障:
计算机软、硬件故障人为故障:
操作员的失误、恶意的破坏等。
数据库的恢复把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)
故障的种类事务内部的故障系统故障介质故障计算机病毒
▪恢复策略:
强行撤消()所有未完成事务
▪恢复策略:
重做()所有已提交的事务
恢复的实现技术恢复操作的基本原理:
冗余利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据
如何建立冗余数据数据转储()登录日志文件()
转储是指将整个数据库复制到磁带或另一个磁盘上保存起来的过程,备用的数据称为后备副本或后援副本
转储方法
1.静态转储与动态转储
2.海量转储与增量转储
恢复的实现技术数据转储登记日志文件
日志文件()是用来记录事务对数据库的更新操作的文件