1.7 创建数据模型
设计Geodatabase 与其它数据库原理是基本上一致的。因为Geodatabase
属于关系数据库的一种,只不过Geodatabase 中存储的是地理数据。 Geodatabase
通过描述一个基于对象的数据结构,扩展并简化设计流程,在这个结构中,描述了地理要素的空间和拓扑关系。这个结构中有一部分是专门用于将地理对象集成表达为有机系统的,如:河流和道路网络、或者地块集。这样的结构叫做拓扑。
Geodatabase 数据模型构建了“人们对现实世界周围对象认识的理解”和“ 这些对象在关系数据库中如何存储”
的桥梁。 1.7.1 Geodatabase 设计
一般来说,关系数据库设计需要两个基本步骤:数据逻辑模型的结构化和数据模型的物理实现。
逻辑数据建模体现数据的用户视图,数据库建模则在关系数据库技术的框架中物理实现数据模型。
1.7.2 数据逻辑模型设计 建立数据逻辑模型的关键任务是准确定义有意义的对象集并明确它们之间的关系。
你考虑的对象,可能是比如街道、地块、所有者和建筑物这样的事物。那么对应它们之间关系的一些描述就是“位于”、“被拥有”和“是一部分”等。
在原始逻辑数据模型设计完成后, 可以提交给用户,进行下一进程的需求分析,确定用户对数据录入、更新和访问的要求。
设计逻辑数据模型是个反复的过程, 通过不断的实践可以获取到最终的“艺术”成果。
不存在绝对“正确”的模型,只能说某个模型适合还是不适合。要确认数据模型是否完全符合需求是非常困难的!可以回答以下三个问题,如果你的答案都是肯定的,那么意味着你所创建的模型已经很不错了:
- 逻辑数据模型表现了所有数据,且没有冗余
- 逻辑数据模型支持业务流程?
- 逻辑数据模型满足不同用户组的数据视图?
1.7.3 表达数据逻辑模型 先前,逻辑模型通常绘制为E-R
图。面向对象技术建模的前人推出了各种不同的设计方法和图表符号。E-R 图的一个不足之处是它们的表现形式会被设计方法左右。 现今,大部分面向对象的建模者已经开始采用统一建模语言(UML),UML
是表达对象模型的标准符号。UML 已被主导软件公司和数据库厂家所认可。 需要提醒的是,UML
不是设计方法,而是一个绘图符号。UML 支持面向对象的设计方法,并且按照标准方式表达数据模型。 本书是使用UML
绘制ArcInfo 对象模型图( 也称为ArcObjects)的。同样,如果需要绘制定制的Geodatabase 对象模型,也使用UML。
1.7.4 物理模型实现 物理库模型由逻辑模型创建而得。一般情况下,关系型数据库专业开发者从数据建模者那儿得到逻辑模型后,
使用数据库管理工具来定义数据库方案(schema) 并创建新数据,为数据输入做好准备。 数据库物理设计跟逻辑模型设计虽然有很多相似之处,但是也存在很多区别。逻辑模型中设计好的类和对象在物理表中实现的时候经常会被拆分获者合并。规则和关联类也可以使用多种方式表达。
Geodatabase 的一个显著优势在于它不是仅仅实现数据的物理配置而已, 你可以在Geodatabase
中构建与逻辑模型相近的物理结构。
1.7.5 逻辑模型和数据库模型中的元素 下图中表示的是数据逻辑模型中的元素以及它们相应的数据库中的元素:
逻辑模型是对人类生产应用中所处理的对象的一种抽象。这种抽象被具体成数据库中的元素。
比如,对象(Object) 都代表某个实体,如一栋房子、一条河流,或消一名费者。对象用行来组织存储。对象具有一系列的属性。属性值体现对象的特征,比如对象名称、度量值、等级。属性以列(或字段)的形式存储在一个数据库中。
类(Class) 是相似对象的集合,类中的每一个对象都具有相同的一组属性。类以表的形式存储在数据库中。表中的行、列构成一个二维矩阵。
1.7.6 复杂数据处理 由于关系数据库是基于简单、智能和易于理解的理论基础建立的,所以在商业推广上,它们具有优势。当然,这种简化可以理解为优点,也可以看作是短处——
建立关系数据库的概念是很简单的,但是在对复杂数据建模的时候,就会有些困难。 Geodatabase
包含有复杂的地理数据。构成线要素和面要素的一系列坐标形状是不能用标准类型的字段(如:整形,实数,字符串)来表示的。并且,在地理数据库中,要素一般都是具有一定的拓扑关联、隐含的空间关联或者普通关联的。
关系数据库是Geodatabase 的基础。Geodatabase 的目的是使用独立于关系数据库的统一的数据模型来处理复杂的地理数据。本书第十二章,“Geodatabase
设计指南”, 将进一步介绍Geodataabase 设计方法。 1.7.7 Geodatabase
设计原则 使用Geodatabase,你可以设计和地理数据库的逻辑概念模型非常相近的数据库——Geodatabase
是用要素集、要素类、拓扑关系、关联类和其它元素组织的。对于ESRI 的数据模型的开发人员来说,这也是在ArcInfo 中引入Geodatabase
数据模型的基本原因。 以下是Geodatabase 设计的基本步骤:
1. 数据的用户视图建模。和用户交流, 了解用户结构,解析用护的业务模型。
2. 定义对象和关联。使用对象集和创建逻辑数据模型,并定义它们之间的关联。
3. 选择地理描述方式。对有意义的数据采用确切的描述方式,如矢量、栅格、表面或Locator。
4. 与Geodatabase 元素匹配。将逻辑模型中的对象与Geodatabase 中的元素互相匹配起来。
5. 组织Geodatabase 结构。考虑地图专题、拓扑关联以及不同用户部门对数据的需求,创建Geodatabase。
|