03第3章-数据库静态结构设计和实现1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章数据库静态结构设计和实现计算机信息工程学院数据库静态结构设计和实现概念模型一般概念PowerDesigner概述实体—域、数据项和属性实体之间的关系继承概念数据模型实例分析物理数据模型PDM数据库的建立数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计的目标是为用户和各种应用系统提供一个高效率的运行环境。效率包括两个方面:一是数据库的存取效率;二是存储空间的利用率。数据库设计的特点数据库建设是硬件、软件和干件的结合数据库设计应该与应用系统设计相结合数据库建设是硬件、软件和干件的结合技术与管理的界面称之为“干件”三分技术,七分管理,十二分基础数据结构设计与行为设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等IPO表……输入:输出:处理:Creat……Load……Main()……if……then……end分区1分区2……概念结构设计逻辑结构设计物理设计设计阶段设计描述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据字典中处理过程的描述概念模型(E-R图)数据字典系统说明书包括:①新系统要求、方案和概图②反映新系统信息流的数据流图某种数据模型关系非关系系统结构图(模块结构)存储安排方法选择存取路径建立模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编码、编译联结、测试运行、维护性能监测、转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)数据库设计方法早期数据库设计最后要采用手工与经验相结合的方法规范设计方法。规范设计法:其本质仍是手工设计方法。其基本思想是过程迭代和逐步求精。比较著名的有新奥尔良(NewOrleans)方法。它将数据库设计分为四个阶段;需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。此外,还有基于E-R模型的数据库设计方法、基于3NF(第三范式)的设计方法、基于抽象语法规范的设计方法等数据库辅助工具(CASE工具)Rational公司的RationalRose:支持关系型数据库逻辑模型的生成,包括:Oracle7、Sybase、SQLServer、WatcomSQL和ANSISQL,其结果可用于数据库建模工具生成逻辑模型和概念模型。数据库辅助工具(CASE工具)CA公司的Erwin:主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。数据库辅助工具(CASE工具)Sybase公司的PowerDesigner:采用基于Entity-Relation的数据模型,分别从概念数据模型(ConceptualDataModel)和物理数据模型(PhysicalDataModel)两个层次对数据库进行设计。Oracle公司的OracleDesigner:支持面向对象和实体关系的建模方式。在一个有效的实体关系模型或面向对象的类型模型中,数据库设计转换工具可以自动生成第一个数据库方案,且具有完整的表、列、索引和参照完整性约束。数据库设计的基本步骤需求分析阶段概念结构设计阶段逻辑结构设计阶段数据库物理设计阶段数据库实施阶段数据库运行和维护阶段数据库各级模式的形成过程根据数据库设计的不同时期,可以形成各级模式。在需求分析阶段综合不同用户的应用需求;在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图);在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据需要和安全建立视图,形成用户模式;在物理设计阶段根据DBMS的特点和处理,建立存储安排、索引等,形成物理模式。一、需求分析需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。关系到整个系统的成败、优劣。一、需求分析的目标需求分析阶段应该对整个应用系统作全面、详细的调查。通过详细调查现实世界要处理的对象(组织、部门和企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的信息要求、处理要求、安全性与完整性要求,并把这些要求写成用户和系统开发人员都能够接受的文档。信息要求用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据处理要求对处理功能的要求对处理的响应时间的要求对处理方式的要求(批处理/联机处理)需求分析的步骤调查组织机构总体情况熟悉业务活动明确用户需求确定系统边界与用户达成共识进一步分析与表达这些需求进一步分析和表达用户的需求自顶向下的结构化分析方法(StructuredAnalysis,简称SA方法)SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。进一步分析和表达用户需求1.首先把任何一个系统都抽象为:数据流数据流数据存储信息要求数据来源处理数据输出处理要求进一步分析和表达用户需求(续)2.分解处理功能和数据(1)分解处理功能将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止。(2)分解数据在处理功能逐步分解的同时,其所用的数据也逐级分解,形成若干层次的数据流图数据流图表达了数据和处理过程的关系(3)表达方法处理过程:用判定表或判定树来描述数据:用数据字典来描述3.将分析结果再次提交给用户,征得用户的认可数据字典数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。数据项数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}处理过程数据字典中只需描述处理过程的说明性信息。通常包括以下内容:处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}二、概念设计概念设计是在需求分析阶段产生的数据流图和数据字典基础上,对基础数据进行综合抽象,从而形成反映企业组织信息需求的概念数据模型。这个模型应当能够被用户易于理解,并且独立于具体的数据库管理系统(DBMS)。概念模型的要求概念模型应真实、充分地反映现实世界中事物和事物之间的联系,有丰富的语言表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂的联系、用户对数据对象的处理要求。概念模型应简洁、明晰、独立于机器、容易理解。概念模型应易于变动。概念模型应很容易向关系、层次或网状等各种数据模型转换。概念模型的两个要素实体关系信息世界中的基本概念实体实体型实体集属性域码关系关系的类型1:11:nm:n概念设计步骤进行数据抽象,设计局部概念模式将局部概念模式综合成全局概念模式评审三种常用抽象1.分类(Classification)定义某一类概念作为现实世界中一组对象的类型它抽象了对象值和型之间的“ismemberof”的语义在E-R模型中,实体型就是这种抽象,用矩形框表达三种常用抽象(续)2.聚集(Aggregation)定义某一类型的组成成分它抽象了对象内部类型和成分之间“ispartof”的语义在E-R模型中若干属性的聚集组成了实体型,就是这种抽象,属性一般用椭圆表达,多值属性用双线的椭圆表示,派生属性用虚线的椭圆表示。3.概括(Generalization)定义类型之间的一种子集联系它抽象了类型之间的“issubsetof”的语义概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。用双竖边的矩形框表示子类,用直线加小圆圈表示超类-子类的联系三种常用抽象(续)数据抽象的用途对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体实体的属性,标识实体的码确定实体之间的联系类型(1:1,1:n,m:n)概念设计工具目前在概念设计阶段,实体-关系图(E-R图)是广泛使用的设计工具。E-R图的基本元素是:实体、关系和属性。实体和属性实体(entity)是E-R模型表示的最基本的对象。实体用矩形框来表达。每个实体都具有一定的属性(attribute)用来描述实体的某些特定性质。1.简单属性和复合属性简单属性不能划分为更小的部分。复合属性可被划分为更小的具有独立意义的部分。Customer_addressProvinceCityStreetAddressPostalCodeNumberStreetApartmentNumber属性的类型属性的类型2.单值属性和多值属性一个属性对一个特定实体都只有一个属性值,这样的属性称为单值属性。某一属性在不同的实体上可能有不同数目的值,这样的属性称为多值属性。3.存储属性和派生属性某些情况下,两个或两个以上属性值是相关的,其中一个属性A1的值可以从其他的相关属性A2或实体E派生出来。属性A1称为派生属性,A2称为存储属性。派生属性的值不存储,但在需要时可以被计算出来。属性值还可以从相关实体派生得到。属性的类型4.空值空值的情况有两类:没有适用的值;属性值未知(属性值存在只是暂时缺失;不能确定该属性值是否存在)。属性的类型Customer_idCutomer_nameCustomer_addressBirthDateCUSTOMERphonePhoneAgeProvinceCityPostalCodeApartmentNumberNumberStreetStreetAddress包含复合属性、多值属性及派生属性的E-R图联系联系是指多个实体间的相互关联。例如:供应商、项目和零件之间的三元联系,表示供应商为项目提供零件。用菱形表达。多对多的联系mnCustomer_idCustomer_nameCustomer_AddressBalanceAccount_numberAccess-dateDEPOSITSACCOUNTCUSTOMER参与约束如果实体类型E的任意实体集中的每个实体都至少参与到联系类型R相应联系集的一个联系实例中,则称实体类型E全部参与联系类型R。如果实体类型E中只有部分实体参与到联系类型R的联系实例中,则称E部分参与R。实体类型对联系类型的全部参与Customer_idCustomer_nameCustomer_addressAmountLoan_numberBORROWSCUSTOMERLOAN弱实体类型一个实体类型的属性如果不足以形成主码,则称其为弱实体类型。相反地,具有主码的实体类型称为强实体类型。例如,考虑实体类型PAYMENT(还贷),该实体类型具有属性PNo(

1 / 180
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功