ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

地理数据库存储基于关系原则

  • 在关系数据库管理系统中实现更高级的对象和行为
  • 应用程序逻辑属于哪里?

地理数据库存储模型以数据库管理系统原则为基础,并采用了一系列简单而必要的关系数据库概念。数据库管理系统(以及文件地理数据库的文件系统)为使用表存储信息和使用表中的信息提供了一种简单而正式的数据模型。

以下是几个重要的概念:

  • 数据以表的形式存储。
  • 表包含行。
  • 表中所有行具有相同的列。
  • 每一列都具有一种类型,例如整型、小数型、字符型或日期型。
  • 通过关系将一个表中的行与另一个表中的行相关联。这种关联通过每个表中的公共列来实现。
  • 表存在关系完整性规则。例如,各行始终具有相同的列、具有列的有效值或值范围的域等等。

对于存储在关系数据库中的企业级地理数据库,还具有许多其他功能:

  • 可使用结构化查询语言 (SQL)(即一系列关系函数和运算符)对表及其数据元素进行操作。
  • SQL 运算符用于对通用关系数据类型(整型、十进制数字型、字符型和日期型)进行操作。

例如,要素类以数据库管理系统表的形式存储。每一行表示一个要素。每一行中的各列分别表示要素的各种特征或属性,并且其中一列用于存储要素几何(例如,点、线或面坐标)。

用于存储 shape 字段中几何数据的列类型随数据库管理系统的不同而变化,但通常为扩展的空间类型。例如,至少一个用于存储要素的空间类型适用于 ArcGIS 支持地理数据库的所有数据库管理系统。使用空间类型可增加对使用 SQL 访问要素的支持,符合针对空间类型的国际标准化组织 (ISO) 和 开放地理空间联盟 (OGC) 标准。

SQL 作用于表中的行、列和类型。数据库管理着这些简单的数据类型和表,而 ArcGIS 中的其他应用程序逻辑可以实现更为复杂的对象行为和完整性约束。

在关系数据库管理系统中实现更高级的对象和行为

如果开发人员想要实现具有行为和逻辑的更高级的对象,可以通过编写应用程序代码来完成。例如,某组织可以实现一个如下所示的 Employees 表:

Last NameFirst NameHire DateSalary

Brown

Ben

10-10-2001

$10,000.50

Jones

Betty

06-14-1998

$22,000.00

Smith

Jason

08-23-1999

$44,000.75

Employee 表

Employees 表是一个由行和列组成的简单关系数据表。每列中的数据符合某一特定的数据类型,如字符、日期和数字。数据库是在这一级别处理信息。

但是,只是将该信息添加到表并不会使数据库变为工资单或雇员管理系统。同样,添加用于存储具有两个小数位数值的 Salary 列也无法将数据库变成会计核算系统。此时需要更高级的应用程序逻辑。

举例来说,可以实现以下逻辑来支持人事活动:聘用、实施加薪、雇员辞职、晋升和管理福利。为雇员及其姓名、薪水以及聘用日期构建的业务对象不会作为关系对象来实现。要实现这些业务对象的行为以及完整性约束,需要使用更复杂且更有针对性的应用程序逻辑。

GIS 中广泛应用了相似的业务对象。例如,拓扑、网络、线性参考系和 terrain 都是 GIS 用以基于数据库中所存储的简单空间表现形式来实现 GIS 行为的高级对象。

与其他数据库管理系统应用程序一样,对于 GIS 应用程序来说,只是包含具有空间列类型的表是不够的。要构建完整的地理信息系统,需要同时使用上述两组对象,即简单数据库列类型对象以及地理数据库应用程序对象(如拓扑)。

应用程序逻辑属于哪里?

无数的数据库管理系统实现已有力证实,对表中的行和列类型起作用的单独应用程序层适用于高级应用程序。例如,所有广泛采用的客户信息系统 (CIS)、企业资源规划 (ERP) 系统和会计程序包都在应用程序层实现高级应用程序逻辑,这实现了更强的开放性和扩展性、更高的性能、更丰富的工具集和增强的灵活性。

用户通过绝大多数操作的应用程序逻辑与这些系统交互并在这些系统中执行事务,并且仅使用结构化查询语言 (SQL) 进行重点(和适当的)活动。

分离数据层之上的应用程序逻辑还允许将相同的逻辑应用于数据库管理系统、文件、可扩展标记语言 (XML) 和其他数据存储备选方法。这使得此架构更加开放。例如,ArcGIS 中的地理数据库应用程序逻辑还用于读取和处理所有地理数据源(如计算机辅助绘图 (CAD) 数据、shapefile、MapInfo 数据、Intergraph GeoMedia 文件和地理标记语言 (GML) 文件)。

保留此更高级别逻辑的其他方法包括作为数据库管理系统中的存储过程和数据库触发器或作为数据库中的扩展类型保留。

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明