1、第五章第五章 数据库保护数据库保护 学习目的和要求学习目的和要求 了解数据库安全性控制的措施了解数据库安全性控制的措施理解完整性约束条件和控制机制理解完整性约束条件和控制机制理解并发控制的原则和方法理解并发控制的原则和方法了解恢复的原理及实现技术了解恢复的原理及实现技术 往年频繁考点:往年频繁考点:数据库安全性的概念数据库安全性的概念安全性控制的一般方法:用户标识和鉴定、存取控制、安全性控制的一般方法:用户标识和鉴定、存取控制、定义视图、审计和密码存储。定义视图、审计和密码存储。完整性的概念及其与安全性的区别完整性的概念及其与安全性的区别第五章第五章 数据库保护数据库保护完整性约束条件的分类完
2、整性约束条件的分类数据库管理系统完整性控制机制具有的功能:定义功数据库管理系统完整性控制机制具有的功能:定义功能、检查功能和保证功能能、检查功能和保证功能实现参照完整性应注意的问题实现参照完整性应注意的问题 并发控制的单位并发控制的单位事务的概念及特征:原子性、一事务的概念及特征:原子性、一致性、隔离性和持续性致性、隔离性和持续性封锁的概念及类型封锁的概念及类型死锁与活锁的含义与解决方法死锁与活锁的含义与解决方法故障的种类:事务故障、系统故障、介质故障、计算故障的种类:事务故障、系统故障、介质故障、计算机病毒。机病毒。数据转储的方法及分类;数据转储的方法及分类;登记日志文件的登记内容和登记的原
3、则。登记日志文件的登记内容和登记的原则。第一节第一节 安全性安全性 数据库的安全性主要是指保护数据库,防止由于非法使用数据库的安全性主要是指保护数据库,防止由于非法使用数据库造成数据泄露、更改或破坏。数据库造成数据泄露、更改或破坏。安全性控制的一般方法:安全性控制的一般方法:用户标识和鉴别用户标识和鉴别存取控制存取控制定义视图定义视图审计审计密码存储密码存储 好的安全措施:使得那些试图破坏安全的人所花费的代价好的安全措施:使得那些试图破坏安全的人所花费的代价远远超过他们所得到的利益。远远超过他们所得到的利益。实现数据库系统安全性的技术和方法有多种,最重要的是实现数据库系统安全性的技术和方法有多
4、种,最重要的是存取控制技术和审计技术。存取控制技术和审计技术。第二节第二节 完整性完整性 数据库的完整性是指数据的正确性、有效性和相容性。数据库的完整性是指数据的正确性、有效性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反映数据库是否具备完整性关系到数据库系统能否真实地反映现实世界现实世界 数据的完整性与安全性是数据库保护的两个不同的方面。数据的完整性与安全性是数据库保护的两个不同的方面。安全性是防止用户非法使用数据库。完整性则是防止合法安全性是防止用户非法使用数据库。完整性则是防止合法用户使用数据库时向数据库中加入不合语义的数据。用户使用数据库时向数据库中加入不合语义的数据。完整
5、性约束条件的分类:完整性约束条件的分类:静态列级约束静态列级约束静态元组约束静态元组约束 静态关系约束静态关系约束 动态列级约束动态列级约束 动态元组约束动态元组约束 动态关系约束动态关系约束第二节第二节 完整性完整性 数据库管理系统完整性控制机制具有的功能:数据库管理系统完整性控制机制具有的功能:定义功能定义功能:提供定义完整性约束条件的机制检查功能检查功能:检查操作请求是否违背了完整性约束条件的机制保证功能保证功能:一旦发生违背完整性约束条件的操作,要采取措施保证数据的完整性 实现完整性需要考虑的问题:实现完整性需要考虑的问题:外码能否接收空值在被参照关系中删除元组,包括:级联删除、受限删
6、除、级联删除、受限删除、置空值删除。置空值删除。修改被参照关系中主码,包括:级联修改、受限修改、级联修改、受限修改、置空值修改。置空值修改。第三节第三节 并发控制并发控制 事务事务并发控制的单位,是用户定义的一组数据库操作序列。并发控制的单位,是用户定义的一组数据库操作序列。事务的特性事务的特性(ACID)(ACID)原子性:原子性:事务是原子的,要么都做,要么都不做一致性:一致性:事务保证了数据库的一致性隔离性:隔离性:事务相互隔离.并发执行的事务之间不能互相干扰持续性:持续性:事务一旦提交,它对数据库数据的改变是永久的第三节第三节 并发控制并发控制 并发操作带来的数据不一致并发操作带来的数
7、据不一致丢失修改丢失修改读读“脏脏”数据数据不可重复读不可重复读 并发控制的主要技术是采用封锁机制。并发控制的主要技术是采用封锁机制。封锁就是事务封锁就是事务T T可以向系统发出请求,对某个数据对象可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务(最常用的是记录)加锁。于是事务T T对这个数据对象就对这个数据对象就有一定的控制。有一定的控制。第三节第三节 并发控制并发控制 两种封锁类型两种封锁类型排它锁:简称排它锁:简称X X锁锁,又称写锁。若事务又称写锁。若事务T T在数据对象在数据对象A A上上有有X X锁锁,则其它任何事务都不能再对则其它任何事务都不能再对A A加任何类
8、型的锁,加任何类型的锁,直到直到T T释放释放A A上的锁。上的锁。共享锁:简称共享锁:简称S S锁锁,又称读锁。若事务又称读锁。若事务T T对数据对象对数据对象A A加加上上S S锁,则其它事务只能再对锁,则其它事务只能再对A A加加S S锁,而不能加锁,而不能加X X锁,锁,直到直到T T释放释放A A上的上的S S锁。锁。第三节第三节 并发控制并发控制 保证数据一致性的封锁协议保证数据一致性的封锁协议一级封锁协议:事务一级封锁协议:事务T T在修改数据在修改数据R R之前必须加之前必须加X X锁锁,直直到事务结束。可防止丢失修改。不能保证可重复读和到事务结束。可防止丢失修改。不能保证可重
9、复读和不读不读“脏脏”数据数据二级封锁协议:二级封锁协议:1 1级封锁协议加上事务级封锁协议加上事务T T在读取数据在读取数据R R之前必须加之前必须加S S锁锁,读完后即可释放。可防止丢失修改和读完后即可释放。可防止丢失修改和读读“脏脏”数据,不能保证可重复读数据,不能保证可重复读三级封锁协议:三级封锁协议:1 1级封锁协议加上事务级封锁协议加上事务T T在读取数据在读取数据R R之前必须加之前必须加S S锁锁,直到事务结束才释放。可防止丢失修直到事务结束才释放。可防止丢失修改和读改和读“脏脏”数据,而且可以保证可重复读数据,而且可以保证可重复读第三节第三节 并发控制并发控制 和操作系统一样
10、,封锁的方法可能引起活锁和死锁。和操作系统一样,封锁的方法可能引起活锁和死锁。活锁是指当若干事务要对同一数据项加锁时,造成一些事活锁是指当若干事务要对同一数据项加锁时,造成一些事务的永远等待,得不到控制权的现象务的永远等待,得不到控制权的现象 避免活锁的方法:采取先来先服务的策略避免活锁的方法:采取先来先服务的策略 死锁是指两个以上事务集合中的每个事务都在等待加锁当死锁是指两个以上事务集合中的每个事务都在等待加锁当前已被另一事务加锁的数据项,从而造成相互等待的现象。前已被另一事务加锁的数据项,从而造成相互等待的现象。数据库中解决死锁的常用方法有:数据库中解决死锁的常用方法有:要求每个事务一次就
11、将所有要使用的数据全部加锁,要求每个事务一次就将所有要使用的数据全部加锁,否则就不能执行。否则就不能执行。采用按序加锁法。采用按序加锁法。不采取任何措施来预防死锁的发生,而是周期性的检不采取任何措施来预防死锁的发生,而是周期性的检查系统中是否有死锁。查系统中是否有死锁。第三节第三节 并发控制并发控制 可串行化的调度:如果几个事务并行(交错)执行的结果可串行化的调度:如果几个事务并行(交错)执行的结果和按次序串行执行的结果相同,则称该并行执行结果是正和按次序串行执行的结果相同,则称该并行执行结果是正确的。这样的调度称为可串行化的调度。确的。这样的调度称为可串行化的调度。可串行化是并行事务正确性的
12、准则可串行化是并行事务正确性的准则 保证并行调度可串行性的封锁协议保证并行调度可串行性的封锁协议两段锁协议:指所有事务必须分两个阶段对数据库项两段锁协议:指所有事务必须分两个阶段对数据库项加锁和解锁。加锁和解锁。所谓所谓“两段两段”锁含义是:事务分为两个阶段。第一阶锁含义是:事务分为两个阶段。第一阶段是获得封锁,也称为扩展阶段。在该阶段,事务可段是获得封锁,也称为扩展阶段。在该阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在该阶段,事务可以释
13、放任何数据项上的任何类型的在该阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁锁,但是不能再申请任何锁第三节第三节 并发控制并发控制两段锁协议规定所有的事务应遵守下列规则:两段锁协议规定所有的事务应遵守下列规则:在对任何数据进行读、写操作之前,事务首先在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。要获得对该数据的封锁。在释放一个封锁之后,事务不再获得任何其他在释放一个封锁之后,事务不再获得任何其他封锁。封锁。第四节第四节 恢复恢复 数据库系统故障:数据库系统故障:事务内部的故障事务内部的故障系统故障系统故障介质故障介质故障计算机病毒计算机病毒 恢复的基本原理恢
14、复的基本原理:制造冗余制造冗余 建立冗余数据的常用技术建立冗余数据的常用技术数据转储数据转储登记日志文件登记日志文件第四节第四节 恢复恢复 转储:转储:DBADBA定期地将整个数据库复制到磁带或另一个磁盘定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。上保存起来的过程。静态转储(转储期间不允许对数据库进行任何存取、修静态转储(转储期间不允许对数据库进行任何存取、修改活动)改活动)动态转储(转储期间允许对数据进行存取或修改)动态转储(转储期间允许对数据进行存取或修改)海量转储(每次转储全部数据库)海量转储(每次转储全部数据库)增量转储(每次只转储上次转储后更新过的数据)增量转储(每次只
15、转储上次转储后更新过的数据)第四节第四节 恢复恢复 日志文件是用来记录对数据库每一次更新活动的文件。在日志文件是用来记录对数据库每一次更新活动的文件。在转储中必须建立日志文件,后援副本和日志文件综合起来转储中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。才能有效地恢复数据库。日志文件内容日志文件内容事务对数据库的更新操作事务对数据库的更新操作BEGIN TRANSACTION BEGIN TRANSACTION 标记标记COMMIT COMMIT 或或 ROLLBACK ROLLBACK 标记标记所有更新操作:事务标识所有更新操作:事务标识,操作的类型操作的类型,操作对象操
16、作对象,更新前后数据的旧值和新值更新前后数据的旧值和新值第四节第四节 恢复恢复 日志文件作用日志文件作用用于事务故障和系统故障的恢复用于事务故障和系统故障的恢复数据转储的副本和日志文件结合起来才能有效地恢复数据转储的副本和日志文件结合起来才能有效地恢复数据库数据库 登记日志的原则:登记日志的原则:登记的次序严格按并发事务执行的时间次序登记的次序严格按并发事务执行的时间次序 先写日志文件,后写数据库先写日志文件,后写数据库第四节第四节 恢复恢复 利用日志文件恢复事务的过程:利用日志文件恢复事务的过程:从头扫描日志文件,找出哪些事务在故障发生时已经从头扫描日志文件,找出哪些事务在故障发生时已经结束
17、,哪些事务尚未结束;结束,哪些事务尚未结束;对尚未结束的事务进行撤销处理对尚未结束的事务进行撤销处理对已经结束的事务进行重做处理。对已经结束的事务进行重做处理。硬件故障、病毒破坏:当数据库本身被破坏时,可重装转硬件故障、病毒破坏:当数据库本身被破坏时,可重装转储数据库的后备副本,然后运行日志文件,执行事务恢复,储数据库的后备副本,然后运行日志文件,执行事务恢复,这样就可以重建数据库。这样就可以重建数据库。发生事务故障、系统故障:当数据库本身没被破坏,但内发生事务故障、系统故障:当数据库本身没被破坏,但内容已经不可靠时,可利用日志文件恢复事务,从而使数据容已经不可靠时,可利用日志文件恢复事务,从
18、而使数据库回到某一正确状态,这时不必重装后备副本。库回到某一正确状态,这时不必重装后备副本。第六章第六章 数据库设计数据库设计 学习目的和要求学习目的和要求 了解数据库设计的步骤了解数据库设计的步骤理解并掌握需求分析、概念结构设计、逻辑结构设计、理解并掌握需求分析、概念结构设计、逻辑结构设计、数据库物理设计以及数据库实施的方法数据库物理设计以及数据库实施的方法了解数据库运行与维护的内容了解数据库运行与维护的内容第六章第六章 数据库设计数据库设计 往年频繁考点:往年频繁考点:数据库设计的步骤数据库设计的步骤需求分析的方法;数据字典的概念和组成需求分析的方法;数据字典的概念和组成概念结构设计的特点
19、、步骤;数据抽象;概念结构设计的特点、步骤;数据抽象;E-RE-R图的设计图的设计步骤;视图的集成步骤;视图的集成逻辑结构设计的任务;逻辑结构设计的步骤;逻辑结构设计的任务;逻辑结构设计的步骤;E-RE-R图向图向数据模型的转换的方法数据模型的转换的方法数据库物理设计的步骤;数据库物理设计的内容;确数据库物理设计的步骤;数据库物理设计的内容;确定、评价数据库的物理结构定、评价数据库的物理结构数据库维护的主要内容;数据库的重组织和重构造数据库维护的主要内容;数据库的重组织和重构造根据数据库设计的基本步骤,能够设计一个简单的数根据数据库设计的基本步骤,能够设计一个简单的数据库应用系统据库应用系统第
20、一节第一节 数据库设计概述数据库设计概述 数据库设计是指对于一个给定的应用环境,构造最优的数数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求储数据,满足各种用户的应用需求 在数据库领域内,使用数据库的各类系统通常被称为数据在数据库领域内,使用数据库的各类系统通常被称为数据库应用系统。库应用系统。信息系统是提供信息、辅助人们对环境进行控制和进行决信息系统是提供信息、辅助人们对环境进行控制和进行决策的系统。数据库是信息系统的核心和基础。策的系统。数据库是信息系统的核心
21、和基础。数据库设计内容:数据库设计内容:结构(数据)设计:结构(数据)设计:逻辑数据库设计、物理数据库设计行为(处理)设计:行为(处理)设计:数据的装载、应用程序设计第一节第一节 数据库设计概述数据库设计概述 新奥尔良(新奥尔良(New OrleansNew Orleans)方法)方法需求分析(分析用户要求)需求分析(分析用户要求)概念设计(信息分析和定义)概念设计(信息分析和定义)逻辑设计(设计实现)逻辑设计(设计实现)物理设计(物理数据库设计)物理设计(物理数据库设计)第一节第一节 数据库设计概述数据库设计概述 数据库设计分为以下六个阶段:数据库设计分为以下六个阶段:系统需求分析系统需求分
22、析需求收集和分析,结果得到数据字典描述的数据需求和数据流图描述的处理需求概念结构设计概念结构设计通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示逻辑结构设计逻辑结构设计将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。第一节第一节 数据库设计概述数据库设计概述数据库物理设计数据库物理设计为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。数据库实施数据库实施运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如VB),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行
23、试运行。数据库运行维护数据库运行维护数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。第一节第一节 数据库设计概述数据库设计概述 参加设计的人员:参加设计的人员:系统分析人员、数据库设计人员系统分析人员、数据库设计人员系统分析和数据库设计人员是数据库设计的核心人员,他们将自始至终参与数据库设计,他们的水平决定了数据库系统的质量。程序员程序员程序员则在系统实施阶段参与进来,分别负责编制程序和准备软硬件环境。用户、数据库管理员用户、数据库管理员用户和数据库管理员主要参加需求分析和数据库的运行、维护,他们的积极参与不但能加速数据库设计,而且也是决定
24、数据库设计的质量的重要因素。第一节第一节 数据库设计概述数据库设计概述 数据库设计过程中注意的问题:数据库设计过程中注意的问题:数据库设计过程中要充分调动用户的积极性。数据库设计过程中要充分调动用户的积极性。应用环境的改变、新技术的出现等都会导致应用需求应用环境的改变、新技术的出现等都会导致应用需求的变化,因此在设计数据库时必须充分考虑到系统的的变化,因此在设计数据库时必须充分考虑到系统的可扩性。可扩性。在设计数据库应用的过程中,必须充分考虑到已有应在设计数据库应用的过程中,必须充分考虑到已有应用,尽量使用户能够平稳地从旧系统迁移到新系统。用,尽量使用户能够平稳地从旧系统迁移到新系统。第二节第
25、二节 需求分析需求分析 需求分析的任务需求分析的任务详细调查应用领域要处理的对象详细调查应用领域要处理的对象充分了解原系统的工作概况充分了解原系统的工作概况明确用户的各种要求明确用户的各种要求(1)(1)信息要求:信息要求:指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)(2)处理要求:处理要求:指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。(3)(3)安全性和完整性要求安全性和完整性要求确定新系统的功能确定新系统的功能考虑今后的扩充性考虑今后的扩充性第二节第二节 需求分析需求分析 调查用户需求的方
26、法调查用户需求的方法:跟班作业跟班作业开调查会开调查会请专人介绍请专人介绍询问询问请用户填写调查表请用户填写调查表查阅记录查阅记录第二节第二节 需求分析需求分析 数据字典数据字典是系统中各类数据描述的集合,是进行详细的数据收集是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。和数据分析所获得的主要成果。包括:数据项、数据结构、数据流、数据存储、处理过包括:数据项、数据结构、数据流、数据存储、处理过程。程。数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。在需求分析阶段需要注意的是:在需求
27、分析阶段需要注意的是:设计人员应充分考虑到可能的扩充和改变,使设计易于设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充,这是第一点。更改,系统易于扩充,这是第一点。必须强调用户的参与,这是数据库应用系统设计的特点。必须强调用户的参与,这是数据库应用系统设计的特点。第三节第三节 概念结构设计概念结构设计 概念结构设计就是将需求分析得到的用户需求抽象为信息概念结构设计就是将需求分析得到的用户需求抽象为信息结构概念模型的过程。结构概念模型的过程。概念结构的特点:概念结构的特点:(1 1)能充分地反映现实世界;)能充分地反映现实世界;(2 2)易于理解;)易于理解;(3 3)易于更改
28、;)易于更改;(4 4)易于向关系、网状或层次等各种数据模型转换。)易于向关系、网状或层次等各种数据模型转换。概念结构设计的四种方法概念结构设计的四种方法自顶向下:先全局,后细化自顶向下:先全局,后细化自底向上:先局部,后集成自底向上:先局部,后集成由里向外:先核心,后扩充由里向外:先核心,后扩充混合策略:自顶向下混合策略:自顶向下+自底向上自底向上第三节第三节 概念结构设计概念结构设计 数据抽象:对实际的人、物、事和概念进行人为处理,抽数据抽象:对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概
29、念精确地加以描述,这些概念组成了某种模型。用各种概念精确地加以描述,这些概念组成了某种模型。分类(分类(ClassificationClassification):定义某一类概念作为一组):定义某一类概念作为一组对象的类型,抽象了对象值和型之间的对象的类型,抽象了对象值和型之间的“is member is member of”of”的语义。的语义。聚集(聚集(AggregationAggregation):定义某一类型的组成成分,抽):定义某一类型的组成成分,抽象了对象内部类型和成分之间象了对象内部类型和成分之间“is part of”is part of”的语的语义。义。概括(概括(Gene
30、ralizationGeneralization):):定义类型之间的一种子集定义类型之间的一种子集联系。它抽象了类型之间的联系。它抽象了类型之间的“is subset of”is subset of”的语的语义。义。第三节第三节 概念结构设计概念结构设计(自底向上)概念结构设计的步骤自底向上)概念结构设计的步骤抽象数据,设计局部视图抽象数据,设计局部视图选择局部应用:在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点。逐一设计分E-R图:先从自然划分出发定义E-R图,然后再进行必要的调整。集成局部视图集成局部视图 ,得到全局的概念结构,得到全局的概念结构合并解决各分图之
31、间的冲突,生成初步E-R图修改和重构消除不必要的冗余,生成基本E-R图第三节第三节 概念结构设计概念结构设计 分分E-RE-R图调整原则:图调整原则:能作为属性对待的,尽量作为属性对待。能作为属性对待的,尽量作为属性对待。作为作为“属性属性”,不能再具有需要描述的性质。,不能再具有需要描述的性质。“属性属性”不能与其他实体具有联系。即不能与其他实体具有联系。即E-RE-R图中所表示图中所表示的联系是实体之间的联系。的联系是实体之间的联系。实体或联系和其属性值之间保持实体或联系和其属性值之间保持1 1:1 1或或n:1n:1的关系的关系 分分E-RE-R图合并时的的冲突主要有图合并时的的冲突主要
32、有属性冲突属性冲突命名冲突命名冲突结构冲突结构冲突 概念结构独立于数据库逻辑结构,也独立于支持数据库的概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMSDBMS。第四节第四节 逻辑结构设计逻辑结构设计 逻辑结构设计的任务是把概念结构设计阶段设计好的基本逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-RE-R图转换为与选用的图转换为与选用的DBMSDBMS产品所支持的数据结构相符合产品所支持的数据结构相符合的逻辑结构。的逻辑结构。逻辑结构设计的步骤:逻辑结构设计的步骤:(1 1)把概念结构向一般的关系、网状模型转换;)把概念结构向一般的关系、网状模型转换;(2 2)向特定的)向特定
33、的DBMSDBMS支持下的数据模型转换;支持下的数据模型转换;(3 3)对数据模型进行优化。)对数据模型进行优化。第四节第四节 逻辑结构设计逻辑结构设计 E-RE-R图向关系模型的转换:图向关系模型的转换:(1 1)一个实体型转换为一个关系模式;)一个实体型转换为一个关系模式;(2 2)一个)一个m m:n n联系转换为一个关系模式;联系转换为一个关系模式;(3 3)一个)一个1 1:n n联系转换为一个独立的关系模式,也可联系转换为一个独立的关系模式,也可以与以与n n端对应的关系模式合并。端对应的关系模式合并。;(4 4)一个)一个1 1:1 1联系转换为一个独立的关系模式也可与联系转换为
34、一个独立的关系模式也可与任意一端对应的关系模式合并;任意一端对应的关系模式合并;(5 5)三个或三个以上实体间的一个多元联系转换为一)三个或三个以上实体间的一个多元联系转换为一个关系模式;个关系模式;(6 6)同一实体集的实体间联系;)同一实体集的实体间联系;(7 7)具有相同码的关系模式可合并。)具有相同码的关系模式可合并。第四节第四节 逻辑结构设计逻辑结构设计 数据模型的优化方法:数据模型的优化方法:(1 1)确定数据依赖;)确定数据依赖;(2 2)对数据依赖进行极小化处理,消除冗余联系;)对数据依赖进行极小化处理,消除冗余联系;(3 3)按照数据依赖的理论对关系模式逐一进行分析,)按照数
35、据依赖的理论对关系模式逐一进行分析,确定分别属于第几范式;确定分别属于第几范式;(4 4)分析关系模式是否适应应用环境,确定是否进行)分析关系模式是否适应应用环境,确定是否进行合并或分解;合并或分解;(5 5)对关系模式进行必要的分解或合并。)对关系模式进行必要的分解或合并。第五节第五节 数据库物理设计数据库物理设计 数据库物理设计的步骤:数据库物理设计的步骤:(1 1)确定数据库的物理结构(确定数据的存储结构;)确定数据库的物理结构(确定数据的存储结构;存取路径的选择和调整;确定数据存放位置;确定存存取路径的选择和调整;确定数据存放位置;确定存储分配);储分配);(2 2)评价物理结构,评价
36、的重点是时间和空间效率。)评价物理结构,评价的重点是时间和空间效率。数据库物理设计的主要内容:数据库物理设计的主要内容:(1 1)为关系模式选择存取方法(包括索引存取方法、)为关系模式选择存取方法(包括索引存取方法、聚簇方法和聚簇方法和HASHHASH方法);方法);(2 2)设计关系、索引等数据库文件的物理存储结构)设计关系、索引等数据库文件的物理存储结构(确定数据的存放位置和确定系统配置)。(确定数据的存放位置和确定系统配置)。第五节第五节 数据库物理设计数据库物理设计 设计人员设计数据库的物理结构时主要需要考虑以下几个设计人员设计数据库的物理结构时主要需要考虑以下几个方面:方面:确定数据
37、的存储结构确定数据的存储结构设计数据的存取路径设计数据的存取路径确定数据的存放位置确定数据的存放位置确定系统配置。确定系统配置。第五节第五节 数据库物理设计数据库物理设计 确定数据库的物理结构必须确定数据库的物理结构必须充分了解所用充分了解所用DBMSDBMS的内部特征,特别是存储结构和存的内部特征,特别是存储结构和存取方法;取方法;充分了解应用环境,特别是应用的处理频率和响应时充分了解应用环境,特别是应用的处理频率和响应时间要求;间要求;充分了解外存设备的特性。充分了解外存设备的特性。第五节第五节 数据库物理设计数据库物理设计 评价物理结构评价物理结构对时间效率、空间效率、维护代价和各种用户
38、要求进对时间效率、空间效率、维护代价和各种用户要求进行权衡,产生多种方案,数据库设计人员对这些方案行权衡,产生多种方案,数据库设计人员对这些方案进行细致的评价,从中选择一个较优的方案作为数据进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。库的物理结构。评价物理数据库的方法完全依赖于所选用的评价物理数据库的方法完全依赖于所选用的DBMSDBMS,主,主要是从定量估算各种方案的存储空间、存取时间和维要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。个较优的合理的物理结构。第六
39、节第六节 数据库实施与维护数据库实施与维护 数据库实施主要包括以下工作:数据库实施主要包括以下工作:定义数据库结构定义数据库结构数据装载数据装载编制与调试应用程序编制与调试应用程序数据库试运行数据库试运行 第六节第六节 数据库实施与维护数据库实施与维护 数据库维护工作主要内容:数据库维护工作主要内容:数据库的转储和恢复数据库的转储和恢复数据库的安全性、完整性控制数据库的安全性、完整性控制数据库性能的监督、分析和改进数据库性能的监督、分析和改进数据库的重组织和重构造数据库的重组织和重构造 重组织:重新安排存储位置,回收垃圾,减少指针链,提重组织:重新安排存储位置,回收垃圾,减少指针链,提高系统性能高系统性能 重构造:调整数据库的模式和内模式重构造:调整数据库的模式和内模式第五章习题第五章习题完整性的概念及其与安全性的区别完整性的概念及其与安全性的区别死锁与活锁的含义与解决方法死锁与活锁的含义与解决方法封锁的概念及类型封锁的概念及类型
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。