★数据库设计
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库设计的目标:是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。
数据库设计的基本任务:是根据用户的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS),设计出数据库模式(包括外模式、逻辑模式和内模式)及其典型的应用程序。
1.设计方法
直观设计法(手工试凑发):数据库设计只是一种经验的反复实施,而不能称为是一门科学,缺乏科学分析理论基础和工程手段的支持,因为设计质量与设计人员的经验和水平有直接关系,所以设计质量很难保证。具有周期短、效率高、操作简便、易于实现等优点。主要是用于简单小型系统。
规范设计法:将数据库设计分为若干阶段,明确规定各阶段的任务,采用“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。(新奥尔良方法、基于E-R模型的数据库设计方法、基于3NF(第三范式)的设计方法、面向对象的数据库设计方法、统一建模语言(UML)方法)。
计算机辅助设计法:在数据库设计的某些过程中,利用计算机和一些辅助设计工具,模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。 (Oracle 公司开发的 Designer、Sybase公司开发的 PowerDesigner)。
2.数据库设计的基本步骤
- 需求分析:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。编写软件规格说明书及初步的用户手册,提交评审。
1:调查分析用户活动;
2:收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求;
3:编写系统分析报告。 - 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
1、需求分析数据;
2、局部E-R模型;
3、全局E-R模型。 - 逻辑结构设计:将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。主要是E-R转换成关系模式(或者说是建立关系模式的阶段)。
1、初始关系模式设计;
2、关系模式规范化;
3:模式评价。 - 物理结构设计:为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
1、确定物理结构;
2、评价物理结构 - 数据库实施:根据逻辑设计和物理设计的结果构建数据库,编写与调试应用程序,组织数据入库并进行试运行。
1、建立实际数据库结构;
2、装入数据;
3、数据库试运行;
4、应用程序编码与调试;
5、整理文档。 - 数据库运行和维护:经过试运行后即可投入正式运行,在运行过程中必须不断对其进行评估、调整与修改。
1、维护数据库的安全性和完整性;
2、监测并改善数据库性能;
3、重新组织和构造数据库。
注意:需求分析和概念设计独立于任何数据库管理系统。逻辑设计和物理设计与选用的数据库管理系统密切相关
设计阶段 | 数据 | 处理 |
---|---|---|
需求分析 | 数据字典、数据项、数据流、数据存储的描述 | 数据流图和判定树、数据字典中处理过程的描述 |
概念结构设计 | 概念模型(ER图)、数据字典 | 系统说明书(系统要求、方案、概图、数据流图) |
逻辑结构设计 | 某种数据模型(如关系) | 系统结构图(模块结构) |
物理设计 | 存储安排、方法选择、存取路径建立 | 模块设计 |
实施阶 | 编写模式、装入数据、数据库试运行 | 程序编码、编译联结、测试 |
运行维护 | 性能监测、转储、恢复、数据库重组和重构 | 新旧系统转换、运行、维护 |