0052《数据库原理与应用》期末考试指导Word文档格式.docx
- 文档编号:802797
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:21
- 大小:32.05KB
0052《数据库原理与应用》期末考试指导Word文档格式.docx
《0052《数据库原理与应用》期末考试指导Word文档格式.docx》由会员分享,可在线阅读,更多相关《0052《数据库原理与应用》期末考试指导Word文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
数据库管理系统的功能包括:
数据定义、数据操纵、数据库运行管理、数据组织存储和管理、数据库建立和维护、数据通讯。
数据库系统提供给用户的接口是数据库语言。
SQL语言是关系型数据库系统典型的数据库语言,它是结构化查询语言。
2.数据与程序的物理独立性
当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。
保证了程序与数据的物理独立性,简称数据的物理独立性。
映像是抽象层次之间的联系和转换。
3.关系模式
(1)关系模型的基本结构与操作
关系模型的基本结构是由行和列组成的二维表格。
关系模型上的数据操纵,其操作对象与操作结果都是关系。
关系模型向用户提供了四种类型的操纵功能:
查询、插入、删除与修改,它们又可以被划分成五种基本操作:
属性指定,元组选择,关系的合并,元组插入,元组删除。
选择运算指从给定的关系中选择出若干满足条件的元组组成新的关系。
(2)关系数据的逻辑结构是二维表。
4.关系数据库的特点:
∙数据结构简单
∙用户使用方便
∙功能强
∙数据独立性高
∙理论基础深
5.数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
数据库系统中三级模式结构定义存放在数据字典中。
DBMS提供内模式描述语言{内模式DDL,或者存储模式DDL}来严格地定义内模式。
数据库系统的三级模式是对数据的三个抽象级别.它把数据的具体组织留给DHMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:
外模式/模式映象:
模式/内模式映象
6.码(Key)
有的属性是起关键作用,有这个属性可以区分一个实体与另一个实体,假如我知道一个人的身份证好就可以知道这个人是谁,因为身份证号是唯一的,同样年龄是十九岁的,我们不能区分,因为十九岁的有很多。
只有身份证号,工作证号唯一能够区分和标识实体的,这样的属性它叫码。
7.OLAP是联机分析处理的英文缩写。
8.当应用程序向数据库管理系统提出查询数据的请求后,从响应用户要求到在屏幕上显示出数据,将数据从物理设备送到系统缓冲区是由操作系统完成的。
第二章:
关系数据库
1.关系数据库
(1)关系模型的组成
关系模型由以下三部分组成:
关系数据结构、关系操作集合、关系完整性约束。
(2)单一的数据结构:
关系
(3)关系操作
关系操作的特点:
集合操作方式,也即操作的对象和结果都是集合。
2.常用关系操作:
(1)查询操作,包括:
集合运算:
并、差、交
传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算。
专门的关系运算:
广义笛卡尔积、选择、投影、连接、除
选择:
从给定的关系中选择出若干满足条件的元组组成新的关系。
连接:
从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
(2)增加、删除、修改操作
3.关系的三类完整性约束
(1)实体完整性;
(2)参照完整性;
(3)用户定义的完整性。
实体完整性规则:
若属性A是基本关系R的主属性,则属性A不能取空值。
所谓的参照完整性是指两个表取值时,一个表要参照另一个表的信息来完成本表的数据任务。
关系的参照完整性意即与另一个表相关的某属性除了取空值外,必须取等于另一个表中某个元组的主码值。
4.关系代数与关系演算表示方法的区别
关系代数是使用数学中的集合论来表示关系模型,其中,关系用元组的集合来表示,关系模型上的数据操纵用集合上的运算来表示。
而关系演算则使用数理逻辑中的一阶谓词逻辑来表示关系模型,其中,关系用谓词来表示,关系模型上的数据操纵用一阶谓词公式来表示。
5.关系和表的区别
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域.由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。
n目关系必有n个属性。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
6.关系数据库中的基本概念
域:
是一组具有相同数据类型的值的集合,笛卡尔积的有限子集称作对应域上的关系。
元组:
二维表的行称为关系的元组,列中的元素为该属性值的分量,关系中元组的个数称为基数。
域(Domain)——值的集合,即:
可能取值的范围。
域中数据个数称为域的基数。
如{男、女}(性别域,基数2){已婚、未婚、离异、丧偶}(婚姻状况域,基数是4)
在关系模型中,关系的“元数”(arity)是指列数。
7.若一个关系有多个候选码,则选定其中一个为主码。
主码的诸属性称为主属性(Primeattribute)。
不包含在任何侯选码中的属性称为非码属性(Non-keyattribute)。
在最简单的情况下,候选码只包含一个属性。
在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。
8.关系的逻辑结构是二维表,对关系最基本的限制就是:
表的每一个分量都必须是不能再分的基本数据项。
9.关系可以有三种类型:
基本关系(通常又称为基本表或基表》、查询表和视图表。
基本表是实际存在的表,它是实际存储数据的逻辑表示。
查询表是查询结果对应的表。
视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
10.关系模式
在数据库中要区分型和值,是在数据库逻辑结构设计阶段产生的。
关系数据库中,关系模式是型,关系是值。
关系模式是对关系的描述,那么一个关系需要描述哪些方面呢?
二维表既可以表示实体,也可以表示联系,两个二维表之间,相同的属性或属性组就表示了两个实体之间的联系,一张二维表,可以同时与多张二维表建立联系。
首先,应该知道,关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。
一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。
关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自嘛些域,以及属性与域之间的映象关系。
关系模式是在数据库逻辑结构设计阶段产生的,逻辑设计的主要工作就是将E-R图转换成关系模式。
11.建立数据视图就是从一个或多个基本表中抽取出某些属性,组成一个虚表。
第三章:
关系数据库标准语言——SQL
1.基表:
关系数据库中的关系在SQL中又称为基表。
视图:
由若干张表(包括基表与视图)经映像语句构筑而成的表被称为视图。
SQL中的视图提高了数据库系统的安全性。
基表与视图都采用二维表格结构,都统称为表。
2.SQL的功能包括:
数据定义、数据操纵、数据控制、与主语言的接口四个部分。
SQL定义基本表包括下面三个语句:
数据定义、数据操作、数据控制。
3.SQL的数据操纵功能包括数据的查询、增加、修改、和删除等。
其中查询功能包括:
(1)单表查询
(2)带有集函数并对结果分组的查询(3)连接查询和嵌套查询
连接查询
前面的查询都是针对一个表进行的。
若一个查询同时涉及两个以上的表,则称之为连接查询,连接查询是关系数据库中最主要的查询,包括等值连接、自然连接、非等值连接查询、自身连接查询、外连接查询和复合条件连接查询。
嵌套查询
在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。
将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。
(4)集合查询
SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作。
集合操作主要包括并操作UNION、交操作INTERSECT和差操作MINUS.
4.事务:
用户为完成一次任务所进行的一系列操作(一段用户程序)或为完成某种任务在机器上单独执行的一个程序.事务具有:
原子性、一致性、隔离性、持续性。
5.游标
主变量:
SQL语句中使用的主语言程序变量。
SQL语言与主语言具有不同的数据处理方式。
SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。
而主语言是面向记录的,一组主变量一次只能存放一条记录。
游标的操作:
定义游标:
为查询开辟一个缓冲区
EXECSQLDECLAREC1CURSORFOR
打开游标:
把查询结果放到缓冲区并把游标指向第一条记录
EXCECSQLOPENC1
推进游标:
把游标指向的记录数据存进主变量,游标向下(后前、上)推进一条(或多条)记录。
EXELSQLFETCHC1INTO:
学号,:
姓名,:
性别
关闭游标:
释放缓冲区及其他使用游标时占用的资源。
EXELSQLCLOSEC1
6.建立与删除索引
建立索引是加快查询速度的有效手段。
用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。
一般说来,建立与删除索引由数据库管理员DBA或表的属主(即建立表的人)负责完成。
系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能选择索引。
1).建立索引
在SQL语言中,建立索引使用CREATEINDEX语句,其一般格式为:
CREATP[UNIQUE]〔CLUSTER〕[IDEX<
索引名>
ON<
表名>
(<
列名>
[<
次序习],<
次序>
]…):
其中,<
是要建索引的基本表的名字。
索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。
每个<
后面还可以用<
指定索引值的排列次序,可选ASC(升序)或DESC(降序),缺省值为ASC
UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTER表示要建立的索引是聚簇索引。
所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。
例如,执行下面的CREATEINDEX语句:
CREATECLUSTERINDEXStusnameONStudent(sname)将会在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放。
7.存储过程优点:
提高运行速度;
降低网络通信量;
间接实现安全控制。
8.在SQL/CLI中,将宿主程序与数据库交互的有关信息记录在运行时数据结果中的是环境记录、连接记录、语句记录、描述记录。
9.如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值,
如果不指定DISTINCT短语或指定ALL短语(ALL为缺省值),则表示不取消重复值。
10.SQL语言分为四个部分:
数据定义、数据操纵、数据控制、嵌入式SQL语言的使用规定。
第四章:
关系数据库设计原理
1.数据库范式:
关系模式即关系的描述。
第一范式:
所有的属性都是不可分割的原子单位。
第二范式:
如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R是属于第二范式。
第三范式:
如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的
BC范式:
(BCNF)如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。
第四范式(4NF):
第四范式禁止主键列和非主键列一对多关系不受约束。
第五范式(5NF):
第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余。
2.数据依赖
一个关系通常是由赋予它的元组语义来确定的。
元组语义实质上是一个目谓词(n是属性集中属性的个数)。
凡使该n目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的那部分元素)的全体就构成了该关系模式的关系。
现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。
这些约束或者通过对属性取值范围的限定,或者通过属性值间的相互关连(主要体现于值的相等与否)反映出来。
后者称为数据依赖,它是数据模式设计的关键。
关系模式应当刻划这些完整性约束条件,于是一个关系模式应当是一个五元组。
R(U,D,domF)
这里:
①关系名R,它是符号化的元组语义;
②一组属性U:
③属性组U中属性所来自的域D;
④属性到域的映dom:
⑤属性组U上的一组数据依赖F.
由于③④一对模式设计关系不大,因此在本章中把关系模式看作是一个三元组:
R(U,D,dom,F)
当且仅当U上的一个关系,满足F时,r称为关系模式R(U,F)的一个关系。
关系,作为一张二维表,对它有一个最起码的要求:
每一个分量必须是不可分的数据项。
满足了这个条件的关系模式就属于第一范式(1NF)。
3.函数依赖
数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系.它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。
现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖(FunctionDependency,简称FD)和多值依赖(MultivaluedDependency,简称MVD)
多值依赖:
MVD对于一个属性值,另一个属性是多个值与其对应。
而多值属性之间无关。
除了函数依赖、多值依赖,专家学者定义了连接依赖、和域/关键字依赖。
4.模式分解的优点之一是能消除数据冗余和操作异常现象。
5.SUM(列名)、MAX(列名)、AVG(列名)这些聚合函数均忽略空值(null)。
第五章:
数据库保护
活锁:
如果事务T1封锁了数据A,事务T2又请求封锁A,于是T2等待.T3也请求封锁A,当T:
释放了A上的封锁之后系统首先批准了T3的请求,T2仍然等待。
然后T4又请求封锁A,当几释放了A上的封锁之后系统又批准了T4的请求…...T:
有可能永远等待,这就是活锁的情形
死锁:
如果事务T1封锁了数据A1,T2封锁了数据A2,然后T1又请求封锁A2,因T2已封锁了A2,于是T1等待T2释放凡上的锁.接着T2又申请封锁R1因T1己封锁了R1,T2也只能等待T1释放R2上的锁。
这样就出现了T:
在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
保证并行操作可串行性的调度策略是让并行执行的所有事务均遵守两段锁协议。
1.数据库保护:
从计算机软件角度出发来保护数据库系统中数据,使之不至于受到非法访问或破坏,这称为数据库保护。
常见的数据库保护措施有:
安全性保护,完整性保护,并发控制和故障恢复。
2.数据库的安全性保护是指防止非法使用数据库。
包括防止非法用户使用数据库和合法用户非法使用数据库。
常见的保护措施有:
●使用权的鉴别。
●使用范围限制。
●存取控制权鉴别。
3.数据库完整性:
数据库的完整性保护是指对数据库中数据的正确性和一致性的维护。
常见的完整性保护措施有:
完整性约束(包括实体完整性,引用完整性和用户自定义完整性约束),触发器,并发控制和故障恢复(包括转储与日志)。
ACCESS在设计表时有:
字段名称、数据类型、字段大小、格式、有效性规则、有效性文本、是否必填字段、是否允许空字符串等。
在ACCESS中,如果想在数据库的某字段中输入电子邮件地址,则应将字段定义成超级链接。
ACCESS数据库具有设置用户口令、给用户授权、和数据加密的安全措施。
Access数据库中数据导入的功能是将其他数据库如SQLSERVER或其他软件如EXCELL中数据传输到ACCESS数据库中。
4.在数据库系统中常用的是两种类型的封锁:
排它锁(又称X封锁或X锁)和共享锁(又称S封锁或S锁)。
排它锁又称为写锁。
若事务T对数据对象A加上x锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
只有当某数据对象没有被加上任何类型的封锁时,用户才能在该数据对象上施加X封锁。
只有当某数据对象被加上S封锁或没有任何类型的封锁时,用户才能在该数据对象上施加S封锁。
通过采用适当级别的封锁协议就可以避免常见的数据不一致性现象:
5.预防死锁的两种方法
在数据库中,产生死锁的原因是两个或多个事务都己封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。
防止死锁的发生其实就是要破坏产生死锁的条件。
预防死锁通常有两种方法:
①一次封锁法②顺序封锁法
可见,在操作系统中广为采用的预防死锁的策略并不很适合数据库的特点,因此DBMS在解决死锁的问题上普便采用的是诊断并解除死锁的方法。
6.数据库镜像的用途
用途:
时实、自动保证镜像数据库与主数据库一致,保证主数据库和备份数据库处于联机状态。
随着磁盘容量越来越大,价格越来越便宜,为避免磁盘介质出现故障影响数据库的可用性,许多数据库管理系统提供了数据库镜像(Mirror)
7.封锁粒度(Grannularity)
封锁对象的大小称为封锁粒度(Grannularity)。
封锁对象可以是逻辑单元,也可以是物理单元。
以关系数据库为例,封锁对象可以是这样一些逻辑单元:
属性值、属性值的集合、元组、关系、索引项、整个索引直至整个数据库。
也可以是这样一些物理单元:
页(数据页或索引页)、块等。
封锁粒度与系统的并发度和并发控制的开销密切相关。
直观地看,封锁的粒度越大,数据库所能够封锁的数据单元就越少,并发度就越小,系统开销也越小;
反之,封锁的粒度越小,并发度较高,但系统开销也就越大。
8.并发操作的调度
数据库的并发操作通常会带来三个问题:
丢失更新问题、读脏数据问题、不可重复读问题。
定义多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化(serializable)的调度。
可串行性(Serializability)是并发事务正确性的准则。
按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
9.系统故障
系统故障是指造成系统停止运转的任何事件,使得系统要重新启动.例如,特定类型的硬件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停电等。
10.日志文件是用来记录事务对数据库的更新操作的文件。
不同数据库系统采用的日志文件格式并不完全一样。
概括起来日志文件主要有两种格式:
以记录为单位的日志文件和以数据块为单位的日志文件。
11.恢复的技术
恢复机制涉及的两个关键问题是:
第一,如何建立冗余数据:
第二,如何利用这些冗余数据实施数据库恢复。
1)数据转储
建立冗余数据最常用的技术是数据转储和登录日志文件。
通常在一个数据库系统中,这两种方法是一起使用的。
数据转储是数据库恢复中采用的基本技术。
所谓转储即n$}定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
转储是十分耗费时间和资源的,不能频繁进行。
DBA应该根据数据库使用情况确定一个适当的转储周期。
转储可分为静态转储和动态转储。
2).登记日志文件
日志文件是用来记录事务对数据库的更新操作的文件。
12.在数据库中,保证数据安全性的方法有:
用户识别和鉴定、存取控制、定义视图、审计、和数据加密。
13.当数据库运行一段时间后,为了保证数据库存取空间的利用率和存取效率,应该对数据库再组织。
第六章:
数据库设计
1.数据库设计的步骤
需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段
2.概念设计即概念结构设计,就是将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,是数据库设计关键。
3.概念结构(概念模型)概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,一般都以E-R模型为工具来描述概念结构。
4.概念结构设计的方法与步骤
设计概念结构通常有四类方法:
·
自顶向下、自底向上、逐步扩张、混合策略
5.逻辑设计的基本方法:
数据库逻辑设计的主要工作是将从EE-R图转化成指RDBMS中关系模式。
它的主要内容有:
命名与属性域的处理:
关系模式中的命名可以用EE-R图中原有命名,也可另行命名,但是应尽量避免重名。
非原子属性处理:
EE-R图中允许出现非原子属性,关系模式中应符合第一范式故不允许出现非原子属性。
非原子属性主要有集合型和元组型。
如出现此种情况可以进行转换,转换办法是集合属性纵向展开而元组属性横向展开。
规范化:
在逻辑设计中还需要对转换得到的关系做规范化验证,使每个关系至少满足第三范式。
RDBMS:
为满足RDBMS在性能、存储空间等方面的要求,以及适应RDBMS限制条件而做的修改,它们包含如下内容:
•减少联接运算的次数以改善性能。
•调整关系大小,使每个关系的数据量保持在合理水平,从而可以提高存取效率。
•尽量采用快照(snapshot)。
6.数据字典
数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。
数据字典是在数据库设计的概念结构设计阶段产生的。
7.在对象联系图中,用双向箭头表示对象类型之间的超类与子类的联系。
8.ODBC技术为应用程序提供了一套CLI函数库和基于DLL的运行支持环境。
9.数据库逻辑设计的结果不是唯一的。
为了进一步提高数据库应用系统的性能,还应该根据应用需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理与应用 0052 数据库 原理 应用 期末考试 指导