《第5章 数据库的建立、备份与恢复》由会员分享,可在线阅读,更多相关《第5章 数据库的建立、备份与恢复(121页珍藏版)》请在金锄头文库上搜索。
1、第五章,数据库的设计、备份与恢复,教学目标,数据库的设计基本概念及过程SQL SERVER 数据库的备份SQL SERVER 数据库恢复数据转换与导入导出,重点与难点,重点: 数据库设计过程,数据库备份难点: 数据库的恢复,4,5.1 数据库设计概述,数据库设计数据库设计是指对于一个给定的应用环境中,根据具体的信息需求、处理需求和数据库的支撑环境,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式(包括外模式、逻辑(概念)模式和内模式),建立数据库及其应用系统,能够有效的存储和管理数据,满足用户的各种信息需求(信息要求和处理要求) 目标:为用户和各种应用系统提供一个信息基础设施和高效率的
2、运行环境。,5,5.1 数据库设计概述,5.1.0 数据库设计的特点5.1.1 数据库设计方法5.1.2 数据库设计的内容5.1.3 数据库设计的基本步骤5.1.4 数据库设计过程中的各级模式,6,5.1.0 数据库设计的特点,结构(数据)设计和行为(处理)设计相结合 将数据库结构设计和数据处理设计密切结合数据库结构设计:设计数据之间的联系数据处理设计:设计操作与数据之间的联系数据库设计成果: 1.数据模式 2.以数据库为基础的典型应用程序,7,数据库设计的特点(续),结构和行为分离的设计,8,5.1.1 数据库设计方法,手工与经验相结合方法 设计质量与设计人员的经验和水平有直接关系数据库运行
3、一段时间后常常不同程度地发现各种问题,增加了维护代价规范设计法基本思想:过程迭代和逐步求精,9,数据库设计方法(续),新奥尔良(New Orleans)方法将数据库设计分为若干阶段和步骤 基于E-R模型的数据库设计方法概念设计阶段广泛采用3NF(第三范式)的设计方法逻辑阶段可采用的有效方法 ODL(Object Definition Language)方法面向对象的数据库设计方法,10,数据库设计方法(续),计算机辅助设计工具常用的有:ORACLE Designer 2000SYBASE PowerDesignerROSE2003,11,5.1.2数据库设计的内容,1.数据库的结构设计 根据给
4、定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。 数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后,通常情况下是不容易改变的,所以结构设计又称为静态模型设计。,12,5.1.2数据库设计的内容(续),2.数据库的行为设计 确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作就是用户对数据库的操作,这些操作要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。 行为设计是动态的,行为设计又称为动态模型设计。,13,5.1.3 数据库设计的基本步骤,数据库设计分7个阶段规划需求分析概念结构设计逻辑结构设计物理结构设计数据库实
5、施数据库运行和维护 需求分析和概念设计独立于任何数据库管理系统 逻辑设计和物理设计与选用的DBMS密切相关,14,15,5.1.3数据库设计的基本步骤(续),一、数据库设计的准备工作:选定参加设计的人1.系统分析人员、数据库设计人员 自始至终参与数据库设计2. 用户和数据库管理员 主要参加需求分析和数据库的运行维护5.应用开发人员(程序员和操作员) 在系统实施阶段参与进来,负责编制程序和准备软硬件环境,16,5.1.3数据库设计的基本步骤(续),二、数据库设计的过程(七个阶段) 规划阶段:系统总体规划,对部门(企业)内外部情况进行初步调查,提出可行性报告(开题报告)。任务:确定系统的范围; 确
6、定开发工作所需的资源(人员、硬件和软件); 估算软件开发的成本;确定项目进度。结果:可行性分析报告及数据库规划纲要,内容包括: 信息范围、信息来源、人力资源、设备资源、软硬件环境、开发成本估算、进度计划、现行系统向新系统过渡计划等。,17,5.1.3数据库设计的基本步骤(续),2.需求分析阶段准确了解与分析所有用户需求 详细调查,收集对信息的需求和对信息处理的需求 ,并把这些需求加以规格化和分析,以书面形式确定下来,写成用户和设计人员都能接受的需求说明书。,18,5.1.3数据库设计的基本步骤(续),3.概念结构设计阶段整个数据库设计的关键;通过对用户需求进行综合、归纳与抽象,形成一个独立于具
7、体DBMS的概念模型;一般先从具体的某个应用入手,设计出局部的E-R图,然后把这些局部E-R图合并起来,消除冗余、缺陷和潜在的矛盾,得出系统的总体E-R图。,19,5.1.3数据库设计的基本步骤(续),4.逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化 即将E-R模型转换成某种DBMS支持的数据模型,20,5.1.3数据库设计的基本步骤(续),5.数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),主要包括库文件的组织形式、存储介质的分配、存取路径的选择以及数据块大小的确定等内容。,21,5.1.3数据库设计的基本步骤(续),6
8、.数据库实施阶段运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果建立数据库编制与调试应用程序组织数据入库进行试运行系统应用实现,根据系统应用设计的结果,完成系统的编码和测试,以及硬件的安装与调试,以及新旧系统转换、系统运行维护等。,22,5.1.3数据库设计的基本步骤(续),7.数据库运行和维护阶段维护数据库的安全性与完整性;监测并改善数据库运行性能;根据用户要求对数据库现有功能进行扩充;及时改正运行中发现的系统错误。,23,5.1.3数据库设计的基本步骤(续),设计一个完善的数据库应用系统往往是上述阶段的不断反复。把数据库设计和对数据库中数据处理的设计紧密结合
9、起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。,24,数据库设计各个阶段的设计描述,25,5.1.4 数据抽象,抽象是对实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。概念结构是对现实世界的一种抽象,26,5.1.4 数据抽象(续),三种常用抽象 1. 分类(Classification)定义某一类概念作为现实世界中一组对象的类型抽象了对象值和型之间的“is member of”的语义,27,5.1.4 数据抽象(续),28,5.1.4 数据抽象(续),2. 聚集(Aggregati
10、on)定义某一类型的组成成分抽象了对象内部类型和成分之间“is part of”的语义,29,5.1.4 数据抽象(续),聚集,30,5.1.4 数据抽象(续),复杂的聚集,某一类型的成分仍是一个聚集,更复杂的聚集,31,5.1.4 数据抽象(续),3. 概括(Generalization)定义类型之间的一种子集联系抽象了类型之间的“is subset of”的语义继承性,32,5.1.4 数据抽象(续),概括,33,5.1.5数据库设计过程中的各级模式,数据库设计不同阶段形成的数据库各级模式,数据库的各级模式,34,5.2 数据库备份,5.2.0 数据库备份和恢复的需求分析5.2.1 数据库
11、备份的基本概念5.2.2 数据库恢复的基本概念5.2.3 备份操作和备份命令5.1.4 数据库设计过程中的各级模式,35,5.2.0 备份和恢复需求分析,数据库中的数据丢失或被破坏可能是由于以下原因: 计算机硬件故障 软件故障 病毒 误操作 自然灾害 盗窃,数据库的备份就是制作数据库中数据结构、对象和数据等的副本,将其存放在安全、可靠的位置; 数据库的恢复就是将已备份的数据库恢复到系统中去,将其还原到数据库的某一个正确状态。,37,5.2.1 数据库备份的基本概念,备份内容 系统数据库 用户数据库 由谁做备份 固定的服务器角色sysadmin(系统管理员) 固定的数据库角色db_owner(数
12、据库所有者) 固定的数据库角色db_backupoperator(允许进行数据库备份的用户)备份介质 硬盘 磁带 命名管道(Named Pipe),38,5.2.1 数据库备份的基本概念,何时备份 系统数据库 当系统数据库master、msdb和model中的任何一个被修改以后,都要将其备份。注:不要备份数据库tempdb,因为它仅包含临时数据用户数据库 当创建数据库或加载数据库时,应备份数据库;当创建索引时应备份数据库;当清理了日志或执行了不记日志的TSQL命令时,应备份数据库,39,5.2.1 数据库备份的基本概念,备份频率 确定备份频率主要考虑两点:系统恢复的工作量 系统执行的事务量 限
13、制的操作 CREATE DATABASE ALTER DATABASE 创建索引 不记日志的命令,40,5.2.1 数据库备份的基本概念,备份方法完全数据库备份 数据库和事务日志备份 差异备份数据库文件或文件组备份 性能考虑备份一个数据库所需的时间主要取决于物理设备的速度,如磁盘设备的速度通常比磁带设备快; 通常备份到多个物理设备比备份到一个物理设备要快; 系统的并发活动对数据库的备份有影响,因此在备份数据库时,应减少并发活动,以减少数据库备份所需的时间。,执行一个全库备份,如果您的数据库主要是一个只读数据库,全库备份或许足以防止数据损失。在系统出故障的 情况下,可把全库备份用作基线。当您执行
14、全库备份时,SQL Server要:备份在备份过程中发生的任何活动。把任何未提交的事务备份到事务日志。 恢复备份时,SQL Server利用备份文件中捕捉到的部分事务日志来确保数据一致性。,执行差异备份,用于经常被修改的数据库要求一个全库备份备份自上次全库备份以来的数据库变化因备份集小而节省时间语法: BACKUP DATABASE northwind TO DISK=D:MydataMydiffbackup.bak WITH DIFFERENTIAL,SQL Server执行差异备份时注意下列几点: 若在上次完全数据库备份后,数据库的某行被修改了,则执行差异备份只保存最后一次改动的值; 为了
15、使差异备份设备与完全数据库备份的设备相互能区分开来,应使用不同的设备名。,执行一个事务日志备份,提供对任何数据库变化的备份 要求一个全库备份BACKUP LOG的语法形式使用NO-TRUNCATE选项使用TRUNCATE-ONLY选项,执行一个数据库文件或文件组的备份,用与特大型数据库(VLDB)单独备份数据库文件确保备份一个文件组中的所有的数据库文件备份事务日志,语法: BACKUP DATABASE phoneorders FILE=orders2 to orderbackup2 BACKUP LOG phoneorders to orderbackuplog,规划一个备份策略,全库备份策略全库及事务日志备份策略差异备份策略数据库文件或文件组备份策略,全库备份策略,实施的情况:数据库较小,备份一个小数据库所需的时间量是可接受的;数据库没有什么数据修改或是只读型的,