1 / 56

第 6 章 数据库的设计与维护

第 6 章 数据库的设计与维护. 6.1 概述 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 物理设计 6.6 实现与维护 6.7 用 ORACLE 建立数据库 6.8 数据字典 (Data Dictionary). 数据库的设计步骤. 需求收集和分析 : 用户关心什么、用户要什么结果 设计概念结构: 存什么、关系(联系)如何、 E/R 图是各种数据模型的共同基础 设计逻辑结构: 用什么数据模型、数据库的模式( database schema )、用户子模式 设计物理结构: 数据怎么存、根据 DBMS 产品、环境特点

Download Presentation

第 6 章 数据库的设计与维护

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 数据库的设计与维护 6.1 概述 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 物理设计 6.6 实现与维护 6.7 用ORACLE建立数据库 6.8 数据字典(Data Dictionary)

  2. 数据库的设计步骤 • 需求收集和分析:用户关心什么、用户要什么结果 • 设计概念结构:存什么、关系(联系)如何、E/R图是各种数据模型的共同基础 • 设计逻辑结构:用什么数据模型、数据库的模式(database schema)、用户子模式 • 设计物理结构:数据怎么存、根据DBMS产品、环境特点 • 物理实现:运行DDL、装入测试数据、应用程序

  3. 6.1 概述--数据库的设计步骤 总体信息需求 第0步 规划 第1步 需求描述和分析 需求说明书 第2步 概念设计 信息结构 第3步 逻辑设计 逻辑数据库结构 (DBMS能处理的) 应用程序说明书 硬件和 OS特性 第4步 物理设计 物理数据结构 返回章

  4. 6.2 需求分析 6.2.1需求的收集 需求的分析整理 评审 6.2.2 数据字典 返回章

  5. 需求的分析处理 • 业务流程分析 :数据流图(DFD) • 分析结果的描述 • 除了DFD以外,还要用一些规范表格进行补充描述 查找分析 输出处理 输入处理 存储文件

  6. 评审 • 确认某一阶段的任务是否全部完成 • 保证设计质量 • 常常导致设计过程的回溯与反 返回节

  7. 数据字典 • 数据需求写成文档 • 对数据库数据描述的集中管理 • 存贮和检索元数据 返回节

  8. 6.3 概念结构设计 • 6.3.1 概念模型 • 6.3.2 概念设计的主要步骤 返回章

  9. 6.3.1 概念模型 • 概念模型 :表达概念设计结果的工具 • 概念模型 应具备的特征: • 有丰富的语义表达能力 • 易于交流和理解 • 易于变动 • 易于向各种数据模型转换 • ER模型 返回节

  10. 6.3.2 概念设计的主要步骤 • 进行数据抽象,设计局部概念模式 • 将局部概念模式综合成全局概念模式 • 评审

  11. 用ER方法进行数据库的概念设计 (1)设计局部ER模式 (2) 设计全局ER模式。 (3)全局ER模式的优化

  12. 设计局部ER模式 ① 确定局部结构范围 ② 实体定义 ③ 联系定义:映射基数、联系命名 ④ 属性分配

  13. 设计全局ER模式 局部ER模式综合成单一的全局概念结构 • 确定公共实体类型 • 局部ER模式的合并 • 消除冲突 :属性冲突 、结构冲突、命名冲突 • 全局ER模式的优化 • 实体类型的合并 • 冗余属性的消除 • 冗余联系的消除

  14. 例子:冗余联系的消除 返回节

  15. 6.4 逻辑结构设计 • 6.4.1逻辑设计环境 • 6.4.2关系数据库的逻辑设计 返回章

  16. 6.4.1逻辑设计环境 • 输入 • 独立于DBMS的概念模式 • 处理需求 • DBMS特性 • 输出 • DBMS可处理的模式 • 子模式 • 应用程序设计指南 • 物理设计指南 返回节

  17. 6.4.2关系数据库的逻辑设计

  18. 关系数据库的逻辑设计 1. 导出初始关系模式 • 一个实体类型转换成一个关系模式 • 一个联系类型转换成一个关系模式 2. 规范化处理 • 确定规范级别 :3NF或BCNF是适当的标准 • 实施规范化处理 3. 模式评价 • 功能评价 • 性能评价 返回节

  19. 6.5 物理设计 逻辑数据库结构 物理数据库结构 6.5.1物理设计的步骤 6.5.2物理设计环境 6.5.3物理设计性能的测量 返回章

  20. 6.5.1物理设计的步骤 五步 、可能要反复多次 1. 存贮记录结构设计 2. 确定数据存放位置 3. 访问方法的设计 4. 完整性和安全性考虑 5. 程序设计 返回节

  21. 6.5.2 物理设计环境 • 引进的新参数 :物理设备量限制、时间特性及所有的运行要求 • 输出 :物理数据库结构说明书 ,包括存贮记录格式、存贮记录位置分布及访问方法。它能满足所有的操作需求并给出对硬件、软件系统的约束 返回节

  22. 6.5.3 物理设计性能的测量 1. 查询响应时间 2. 更新事务的开销 3. 报告生成的开销 4. 改组频率和开销 5. 主存贮空 6. 辅助存贮空间 返回节

  23. 6.6 实现与维护 6.6.1数据库的实现 6.6.2其它设计工作 6.6.3运行与维护 返回章

  24. 6.6.1数据库的实现 • 建立实际数据库结构 • 测试数据库结构 • 装入数据 返回节

  25. 6.6.2其它设计工作 • 数据库的再组织设计 • 故障恢复方案设计 • 安全性考虑 • 事务控制 返回节

  26. 6.6.3运行与维护 • 维护数据库的安全性与完整性 • 监测并改善数据库性能 • 增加新功能 • 修改错误 返回节

  27. 6.7 用ORACLE建立数据库 6.7.1 数据库结构和空间管理 6.7.2用ORACLE建立和修改数据库 6.7.3 初始化参数文件 返回章

  28. 6.7.1 数据库结构和空间管理 • ORACLE物理数据库结构 :数据文件、日志文件和控制文件 • 逻辑数据库结构 : • 一个或多个表空间 • 数据库模式对象(即表、视图、索引、聚集、序列、存储过程)

  29. 数据库、表空间和数据文件

  30. 1. 物理结构 • 数据文件 :一个或多个 ,物理地存储 • 一个数据文件仅与一个数据库相联系 • 一旦建立,数据文件不能改变大小 • 一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成 • 日志文件 • 控制文件

  31. 2. 逻辑结构 • 表空间 : • 数据库可逻辑地划分为一个或多个表空间。 • 每一个表空间是由一个或多个数据文件组成 • 段、范围和数据块 • 段:由一个或多个范围组成,分为数据段、索引段、回滚段和临时段 • 范围 :存储空间分配的一个逻辑单位 ,由连续的数据块所组成 • 数据块 :I/O的最小单位 • (3) 模式和模式对象

  32. 模式和模式对象 • 表 • 视图 :用一个查询定义,基于表 • 聚集 :一组表 • 索引 • 序列生成器 • 同义词 • 程序单元 • 数据库链 返回节

  33. 6.7.2用ORACLE建立和修改数据库 • 1. 建立数据库命令 • 命令格式如下: • CREATE DATABASE [DB 名][CONTROLFILE REUSE][LOGFILE[GROUP 整数]<文件说明>,…][MAXLOGFILES整数][MAXLOGMEMBERS整数][MAXLOGHISTORY整数][DATAFILE<文件说明>,…][MAXDATAFILES整数][MAXINSTANCES整数][ARCHIVELOG][CHARACTER SET字符集名][EXCLUSIVE] • 其中: • 文件说明(日志文件组)的格式为: • ‘文件名’[(’文件名’,…)][SIZE整数[K][M][REUSE] • 文件说明(文件文件)的格式为: • ‘文件名’[SIZE整数[K][M]][REUSE]

  34. 建立数据库 –续(关键字和参数 ) • DB名:为所要建立的数据库的名字 • CONTROLFILE REUSE:重新使用由初始化参数CONTROL_FILES所标识的已存在的控制文件 • LOGFILE:指定用作日志文件的一个或多个文件 • MAXLOGFILES:指定数据库可建的日志文件组的最大值 • MAXLOGMEMBERS;指定日志文件组的最大的成员数 • MAXLOGHISTORY:指定归档日志文件的最大数目 • MAXLOGMEMBERS;指定日志文件组的最大的成员数 • DATAFILE:指定用作为数据文件的一个或多个文件 • ARCHIVELOG:为日志文件组建立归档方式 • CHARACTER SET:指定数据库用于存储数据的字符

  35. 建立数据库例 • CREATE DATABASE NewTest • CONTROLFILE REUSE • LOGFILE GROUP 1 (‘diskb:log1.log’,’diskc:log1.log’) • SIZE 50K, • GROUP 2 (‘diskb:log2.log’.’diskc:log2.log’) • SIZE 50K • MAXLOGFILES 5 • MAXLOGHISTORY 100 • DATAFILE’diska:dbone.dat’SIZE 2M • MAXDATAFILES 10 • MAXINSTANCES 2 • ARCHIVELOG • EXCLUSIVE

  36. 2. 更改数据库命令 • 常用的部份语法格式如下: • ALTER DATABASE [DB名][MOUNT[EXCLUSIVE][PARALLEL]] • [ADDLOGFILE[THREAD整数][GROUP整数]文件说明,…] • RENAME FILE ’文件名’TO ’文件名’ ,…][ENABLE[PUBLIC]THREAD整数] • RENAME GLOBAL_NAME TO DB名[域名]

  37. 更改数据库命令--关键字和参数说明 • DB名:标识要更改的数据库 • NOUNT:装配数据库 (实例未装配该数据库时) • 实例已装配时可使用以下选项: • ADDLOGFILE:加一个或多个日志文件组到指定的线索 • RENAME:对数据库文件或日志文件成员换名 • 已装配数据库并已打开,可使用下列选项 : • DISNABLE/ENABLE :使指定的线索不可实施 /可实施 • RENAME GLOBAL_NAME:修改数据库的全局名

  38. 更改数据库命令:例子 • 例6.4:将名为STOCKS数据库,以专用方式安装。 ALTER DATABASE Stocks MOUNT EXCLUSIVE • 例6.5:对GROUP参数值为3的日志文件组增加两个成员。 ALTER DATABASE Stocks ADD LOGFILE GROUP 3(‘diska:log3.log’,’diskb:log3.log’) SIZE 50K • 例6.6:对日志文件成员换名。 ALTER DATABASE Stocks RENAME FILE’diskb:3.log’TO’diskd:log3.log’

  39. 更改数据库命令:例子 • 例6.7:对线索5增加一日志文件组,其Group参数值为4,包含三个成员。 ALTER DATABASE Stocks ADD LOGFILE THREAD 5 GROUP 4 (‘diska:log4.log’, ‘diskb:log4.log’,’diskc:log4.log’) • 例6.8:使线索5不能实施。 ALTER DATABASE Stocks DISABLE THREAD 5 • 例6.9:使线索5可实施,使它为任何ORACLE实例使用,那些实例不要显式地请求该线索。 ALTER DATABASE Stocks ENABLE PUBLIC THREAD 5

  40. 更改数据库命令:例子 • 例6.10:建立基于文件’DISKY:DB1.DAT’的数据文件’DISKX:DB1.DAT’。 ALTER DATABASE Stocks CREATE DATAFILE’DISKX:DB1.DAT’AS’DISKY:DB1.DAT’ • 例6.11:修改数据库的全局名。 ALTER DATABASE stocks RENAME GLOBAL_NAME TO Sales.Austalia.acme.com

  41. 3. 控制文件 -语法格式 • 语法格式如下: • CREATE CONTROLFILE[REUSE][SET]DATABASE DB名 • LOGFILE[GROUP整数]文件说明,…[RESETLOGS][NOTRESETLOGS] • DATAFILE文件说明,… • [MAXLOGFILES整数][MAXLOGMEMBERS整数] • [MAXLOGHISTORY整数][MAXDATAFILES整数] • [MAXINSTANCES整数][ARCHIVELOG]

  42. 3. 控制文件 -关键字和参数说明 • REUSE:说明由初始化参数CONTROL_FILES所标识的控制文件可被重用 • SET DATABASE:修改数据库的名字 • DATABASE:指定数据库的名字,该参数值必须是已存在的数据库名 • LOGFILE:为数据库指定日志文件组 • RESETLOGS :忽略LOGFILE子句所列的文件的内容 • NORESETLOGS:说明在LOGFILE子句中全部文件在最后一次打开数据库中使用 • DATAFILE:指定数据库的数据文件,必须列出全部数据文件

  43. 例:重建一控制文件 • CREATE CONTROLFILE REUSE • SET DATABASE orders_2 • LOGFILE GROUP 1(‘diskb:log1.olg.’,’diskc:log1.log’) SIZE 50K, • GROUP 2(‘diskb:log2.log’,’diskc:log2.log’) SIZE 50K • NORESETLOGS • DATAFILE’diska:dbone.dat’SIZE 2M • MAXLOGFILE 5 • MAXLOGHISTORY 100 • MAXDATAFILES 10 • MAXINSTANCES 2 • ARCHIVELOG

  44. 4. 表空间--建立表空间命令 • CREATE TABLESPACE表空间名DATAFILES文件说明,… [DEFAULT STORAGE存贮子句] [OFFLINE] • 关键字和参数说明: • 表空间名:为所建立的表空间的名字。 • DATAFILE:指定组成表空间的数据文件或文件。 • DEFAULT STORAGE:为在该表空间中建立的全部对象指定缺少的存储参数,由存储子句指定。 • STORAGE存储子句用于指定存储特征,该子句可出现在建立或更改下列对象的命令中:聚集、索引、滚回段、快照、快照日志、表和表空间。

  45. STORAGE子句的语法 • STORAGE([INITINAL整数[K][M]] • [NEXT整数[K][M]][MINEXTENTS整数] • [MAXEXTENTS整数][PCTINCREASE整数] • [OPTIMAL[整数[K][M]][NULL]] • [FREELISTS整数][FREELIST GROUPS整数]…)

  46. STORAGE子句--关键字和参数说明 • INITIAL:指定对象的第一个范围的大小 • NEXT:指定分配给对象的下一范围的大小 • PCTINCREASE:指定第二个范围之后的每一个范围为前一个范围的增长的百分数 • MINEXTENTS:指定在建立段时可分配的范围的总数 • OPTIMAL:为回滚段指定一个适宜的大小 • FREELIST GROUP:为表、聚集或索引指定自由表的组数 • FREELISTS:为表、聚集或索引的每一自由表组指定自由表的数目 • 在建立表空间中其它选项的作用 • ONLINE:使建立的表空间在建立之后,用户立即可用 • OFFLINE:使建立的表空间在建立之后该表空间不能立即使用

  47. 例:建立表空间 在数据库中建立名为TABSPACE_2的表空间 • CREATE TABLESPACE TABSPACE_2 • DATAFILE ’diska:tabspace_file2.dat’SIZE 20M • DEFAULT STORAGE(INITIAL 10K NEXT 50K • MINEXTENTS 1 MAXEXTENTS 99 • PCTINCREASE10) • ONLINE

  48. 4. 表空间—修改表空间命令 • ALTER TABLESPACE 表空间名 • [ADD DATAFILE文件说明,…] • [DENAME DATAFILE’文件名’,…TO ’文件名’,…] • [DEFAULT STORAGE 存贮子句] • [OFFLINE [TEMPORARY][IMMEDIATE]] • [BEGIN BACKUP]

  49. 修改表空间命令--关键字和参数说明 关键字和参数说明: • 表空间名:为所要更改的表空间的名字。 • ADD DATAFILE:将由文件说明所指定的数据文件加到该表空间 • RENAME DATAFILE:对表空间的一个或多个数据文件换名 • DEFAULT STORAGE:为在该表空间中以后建立的对象指定新的缺省存储参数 • ONLINE:使表空间在线。 • OFFLINE:使表空间离线,防止对它的段的存取 • BEGIN BACKUP:它意味对组成该表空间的数据文件要执行在线后备 • END BACKUP:它意味表空间的在线后备完成

  50. 例:修改表空间命令 • 例6.14:通知数据库,开始后备。 • ALTER TABLESPACE accounting BEGIN BACKUP • 例6.15:通知数据库,后备完成。 • ALTER TABLESPACE acounting END BACKUP • 例6.16:将表空间ACCOUNTING的数据文件’DISKA:PAY1.DAT’改名为’DISKB:RECEIVE.DAT’:

More Related