第8章 空间数据库设计1_第1页
第8章 空间数据库设计1_第2页
第8章 空间数据库设计1_第3页
第8章 空间数据库设计1_第4页
第8章 空间数据库设计1_第5页
已阅读5页,还剩95页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 空间数据库设计本章内容 空间数据库设计概述 面向对象的数据库设计 地理信息元数据设计 基于Geodatabase的数据库设计 空间数据采集建库第一节 空间数据库设计概述 空间数据库设计概念 空间数据设计的目标 空间数据库设计的内容 数据库设计: 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求) 空间数据库设计: 空间数据库的设计是指在现在数据库管理系统的基础上建立空间数据库的整个过程 一、空间数据库设计概念二、数据设计的目标二、数据设计的目标 1、满足用户要求 2、准确模拟现实世界(

2、现实世界信息世界) 3、能被DBMS所接受 4、具有良好的性能、较高的质量 数据库设计的核心数据库设计的核心(建立什么样的模型) 1、如何保持数据的特性(结构准则) 2、如何合理使用资源和提高存取效率(性能准则)三、空间数据库设计的内容 仿照软件生存期的定义,一般将数据库系统生存期划仿照软件生存期的定义,一般将数据库系统生存期划分为七个阶段:分为七个阶段: 规划规划 需求分析需求分析 概念设计概念设计 逻辑设计逻辑设计 物理设计物理设计 实现实现 运行维护运行维护分析和设计阶段分析和设计阶段实现和运行阶段实现和运行阶段 数据库设计的基本步骤n该阶段主要进行建立数据库的必要性和可行性分析,确定数

3、据库系统在组织和管理信息中的地位,以及各个数据库之间的关系。n在这个阶段要分析基于数据库系统的基本功能,再确定数据库的支持范围时,最好实现建立若干个范围不同的公用或专用数据库,然后逐步完成整个大型信息系统的建设。n另外,还要对数据库与模型库、方法库或信息系统中其它成分的关系进行明确的规定。n在数据库规划工作完成后,应编制详尽的可行性分析报告及数据库规划纲要,内容包括信息范围、信息来源、人力资源、设备资源、软件及支持工具、开发成本及进度安排等。 1 1规划规划 这是整个数据库设计过程中比较费时、复杂同时也是很重要的一步,是整个空间数据库设计与建立的基础。 主要收集数据库所有用户的信息内容和处理要

4、求,并加以规格化和分析。在分析用户需求时,要确保用户目标的一致性。 2 2需求分析需求分析 需求分析阶段主要进行以下工作: 1 1)调查用户需求)调查用户需求:了解用户特点和要求,取得设计者与用户对需求的一致看法。 2 2)需求数据的收集和分析)需求数据的收集和分析:包括信息需求(信息内容、特征、需要存储的数据)、信息加工处理要求(如响应时间)、完整性与安全性要求等。 需求分析的整理一般采用数据流分析法,分析结果以数据流图DFDDFD(Data Flow Diagram)表示。DFD同时也可以作为自顶向下逐步细化的描述工具。 3 3)编制用户需求说明书)编制用户需求说明书:包括需求分析的目标、

5、任务、具体需求说明、系统功能与性能、运行环境等,是需求分析的最终成果。 概念设计以需求分析为基础,将需求转换成通用的信息结构模型。这个抽象的信息系统模型被称为概念数据模型。概念模型不依赖于计算机系统和具体DBMS。 3 3概念设计概念设计 概念结构设计策略与方法(四种) (1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化。 (2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。 (3)逐步扩张。即首先确定核心业务的概念结构 ,然后以此为中向外扩张,最终实现全局概念结构。 (4)混合策略。即将自顶向下和自底向下两种策略结合使用,首先确定全局的框架,划分为若

6、干个局部概念模型,再采取自底向上的策略实现各局部的概念模型,加以合并实现全局概念模型。 表示概念模型最有力的工具是 即实体-联系模型,包括 三个基本成分。 用它来描述现实地理世界,不必考虑信息的存储结构、存取路径及存取效率等与计算机有关的问题,比一般的数据模型更接近于现实地理世界,具有直观、自然、语义较丰富等特点,在地理数据库设计中得到了广泛应用。E-RE-R模型模型实体、联系和属性实体、联系和属性 ER模型(模型( ) ER模型即实体联系模型,它是概念设计的主要方法和最常用的表达形式。 ER模型可以形象地用图表表示,称为ER图。 在ER图中,以矩形框表示实体类型,用椭圆表示实体类型和联系类型

7、的属性,所有类型和属性都以相应的名称记入框内。联系类型和相关实体类型间以直线相连,并在直线的两端标明联系的种类(?)。 Entity Relationship ModelEntity Relationship Model1:1,1:M或M:N建立ER模型的基本步骤: 1)确定实体类型:如城镇和道路 2)确定联系类型:如城镇位于某条道路边 3)确定实体类型和联系类型画出ER图 4)确定实体类型与联系类型的属性城镇道路位于名称编号几何中心人口数长度空间属性名称编号类型长度起点终点道路中心线 ER模型的基本成分是实体、联系和属性。在准确模拟现实时,还应对基本的ER模型进行扩展。对ER模型的扩展主要包

8、括以下几方面内容: 1)弱实体的划分与依赖联系:有些实体本身不能依据其属性值唯一的被识别,而必须依赖于它所联系的其他实体(父实体)才能被识别。这种实体称为依赖性实体或弱实体。例如道路数据库中的路段,307国道湖北段。 依赖性实体和识别联系用双线矩形框和双线菱形框表示。 依赖性实体总是强制性参与到识别联系中,否则其实例无法识别。 依赖实体与父实体之间的联系是1:1或M:1的关系。路段组成道路编号中心线M1名称编号类型长度起点终点 2)子类和超类:某个实体类型E1中所有实体同时也是另一实体类型E2中的实体,如中间销售商和销售商。称E1是E2的子类,E2称为超类。 子类的一个很重要的特征是继承,子类

9、继承超类的所有抽象。 从一个类产生其子类的操作称为特化,反过来,从类产生超类的操作成泛化。特化和泛化互为反操作。 另外,同一实体类型若干子类之间可能相交,也可能不相交,这取决于子类本身的定义。土地利用图斑线状地物零星地物d建筑物住宅农庄o3)ER模型的操作:在利用ER模型进行数据设计时,常常要对ER图进行各种变换,即ER模型的操作。这些操作包括实体类型、联系类型各种属性的分裂与合并、增加与删除、转位等。A.实体/联系(类型)的分裂与合并 一个实体类型可以根据需要分解成若干实体类型。 分裂方式有水平分裂和垂直分裂两种。 水平分裂是指将实体分解成互不相关的子类,如将客户分为男客户和女客户。 垂直分

10、裂是指对实体的属性进行分组,如将客户信息中固定不变和经常变动的属性数据分别作为一个实体。 实体的合并是分裂的逆操作,将多个实体合并为一个实体。 在实体类型的合并和分裂过程中,实体间的联系类型也应作相应操作,即分裂实体时相关的联系也分裂成多个联系,合并实体时其相关的多个联系也随之合并成一个联系。 联系的分裂是将一个联系分裂成多个联系,联系的分裂不会引起实体的分裂。 联系的合并是将多个联系个并成一个联系,联系的合并不会引起实体的合并。空间几何河流表示n1线要素河流表示1n1面要素表示2n1分裂合并B.实体/联系的增加和删除: 可以在E-R模型中增加实体,而且在增加实体的同时增加联系,将该实体与模型

11、中的其他实体联系起来。也可以增加联系连接模型中已有的实体。 可以删除模型中的实体,在删除实体的同时应该删除实体的所有属性以及与该实体相关的所有联系。也可以删除模型中的联系,删除联系的同时删除该联系的所有属性。B.实体/属性的转位: 向上转位:将某些实体的属性修改为实体。 向下转位:将某些实体修改为实体的属性。道路名称编号类型长度起点终点中心线道路名称编号类型长度起点终点中心线表示坐标串利用利用ER模型进行概念设计大致分为三个步骤:模型进行概念设计大致分为三个步骤:1)设计局部)设计局部ER模型模型2)设计全局)设计全局ER模型模型3)全局)全局ER模型的优化模型的优化 4 4逻辑设计逻辑设计

12、逻辑设计又称为逻辑设计又称为“实现设计实现设计”,逻辑设计的目的是,逻辑设计的目的是从概念结构中(如从概念结构中(如ERER图)导出特定图)导出特定DBMSDBMS可处理的数据可处理的数据库的逻辑结构(数据库模式和外模式),这些模式在库的逻辑结构(数据库模式和外模式),这些模式在功能、性能、完整性和一致性约束以及数据库的可扩功能、性能、完整性和一致性约束以及数据库的可扩充性等方面均应满足用户的各种要求。充性等方面均应满足用户的各种要求。 1 1)导出初始模式:将概念设计结果(全局导出初始模式:将概念设计结果(全局ERER模式)转模式)转换成初始关系模式。换成初始关系模式。 对关系数据库而言,其

13、逻辑设计的主要步骤如下:对关系数据库而言,其逻辑设计的主要步骤如下: 2 2)规范化处理:目的是减少乃至消除关系模式中存在)规范化处理:目的是减少乃至消除关系模式中存在 的各种异常,改善完整性、一致性和存储效率。的各种异常,改善完整性、一致性和存储效率。3 3)模式和性能评价:评价设计出的模式是否完全满足用)模式和性能评价:评价设计出的模式是否完全满足用户的功能要求,是否具有较高的效率。户的功能要求,是否具有较高的效率。 4 4)模式修正:通过合并、分解或选用另外结构等方法,)模式修正:通过合并、分解或选用另外结构等方法,完善需求分析和概念设计过程中没能满足的用户需求。完善需求分析和概念设计过

14、程中没能满足的用户需求。 从ER模型向关系模型转换的主要过程为: 确定各实体的主关键字; 确定并写出实体内部属性之间的数据关系表达式,即某一数据项决定另外的数据项; 把经过消冗处理的数据关系表达式中的实体作为相应的主关键字 根据、形成新的关系。 完成转换后,进行分析、评价和优化。特点文件方式基于RDBMS的空间数据库海量数据管理可以擅长空间与属性数据一体化难于实现一体化,需要通过连接实现一致性维护一体化开放性特殊格式工业标准,开放式管理可扩充能力弱强多用户并发难于实现很强的并发控制能力数据维护与更新文件数量多,管理困难只需一个数据库权限控制弱强 1空间数据逻辑设计层1层2层3关系表关系表关系表

15、(1)图块结构设计 为了在计算机中对大容量的空间数据进行有效的组织,需要将所研究的地理区域分割成两块或多块独立的块,然后对这些图块建立空间索引。图块的结构构成空间数据库的基本组成部分。图块划分尺寸根据实际需要而定。必须遵循一定的原则。图块1图块2图块4图块3原则:其一,按存取频率较高的空间分布单元划分图块,以提高数据库的存取效率。其二,图块的划分应使基本存储单元具有较为合理的数据量。数据量过大,会造成查询分析效率低下;数据量过小,不便于数据管理。其三,在定义图块分区时,应充分考虑未来地图数据更新的图形属性信息源及空间分布,以利于更新和维护。 在多数情况下,图块按照地图图幅大小来划分,如小比例尺

16、地图按经纬线分幅,大比例尺地图按矩形分幅。由于分幅后会出现某一空间实体跨越不同图幅,空间实体被分割成若干空间基本单元情况,因此需要在图幅、空间实体和空间基本单元之间建立连接关系。 主要通过建立空间索引表来实现,即建立: a图幅总索引表,记录各个图幅在整个区域的位置; b空间实体素引表,记录每个空间实体在各图幅上的分布; c基本单元素引表,记录每一基本单元与邻近八个图幅所连接的图幅号以及基本单元序号。 (2)图层信息组织 为了提高地图中各个要素的检索速度,便于数据的灵活调用、更新及管理,在空间数据库中,往往将不同类不同级的图元要素进行分层存放,每一层存放一种专题或一类信息。按照用户一定的需要或标

17、准把某些相关图元要素组合在一起成为图层,它表示地理特征以及描述这些特征的属性的逻辑意义上的集合。在同一层信息中,数据都具有相同的几何特征和相同的属性特征。假设Li(i=1,2,n)为任一数据层,则一幅完整的地图。L=L1L2 Ln,数据层L是研究区域的所有信息总和。 数据分层可以按专题,时间,垂直高度等方式来划分。 专题分层就是根据一定的目的和分类指标对底图上专题要素进行分类,按类设层,每类作为一个图层,对每一个图层赋予一个图层名。分类可以从性质、用途、形状、尺度、色彩等五个方面因素考虑。 2属性数据逻辑设计 从理论上讲,设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后对支持这

18、种数据模型的各种DBMS进行比较,综合考虑性能、价格等各种因素,从中选出最合适的DBMS。 但在实际当中,往往是已给定了某台机器,设计人员没有选择DBMS的余地。目前DBMS产品一般只支持关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。 属性表与属性关系的设计空间参数地块编码 户主 地址 电话 购买日期 价格 土地利用类型土地利用状态面积 建造日期地块编码户主电话地址地块编码土地利用类型利用状态价格购买日期空间参数地块编码空间表户主表地块表5、物理设计 数据库存储结构和存储路径的设计。 即有效地将空间数据库的逻辑结构在物理存储器上实现

19、,确定数据在介质上的物理存储结构,其结果是导出地理数据库的存储模式(内模式)。 主要内容包括确定记录存储格式,选择文件存储结构,决定存取路径,分配存储空间。 物理设计在很大程度上与选用的数据库管理系统有关。设计中应根据需要,选用系统所提供的功能。1.确定数据库的物理结构2.空间数据库的物理设计 1)构造数据模型 2)矢量和栅格数据文件 (1)矢量格式 (2)栅格格式3属性空间数据关联 1.确定数据库的物理结构 确定数据的存储结构 设计数据的存储路径 确定数据的存放位置 确定系统配置1)构造数据模型 空间物理数据库采用层次模型组织方式,把地图作为树的根,根据图块的划分原则,将空间数据分为若干个图

20、幅,图幅构成树的结点。为了在地图中有效地组织和表达空间地理实体,按照地物的大小对其分级抽取,对不同大小地理的几何对象表示进行整理分层,层中每种类型的要素均由不同的文件来定义,结点记录之间具有一定的从属关系,由此形成内部空间索引系统。 如果把层次模型中的记录按照从上到下、从左到右的顺序排列就得到一个记录序列。因此物理上可以通过层次顺序和路径查找记录实现该层次模型。2.空间数据库的物理设计图层1地图地图2地图1图层3图层2基本要素基本要素。 空间数据库的物理结构地图32)矢量和栅格数据文件(1)矢量格式 矢量格式分为两种:多边形图形文件,线状(包括点状)图形文件。记录头占用24个逻辑单元,第25个

21、逻辑单元以后开始记录空间坐标数据,每个逻辑单元为四个字节。对多边形要求记录每个边界弧段沿其前进方向的左、右多边形编号,以建立完整的拓扑结构;线点图形文件只记录每条线(或每个点)的编号。多边形编号和线点的编号可以作为指向属性记录的指针,可以是特征值。 多边形图形文件 线状图形文件 252526262字节2字节2字节2字节记录头(48字节)线标识系统线号1左多边形码右多边形码X坐标Y坐标线标识系统线号2左多边形码右多边形码X坐标Y坐标结束记号 记录头(48字节)线标识特征码X坐标Y坐标 线标识特征码X坐标Y坐标 结束记号 2)矢量和栅格数据文件(2)栅格格式 原始的栅格格式数据文件为简单的逐行逐列

22、逐点记录多栅格象元的值,每个象元值占2字节,为032767的整数。 游程长度编码(RLC),记录特征游码和游程长度。文件记录头占10个逻辑记录单元,每个逻辑单元为四个字节,两个用来记录特征码,即所在位置的地理实体编码;另两个记录游程长度。1112 记录头特征码游程长度特征码游程长度 结束标记 关系数据库是最常用的属性数据库结构,一个实体由若干关系组成,而关系表的集合就构成了关系模型。关系表可表示为R(A1, A2, A3, An) 属性数据文件的记录头记录了该数据文件的记录总数(即所对应的专题图件上的类别总数)、头结构长度、对应于每个图类的记录长度以及各个属性字段的信息。头结构的长度为: 32

23、+属性字段数32+2 每个字段的信息由32个字节描述: 010节 字段名; 11字节 字段型(C或N,以 ASC 11码表示); 1215字节 字段数据地址; 16字节 字段长度; 17字节 小数位数; 1831字节 未用。4)空间数据与非空间数据连接 两者通过关键项进行连接。或通过指针连接。 一、关键项联接 属性数据与空间数据常规的连接方法是通过一定标识码进行。二、指针表连接 指针表连接方法原理是在空间数据库与非空间数据库之间建立一个自定义的指针表,它记录了一系列空间数据与非空间数据相关的信息素引,所有涉及到空间数据和非空间数据的操作都通过指针表实现。如图 GIS空间数据库管理系统关系型DB

24、MS空间数据属性数据指针表第二节 面向对象的 空间数据库设计本节内容 一、传统数据库管理空间数据的局限 二、面向对象的数据库设计 三、面向对象数据库系统的特性 四、面向对象数据库系统的分析和设计 五、面向对象数据库系统的实现一、传统数据库管理空间数据的局限地理空间数据存储操作的对象可能是一维、地理空间数据存储操作的对象可能是一维、二次、三维甚至更高维。二次、三维甚至更高维。一方面我们可以把一方面我们可以把地理空间数据库看成是传统数据库的扩充,地理空间数据库看成是传统数据库的扩充,另一方面,地理空间数据库突破了传统的数另一方面,地理空间数据库突破了传统的数据库理论,如将规范关系推向非规范关系。据

25、库理论,如将规范关系推向非规范关系。而而传统数据库系统只要针对简单对象,无法传统数据库系统只要针对简单对象,无法有效的支持复杂对象(如图形、图像)。有效的支持复杂对象(如图形、图像)。1、传统数据库管理的是不连续的、相关性较小的数、传统数据库管理的是不连续的、相关性较小的数字和字符;而地理数据是连续的,具有很强的空间字和字符;而地理数据是连续的,具有很强的空间相关性。相关性。2、传统数据库管理的实体类型少,并且实体类型之、传统数据库管理的实体类型少,并且实体类型之间通常只有简单固定的空间关系;而地理空间数据间通常只有简单固定的空间关系;而地理空间数据库的实体类型繁多,实体类型之间存在着复杂的空

26、库的实体类型繁多,实体类型之间存在着复杂的空间关系,并且能产生新的关系。间关系,并且能产生新的关系。一、传统数据库管理空间数据的局限3、传统数据库存贮的数据通常为等长记录的、传统数据库存贮的数据通常为等长记录的原子数据;而地理空间数据通常是结构化的原子数据;而地理空间数据通常是结构化的,其数据项可能很大,很复杂,并且变长记,其数据项可能很大,很复杂,并且变长记录。录。4、传统数据库只操纵和查询文字和数字信息、传统数据库只操纵和查询文字和数字信息;而地理空间数据库中需要有大量的空间操;而地理空间数据库中需要有大量的空间操作和查询,如特征提取、影像分割、影像代作和查询,如特征提取、影像分割、影像代

27、数运算、拓扑和相似性查询等。数运算、拓扑和相似性查询等。一、传统数据库管理空间数据的局限二、面向对象的数据库设计 关系理论的研究与应用都已经比较成熟,面向对象方法学更是在现代软件的设计和开发中发挥了至关重要的作用。如何将两者结合来设计数据库系统也是当前研究的热点。 基于空间数据面向对象的特性,在利用RDBMS存储空间数据时,我们显然希望结合两者的优点,设计出符合要求的数据库系统。 关系模型描述关系时,采用的是”实体关系”模型(E-R模型),使用SQL语句进行检索,侧重点是对象之间属性的聚集。 但是,空间数据的之间的空间关系往往是多对多的、错综复杂的关系。 因此在描述这种关系时,目前的关系模型就

28、不是很理想了,要完成空间关系的查询还相当的困难。二、面向对象的数据库设计 面向对象理论,以抽象性、封装性、多态性来描述对象。对象具有方法和属性,对象之间的关系是通过消息机制来沟通的。用面向对象的方法来处理空间物体之间的关系是比较自然的。 OpenGIS定义了一组空间关系算子,包括了各种对象的空间关系。在对象中实现了这些算子,基本上就可以描述对象之间的空间关系了。对象的空间位置判断已经有了一些比较成熟的算法和程序。二、面向对象的数据库设计 关系模型侧重于描述对象的外在联系,反映的是对象的聚集。 面向对象可以处理对象之间的关系,但处理对象的属性的能力又不如关系模型。 当前的地理信息系统中,真正实现

29、空间数据与属性数据一体化管理是有一些不足的。使用SQL语句难以做到空间关系和属性特征联合查询。二、面向对象的数据库设计基本思想:基本思想: 对问题领域进行自然的分割,以更接近人类通常思维的方式建立问题领域模型,以便对客观的信息实体进行结构模拟和行为模拟,从而使设计出的系统尽可能直接的表现问题求解的过程。 面向对象的数据库系统就是采用面向对象方法建立的数据库系统。二、面向对象的数据库设计三、面向对象数据库系统的特性 1、对象:由状态和行为组成,提供一组模拟信息实、对象:由状态和行为组成,提供一组模拟信息实体的数据结构,一组操纵信息实体的方法和一组定义体的数据结构,一组操纵信息实体的方法和一组定义

30、数据一致性状态的约束条件。数据一致性状态的约束条件。 2、对象类:具有相同的属性和方法的对象的集合。、对象类:具有相同的属性和方法的对象的集合。它提供一组模拟信息实体的数据结构,一组操纵信息它提供一组模拟信息实体的数据结构,一组操纵信息实体的方法和一组定义数据一致性状态的约束条件。实体的方法和一组定义数据一致性状态的约束条件。3、封装性与数据隐藏。、封装性与数据隐藏。 对象由类型定义的方法操对象由类型定义的方法操纵,其内部结构对于外部是隐藏的。纵,其内部结构对于外部是隐藏的。4、继承性。由类的抽象可以构成类层次,类层次中、继承性。由类的抽象可以构成类层次,类层次中的子类可以集成父类的数据与行为

31、。超类的特殊化的子类可以集成父类的数据与行为。超类的特殊化为子类,子类的概括化形成超类。继承性自动维护为子类,子类的概括化形成超类。继承性自动维护类层次中的关系。类层次中的关系。三、面向对象数据库系统的特性7、对象标识。系统为对象定义并维护唯一的、对象标识。系统为对象定义并维护唯一的标识符,这一对象独立于对象本身的内容和地标识符,这一对象独立于对象本身的内容和地址,并支持对象的共享。址,并支持对象的共享。5、永久性。数据应当长久存贮,并且能为应用程、永久性。数据应当长久存贮,并且能为应用程序交叉使用。序交叉使用。6、并发性。多个用户可以同时访问和使用同一个、并发性。多个用户可以同时访问和使用同

32、一个数据库,并且能进行交互。数据库,并且能进行交互。三、面向对象数据库系统的特性9、恢复功能。当系统发生故障或损坏时,它应当能将、恢复功能。当系统发生故障或损坏时,它应当能将系统恢复到以前的某种特定状态。系统恢复到以前的某种特定状态。10、查询语言。它应使用一种易用的高级语言访问和、查询语言。它应使用一种易用的高级语言访问和查询实体信息。查询实体信息。8、事物管理。它应能监视数据库的交互过程,确保数、事物管理。它应能监视数据库的交互过程,确保数据的一致性、正确性和稳定性。据的一致性、正确性和稳定性。11、辅存管理。它应提供一组用于改善访问性能的高、辅存管理。它应提供一组用于改善访问性能的高效结

33、构和算法,包括索引管理、数据聚集、数据缓冲效结构和算法,包括索引管理、数据聚集、数据缓冲区、查询路径选择以及查询优化等。区、查询路径选择以及查询优化等。三、面向对象数据库系统的特性 12、多态性。数据和成员函数都可以在运行时刻动态、多态性。数据和成员函数都可以在运行时刻动态的理解成不同含义。这是用重载和动态联编实现的。的理解成不同含义。这是用重载和动态联编实现的。13、复合性。一组对象可以是另一个对象的一部、复合性。一组对象可以是另一个对象的一部分。分。14、消息传递。对象之间的交互是通过消息激活、消息传递。对象之间的交互是通过消息激活对象中的方法来实现的。它增强了系统的模拟能对象中的方法来实

34、现的。它增强了系统的模拟能力。力。三、面向对象数据库系统的特性四、面向对象数据库系统的分析和设计 1、问题定义、问题定义2、系统分析、系统分析3、系统设计、系统设计4、详细设计、详细设计1 1、问题定义、问题定义 提出一些全局性问题,查明开发意图和开发目标。 包括: 系统的用户 系统要解决的问题 系统的目的 完成期限 2 2、系统分析、系统分析 了解系统的应用领域,建立三种模型: 对象模型 动态模型 功能模型(1 1)问题描述)问题描述 对系统功能作简要的描述,着重描述系统必须具有的最少功能。 问题的描述可能是不完备或者不严格的,可以在以后进一步修改。(2 2)建立对象模型)建立对象模型 三种

35、关系: 归纳关系继承关系 组合关系聚合关系 关联关系依赖关系 继承关系: 继承是两个类之间的一种关系,当一个类拥有另一个类的所有数据和操作时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。父类父类子类子类 聚合关系: 具有不同的状态和方法的对象集合在一起形成一个更高层次的复杂对象。分子对象与复杂对象的关系是“partof”关系,反过来讲是“hasa”的关系。 组合关系: 也称联合关系。它将具有某种关系的同一类对象联系在一起,形成一个更高层次的集合对象。组合是聚合的特殊形式,形成的集合对象与成员对象之间的关系是“member一of”关系,反

36、过来讲是“containsa”。 同生死,共存亡 关联关系:关联是指对象之间通常以某种方式或者多种方式发生联系。例如,土地所有者与土地之间是存在“属于”的关联关系 建立步骤: 识别对象类 识别关联 划分主题 确定属性 识别继承关系 反复修改完善(2 2)建立对象模型)建立对象模型识别对象类: 找出候选对象类 找出陈述中的名词、名词短语、被动语态中省掉的主语、隐含在问题陈述中或一般知识中的对象类。 删除不正确或不必要的对象类 从候选对象类中删除冗余类、无关的类、笼统的类、对象的属性、既可表对象又可表方法的类、与实现无关的类识别关联: 找出所有可能的关联 在问题陈述中找出动词词组表示的关联、隐含的

37、关联、对象间的依赖关系隐含的关联、一般知识总结的关联 删除不正确或不必要的关联 排除已经删除的类的关联、与问题无关的关联、瞬时事件而非镜头结构特征的关联划分主题 为降低大型系统的复杂度,将系统划分为若干个主题,将对象组织到相应的主题 主题的划分以问题领域为依据,而不是按功能划分 划分的主题间应该有最小的对象相互间依赖和最少的对象间交互确定属性 找出所有的可能属性 找出问题陈述中名词词组描述的属性 删除不必要或不正确的属性 删除调本来是对象的属性、本来是连接的属性、某些限定、某些内部状态、过细的属性、不一致的属性识别继承关系 自底向上 从已有的类中抽取出共同的性质建立一个新类的过程,与归纳思维一

38、致 自顶向下 从已有的类中派生一个更具体的类的过程,与演绎思维一致(3 3)建立动态模型)建立动态模型 动态模型描述对象间的时间交互性,出现的不同事件以及对象对这些时间的相应。 典型的数据库应用是存储和检索,因此动态模型对于数据库应用程序来说并不重要(4 4)建立功能模型)建立功能模型 功能模型描述了对象模型和动态模型的操作 通常,功能模型由一组数据流图组成3、系统设计 设计系统的体系结构 选择一个外部控制的实现方法 选择数据管理方法和数据库管理模式 确定重用范围 选择数据交互的策略 选择一种对象标识方法 处理临时数据 处理辅助数据设计系统的体系结构 体系结构设计的原则有: 区分操作型和决策支

39、持型的应用 对大型系统进行分层和分区 分隔应用程序和用户界面 用数据库查询替代程序代码 考虑应用间的接口等选择一个外部控制的实现方法 即如何从外部控制一个应用程序,应用程序如何与用户及其他应用程序交互 外部控制方式有: 过程驱动:简单,输入请求,等待输出 事件驱动:精练用户,事件发生时调用,结果返回程序 并发控制:实现并发性,协调多个应用程序 说明性控制:基于规则的系统应用较多,由一个说明性语句导出隐含的控制流选择数据管理方法和数据库管理模式 方法: 文件 数据库 混合 数据库系统管理模式: 层次 网状 关系 面向对象确定重用范围 包括: 代码重用 设计结果重用 分析结果重用选择数据交互的策略

40、 主要策略有: 批预处理和后处理程序 脚本文件 嵌入OODBMS命令 嵌入静态SQL 定制API接口 .选择一种对象标识方法 基于实体的标识 由系统生成对象标识符 面向对象的DBMS,必须使用基于实体的标识 基于值的标识 使用某些属性的组合标识每个对象4、详细设计 使用变换来简化和优化分析阶段的对象模型 补充漏掉的细节,进一步完善对象模型 详细设计模型质量的评估五、面向对象数据库系统的实现方式1、扩展面向对象程序设计语言(、扩展面向对象程序设计语言(OOPL),在在OOPL中增加中增加DBMS的特性的特性2、扩展、扩展RDBMS,在其中增加面向对象的特性在其中增加面向对象的特性3、建立全新的支持面向对象数据模型的、建立全新的支持面向对象数据模型的OODBMS方法:扩展面向对象程序设计语言(方法:扩展面向对象程序设计语言(OOPL),在在OOPL中增加中增加DBMS的特性的特性 例如:典型的例如:典型的OOPL C+。用标准的用标准的C+代码定代码定义类和函数并主动提供数据字典的概念,使数据能动义类和函数并主动提供数据字典的概念,使数据能动态定义。在态定义。在OODBM中增加处理和管理地理信息数据中增加处理和管理地理信息数据的功能,则可以形成地理信息数据系统。在这种系统的功能,则可以形成地理信息数据系统。在这种系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论