数据库复习重点概念.docx
- 文档编号:5658621
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:12
- 大小:419.68KB
数据库复习重点概念.docx
《数据库复习重点概念.docx》由会员分享,可在线阅读,更多相关《数据库复习重点概念.docx(12页珍藏版)》请在冰豆网上搜索。
数据库复习重点概念
1.数据管理的几个阶段及其对比
1人工管理阶段
2.文件系统阶段
3.数据库系统阶段
2.数据库三级模式
外模式、模式、内模式。
外模式又称子模式或用户模式,对应于用户级。
它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。
模式又称概念模式或逻辑模式,对应于概念级。
它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述。
内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。
3.物理数据独立性和逻辑数据独立性
物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。
4.DB、DBMS、DBS
DB:
Database数据库:
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
DBMS:
数据库管理系统:
数据库管理系统(DatabaseManagementSystem)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS
DBS:
数据库系统:
DBS即DatabaseSystem,中文意为“数据库系统”,是指带有数据库并利用数据库技术进行数据管理的计算机系统。
数据库系统DBS一般由4个部分组成:
①数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。
②数据库管理系统(DBMS)。
它是一组能完成描述、管理、维护数据库的程序系统。
它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。
③数据库管理员(DBA)。
④用户和应用程序。
5.DBMS的功能
数据定义;数据操作;数据库的运行管理;数据组织、存储与管理;数据库的保护;数据库的维护;通信。
6.数据库管理系统的组成、主要模块:
存储管理和事务处理
查询处理器:
DDL编译器、DML编译器、嵌入式DML的预编译器和查询运行核心程序。
存储管理器:
权限和完整性管理器、事物管理器、文件管理器和缓冲区管理器。
7.DBA及其作用
DBA是对系统进行集中控制的人,被称为数据库管理员。
主要作用有:
模式定义;存储结构及存取方法定义;模式及物力组织的修改;数据访问授权;日常维护。
8.数据模型(概念模型、结构模型)
概念模型;逻辑模型;物理模型。
概念模型(ConceptualDataModel),是面向数据库用户的现实世界的模型,主要用来描述世界的概念化结构。
在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。
逻辑模型(LogicalDataModel),这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(NetworkDataModel)、层次数据模型(HierarchicalDataModel)等等。
此模型既要面向用户,又要面向系统,主要用于数据库管理系统(DBMS)的实现。
物理模型(PhysicalDataModel),是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。
9.关系模式
关系的描述称为关系模式(RelationSchema)通常简记为:
R(U)或R(A1,A2,…,An)
其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。
10.超码、候选码、主码
超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。
如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。
候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。
因为超码的范围太广,很多是我们并不感兴趣即无用处的。
所以候选码是最小超码,它们的任意真子集都不能成为超码。
主码:
从多个候选码中任意选出一个做为主码,如果候选码只有一个,那么候选码就是主码。
11.强实体、弱实体及其区别
其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。
注:
在现实世界中,有时某些实体对于另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提。
前者就称为“弱实体”,后者称为“强实体”。
比如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。
表示方法:
在ER模型中也称(实体-联系图(EntityRelationshipDiagram),弱实体用双线矩形框表示。
与弱实体的联系用双线菱形框表示。
注意:
强实体与弱实体的联系只能是1:
1或1:
N。
弱实体参与联系时应该是“完全参与”,因此弱实体与联系间的联系也画成双线边。
12.关系代数
基本操作:
选择、投影、并、差、笛卡尔乘积、更名运算。
附加的关系代数运算:
集合交、连接(θ连接、自然连接)、除、赋值。
拓展的关系代数:
广义投影、聚集函数、外连接。
13.自然连接、外连接及其适用场合
自然连接:
在连接运算当中,一种最常用的连接是自然连接。
如果关系R与S具有相同的属性组B,且该属性组的值相等时的连接称为自然连接,。
结果关系的属性集合为R的属性并上S减去属性B的属性集合R和S自然连接可记作:
R⋈S={tr⌒ts|tr∈R∧ts∈S∧tr[A]=ts[B]}
自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。
外连接:
如果把舍弃的元组也保存在结果关系中,而在其他属性上空值,那么这种连接就叫外连接。
如果只把左边关系R要舍弃的元组保留就叫左外连接,如果只把右边关系S中要舍弃的元组保留右外连接。
自然连接与等值连接的区别
1.等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。
2.等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。
14.视图及其作用
视图是从一个或几个基本表(或视图)导出的表。
它与基本表不同,是一个虚表。
数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
视图的作用
1.视图能够简化用户的操作
2.视图使用户能以多种角度看待同一数据
3.视图对重构数据库提供了一定程度的逻辑独立性
4.视图能够对机密数据提供安全保护
5.适当的利用视图可以更清晰的表达查询。
15.SQL标准的发展
SQL-86:
“数据库语言SQL”
SQL-89:
“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持
SQL-92:
“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。
SQL-3(99年):
新的标准,增加对面向对象模型的支持
16.DDL、DML、DCL
DDL(DataDefinitionLanguage数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:
表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。
DML(DataManipulationLanguage数据操控语言)用于操作数据库对象中包含的数据,也就是说操作的单位是记录。
如insert、update、delete等对记录的操作。
DCL(DataControlLanguage数据控制语句)的操作是数据库对象的权限,这些操作的确定使数据更加的安全。
17.嵌入式SQL、宿主语言
嵌入式SQL(英文:
EmbeddedSQL)是一种将SQL语句直接写入C语言等编程语言源代码中的方法。
借此方法,可使得应用程序拥有了访问数据以及处理数据的能力。
在这一方法中,将SQL文嵌入的目标源码的语言称为宿主语言。
18.ODBC、JDBC
开放数据库连接(OpenDatabaseConnectivity,ODBC)
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
19.数据库完整性及其主要措施
数据库完整性(DatabaseIntegrity)是指数据库中数据的正确性和相容性,要防止不合语义的数据进入数据库。
保证数据库完整性的措施主要有:
完整性约束、触发器。
完整性约束包括:
非空约束、主键约束、check约束、唯一约束、参照完整性约束、断言。
20.触发器及其功能
触发器是一种特殊的存储过程,它在试图更改触发器所保护的数据时自动执行
触发器有如下作用:
可在写入数据表前,强制检验或转换数据。
触发器发生错误时,异动的结果会被撤销。
部份数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。
可依照特定的情况,替换异动的指令(INSTEADOF)。
21.数据库安全性及其主要措施
数据库安全性:
保护数据库,防止不合法的使用造成的数据泄露、更改或破坏。
22.范式、各范式之间的关系
范式是符合某一种级别的关系模式的集合。
关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式
第一范式:
第一范式是为了要排除重复组的出现,所采用的方法是要求数据库的每个列的值域都是由原子值组成;每个字段的值都只能是单一值。
第二范式:
它的规则是要求数据表里的所有数据都要和该数据表的键(主键与候选键)有完全依赖关系:
每个非键属性必须独立于任意一个候选键的任意一部分属性。
第三范式:
要求所有非键属性都只和候选键有相关性,也就是说非键属性之间应该是独立无关的。
BCNF:
BCNF与第三范式的不同之处在于:
第三范式中不允许非主属性被另一个非主属性决定,但第三范式允许主属性被非主属性决定;而在BCNF中,任何属性(包括非主属性和主属性)都不能被非主属性所决定。
任何一个BCNF必然满足:
所有非主属性都完全函数依赖于每个候选键
所有主属性都完全函数依赖于每个不包含它的候选键
没有任何属性完全函数依赖于非候选键的任何一组属性
23.函数依赖:
完全依赖、部分依赖、传递依赖、多值依赖
完全函数依赖:
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!
→Y,则称Y完全函数依赖于X。
部分函数依赖:
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
传递函数依赖:
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y!
→X),Y→Z,则称Z传递函数依赖于X。
多值函数依赖:
设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y。
关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关
平凡函数依赖:
当关系中属性集合Y是属性集合X的子集时(Y⊆X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。
非平凡函数依赖:
当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。
24.规范化的主要目的:
消除冗余
使结构合理,使数据冗余尽量小,清除插入,删除和更新异常.
25.无损连接分解、
无损链接分解:
关系模式R的一个分解ρ={R1
保持函数依赖分解:
设关系模式R被分解为若干个关系模式R1
26.索引
在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
27.建立索引的优缺点
优点:
通过创建唯一索引,可以保证数据记录的唯一性。
可以大大加快数据检索速度。
可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。
在使用ORDERBY和GROUPBY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。
缺点:
但过多的索引会多耗费空间,且降低了插入、删除、更新的效率。
28.主索引、辅助索引
主索引:
在顺序排序的文件中,搜索键指定文件的顺序的索引。
也称为聚类索引,主索引的搜索键通常但不一定是主键。
辅助索引:
搜索键指定与文件顺序不同的顺序的索引。
也称为非聚类索引。
29.稠密索引、稀疏索引
稠密索引-对文件中的每个搜索键值显示索引记录。
稀疏索引-某些搜索键值的索引记录。
30.查询处理、查询处理的一般过程
第一步:
语法分析和翻译;
第二步:
优化查询;
第三步:
执行查询
31.决定查询代价的主要因素
磁盘读写;CPU;内存;网络。
32.查询优化的目的及一般原则
查询优化:
对于给定的查询选择代价最小的操作序列,使查询过程既省时间,具有较高的效率,这就是所谓的查询优化。
一般原则
1)选择运算尽早进行。
在优化策略中这是最重要、最基本的一条。
它常常可使执行时节约几个数量级,因为选择运算一般使计算的中间结果大大变小。
2)投影运算尽早进行。
3)投影运算与选择运算可同时进行。
如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完戌所有的这些运算以避免重复扫描关系。
4)将笛卡儿积与随后的选择运算合并为连接运算。
5)投影运算与其他运算同时进行。
33.事务以及事务的ACID性质
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)
原子性:
一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。
事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性:
在事务开始之前和事务结束以后,数据库的完整性没有被破坏。
这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。
隔离性:
数据库允许多个并发事务同时对齐数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
事务隔离分为不同级别,包括读未提交(Readuncommitted)、读提交(readcommitted)、可重复读(repeatableread)和串行化(Serializable)。
持久性:
事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
34.事务的主要状态
35.并行调度
在并行调度中,来自不同事务的指令可以交叉执行;当并行调度等价于某个串行调度时,则称它是正确的
36.并行调度有可能引起的问题(重点:
丢失修改)
丢失修改;读脏数据;不能重复读
37.可串行性的并行调度
每个事务中,语句的顺序在各种调度中始终保持一致。
在这个前提下,如果一个并发调度的执行结果与某一串行调度的执行结果等价,则称该并发调度为“可串行化调度”,否则称为“不可串行化调度”。
38.封锁
并发控制的主要技术是封锁(Locking)。
某事务对某个数据操作之前,先对其加锁,其他事务不能更新加锁的数据,直到释放封锁为止
39.死锁及其解决办法
Deadlock(死锁):
两个事务处于相互等待状态,永远不能结束。
解决方法:
撤销不重要的事务。
死锁的预防
一次封锁法:
要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。
顺序封锁法:
预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
40.独占锁(或排他锁)和共享锁
(1)排他锁(X锁或WLOCK)
n某事务对数据加上排他锁,该事务可读写数据,其他事务不能再对数据加任何类型的锁,也就不能读写该数据,只有等待开锁
(2)共享锁(S锁或RLOCK)
1.允许其他事务对同一数据进行检索,但不得对同一数据进行修改操作
2.若事务T对数据对象A加上S锁,则事务可以T读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这就保证了其它事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
41.两段锁协议
两段锁协议是指每个事务的执行可以分为两个阶段:
生长阶段(加锁阶段)和衰退阶段(解锁阶段)。
加锁阶段:
在该阶段可以进行加锁操作。
在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁。
加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。
解锁阶段:
当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作。
结论:
(1)若并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可以串行化的
(2)所有遵守两段锁协议的事务,其并行执行的结果一定是正确的
(3)但可串行化的调度中,不一定所有事务都必须符合两段锁协议
42.恢复
计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统(恢复子系统)必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。
43.完全备份与增量备份(差异备份)
完全备份:
备份数据库和日志。
增量备份:
只备份自上次全面备份以来数据库发生的变化部分。
44.C/S结构、B/S结构
C/S结构:
即大家熟知的客户机和服务器结构
B/S结构(Browser/Server):
浏览器/服务器模式
45.分布式数据库系统
分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)。
在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 复习 重点 概念