《数据库原理知识点总结 精华(17页).docx》由会员分享,可在线阅读,更多相关《数据库原理知识点总结 精华(17页).docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数据库原理知识点总结 精华-第 17 页 数据库系统概述 一、有关概念四个基本概念1.数据(Data):数据库中存储的基本对象2.数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合3.数据库管理系统(简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。用途:科学地组织和存储数据;高效地获取和维护数据主要功能:1.数据定义功能 2.数据操作功能 3.数据库的事务管理和运行管理功能 4.数据库的建立和维护功能 5.数据的组织,存储和管理功能 6.其他功能4.数据库系统(DatabaseSystem,简称DBS):指在计算机系统
2、中引入数据库后的系统 桌面DBMS Access ,VFP 客户机/服务器型DBMS SQL Server , Oracle, MySQL , DB25数据库系统(DBS)的构成 数据库数据库管理系统(及其开发工具) 应用系统数据库管理员(DBA)和用户二、数据管理技术的发展1数据管理的三个阶段人工管理阶段 文件系统阶段 数据库系统阶段2数据库系统管理数据的特点如下 1数据共享性高、冗余少; 2 数据结构化;3 数据独立性高; 4由DBMS进行统一的数据控制功能 3.数据库管理系统的主要功能 1数据定义功能 2数据操作功能 3数据库的事务管理和运行管理功能 4数据库的建立和维护功能 5数据的组
3、织,存储和管理功能 6其他功能4.DBMS 可以对数据提供哪些控制功能? 数据的安全性(Security)保护:保护数据,以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。 并发(Concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 数据库恢复(Recovery):将数据库从错误状态恢复到某一已知的正确状态。数据模型 用来抽象、表示和处理现实世界中的数据和信息的工具。通俗地讲数据模型就
4、是现实世界数据的模拟。 数据模型三要素: 数据结构,数据操作,数据的完整性约束。 数据模型分为概念模型、逻辑模型和物理模型3 个方面。数据结构:是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面;数据结构是对系统静态特性的描述 数据操作:对数据库中数据允许执行的操作及有关的操作规则;对数据库中数据的操作主要有查询和更改(包括插入、修改、删除);数据操作是对系统动态特性的描述数据的约束条件:数据及其联系应该满足的条件限制概念模型一、模型的三个世界1现实世界2信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS无关。3机器世界:将E-R图转换为某一种数据模型,数据模型与
5、DBMS相关。注意:信息世界又称概念模型,机器世界又称数据模型二、实体及属性1)关系:一个关系对应通常说的一个表 2)元组:表中的每一行数据称作一个元组 3)属性:表中的每一列,列可以命名称属性名 4)码:也译为码键,表中的某个属性或属性组,它可以是唯一的确定一个元组。域:属性的取值范围6)分量:元组中的一个属性值7)关系模式:对关系的描述,表示为:关系名(属性1,属性2属性n)注:关系模型要求关系必须是规范化的,满足最一定的规范条件,关系的每一个分量必须是一个不可分割的数据项。实体型:即二维表的结构例 student(no,name,sex,age,dept)5实体集:即整个二维表三、实体间
6、的联系:1两实体集间实体之间的联系 1:1联系 1:n联系 m:n联系2同一实体集内实体之间的联系1:1联系 1:n联系 m:n联系四、概念模型(常用E-R图表示)实体型: 属性: 联系:说明: E-R图作为用户与开发人员的中间语言。 E-R图可以等价转换为层次、网状、关系模型。举例:学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。数据模型一、层次模型:用树型结构表示实体之间的联系。 每个结点代表一个实体型。 只能直接处理一对多(含一对一)的实体关系。
7、 查找层次数据库中的记录,速度较慢。二、网状模型:用图结构表示实体之间的联系。 每个结点代表一个实体型。 可以处理多对多的实体关系。 查找网状数据库中的记录,速度最快。三、关系模型:用二维表表示实体之间的联系。1重要术语:关系:一个关系就是一个二维表;元组:二维表的一行,即实体;关系模式:在实体型的基础上,注明主码。关系模型:指一个数据库中全部二维表结构的集合。2特点: 关系模型是建立在严格的数学理论的基础上的; 关系模型的存取路径对用户透明; 查找关系数据库中的记录,速度最慢。关系模型的数据完整性约束 实体完整性 参照完整性 用户定义的完整性关系完整性规则实体完整性规则主码的属性值不能为空值
8、。因为如果出现空值,那么主码就无法保证元组的唯一性。参照完整性规则在关系模式中实体以及实体之间的联系是用关系来描述的,所以自然存在着关系与关系之间的联系,而关系之间的联系是靠公共属性实现的,如果这个公共属性是一个关系R1的主码,那么在另一个与它有联系的关系R2中就称为外码。参照完整性规则告诉我们外码的取值只有两种可能,要么是空值,要么等于R1中某个元组的主码值。用户定义完整性反映某一具体应用所涉及的数据必须满足的语义要求。小结:数据有三种类型,DBMS就有三种类型,DB亦有三种类型。数据库系统结构一、数据库系统的体系结构 单机结构:DBMS、数据库、开发工具、应用系统安装在一台计算机上。 C/
9、S结构:局域网结构客户机:装开发工具、应用系统 服务器:装DBMS、数据库 B/S结构:Internet 结构服务器:装DBMS、数据库、开发工具、应用系统 客户机:装IE即可三、 数据库系统的模式结构1三级模式 模式:是数据库中全体数据的逻辑结构和特征的描述。 模式只涉及数据库的结构; 模式既不涉及应用程序,又不涉及数据库结构的存储; 外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。 内模式(一个数据库只有一个内模式):描述数据库结构的存储,但不涉及物理记录。2两级映象 外模式/模式映象:定义了外模型与模式
10、之间的对应关系(可以有多个),保证数据库的逻辑独立性; 模式/内模式映象:定义了模式与存储结构之间的对应关系(唯一的),保证数据库的物理独立性;3两级映象的意义通过二级映像,可以使数据库有较高的数据独立性,也可以是逻辑结构和物理结构独立性,也可以使逻辑结构和物理结构得以分离,换来了用户使用数据库的方便。 使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。 数据的存取完全由DBMS管理,用户不必考虑存取路径。关系数据库语言分为关系代数、关系演算和结构化查询语言三大类。关系的5 种基本操作是选择、投影、并、差、笛卡尔积。关系数据库的特点(关系数据模型的特点)优点1)建立在严格的数学概念基
11、础上2)概念单一,数据结构简单清晰,易懂易用3)关系模型为存储路径对用户透明,从而具有更好的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作缺点:存储路径对用户透明导致查询效率往往不如非关系数据模型三级模式优点是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑的抽象的处理数据,而不必关心数据在计算机中的表示和存储为了能在内部实现这3个抽象层次的联系和转换,数据库系统在这三级模式之间提供了二层映像,外/模和模/内保证了数据库系统中的数据能有较高的逻辑独立性和物理独立性 数据库管理系统数据库管理员有三个主要工作 ) 数据库设计 )数据库维护 )改善系统
12、性能,提高系统效率1 DBMS的功能:负责对数据库进行统一的管理与控制。 数据定义:即定义数据库中各对象的结构 数据操纵:包括对数据库进行查询、插入、删除、修改等操作。 数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。2DBMS的组成:DDL语言 DML语言DCL语言实用程序注意: SQL集DDL,DML,DCL功能于一体; 所有应用程序通过SQL语句才能访问数据库一、 基本概念1码:能唯一标识元组的属性集。2候选码:一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。3主码:任选候选码中的一个。4主属性:主码中包含的各个属性。5非主属性:不包含在主码中的
13、各个属性。6外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。l 阐述DBA 的职责。 决定数据库的中的信息内容和结构 决定数据库的存储结构和存取策略 决定数据的安全性要求和完整性约束条件 监控数据库的使用和运行 数据库的改进和重组重构 定期对数据库进行重组织,以提高系统的性能l 日志文件需要登记的内容包括哪些? 各个事物的开始(BEGIN TRANSACTION)标记; 各个事物的结束(COM
14、MIT 或ROLLBACK)标记; 各个事物的所有更新操作。l 日志文件的作用有哪些? 事物故障恢复和系统故障恢复必须用日志文件; 在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库; 在静态转储方式中,也可以建立日志文件。关系模式的规范化一个好的关系模式应满足: 冗余应尽可能少 应尽可能避免插入、删除异常 消去关系中不合适的属性依赖关系。二、范式 什么叫范式? 指一个关系的非主属性函数依赖于主码的程度。 什么叫关系规范化? 指一个关系从低级范式向高级范式的转换过程。 应用:关系规范化
15、理论应用在逻辑结构设计阶段。三、关系模式的规范化1第一范式(1NF) 定义:若关系R的所有属性不能再分,则R1NF 存在问题 原因:存在非主属性对主码的部分依赖。 解决办法:消除非主属性对主码的部分依赖,将关系R一分为二,将满足完全依赖的属性集组成一个关系;将满足部分依赖的属性集组成另一个关系;2第二范式(2NF) 定义:若关系R1NF,且它的每个非主属性都完全依赖于主码,则称R2NF。 存在问题:l 冗余大: R1必要冗余,R2冗余可以修改。l 修改麻烦l 插入异常:如新来的教师没有上课,则该教师的信息就没办法插入R2表中。l 删除异常:若某位教师只授一门课,当该门课不开时,该教师的信息亦被
16、删除。 原因:存在非主属性对主码的传递依赖。 传递依赖必须有两个非主属性 解决办法:将R2 一分为二3第三范式(3NF) 定义:若关系R2NF,且它的每个非主属性都不传递依赖于主码,则称R3NF。 规范化过程非规范关系使每个属性都不能再分1NF 消去非主属性对主码的部分依赖2NF 消去非主属性对主码的传递依赖3NF4结论 若R1NF,且主码只含一个属性,则R一定为2NF。 若R2NF,且只有01个非主属性,则R一定为3NF。 3NF一般控制了数据冗余,一般避免了操作异常。 范式并非越高越好,适可而止。 数据库设计数据库设计必须遵循结构设计和行为设计相结合的原则。 一、数据库设计的步骤 需求分析
17、:了解分析用户的需要、要求(信息要求、处理要求、安全性与完整性要求)。 概念结构设计:根据需求分析的结果画概念模型(即E-R图)。 逻辑结构设计:将E-R图转换为某一种数据模型,并优化。 物理结构设计 数据库实施 数据库运行与恢复数据字典主要包括数据项、数据结构、数据流、数据存储和处理过程五个部分。三种常用抽象方法是分类、聚集和概括。局部E-R 图之间的冲突主要表现在属性冲突、命名冲突和结构冲突三个方面。数据库常用的存取方法包括索引方法、聚簇方法和HASH 方法三种。确定数据存放位置和存储结构需要考虑的因素主要有:存取时间、存储空间利用率和维护代价等。 概念结构设计一、局部E-R图设计 1确定
18、局部范围 通常把系统涉及的各个部门或各个主要功能作为局部。2确定实体与属性 属性是不能再分的数据项; 联系只发生在两实体之间; 原则上,能够作为属性,就不要作为实体。二、合并成总体E-R图1消除各局部E-R图的冲突问题。2按公共实体名合并,生成初步E-R图。3消除冗余的属性和冗余的联系,生成总体E-R图。 逻辑结构设计一、联系的属性和主码(1)联系的属性:必须包含相关联的各实体型的主码。(2)联系的主码1:1联系:可以是相关联的任一实体型的主码。1:n联系:必须是n方实体型的主码。m:n联系:必须是相关联的各实体型的主码之和。二、E-R图向关系模型的转换(1)把每个实体型转换为一个关系模式。(
19、2)1:1联系:可以消化到相关联的任一实体型对应的关系模式中。(3)1:n联系:可以消化到n方实体名对应的关系模式中。(4)m:n联系:必须转换为一个关系模式,并且不能消化。(5)多元联系:不能消化物理结构设计与数据库实施1物理结构设计在逻辑设计的基础上,为每个关系模式选择合适的存储结构与存储方式。选择存储结构:即决定每个表的记录顺序。选择存取方式:即决定为哪些属性建立非聚集索引,以便加快查找速度。一般把经常查询的属性名指定为非聚集索引。2数据库实施主要工作:定义数据库结构;组织数据入库;编写应用程序;数据库试运行; 创建和使用数据库一、数据库文件1一个数据库至少有一个主要数据文件和一个事务日
20、志文件。如果数据库很大,可以使用一个主要数据文件、多个次要数据文件和多个事务日志文件。用于存放数据库的各类对象主数据文件(.mdf )次数据文件(.ndf ) 事务日志文件(.ldf ):用来记录对数据库对象的所有更新操作。2系统数据库Master数据库、Model数据库二、创建数据库1打开数据库:Use 数据库名2删除数据库:Drop database数据库名三、修改数据库1分离和附加数据库2备份和还原数据库3数据的导入和导出DBMS对数据库的安全保护功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。完整性控制数据库的完整性是指保护数据库中数据的正确性、有效性和相容性
21、,防止错误的数据进入数据库造成无效操作。关系模型的完整性包括实体完整性,参照完整性和用户定义完整性。对于违反实体完整性和用户定义完整性规则的操作一般都是采用拒绝执行的方式进行处理。完整性约束条件的作用对象可以是表、元组和列。 事务处理故障种类事务 内部的故障、系统故障、介质故障恢复的实现技术 (1) 数据转储:转储状态、转储方式 (2)日志:基本格式和内容、日志的作用、登记日志文件 并发控制 1. 问题: 丢失修改、不可重复读、读“脏”数据 2. 封锁 共享锁、排它锁 1什么叫事务? 事务是用户定义的一组操作序列。 事务是并发控制的基本单位。 一个事务包含的诸操作要么都执行,要么都不执行。1
22、事务的属性原子性:事务是数据库的逻辑工作单位,一个事务的诸操作要么都做,要么都不做。一致性:指事务执行前后必须保持数据库的逻辑一致性。一致性和原子性是密切相关的。隔离性:指并发执行的各个事务之间不能互相干扰。持续性:又称为持久性或永久性,是指一个事务的操作提交后,其对数据库的改变是永久的,属于物理的而非逻辑的。数据的锁定一、并发操作与数据不一致性1数据不一致性包括三类丢失修改:指事务1与事务2从数据库中读入同一数据并修改,事务2的提交结果破坏事务1提交的结果,导致事务1的修改被丢失。不可重复读:指事务1读取数据后,事务2执行更新操作,使事务1无法再现前一次读取结果。读脏数据:指事务1修改某一数
23、据后,事务2读取该数据,事务1由于某种原因被撤销,这时数据又恢复到原值,事务2读到的数据与数据库中的数据不一致,称为“脏”数据。产生“幽灵”数据:指当事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中的部分记录,或者在其中添加了部分记录,则当T1再次按相同条件读取数据时,发现其中莫名其妙地少了(对删除)或多了(对插入)一些记录。这样的数据对T1来说就是“幽灵”数据或称“幻影”数据。2产生数据不一致性的原因 并发操作破坏了事务的隔离性。二、并发控制的目标、方法1目标:确保DB中的数据一致性。2并发事务正确性的原则 几个事务的并发执行是正确的,当且仅当其结果与任何一个串行执行的结
24、果相同。3. 并发控制的方法DBMS一般采用“封锁”技术,保证并发操作的可串行化。一、 封锁(Locking)1 什么叫封锁?SQL Server自动强制封锁,并且会将封锁粒度控制在合适的级别,用户不必考虑封锁问题。2 封锁类型排它锁(X锁):事务T对数据A加X锁,其它事务不能再对A加锁,即其它事务不能读取和修改A。共享锁(S锁):事务T对数据A加S锁,其它事务只能再对A加S锁,即其它事务只能读A,不能修改A。3 封锁粒度封锁对象可以是属性列、元组、关系、整个数据库。封锁对象的大小称为封锁粒度。封锁粒度越小,并发度越高,但并发控制的开销越大。4 封锁协议 事务T在修改数据A之前,必须对其加X锁
25、,直到事务结束才释放。 事务T在读取数据A之前,必须对其加S锁,直到事务结束才释放。遵循封锁协议,可以解决三种数据不一致性问题: 丢失修改问题 不可重复读 读“脏”数据四、死锁和活锁 封锁技术可以解决并发操作的不一致性问题,但也带来新的问题,即死锁和活锁。1 死锁: 定义:两个事务已经各自锁定一个数据,但是又要访问被对方锁定的数据,造成了循环等待,称为死锁。 避免死锁的方法:顺序封锁法:若规定封锁顺序为A,B,则T1,T2只能先封锁A,再封锁B。2活锁: 定义:若多个事务请求封锁同一个数据时,其中的某个事务总处于等待状态,则称为活锁。 避免活锁的方法:先来先服务一级封锁协议 (1) 事务T在修
26、改数据R之前必须先对其加X锁,直到事务结束才释放 (2) 解决的问题:防止丢失修改 二级封锁协议 (1) 一级封锁协议加上事务T在读取数据R前必须先对其加S锁,读完后即可释放S锁 (2) 解决的问题:防止丢失修改、防止读“脏”数据 三级封锁协议 (1)一级封锁协议加上事务T在读取数据R前必须先对其加S锁,直到事务结束才释放。 (2) 解决的问题:防止丢失修改、防止读“脏”数据、防止不可重复读 预防死锁 两种方法:一次封锁法、顺序封锁法 死锁的诊断:超时法,等待图法 死锁的解除:选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其它事务得以继续进行下去。数据库的恢复 数据库运行
27、故障:事务故障(可以利用日志文件撤消此事务对数据库已进行的修改) 系统故障 介质故障(重装数据库,然后利用备份或镜像设备恢复数据库。)索引索引可以分为唯一索引、非唯一索引和聚簇索引三种类型一、索引的概念: 如果把数据表比作一本书,那么表的索引就是这本书的目录。可见,索引使用户能快速访问数据表的特定信息。 索引包括两项:索引字段值、原记录号 索引必须依附于某个基本表,不能单独存在。二、索引的类型:聚集索引:影响数据表的记录顺序非聚集索引:不会影响数据表的记录顺序注:一个表只能建立一个聚集索引,但可以建立若干个非聚集索引。DBMS常用存取方法:索引方法,目前主要是B+树索引方法 聚簇(Cluste
28、r)方法 HASH方法视图一、视图的特点:视图只有结构,没有记录,是虚表; 一个视图总对应着一个select语句;对视图的查询、更新,实际上是对基本表的查询、更新。数据库安全性控制的常用方法有哪些? 用户标识和鉴定:是数据库访问控制的最外层安全保护措施,通过用户标识和口令实现。 存取控制:通过用户权限定义和合法权限检查机制共同构成DBMS 的安全子系统 视图:可在一定程度上对保密数据提供隐藏保护。 审计:用于记录用户对数据库的所有操作以便事后跟踪和追溯。 加密存储:对高度机密的数据进行数据加密,
29、是防止数据在存储和传输过程中失密的有效手段。恢复的实现技术 数据转储(动态海量转储,动态增量转储,静态海量转储,静态增量转储)登记日志文件故障的种类及其影响以及相应的恢复策略1、事务内部故障的恢复:事务内部故障的恢复由DBMS自动完成,对用户而言是透明的。DBMS执行的恢复步骤如下:(1)反向扫描文件日志(即从后向前扫描日志文件),查找该事务的更新操作。(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。(3)继续反向扫描日志文件,进行同样的处理。(4)如此继续下去,直至独到此事务的开始标记,该事务故障恢复就完成了。2、系统故障的恢复:会造成数据库处于不一致的状态,主要
30、是一方面,为完成事务对数据库所做的更新可能已写入数据库;另一方面,已提交事务对数据库做的更新可能尚留在缓冲区,未能及时写入数据库。因此恢复操作就是撤销(UNDO)故障发生时为完成的事务,重做(REDO)已完成的事务。恢复步骤如下:(1)正向扫描日志文件,找出在故障发生之前已经提交的事务队列(REDO队列)和为完成的事务队列(UNDO队列)。(2)对于撤销队列中的各个事务进行UNDO处理。进行UNDO处理的方法是:反向扫描日志文件,对每个UNDO事务的过呢更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库中。(3)对重做队列中的各个事务进行REDO处理。进行REDO处理的方法是:正向扫描
31、日志文件,对每个REDO事务重新执行日志文件中所登记的操作,激将日志记录中“更新后的值”写入数据库。3、截至故障的恢复:恢复方法是重装数据库,然后重做已完成的事务,具体操作如下:(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库回复到转储时的一致性状态。(2)DBA装入转储结束时的日志文件副本。(3)DBA启动系统恢复命令,有DBMS实现恢复功能,即重做已完成的事务。l 简述事务故障的恢复步骤。1) 反向扫描日志文件(即从最后向前扫描日志文件), 查找该事务的更新操作。2) 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值” 写入数据库。3) 继续反向扫描日
32、志文件, 查找该事务的其他更新操作, 并做同样处理。4) 如此处理下去, 直至读到此事务的开始标记, 事务故障恢复就完成了。l 简述系统故障的恢复步骤。1) 正向扫描日志文件(即从头扫描日志文件),找出重做(REDO) 队列和撤销(Undo)队列;2) 对撤销(Undo)队列事务进行撤销(UNDO)处理:即反向扫描日志文件, 对每个UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;3) 对重做(Redo)队列事务进行重做(REDO)处理:即正向扫描日志文件, 对每个REDO 事务重新执行登记的操作。即将日志记录中“更新后的值”写入数据库。l 检查点记录的内容包括哪些?
33、1) 建立检查点时刻所有正在执行的事物清单;2) 这些事物最近一个日志记录的地址。重新开始文件用来记录各个检查点记录在日志文件中的地址。一、名词解释1. 数据库角色:被命名的一组与数据库操作相关的权限,是权限的集合,通过角色授权可简化授权过程。用CREATE ROLE 语句创建角色,然后用GRANT 语句给角色授权。2. 自主存取控制(DAC):通过将不同数据库对象的不同操作权限授予不同的用户,来实现数据安全性控制的一种机制。在这种机制下,DBA 和属主用户可以将对象的操作权限自主授予他人,也可随时回收权限。3. 强制存取控制(MAC):是建立在DAC 之上的安全验证机制。这种机制分别对主体和
34、客体施加敏感度标记(许可证和密级),标记与数据是一个不可分的整体,数据的副本与正本一样拥有密级保护。4. 数据加密:是根据一定的算法将原始数据(明文)变换为不可直接识别的格式(密文)的一种数据保护手段,加密可以使不知道解密算法的人无法获知数据的内容,从而防止数据在存储和传输过程中失密。5. 触发器:是用户定义在基本表上的一类由事件驱动的特殊过程。由服务器自动激活,能执行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。使用CREATETRIGGER 命令建立触发器。6. 计算机系统存在技术安全、管理安全和政策法律三类安全性问题。7. TCSEC/TDI 标准由安全策略、责任、保证和文档四
35、个方面内容构成。8. 常用存取控制方法包括自主存取控制(DAC)和强制存取控制(MAC)两种。9. 自主存取控制(DAC)的SQL 语句包括GRANT 和REVOKE 两个。用户权限由数据对象和操作类型两部分构成。10强制存取控制(MAC) 将实体分为主体和客体两大类。11. MAC 的敏感度标记分为绝密、机密、可信和公开四个安全级别。12. 数据加密的方法大致分为替换法、置换法和混合法三种类型。13. 参照完整性违约处理的方式包括拒绝执行、级连操作和置空值三种策略。1. 代数优化:指针对关系代数表达式的优化。即通过对关系代数表达式的等价变换(主要为改变查询语句中操作的次序和组合)来提高查询效
36、率。2. 物理优化:指针对存取路径和底层操作算法的优化。即选择高效合理的操作算法或存取路径,求得优化的查询计划以达到查询优化的目的。1. 查询优化分为关系代数优化和物理优化两大类。2. 表与表连接操作的实现方法主要有嵌套循环法、排序-合并法、索引连接法和哈希连接法四种。3. 查询执行的代价主要包括:I/O 代价(磁盘存取块数)、CPU 代价(处理机时间)以及内存代价等。何谓静态转储?何谓动态转储?它们各有什么优缺点? 静态转储指在系统中无事务运行时进行的转储操作。转储期间不允许对数据库的任何存取、修改活动,得到的一定是一个数据一致性的副本。 动态转储的转
37、储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。 静态转储实现简单,但必须等待正运行的事务结束后才能进行,新的事务也必须等转储结束后方可开始,降低了数据库的可用性。 动态转储不用等待正在运行的用户事务结束即可开始,也不会影响新事务的运行,但不能确保副本中的数据一定正确有效,需要配合日志记录才能完成故障恢复。关系的数学定义一、域( domain)1定义:域是一组具有相同类型的值的集合。2域的基数:域中所含数据的个数。二、笛卡尔积1定义:给定一组域D1,D2,D3,则D1D2D3称为笛卡尔积。2笛卡尔积D1D2D3对应一个二维表,所含元组的个数
38、等于各个域的基数之积。三、关系1定义:笛卡儿积的一部分元组称为关系。2关系的目(或度):一个关系所含属性的个数。3关系的性质任意两个元组不能完全相同,但属性名允许重复。四、关系的完整性1实体完整性:指关系的所有主属性都不能取空值。注意:实体完整性不仅仅是主码整体不能取空值。2参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。例:班级( 班名,人数)学生(学号,姓名,性别,密码,班名) 在学生表中,班名的取值必须是班级表班名的值或空值。 关系代数一、传统的集合运算设关系R、S的结构完全相同,则:RS:由属于R或属于S的元组组成。RS:由既属于R又属于S的元组组成。RS:由属于R
39、而不属于S的元组组成。思考:(RS)(RS)=?RS:设R有m个属性,K1个元组;S有n个属性,K2个元组,则RS含有(m+n)个属性,(K1K2)个元组。二、专门的关系运算1选择:从关系R中选择满足条件的元组。记为: 2投影:从关系R中选择若干属性组成新的关系,并把新关系的重复元组去掉。记为: 3条件连接:将两关系按一定条件连接成一个新关系,记为: 说明:条件连接:两关系可以没有公共属性,若有公共属性,则新关系含有重复属性。4自然连接:将两关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。记为: 说明: 自然连接:两关系至少有一个公共属性。 对于R的每个元组,S都从第一个元组开始判
40、断,若两元组的公共属性值相同,则产生一个新元组添加到新关系中,最后把新关系中的重复属性去掉。 5除:给定关系R(x,y)和S(y,z),则RS=P(x),其中x,y,z为属性组。求解过程:求R中x可以取哪些值,并求各值的象集。求S在属性组y上的投影K。检查每个象集是否包含K注:除不是一个必须的运算,可以由其它运算符代替。例:设有关系R,S如下图,求RS。RABCSBCDa1b1c2b1c2d1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3a4b6c6a2b2c3a1b2c1解:在关系R中,A可以取四个值,a1,a2,a3,a4。a1的象集为(b1,c2),(b2,c3),(b2,
41、c1)a2的象集为(b3,c7),(b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)S在(B,C)上的投影K为(b1,c2),(b2,c3),(b2,c1)显然只有a1的象集包含K,故RS=a1结论:如何写关系代数表达式?答: 查询涉及多个关系时,一般使用 。 查询涉及“否定”时,一般用差运算。 查询涉及“全部”时,一般用除运算。 查询涉及“至少”时,一般用 关系数据库规范化理论 函数依赖一、有关概念:R表XHKHKMXMDZCJ961C1OS高明D170962C2DBS高飞D272962C4AI高飞D280962C1OS高明D175963C1OS高明D1901函数依赖:任给R
42、(U),U为属性集,x、y为U的子集,如果对于x的每个值,y有唯一确定的值与之对应,则称x决定y,或y函数依赖于x。记为:xy。例:KHKM XMDZ (XH,KH) CJ KH(KM,XM)2. 完全函数依赖:若xy,且对于x的所有真子集x,都有x y,则称x完全决定y,或y完全函数依赖于x。记为:。例1:(XH,KH) CJ但 XH CJ KH CJ 故 例2:KHKM则 结论:若xy,且x只包含一个属性,则。3部分函数依赖:若xy,且存在x的一个真子集x,满足xy,则称x部分决定y,或y部分函数依赖于x。记为:。例1:(KH,KM)XM但 KMXM 则 例2:(XH,KH)DZ但 KHDZ 则 4传递函数依赖:若xy,yz,但 y x,则例:KMXM,XMDZ,但XM KM二、平凡函数依赖与非平凡函数依赖设xy,如果y是x的子集,则该依赖是平凡的。如:Sno,snamesno 如果y中至少有一个属性不在x中,则该依赖是非平凡的。如:Sno,snamesname,sdept如果y中没有一个属性在x中,则该依赖为完全非平凡的。三、函数依赖的推理规则设有关系R,x、y、z为R的一个属性集,则有:自反律:若,则xy。增广律:若xy,则xzyz。传递律:若xy,yz,则xz。注意传递律与传递函数依赖的区别。合并律:若xy,xz,则xyz。分解律:若xyz,则xy,xz。