文档介绍:5. 数据库设计
计算机信息系统以数据库为核心,在数据库管理系统(DBMS)的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
DBMS提供的功能可以细化为:
数据存储、检索、更新
用户可访问的目录
事务支持
并发控制服务
恢复服务
授权服务
对数据通信的支持
郭文明
5. 数据库设计
完整性服务
数据独立性服务(视图、表空间)
实用工具服务
数据库设计是指对于一个给定的应用环境,提供一个确定最优模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。
数据库设计过程
实体联系模型
关系规范化
郭文明
数据库设计过程
数据库系统设计是在现成的DBMS上建立数据库应用系统的过程。其特点是:数据量大、保存时间长,数据关联复杂,用户要求多样化。
从系统开发角度来看,数据库系统具有结构特性和行为特性两个方面。
结构特性设计(数据库设计)
1)是与数据模型所反映的实体及实体之间的联系的静态模型的设计。
2)设计各级数据库模式,决定数据库系统的信息内容。
行为特性设计(数据库应用软件的开发)
1)与数据库状态转换有关,是改变实体特性的操作。
2)决定数据库系统的功能,是事务处理等应用程序的设计。
郭文明
数据库设计过程
现代数据库设计方法强调数据库的结构设计和行为设计相结合。
数据库应用系统设计中的主要困难和问题
懂计算机、数据库原理和熟悉DBMS,同时又具备企业业务知识和实际经验的人很少。
企业或组织的数据库应用系统的目标和需求缺少明确的规定。
缺乏完善的设计工具、方法和理论。
随应用范围的扩大和深入,用户不断要求修改和增加新的功能。
郭文明
数据库设计过程
对数据库设计人员的要求
计算机科学基础知识和程序设计技术
数据库基本知识和设计技术以及某一种DBMS
软件工程的原理和方法
应用领域的知识
开发方法(多种多样)
快速原型法
直接设计法
郭文明
数据库设计过程
开发方法
软件工程分步设计法(生命周期法)
软件:程序及其开发、使用和维护所需的所有文档的总和。
软件工程:是为了组织大型软件生产,克服手工作坊方式软件生产的缺点,而提出的一种科学的软件设计方法。是指导计算机软件开发和维护的工程学科。
对于大规模、十分复杂、要求较高的数据库应用系统,应当采用软件工程的方法。
郭文明
数据库设计过程
数据库应用系统的开发是一项系统工程,系统工程是为了合理进行开发、设计和运用系统而采用的思想、步骤、组织和方法的总称。按照系统工程的观点,数据库系统的设计与开发有如下指导方针。
1)系统的目的性:系统开发的成功与否取决于是否符合用户的需要,满足用户的要求是设计与开发工作的出发点和归宿。
2)系统的整体性:对各个环节的信息进行综合和抽象,得出现实世界业务环节的整体逻辑模型和整体物理模型。而不是各个环节信息的简单组合和拼凑。
郭文明
数据库设计过程
数据库系统的设计与开发指导方针
3)系统的相关性:组成系统的各个子系统(模块)各有其独立功能,同时又相互依赖,相互作用,通过信息流把它们的功能联系起来。
4)系统的扩展性和易维护性:要适应外界环境的变化,对数据库的设计要充分考虑留有余地,可扩充。系统要能跟外界进行信息交换,有行业规范或国家标准的尽量采用,对没有标准的可以考虑建立标准;系统要有前瞻性,对可能提出的信息需求和功能需求,系统应留有接口;对可能发生的误操作或故意破坏,尽可能把损失降低到最小程度。
郭文明
数据库设计过程
数据库系统的设计与开发指导方针
5)工作成果文档化,图表规范化:软件是程序和文档资料的集合,文档资料是系统的组成部分。因为系统的扩充、修改、交流是建立在文档资料基础之上,而不应该是拿程序进行交流。在文档资料的标准规范化方面可以参照软件工程规范。
郭文明
数据库设计过程
数据库设计准则
数据库必须正确反映现实世界,能为某个DBMS所接受。
应用系统有良好的性能,有利于实施和维护。
数据库能满足当前和今后相当长时期内的数据需求,使数据库有较长的使用寿命。
当软件和硬件环境发生变化时容易修改和移植。
能满足安全性要求,当系统发生故障时,容易恢复数据库。
数据库存取效率、查询效率要高。
郭文明 2003.