数据库期末复习提纲
Ch1
数据库技术的术语
数据库技术:是研究数据库的结构、存储、设计、管理和使用的一门软件学科。
数据库(Datebase,DB):DB是长期储存在计算机内,有组织的,统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
数据库管理系统(Datebase Management System,DBMS):DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,他为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数字模型,可分为层次型、网状型、关系型和面向对象型等。
数据库系统(Datebase System,DBS):DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。
Ch2
1、数据描述的名词
概念设计中的数据描述:根据用户的需求设计数据库的概念结构。
实体:客观存在、可以相互区别的事物。
实体集:性质相同的同类实体的集合。
属性:实体的特性。
实体标识符:唯一标识实体的属性或属性集。
逻辑设计中的数据描述:根据概念设计得到的概念结构来设计的数据库逻辑结构。
字段:标记尸体属性的命名单位(又称数据项)
记录:字段的有序集合称为记录。
文件:同一类记录的集合称为文件。
关键码:能唯一确定文件中每个记录的字段或字段集(简称键)
物理存储中的数据描述:在存储器中用到的。
位(比特):一个二进制位。一位只能取0或1两个状态之一。
字节:8个比特为一个字节,可以存放一个字符所对应的ASCII码。
字:若干个字节组成一个字。
块:内存和外存交换信息的最小单位。
桶:外存的逻辑单位。
卷:一个输入输出设备所能装载的全部有用信息。
2、数据库的体系结构:三级模式结构与两级数据独立性
数据库体系结构分为三级:外部级(用户视图)、概念级(全局视图)和内部级(存储视图),这个结构亦称为三级模式结构。
应用程序和数据库的数据结构之间相互独立,不受影响,称为数据独立性,分为物理数据独立性和逻辑数据独立性。
3、 DBMS的主要功能
数据库的定义功能、操作功能、保护功能、维护功能以及数据字典。
4、数据库系统的组成
DBS是采用了数据库技术的计算机系统。是数据库、硬件、软件和数据库管理员的集合体。
Ch3
1、术语:关键码等,关系模式,关系子模式与存储模式,关系模型
关键码:
超键:在一个关系中能唯一标识元组的属性或属性集。候选键:一个属性集能唯一标识元组,且又不含有多余的属性。
主键:一个关系中多个候选键中的一个。外键:一个关系R中包含有另一个关系S的主键所对应的属性组F,F即为R的外键。
关系模式:对关系的描述,包括模式名、组成该关系的诸属性名、值域名和模式的主键。关系子模式:用户所需数据的结构的描述,包含这些数据来自那些模式和应满足哪些条件。存储模式:描述关系是如何在物理存储设备上存储的。
关系模型:有三个组成部分,数据结构、数据操作、完整性规则。提供三类完整性规则来约束数据,实体完整性规则、参照完整性规则、用户定义的完整性规则。
2、关系模型的完整性规则:实体完整性;参照完整性;用户自定义完整性。
实体完整性规则:关系中元组的主键值不能为空。参照完整性规则:关系的外键必须是另一个表的主键的有效值,或者是一个“空值”(NULL)。
用户定义的完整性规则:针对某一具体数据的约束条件,由应用环境决定。
3、关系代数:五个基本操作;组合操作
(此处公式详见书,网上无法显示)
并Union R U S={t|t?R V t?S}
集合差Set difference R-S={t|t?R ù t<=S}
笛卡尔积Cartesian product R×S={t|t=
投影Projection ?A1, A2, …, Ak (r)
选择Selection s p(R) = {t | t ? R ùp(t)}
集合交Set intersection R ? S ={ t| t ? R ù t ? S }
联接Join: R??S iθ j = s i Θ(r+j)(R×S)
自然联接Natural join R??S=?r.A, r.B, r.C, r.D, s.E (s r.B = s.B ∧r.D
除法Division R÷S= { t|t ? ?r-s(R) ù " u ? S ( tu ?R )}
4、能根据要求写出关系代数表达式。
5、优化的一般策略P60
Ch4
1、 SQL的组成
SQL DDL:数据定义。定义SQL模式、基本表、视图和索引。SQL DML:数据操纵。数据查询和数据更新。
SQL DCL:数据控制。对基本表和视图的授权,完整性规则的描述,事务控制语句等。Embedded SQL:嵌入式SQL
2、SQL查询:单表查询;多表查询(联接查询,嵌套查询;相关子查询);聚合函数
SELECT DISTINCT ( )
FROM ( )
WHERE ( )
AND EXISTS
(SELECT *
FROM ( )
SQL提供了下列聚合函数:
avg: average value(平均值)
min: minimum value(最小值)
max: maximum value(最大值)
sum: sum of values(和)
count: number of values(个数)
3、SQL的数据更新:插入、删除、更新
INSERT INTO ( ) VALUES SELECT,DELETE FROM WHERE,UPDATE SET WHERE
Ch5
1、术语:函数依赖,无损分解,2NF,3NF,BCNF
函数依赖:对于关系R,如果R的两个元组在属性A1,A2, …., A n上一致(也就是,两个元组在这些属性相对应的各个分量具有相同的值),则它们在另一个属性B上也应该一致。这种依赖正式记作A1,A2, …. ,A n→B,也可以说“A1,A2, …. ,A n函数决定B”。
无损分解:对于任何表T以及它的一个函数依赖集F,T的一个分解是一个表的集合{T1,T2,…,T k },该集合具有两个性质:
(1)对于这个集合中的任一个表T i,Head(T i)是Head(T)的一个子集;(2) Head(T)= Head(T1) ∪Head(T2) ∪…∪Head(T k)。
给定表T的特定内容,即T的行被投影到每个T i的列上作为分解的结果。如果对于表T的任何内容。F中的函数依赖都保证如下关系成立,则称表T的一个分解相对于函数依赖集F 是一个无损分解,有时候也称为一个无损连接分解即满足:T =T1??T2??…??T k
第二范式:关系模式R的每个非主属性都完全函数依赖于候选键,那么称R是属于第二范式(2NF)
第三范式:对于关系模式R的任何非平凡依赖A1,A2, …., A n→B ,或者{A1,A2, …., A n}是超键码,或者B是某个键码的组成部分。
对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系。BCNF定义,关系模式中,若X函数确定Y且Y不在X内时X必含有码,则此关系属于BCNF。
2、给定一个关系模式与函数依赖集,会求它的属性集的闭包与键码
计算属性集闭包的过程:
1、设属性集X最终将成为闭包。首先,将X初始化为{A1,A2, …., A n}。
2、然后,重复地搜索某个函数依赖B1,B2, …, B m→C,使得所有的B1,B2, …, B m都在属性集X中,但C不在其中。于是将C加到属性集X中。
3、根据需要多次重复步骤2,直到没有属性能加到X中。由于X是只增的,而任何关系的属性数目必然是有限的,因此最终再也没有属性可以加到X中。
4、最后得到的不能再增加的属性集X就是{A1,A2, …., A n}+的正确值。
例:设有函数依赖集F={A→D,AB→E,BI→E,CD→I,E→C},计算属性集AE关于F的闭包(AE)+。
1:A+首先包括自己2:找A的依赖把它能依赖的属性的闭包加入A+ 比如A->D 把
D+加到A+所以A+={A,D} ,E+={E,C} ,AE+={A,C,D,E} ,再CD->I,AE+={A,C,D,E,I} 3、根据所给的关系模式与函数依赖集,能够分析它所违背或满足的范式。
1NF:对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
2NF:要求数据库表中的每个实例或行必须可以被唯一地区分,实体的属性完全依赖于主关键字。
3NF:要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。第三范式就是属性不依赖于其它非主属性。
BCNF:关系模式中,若X函数确定Y且Y不在X内时X必含有码,则此关系属于BCNF。4NF:关系模式R∈1NF,对于R的每个非平凡多值依赖X→Y(Y í X),X都含候选码,则R∈4NF。如果R ∈4NF,则R ∈BCNF
5NF:如果关系模式R的每个JD均由R的侯选键蕴涵,那么称R是5NF,也叫PJNF(投影连接范式)
Ch6
1、 ER模型的基本元素
实体:是一个数据对象,是现关存在的、可与其他对象相区别的对象,实体集(entity set)是拥有相同特性的同类型实体的集合。
联系:表示一个或多个实体之间的关联关系。同类联系构成联系集。
属性:实体的某一特性。能唯一标识实体的属性或属性集称为实体标识符。
2、 ER模型的扩充:弱实体
弱实体集(weak entity set)是指没有主键的实体集。弱实体集依赖于标识(强)实体集(identifying entity set)
a. .弱实体集必然通过一对多关系集与标识(强)实体集关联
b. 标识性关系用双边菱形框表示
弱实体集中的分辨符(discriminator (或称部分码))是一组属性,用于区分弱实体集中的实体。弱实体集的主码由弱实体集所依赖的强实体集的主码,及弱实体集的分辨符构成。
3、能够根据语议画出ER图
Ch7
1、数据库设计的所经历的阶段,每个阶段所完成的任务:重点是概念设计与逻辑设计
软件生存期
指软件的规划、需求分析、设计、程序编制、调试、运行维护这六个阶段。
数据库系统生存期
指软件的规划、需求分析、概念设计、逻辑设计、物理设计、实现和运行维护这七个阶段。概念设计:把用户的信息要求统一到一个整体逻辑结构中,产生反映企业组织信息需求的数据库概念结构,即概念模式。
逻辑设计:分成数据库逻辑结构设计和应用程序设计,将概念设计阶段设计好的全局ER模式转换成与DBMS支持的数据模型相符合的逻辑结构。
2、 ER模型向关系模型的转化。
1:1的联系:在一个关系模式的属性中加入另一个关系模式的键和联系的属性。
1:N的联系:将1端实体类型转换成的关系模式的键和联系类型的属性加入N端实体类型转换成的关系模式中。
M:N的联系:将联系类型转换为关系模式,其属性为两端实体类型的键加上联系类型的属性,其键为两端实体键的组合。
Ch8
1、事务的定义,ACID性质
定义:事务(Transaction)是构成单一逻辑工作单元的操作集合。事务是一种编程结构,它比批处理更完善。
ACID性质:原子性(Atomicity):事务所包含的一组更新操作是不可分的。即使在系统崩溃之后仍能得到保证。由DBMS完成
一致性(Consistency):一个事务独立执行的结果,应该保持数据库的一致性。一致性在逻辑上不是独立的,它由隔离性表示。
隔离性(Isolation):可串行性。仅当两个事务不处于并发状态(即它们的操作不是交错的)时,其中一个事务对另一个事务才有影响。
持久性(Durability):当事务发出提交语句后系统返回到程序逻辑时,必须保证该事务是可恢复的。事务产生的影响是持久的。
3、数据库的可恢复性,故障的类型
系统把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态,称为可恢复性。
故障的类型和恢复方法:
事务故障:事务的执行发生错误。
可预期的事务故障:在事务的代码中加入判断和rollback语句。非预期的事务故障:系统直接对该事务执行UNDO处理
系统故障:由于软件、硬件故障引起系统停止运转
对未完成事务作UNDO处理。对已提交但更新还未完成的事务作REDO处理。
介质故障:物理数据库被破坏。重装数据库备份文件。杳看日志文件,找出转储后所有已提交的事务。对已提交的事务执行REDO处理。
4、并发操作,带来的问题与解决方法
并发操作带来的三个问题:丢失更新、读脏数据(依赖于未提交更新的问题)、不一致分析5、 SQL中的完整性约束:类型及实现。(参照动作)
域约束:
create domain
default
constraint <域约束名>
check
基本表约束:
候选健定义
unique
not null
主健定义primary key
外键定义
foreign key
检查约束定义
check 子句
断言:
create assertion <断言名>
check (<条件>)
6、视图
视图机制是SQL中的安全机制,使系统具有三个优点:数据安全性、逻辑数据独立性、操作简便性。