地理信息系统第九讲:空间数据库技术(上)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系数据库的连接和查询
(1)关键字段与关键字段的联结(土地代码)
土地 代码 14536 14661 14663 面积 所有 者 S.Enge l G.Leed s S.Enge l J.Maus H.Stei n 是否 登记 是 否 是
土地代 码 14536 14661 14663 14665 14667 登记日 期 85年7 月 90年8 月 90年8 月 82年6 月 70年5 月 土地利 用类型 居住 居住 工业 农业 农业
14536
14661 14663 14665 14667
350
399 399 280 141
S.Engel
G.Leed s S.Engel J.Maus H.Stein
是
否 是 否 是
关系数据库的连接和查询
2、空间信息系统数据库查询 运算符号
可以应用一系列不同的算符来构建数据库查询 。 +、-、*、/ 标准逻辑算符为: = 、 <> 、 >= 、 <= 、 > 、 < CN 包含 NC 不包含 LK 相似 IN 数字字段包含
关系模型
关系数据库表的规则
1、表中的每一个属性必须有一个唯一的名字。
2、行的顺序不是重要的影响因素。 3、任意两个记录(行)不能完全相同。 4、每一个属性应仅包含一个值。
数据库的查询和分类
1)数据库查找程序 通常,查找一个数据库文件是一个连续的 过程。计算机从文件开始进行查询,直到 找到需要的项目为止。这种方式可行,但 效率相当低。如果文件记录较少,不会出 现太多问题;如果记录较多,需要很长的 时间才能找到信息;如果文件已按一个已 知的顺序分类 ( 排序 ) ,如升序,可以应用 其它速度较快的查找程序。
关系数据库的连接和查询
2 )关系数据库和SQL进行数据库查询的一个例子 表2-Site Information Parcel_No 34651 34652 34653 34654 34655 ……. Address George St. Adam St. Henry St. Park Ave. Station Rd. …………. SITE.DAT Area 1540 2200 9500 0950 1450 …… No_of Properties 12 03 01 03 10 …
关系数据库的连接和查询
在这个例子中应用RELATE命令 Arc: RELATE ADD Relation name: soil_details Table identifier: soil_data.dat Database name: INFO Relate column: soil_type Relate Type : soil_type Relate Access: rw
在ARC/INFO中使用的表格间对应关系 1)ARC/INFO的联结方法 (1)线性联结 两表中的连接字段可以以任何顺序排列,使用顺 序搜索法,最慢的选择,但最可靠。 (2)排序联结 第二个表格按关键字段排序(关系列),第二个表 格进行二进制搜索,相对快的选择。 (3)直接联结 两表一任意顺序排列,第二个表格的内部记录号码 为联结项,直接连接第二个文件,很快,但风险性大 。
数据库的查询和分类
一旦数据通过分类建立起其结构,二分法 查找程序给出了计算机怎样快速查找数据 的典型例子。这个程序概括为下列算法: (1)把资料组分为两部分;
(2)记录在前半部分还是在后半部分?
(3)放弃不需要的一半;
(4)重复上面的操作。
关系数据库的连接和查询
1.关系数据结构中表格的联结(p195) 通过将表格中的内容减至最少,可以节 省储存空间、避免错误。表格的联结则 允许通过为信息管理建立一个灵活有效 的结构,以使数据结构达到最大效率。 为有效地实现这一点,需要建立和安排 表格间的对应关系;维持表格间的对应 关系和用对应的观点来研究联结 (1:1,N:M,N:1)(p205)。
层次模型
优点:存取方便、容易理解等。
缺点:结构呆板、要保留大量的索引 文件、数据冗余。
网络模型
网络模型 用连接指令或指针来确 定数据间的显式连接关系,且具有多 对多类型的数据组织方法。
网络模型
2 a 1
Ⅰ
b c 4
3
e
ⅡLeabharlann Baidu
5 f 6
Ⅰ
M
d
g
Ⅱ
地图M
a
1 2
b 3
c d 4
e 5
f 6
g
网络模型
关系数据库的连接和查询
2 )SQL数据库查询的句法
SQL查询的基础句法是: SELECT{数据字段} FROM{表格} WHERE<字段>Expression<值> 例如: SELECT soil_type, soil_name FROM soils.dat, soils.info WHERE soil_name eq “Sandy Loam”
关系数据库的连接和查询
2 )关系数据库和SQL进行数据库查询的一个例子
如果我们现在想选择所有满足下列要求的土地: 价值大于25000,其上有5个或多于5个房产,查询 过程如下: SELECT VALUE, NO_OF_PROPERTIES FROM PARCEL.DAT, SITE.DAT WHERE VALUE gt 25000 OR NO_OF_PROPERTIES>=5
350
399 399
14665
14667
280
141
否
是
关系数据库的连接和查询
(2)非关键字段与关键字段的联结
土地代 码 14536 14661 14663 14665 14667 面积 所有者 是否登 记 是 否 是 否 是 姓名 S.Engel G.Leeds 地址 15 Ley Street 22 Sunrise Ave 49 Poplar Road 83 Holbroo k Rd 电话 5673821 4453421
关系数据库的连接和查询
2.结构化查询语言(SQL)
SQL 是为数据库查询的设计和执行而专门设计 的一种标准化语言。像其它的程序语言( C,FORTRAN)一样,它独立于运行于其上的数 据库。SQL可以应用于任何支持它的数据库。可 以进行独立的、分散的数据库的连接。SQL使用 者不需要特别注意他人所使用的数据库软件包, 因为SQL提供了数据库查询的标准方法。
350
399 399 280 141
S.Engel
G.Leed s S.Engel J.Maus H.Stein
J.Maus
H.Stein
4774768
6754491
关系数据库的连接和查询
(3)非关键字段与非关键字段的联结
土地代 码 面积 所有者 是否 登记 交换 代码 14231 14235 14236 14260 14266 14268 姓名 S.Engel G.Leed s S.Engel J.Maus H.Stein H.Stein 时间 14.50 14.50 15.23 15.40 15.41 16.22
Ⅰ a Ⅱ c
x1 x2
b e
y1 y2
c f
d g
线
Ⅰ Ⅰ Ⅰ Ⅱ Ⅱ Ⅱ Ⅱ
点
2
3
4 5
x3
x4 x5
y3
y4 y5
6
x6
y6
关系模型
优点:结构特别灵活,可以满足所有 用布尔运算和数学运算规则形成的询 问要求;能搜索、组合、比较不同类 型的数据。 缺点:许多操作都要求在文件中顺序 查找满足特定关系的数据,可能花费 很多时间。
优点:明确而方便的表示数据间的复 杂关系,数据冗余小。 缺点:指针数据增加数据量,指针的 建立和维护是非常大的任务。
关系模型
关系模型 以记录组或数据表的形式 组织数据,不分层也无指针。
2 a 1
Ⅰ
b
3
e
Ⅱ
5
关系模型
地图M
c
4 g
f
6
d
地图M
Ⅰ
Ⅱ
多边形
Ⅰ a b c d e f c g 1 2 3 4 3 5 3 6 2 3 4 1 5 6 4 4 1
关系数据库的连接和查询
ARC/INFO中使用的表格间对应关系 ARC/INFO联结:连接程序例子。
表一:soil_zones.dat
Soils_id Soil_typ e (土壤 类型) Slope
表二:Soil_data.dat
Soil_typ e Acidit y Drainag e Classific ation
关系数据库的连接和查询
1 )关系数据库和SQL进行数据库查询的一个例子
如果现在想选择所有满足下列要求的土地:属于 C. Lawrence,价值大于30000,土地利用类型为非居住 用地,查询过程如下: SELECT OWNER, VALUE,USE FROM PARCEL.DAT WHERE OWNER eq C. Lawrence AND VALUE gt 30000 AND NOT LAND USE =RESIDENTIAL 或者 WHERE OWNER = C. Lawrence AND VALUE >30000 AND NOT LAND USE NE RESIDENTIAL
第九讲:空间数据库技术(上)
数据模型
数据模型 主要是指用来管理和存 贮空间数据的数据库模型。常用的数 据模型有:层次模型、网络模型、关 系模型、面向目标模型。
层次模型
学校 系
学生
老师
课程
层次模型
2 a 1
Ⅰ
b c 4
3
e
Ⅱ
5 f 6
Ⅰ
M
d
g
Ⅱ
地图M
a
b
c d c e
f g
1 2 2 3 3 4 4 1 3 43 5 5 6 6 4
(土壤 ID码)
(坡度 )
(土壤 类型)
酸度
排水性 别
等级
关系数据库的连接和查询
ARC/INFO中使用的表格间对应关系
2)Arc/Info联结-RELATE命令 RELATE 命 令 用 来 建 立 和 管 理 表 格 间 对 应 关 系 。 RELATE命令在两个ARC/INFO表格间创建暂时的联结。 (1)RELATE ADD命令用来定义一种对应关系。 Arc: RELATE ADD Relation name: 对应关系的名称 Table identifier: 连接至的表格 Database name: 数据库的名称 Relate column: 联结自的字段 Relate Type: 联结至的字段 Relate Access: 进入权限
关系数据库的连接和查询
2 )关系数据库和SQL进行数据库查询的一个例子
查询的结果将会以一个新的表格的形式显示出来。
Parcel_No 34675 34653 34655 ……. VALUE 25000 32600 88500 …….. NO_OF_PROPERTIES 20 01 10 …
关系数据库的连接和查询
关系数据库的连接和查询
2、空间信息系统数据库查询
布尔逻辑算符 AND 、OR 、NOT 其它算术符类型 大部分的信息系统允许使用基于空间关系的一些特殊查 询类型。例如:A CONTAINS B 表示物体A包含物体B ,如果物体B的中心在物体的A的边界范围内,则: A CONTAINS ENTIRE B 如果B的边界完全在A的边界范围内。WITHIN A CONTAINS ENTIRE B,如果A的中心在物体B的边界 范围内ENTIRELY WITHIN A CONTAINS ENTIRE B A INTERSECTS B
关系数据库的连接和查询
1)SQL组成 SQL系统包括三个不同的组成部分: .数据定义语言(DDL) .数据操作语言(DML) .数据控制语言(DCL) DDL 用于定义数据库的内容 — 属性名称 、类型、储存特点。描述性信息( metadata)也在此建立。 DML 用于数据库查询 — 输入、编辑、分 析、输出。 DCL用于控制数据库的进入。
数据模型
目前关系模型应用最多。面向目标 模型正在迅速发展之中(在下一节讲)。
关系模型
关系和域概念
关系 : 一个关系可看作一个表格。
域 : 一个值系列(如某一产业)。 记录 : 数据库表中的一行或多行(如 产业构成)。
关系模型
关键字段
关键字段是用来访问表中记录的 被特殊定义的字段。它可由单个 属性或一系列属性组成。关键字 段是独一无二的,并且是不能重 复使用的(如土地编号和土地代 号等)。
关系数据库的连接和查询
1 )关系数据库和SQL进行数据库查询的一个例子 表1-Land Parcel Records Parcel_No Owner 34651 D. Smith 34652 C. Lawrence 34653 D. Lewsley 34654 S. Bishop 34655 C. Lawrence PARCEL.DAT Value Use 15000 Residential 22500 Industrial 32600 Agricultural 24300 Residential 88500 Commercial