《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一1.7 数据库系统设计步骤

1.7 数据库系统设计步骤

1.7.1 数据库设计概述

数据库设计的目标就是为用户的应用系统提供一个高效数据库系统。为了保证数据库设计更合理,数据库的设计工作通常分阶段进行,在不同的阶段采用不同的方法完成不同的设计内容。
数据库设计分为以下6个阶段:
1)需求分析阶段。收集和分析用户对系统的信息需求和处理需求,得到设计系统所必需的需求信息,建立系统的需求说明文档。
2)概念结构设计阶段。通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3)逻辑结构设计阶段。在概念模型的基础上导出一种DBMS支持的逻辑数据库模型,该模型应满足数据库存取、一致性及运行等各方面的用户需求。
4)物理结构设计阶段。为逻辑数据模型选取一个最适合应用环境的物理结构。
5)数据库实施阶段。根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,将数据录入到数据库中,同时进行数据库系统的试运行。
6)数据库运行与维护阶段。数据库应用系统试运行后,即可以投入正式运行。在此过程中必须不断地对其进行评价、调整与修改。
设计一个完善的数据库应用系统不可能一蹴而就,往往需要不断重复上述6个阶段。

1.7.2 需求分析

需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际需求,将直接影响后面各个阶段的设计,并影响设计结果是否合理、实用。
需求分析的主要任务是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。通过调查现有系统的运行状况,明确新系统的数据及处理这些数据的流程。需求分析所调查的重点是“数据”和“处理流程”,包括数据库中需要存储哪些数据、数据如何进行处理,以及数据的安全性与完整性要求等。
需求分析是软件工程中最重要的一个步骤,是其他各个步骤的基础,如果这一步出了问题,那么往往会导致整个项目的返工甚至失败。要想使需求分析富有成效,必须学会怎样与客户打交道,如何从客户那里得到最有效的需求。通常需求分析可以通过下面几种方式来实现。
检查文档:通过检查以往业务中保留下来的文档,可以发现业务处理中的数据流程。常见的文档有文件、图表和报告等。
面谈:面谈是最常用、最有效的方法。通过与操作员、主管领导面对面谈话,可以直接获得最有用的信息。但是,这种方式需要交谈双方具有较高的语言表达能力和分析、归纳、总结的能力,不然可能得到的只是一些只言片语。
观察、参与业务的运转:最理想的情况就是开发人员实际参与需求方业务的运转,从而在第一线了解业务流程。对于复杂的系统尤其应该如此。即使由于种种原因无法实际参与业务的运转,也要对业务流程进行仔细的观察。
研究:从Internet或各种出版物中查找和研究,看看是否有类似或者相关的项目可供参考。或从行业标准、规则中提取需求。
问卷调查:这种方式特别适合于有大批量用户使用该系统的情况,为了防止面谈带来的片面性,最好进行全体的问卷调查。问卷的设计要以选择题和判断题为主,因为大多数用户不会有耐心或能力用太多的文字来回答问题。
在进行需求调查时,往往需要同时采用上述多种方法。但无论采用何种调查方法,都需要用户的积极参与配合,并对设计工作的结果共同承担责任。

1.7.3 概念结构设计

概念结构设计是在需求分析的基础上形成数据库的概念模型,这是语义层的描述,与具体的DBMS无关。通常可以使用E-R图来表示概念模型。
在概念结构设计中,主要会用到以下几种方法。
自底向上:先定义每个局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。
自顶向下:先定义全局的概念结构框架,然后再逐步细化。
由里向外:先定义最重要的核心结构,然后再逐步向外扩展。
混合策略:将自顶向下和自底向上方法结合起来,先用自顶向下方法设计一个概念结构框架,然后以此为框架再根据自底向上策略设计局部概念结构,最后把它们集成起来。
采用E-R图进行数据库概念结构设计可分以下3步:
1)设计局部E-R模型,确定各个局部E-R模型的范围、定义实体、关系以及它们的属性。
2)集成局部E-R图,形成全局E-R模型。在此过程中,需要消除各个局部E-R中的属性冲突、命名冲突、结构冲突等问题。
3)对全局E-R模型做进一步的优化,其原则是实体个数尽可能少、实体所包含的属性尽可能少、实体间关系无冗余。可以把具有相同主码的实体进行合并,将具有1对1关系的两个实体合并成一个实体,消除冗余属性和冗余联系。

1.7.4 逻辑结构设计

逻辑结构设计的任务就是将概念结构设计阶段产生的E-R图转换为具体的数据库管理系统所支持的数据模型。对于关系数据库而言,逻辑结构设计就是将E-R图转换成关系模式,并对关系模式进行优化。
1.将E-R图转换成关系模式
将E-R图转换为关系模式的基本原则为:
一个实体转换为一个二维表。实体的名字作为表的名字,实体的属性作为表的属性,实体的主码作为表的主码。
一对一联系可以转换为一个独立的表,也可以与任意一端的实体所对应的表合并。如果单独作为一张表,则关系的名称作为表的名称,与关系相关联的两个实体的主码及联系本身的属性都作为这张表的属性,任选一个与之相关联的实体的主码作为主码。如果与实体所对应的表合并,则需要在该表中添加另一张表的主码和联系本身的属性作为该表的属性。
一对多联系可以转换为一个单独的表,也可以合并到多端实体所对应的表中。如果单独作为一张表,则关系的名称作为表的名称,与关系相关联的两个实体的主码及关系本身的属性都作为这张表的属性,多端实体的主码作为主码。如果与多端实体所对应的表合并,则需要在该表中添加一端所对应表的主码和关系本身的属性作为该表的属性。
多对多联系必须转换为一张表,关系的名称作为表的名称,相关联的两个实体的主码及联系本身的属性都作为该表的属性,两个实体的主码联合起来作为该表的主码。
三个或三个以上实体间的多元关系可以转换为一张表,各个实体的主码及关系本身的属性作为该表的属性,各个实体的主码联合起来作为该表的主码。
2.关系模式优化
数据库逻辑结构设计的结果并不是唯一的。为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,适当地修改、调整数据模型的结构,即关系模式优化。
关系模式优化的步骤如下:
1)确定数据依赖。分析出每个关系模式的各属性之间的依赖关系及不同关系模式各属性之间的数据依赖关系。
2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的关系。
3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。根据应用需求,分析模式是否合适,是否需要进行合并或分解。

1.7.5 物理结构设计

物理结构设计的目的是利用已经确定的逻辑结构的结果及DBMS提供的方法、技术,以适当的存储结构、存取路径、合理的存储位置及存储分配,设计出一个高效的、可实现的数据库结构。
数据库的物理结构设计通常分为以下两个方面。
确定数据库的物理结构,在关系数据库中主要指确定存储结构和存取方法。确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价3方面的因素。常用的存储方式有顺序存储、散列存储和聚簇存储。为了提高数据的存取效率,应该建立合适的索引。
对物理结构进行评价,评价的重点是时间和空间效率。评价物理数据库的方法完全依赖于所选用的DBMS,主要从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的、合理的物理结构。
关于数据库的物理结构设计,需要明确一点,即使不进行物理结构设计,数据库系统照样能够正常运行,物理结构设计主要是为了进一步提高数据的存取效率。如果项目的规模不大,数据量不多,那么可以不进行物理结构设计。

1.7.6 数据库实施与维护

完成了数据库的逻辑结构和物理结构设计之后,我们已经在特定的DBMS系统下建立好了一系列二维表。下一步就是将整个数据库投入运行,同时还要进行相应的维护。
1. 数据库数据的加载和试运行
数据库结构建立好后,可以向数据库中装载数据。对于数据量不是很大的小型系统,可以用人工方式完成数据的入库。对于大中型系统,由于数据量极大,用人工方式进行数据入库将会耗费大量的人力、物力,而且很难保证数据的正确性,因此应该设计一个数据输入子系统,由计算机来辅助完成数据的入库工作。
2.数据库的运行和维护
在数据库运行阶段,对数据库经常性的维护工作主要是由数据库系统管理员来完成的,其主要工作包括数据库备份和恢复、数据库性能的调整、数据库的重新改造等。
实践指导
1.场景与要求
企业库存管理的操作步骤一般如下:
1)企业采购部采购商品后,填写采购入库单,并将商品发送给仓库,办理入库。
2)仓库收到采购部门的商品后,办理入库业务,并更新库存总账。
3)根据使用或销售的需要,操作员或业务员拿着出库单到仓库中提货或仓库根据出库单发货,并更新库存总账。
下面是某企业库存管理过程中使用的入库单、出库单和库存总账的样例。

请根据以上企业库存管理的介绍,设计出库存管理数据库的概念结构(E-R)与逻辑结构(表)。
2. 关键步骤
1)根据场景描述,提炼出实体、属性,并确定实体之间的关系。
2)用E-R图表示数据库的概念模型。
3)根据数据库概念模型到关系模型的转换原则,设计出数据库的关系模式。

时间: 2024-11-27 03:19:39

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一1.7 数据库系统设计步骤的相关文章

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一导读

前 言 为什么要写这本书 在信息技术高速发展的今天,任何大型信息系统都是以数据库技术为支撑的.Oracle数据库作为数据库领域的先驱者,凭借其雄厚的技术实力,以高稳定性.可伸缩性.高可靠性.高安全性.跨平台特性等优点得到业界的一致认可,成为数据库市场名副其实的领军者,遍布工业.商业.金融.保险.航空等多个领域.毫不夸张地说,Oracle数据库产品已经遍布世界的每一个角落.因此,掌握Oracle数据库的管理与开发技术,已经成为对从事信息系统开发.维护的IT人员的基本要求.然而,Oracle数据库产

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一3.5 运行时故障分析与解决

3.5 运行时故障分析与解决 Oracle数据库服务器在运行过程中可能出现某些问题,其中,有的问题是致命的,必须重新安装数据库服务器系统,而有的问题只需进行简单的处理就可以解决.下面介绍在学习使用Oracle数据库的过程中经常出现的几个问题及对应的解决方法. 1. ORA-12541: TNS:无监听器程序 当通过企业管理器或其他工具登录数据库时,如果提示错误"ORA-12541: TNS:无监听程序",这说明Oracle监听程序没有运行. 解决方法:选择"开始→控制面板→管

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一2.2 Oracle的网格计算

2.2 Oracle的网格计算 网格计算是指把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成,通过合理调度,不同的计算环境被综合利用并共享. 目前,各种企业.组织内部的计算孤岛使资源利用率非常低,系统运行缓慢且维护管理费用昂贵.网格计算正好提供了一个解决方案,将企业的有限资源整合起来构成一个资源池,提高了资源利用率,降低了管理成本与运营成本,并能按照企业的优先级动态调整分配资源. Oracle 11g是一个基于网格计算的产品,其网格基础架构由Ora

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一3.4 检查和验证安装结果

3.4 检查和验证安装结果 完成Oracle 11g数据库服务器安装后,可以检查系统安装结果,包括查看程序组.安装的产品清单.系统服务.文件结构,同时可登录数据库进行数据库服务器可用性检查. 3.4.1 程序组 选择"开始→所有程序→Oracle - OraDb11g_home1",可以查看Oracle 11g数据库软件程序组.Oracle 11g程序组分为Database Control.Oracle安装产品.Warehouse Builder.集成管理工具.配置和移植工具.应用程序

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一2.4 Oracle 11g数据库的新特性

2.4 Oracle 11g数据库的新特性 2007年7月12日,Oracle公司在美国纽约宣布推出Oracle 11g数据库,这是迄今为止Oracle公司推出的所有产品中最具创新性和质量最高的软件.Oracle 11g数据库增强了Oracle数据库独特的数据库集群.数据中心自动化和工作量管理功能,可以在安全的.高度可用的.可扩展的.由低成本服务器和存储设备组成的网格上,满足最苛刻的交易处理.数据仓库和内容管理应用. 1.自助式管理和自动化能力 Oracle 11g的各项管理功能可用来帮助企业轻

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一1.6 关系数据库

1.6 关系数据库 1.6.1 关系数据库的功能 采用关系模型的数据库系统称为关系数据库系统,其主要功能如下. 数据定义:提供数据定义语言(Data Definition Language,DDL),用户利用该语言可以定义数据库的三级模式(外模式.模式.内模式).两级映像(外模式/模式.模式/内模式),定义数据的完整性.安全性约束等. 数据操作:提供数据操作语言(Data Manipulation Language,DML),实现对数据库的操作,包括数据查询.插入.删除.修改等. 数据库运行与控

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一3.3 安装Oracle 11g数据库服务器

3.3 安装Oracle 11g数据库服务器 Oracle Universal Installer(OUI)是基于Java技术的图形界面安装工具,利用它可以很方便地在不同操作系统平台上完成对不同类型的.不同版本的Oracle软件的安装. 1)右击setup.exe文件,在弹出菜单中选择"以管理员身份运行",启动OUI.OUI先根据install\oraparam.int文件中的参数设置情况进行系统软.硬件的先决条件检查,并输出检查结果,如图3-9所示.注意 在Windows 7操作系统

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一2.1 Oracle数据库的发展

2.1 Oracle数据库的发展 2.1.1 Oracle数据库的应用现状 Oracle数据库系统是Oracle(甲骨文)公司于1979年发布的世界上第一个关系数据库管理系统.经过30多年的发展,Oracle数据库系统已经应用于各个领域,在数据库市场占据主导地位.Oracle公司也成为当今世界上最大的数据库厂商和最大的商用软件供应商,向遍及全球的145个国家和地区的用户提供数据库.工具和应用软件,以及相关的咨询.培训和支持服务.Oracle数据库产品是当前市场占有率最高的数据库产品,约为49%.

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一3.1 安装预处理

3.1 安装预处理 在安装Oracle 11g数据库服务器之前,必须完成一些必要的准备工作,否则可能导致出现安装失败或安装后系统内部信息丢失等现象. 3.1.1 对系统软.硬件的要求 为了在Windows 7操作系统中安装Oracle 11g数据库服务器,系统必须满足以下要求. CPU:主频最小550MHz. 内存(RAM):最低1GB. 硬盘空间(NTFS格式):典型安装需要5.364GB,高级安装需要4.904GB,空间分配情况见表3-1. 虚拟内存:最小为RAM的2倍. 监视器:256色.

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一3.2 Oracle 11g数据库软件下载

3.2 Oracle 11g数据库软件下载 Oracle支持各种主流操作系统,其官方网站上提供了各个操作系统平台相应的Oracle产品软件,包括数据库(Database).开发工具(Developer Tools).中间件(Middleware).应用服务器(Application Server)等.从Oracle官方下载的软件只能用于个人学习,不得用于商业用途. 下面对Oracle 11g数据库软件的下载方法进行简单介绍. 1)在IE地址栏中输入网址http://www.oracle.com/