摘要: 一、关系数据库与SQL 1.关系模型 关系数据库建立于关系模型之上,关系模型是用二维与层次和网络模型相比,关系模型是目前商业化的GIS最常用的数据模型。 2.SQL查询语言 结构化查询语言SQL是基于关系运算的数据库操作与程序设计语言。SQL的前身是IBM的关...
一、关系数据库与SQL
1.关系模型
关系数据库建立于关系模型之上,关系模型是用二维与层次和网络模型相比,关系模型是目前商业化的GIS最常用的数据模型。
2.SQL查询语言
结构化查询语言SQL是基于关系运算的数据库操作与程序设计语言。SQL的前身是IBM的关系数据库管理系统System-9上的SEQUEL。IBM的SQL/DS及DB2全采用这种语言。目前,美国国家标准化协会(ANSI)已把SQL作为关系DBMS标准语言的基础,国际标准化组织(ISO)也采纳同样的建议。
SQL像所有的关系数据操纵语言——是一个集合级的语言,它的M纵对象与结果都是表。这样的集合级语言有时被描述成非过程化的,在此范围中用么而不是怎样做。
SQL语言按功能分为三个组成部分,即数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)。现以数据定义语言和数据操纵语言的部分主要句为语言和操作。
二、Maplnfo中的SQL查询
Maplnfo是以二维关系表的形式组织地理数据的属性数据,Maplnfo的SQL查询命令可以完成各种基于关系表的信息的组织、分析、汇总等操作。同时,作为一个GIS软件,Maplnfo的SQL查询命令中包含有许多月于空间分析的函数和操作。
1.MAPINFO的SQL对话框
Maplnfo中SQL查询的实现是通过SQL对话框完成的,SQL对话框主要有六个组成部分:
(1)选择列:该栏的默认值是一个 * 号,表示查询结果表中包含所有基表中的属性字段,但是你完全可以(同时也是必要的)根据需要用你选择的列代替 * 号。夕间以逗号隔开,列名可以从右侧的名为columns 的下拉列表框中选取。
(2)来自表:这是你首先要填的栏目,因为所有SQL查询都是针对于某一个或若干个基表完成的。同样,表名可以从右侧名为Tables的下拉列表框中选取,多于一个基表时,每个表之间以逗号(,)隔开。
(3)条件:该栏用于填写你的查询条件
(4)按列分组:该栏对于数据的统计、汇总和求平均值非常有用。该栏经常与Select columns栏中使用到的聚合函数配合使用。
(5)按列排序:该栏用于对查询表中的记录进行排序,通过该栏可以进行升序、降序以及嵌套排序等。
(6)结果存入表:在此你可以为查询结果进行命名。但无论何时,查询结果表都是一个临时表,除非你通过Save as命令将其存为普通表。
2.使用SQL进行地理查询
(1)地理联结
(2)距离量算
(3)寻找最近点
(4)按比例叠置
(5)使用子查询(嵌套查询)