空间数据库原理-3空间查询语言.ppt-2010-10-20
合集下载
第四章 空间查询语言
![第四章 空间查询语言](https://img.taocdn.com/s3/m/cfa5e80403d8ce2f00662337.png)
USA
NAM
270.0
8003.0
75.75
Polygonid-4
4.2关系代数 二、投影运算
投影运算π是把表所有行的某 些列提取出来。如下面的关系 代数是把表Country中所国家 的名字检索出来:
Name (Country)
Name
Canada Mexico Brazil Cuba USA Argentina
4.3SQL基础 一、DDL
表结构修改语句:ALTER TABLE
ALTER TABLE CITY DROP COLUMN Pop 删除表“City”中的列“Pop” ALTER TABLE CITY ADD Pop INT 在表“City”中的增加列“Pop”,为INT型。 ALTER TABLE CITY ALTER COLUMN Pop FLOAT 将表“City”中的列“Pop”类型改为FLOAT型。
4.1标准化查询语言
什么是查询语言? 查询语言是在查询中用来描述哪些数据是我们所感兴 趣的内容的一种语言形式 例子: 自然语言,如英语,几乎可以用来表达所有的查 询 计算机程序语言,如JAVA,可以用来表达计算 后的结果查询 结构化查询语言(SQL),可以用来表达常用数 据类型的查询,但不能表达嵌套查询 图形化查询,如Web查询、地图交互式查询等
SELECT * FROM CITY WHERE CAPITAL=‘Y‟
RXS R.Pop S.Pop
4.2关系代数 六、连接运算
4.应用条件,即关系S中的人口数不超过墨西哥的国家:
RXS
R.Pop
S.Pop
……
Mexico Mexico Mexico
……
第三章__空间查询语言
![第三章__空间查询语言](https://img.taocdn.com/s3/m/1addc47ba26925c52cc5bf6d.png)
基本表的定义
示例 create table PROF ( PNO char[10], PNAME char(20) not null, SAL int, AGE int, DNO char[10], primary key (PNO), foreign key (DNO) references DEPT(DNO), check (SAL > 0))
格式 drop table 表名 示例 drop table DEPT 撤消基本表后,基本表的定义、表中数据、索 引、以及由此表导出的视图的定义都被删除。
查询示例关系
DEPT(D# , DNAME , DEAN) S(S# , SNAME , SEX , AGE , D#) COURSE(C# , CN , PC# , CREDIT) SC(S# , C# , SCORE) PROF(P# , PNAME, AGE, D# , SAL)
from PROF
where DNO = D01) where PNO = (select DEAN
from DEPT
where DNO = D01)
分组和聚集函数
分组命令 group by 列名 [having 条件表达式]
group by将表中的元组按指定列上的值相等的原则分组,然后在每 一分组上使用聚集函数,得到单一值。having则对分组进行选择, 只将聚集函数作用到满足条件的分组上。
命令
删除操作
delete from 表名 [where 条件表达式]
从表中删除符合条件的元组,如果没有where语句,则删除 所有元组。
示例
清除所有选课记录 delete from SC 删除王明老师所有的任课记录。 delete from PC where PNO in (select PNO from PROF where PNAME = “王明”)
空间数据库PPT课件
![空间数据库PPT课件](https://img.taocdn.com/s3/m/de1cf38a3b3567ec112d8a29.png)
空间概念和数据模型
• 数据抽象和数据建模 • 空间信息模型
– 概念模型 – 基于场的模型 – 基于对象的模型
• 空间数据类型、空间对象关系 • 两种拓扑关系代数:9IM,RCC
2021
1
数据库设计的三个步骤
• 概念模型
– 按用户的观点从现实应用中抽象出事物以及 事物之间的联系
• 逻辑建模
– 建立概念和联系的逻辑结构
– 联系:表达实体间的关联
• 一对一、一对多、多对多
2021
7
E-R图
姓名 学号 系别 课程名 先修课 主讲老师
学生 选修
实体
联系 成绩
2021
课程
属性
8
面向对象模型
• 现实世界被看作若干对象类(class),由属性 (attribute)来描述性质,方法(method)来 描述行为,通过关系(relationship)互相关联
2021
37
度量空间
• 设X是一个非空集合,如果已知X中任何一对元 素x,y,均给定一个实数d(x,y)与之对应,而且 满足下列条件
– d(x,y)>=0(非负); – d(x,y)=0x=y(到自身距离为0); – d(x,y)=d(y,x)(对称); – d(x,y)<=d(x,z)+d(z,y)(三角不等式)
– 类:现实中具有相同性质的对象的封装
– 属性:描述对象的性质
– 方法:修改对象的状态,体现对象的功能
– 关系:类之间的关联
• 聚合aggregation:整体-部分关系 • 泛化generalization:一般-特殊关系 • 关联association:其它关系
2021
9
category name
• 数据抽象和数据建模 • 空间信息模型
– 概念模型 – 基于场的模型 – 基于对象的模型
• 空间数据类型、空间对象关系 • 两种拓扑关系代数:9IM,RCC
2021
1
数据库设计的三个步骤
• 概念模型
– 按用户的观点从现实应用中抽象出事物以及 事物之间的联系
• 逻辑建模
– 建立概念和联系的逻辑结构
– 联系:表达实体间的关联
• 一对一、一对多、多对多
2021
7
E-R图
姓名 学号 系别 课程名 先修课 主讲老师
学生 选修
实体
联系 成绩
2021
课程
属性
8
面向对象模型
• 现实世界被看作若干对象类(class),由属性 (attribute)来描述性质,方法(method)来 描述行为,通过关系(relationship)互相关联
2021
37
度量空间
• 设X是一个非空集合,如果已知X中任何一对元 素x,y,均给定一个实数d(x,y)与之对应,而且 满足下列条件
– d(x,y)>=0(非负); – d(x,y)=0x=y(到自身距离为0); – d(x,y)=d(y,x)(对称); – d(x,y)<=d(x,z)+d(z,y)(三角不等式)
– 类:现实中具有相同性质的对象的封装
– 属性:描述对象的性质
– 方法:修改对象的状态,体现对象的功能
– 关系:类之间的关联
• 聚合aggregation:整体-部分关系 • 泛化generalization:一般-特殊关系 • 关联association:其它关系
2021
9
category name
第3章 空间查询语言(上)
![第3章 空间查询语言(上)](https://img.taocdn.com/s3/m/2f328b3010661ed9ad51f326.png)
注意:本例中用到的Point(0, Ci.Shape.y)是与 city的经度相同的赤道上的点。
示例8
8)查询:按其邻国数目的多少列出所有国家。
SELECT FROM WHERE GROUP ORDER ,Count() Country Co,Country Co1 Touch(Co.Shape,Co1.Shape) BY BY Count()
连接运算示例
1) R Name , pop (Country) 2)S=R(S是R的一个副本) 3)得到笛卡儿积R×S。R×S关系的模式(schema)为:
R×S R.Pop S.Pop
4)应用条件,即关系S中人口数超过墨西哥的国家:
R1 = (='Mexico') (R) U R (S.Pop>R1 .Pop) S (S.Pop>R1 .Pop) (R1 S)
示例1
1)查询:列出Country表中所有与美国(USA)相邻的国 家名字。
SELECT AS “Neighbors of USA” FROM Country C1,Country C2 WHERE Touch(C1.Shape,C2.Shape)=1 AND = 'USA'
目录
3.4
扩展SQL以处理空间数据
虽然RA和SQL都是功能强大的查询处理语言,但它们还 是有不足之处。数据库厂商采取了两个对策: 采用blob来存储空间信息,这种解决方案既低效又缺 乏美感,数据必须依赖于宿主语言的应用程序代码; 建立一种混合系统,空间属性存储在一个单独的操作 系统文件中,这样就无法利用传统数据库服务。 面向对象系统对扩展DBMS的功能来支持空间(复杂) 对象,扩展了关系数据库的面向对象特性,最终产生 对象关系数据库管理系统(OR-DBMS)的通用框架。 OR-DBMS的关键特性是它支持SQL的最新版本; SQL3/SQL99,这一版本支持用户自定义类型。 采用更贴近人们对空间理解的概念,提供更高层次的 抽象。引入面向对象中用户自定义ADT的思想。
示例8
8)查询:按其邻国数目的多少列出所有国家。
SELECT FROM WHERE GROUP ORDER ,Count() Country Co,Country Co1 Touch(Co.Shape,Co1.Shape) BY BY Count()
连接运算示例
1) R Name , pop (Country) 2)S=R(S是R的一个副本) 3)得到笛卡儿积R×S。R×S关系的模式(schema)为:
R×S R.Pop S.Pop
4)应用条件,即关系S中人口数超过墨西哥的国家:
R1 = (='Mexico') (R) U R (S.Pop>R1 .Pop) S (S.Pop>R1 .Pop) (R1 S)
示例1
1)查询:列出Country表中所有与美国(USA)相邻的国 家名字。
SELECT AS “Neighbors of USA” FROM Country C1,Country C2 WHERE Touch(C1.Shape,C2.Shape)=1 AND = 'USA'
目录
3.4
扩展SQL以处理空间数据
虽然RA和SQL都是功能强大的查询处理语言,但它们还 是有不足之处。数据库厂商采取了两个对策: 采用blob来存储空间信息,这种解决方案既低效又缺 乏美感,数据必须依赖于宿主语言的应用程序代码; 建立一种混合系统,空间属性存储在一个单独的操作 系统文件中,这样就无法利用传统数据库服务。 面向对象系统对扩展DBMS的功能来支持空间(复杂) 对象,扩展了关系数据库的面向对象特性,最终产生 对象关系数据库管理系统(OR-DBMS)的通用框架。 OR-DBMS的关键特性是它支持SQL的最新版本; SQL3/SQL99,这一版本支持用户自定义类型。 采用更贴近人们对空间理解的概念,提供更高层次的 抽象。引入面向对象中用户自定义ADT的思想。
第六讲 空间数据索引技术与空间查询语言(2)ppt课件
![第六讲 空间数据索引技术与空间查询语言(2)ppt课件](https://img.taocdn.com/s3/m/f39bb7d4f01dc281e53af0cd.png)
④ 查询:圣劳伦斯河能为方圆300公里以内的城市供 水,列出能从该河获得供水的城市。
⑤查询:求出河流在流经的各国境内的长度 ⑥查询:按其邻国数目的多少列出所有国家。
四、空间查询处理
过滤筛选步骤(Filter): 细化步骤(Refine): 用一个不精确的大致范围来进行查询,产生
一个满足条件的较小候选集合。对候选集合 中的对象进行精确的筛选,产生最终的查询 结果。
点四叉树的每个结点存储了一个空间点的信 息及孩子结点的指针。
(0,100) D (30,90)
B (10,75)
(100,100) N WN E
A
SWSE
F(80,70)
F BC E
A (45,45)
C (25,15) E(70,20)
D
(0,0)
(100,0)
(a)平面图
(b)结构图
图5-22 一颗二维的点四叉树结构
本讲重点内容
➢ 空间索引的定义 ➢ 各种空间索引方法 ➢ 主要的空间操作算子 ➢ 空间查询的处理步骤
此课件下载可自行编辑修改,此课件供参考! 部分内容来源于网络,如有侵权请与我联系删除!感谢你的观看!
Disjoint(anotherGeometry ) Intersects(anotherGeometry ) Touches(anotherGeometry ) 空间 Crosses(anotherGeometry) 关系 Within(anotherGeometry) 运算
Contains(anotherGeometry)
PR四叉树叶子结点可能不在树的同一层次;叶子结 点的黑结点或空结点分别表示数据空间某一位置空 间点的存在与否。
H
G
B F I
⑤查询:求出河流在流经的各国境内的长度 ⑥查询:按其邻国数目的多少列出所有国家。
四、空间查询处理
过滤筛选步骤(Filter): 细化步骤(Refine): 用一个不精确的大致范围来进行查询,产生
一个满足条件的较小候选集合。对候选集合 中的对象进行精确的筛选,产生最终的查询 结果。
点四叉树的每个结点存储了一个空间点的信 息及孩子结点的指针。
(0,100) D (30,90)
B (10,75)
(100,100) N WN E
A
SWSE
F(80,70)
F BC E
A (45,45)
C (25,15) E(70,20)
D
(0,0)
(100,0)
(a)平面图
(b)结构图
图5-22 一颗二维的点四叉树结构
本讲重点内容
➢ 空间索引的定义 ➢ 各种空间索引方法 ➢ 主要的空间操作算子 ➢ 空间查询的处理步骤
此课件下载可自行编辑修改,此课件供参考! 部分内容来源于网络,如有侵权请与我联系删除!感谢你的观看!
Disjoint(anotherGeometry ) Intersects(anotherGeometry ) Touches(anotherGeometry ) 空间 Crosses(anotherGeometry) 关系 Within(anotherGeometry) 运算
Contains(anotherGeometry)
PR四叉树叶子结点可能不在树的同一层次;叶子结 点的黑结点或空结点分别表示数据空间某一位置空 间点的存在与否。
H
G
B F I
《空间数据库》PPT课件
![《空间数据库》PPT课件](https://img.taocdn.com/s3/m/4559d5f384254b35eefd347c.png)
学号 课程号 系名 002312 系名 A01 教师数
课程号 课程名 周学时 学分 系名 教师数 学生数 A01系名 GIS 教师数 4 学生数 5 研究生
网络数据库模型的优、缺点
优点:
能明确而方便地表示数据间的复杂关系。 数据加了用户查询和定位的困难。 需要存储数据间联系的指针,使得数据量增大。 数据的修改不方便(指针必须修改)。
关系数据库模型
关系数据库模型是以记录组或数据表的形式组织数据,以便于利
地图
M
Ⅰ
Ⅱ
2 a 1 d
b Ⅰ c 4
3
e Ⅱ g
5 f 6
M
Ⅰ 多边形 Ⅱ a c b e c f d g
点 1 x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 t5 y6
Ⅰ 线 Ⅰ Ⅰ Ⅰ Ⅱ Ⅱ Ⅱ
a b c d e f g
层次数据库模型
它的特点是将数据组 织成一对多关系的结 构。 层次结构采用关键字 来访问其中每一层次 的每一部分。 层次数据库结构特别 适用于文献目录、土 壤分类、部门机构等 分级数据的组织。
2 a 1 d
b Ⅰ c 4
3
e Ⅱ g
5 f 6
M
M
Ⅰ
Ⅱ
a 1 2 2
b 3 3
c 4 4
d 1 3
非结构化特征:在当前通用的关系数据库管理系统中,数据记录 分类编码特征:一般而言,每一个空间对象都有一个分类编码, 海量数据特征:空间数据库的数据量比一般的通用数据库要大得 应用面广的特征:GIS数据应用于地理研究、环境保护、土地利
标准DBMS存储空间数据的局限性
空间数据库导论讲稿ppt课件
![空间数据库导论讲稿ppt课件](https://img.taocdn.com/s3/m/6ccb07d0a32d7375a51780d4.png)
第二阶段:符号模型 :以数值方程为根底,在空间参照系统中用数学方 法表示空间实体的位置和关系,用平面符号化地图对现实世界作全面地描画, 准确数值表示的纸质地图成为地理空间的笼统/符号/概括模型。
第三阶段:空间数据模型 :从信息科学角度来认识、解释与分析客观世 界 ,空间数据模型是地理空间中空间实体集合的质量、数量、时间、空间特 性的全面笼统和概括,是地理空间特征与构造的数字表现方式。
笼统
空间属性 主题属性 时态属性
地理实体〔普通概念〕 或
实体对象〔面向对象〕
现实世界
概念世界
空间要素是独一命名的、可以相互区分的、具有完好地理含义的 笼统信息概念,它用“空间实体〞这个笼统概念,以数字方式来组织和 存储“空间景象〞的信息构造,以“符号地图〞对所表达的内容进展可 视化展现。
空间要素
空间景象--------表达内容 空间实体--------数字方式 地图符号--------展现方式
3、运用目的的复杂性:运用的广泛性欲不同的运用需求。 4、不断的开展变化:实际、技术、运用途于不断开展过程中。
Back
空间数据库与地理信息系统
1、空间数据库 2、数据库与空间数据库 3、空间数据库与地理信息系统 4、GIS与空间数据库的开展过程
Back
空间数据库〔内容〕
1、地图数据库:包括线划地图数据库、数字高程模型数据库、数字栅格地 图数据库、数字正射影像数据库和地名数据库。
具有地理分类编码,同类空间要素具有一样的主题属性构造。
8、可视性:以笼统化的图形符号模型来展现。
9、空间计算:维护、管理、处置、查询、分析和可视化需求空间计算。
10、多源性:多种来源的空间数据存在语义、内容、定位基准、比例尺、
空间查询和空间分析PPT课件
![空间查询和空间分析PPT课件](https://img.taocdn.com/s3/m/c568b8b427d3240c8447efea.png)
每一个单元,计算与其相邻的8个 单元的之间的坡度、坡向
坡度:高程差/d(单元的大小) 坡向:每一个单元,通过与相邻8
个单元的关系,计算平均方向或最 大的方向。
ArcGIS采用8单元计算法。
e1 e2 e3 e4 C e5 e6 e7 e8
S dx2 dy2
Ady /dx
2021/1/14
d y [e 6 ( 2 e 7 e 8 ) ( e 1 2 e 2 e 3 )/8 ] g
林业、生态领域。得到的栅格以日照强度分类(0-255)。
2021/1/14
.
13
等值线生成
2021/1/14
.
14
填挖方计算
计算两个栅格之间的填挖方,得到一个结果栅格 ArcView / ArcGIS有CutFill功能,简单计算填挖方,也可用栅格相减得到
详细的结果。
2021/1/14
.
15
ArcGIS利 用 ArcCatalog 建立拓扑 结构
2021/1/14
网络分析
A 1D C3
11
I
9
H
12
K
E
4 7
10
.
结点号 线段号
A
1
B
2
B 2G
C D E
3 1, 3, 4, 1, 1 4, 5, 7
F
F
2, 5, 6, 8
5
6
G
6
H
9
I
9, 10, 11, 12
K
12
8
L
13
J
13
L
2021/1/14
.
8
数字高程模型与地形分析
(digital elevation model)DEM 数字高程模型是给两维的点、线、面,赋予高程属性,使
坡度:高程差/d(单元的大小) 坡向:每一个单元,通过与相邻8
个单元的关系,计算平均方向或最 大的方向。
ArcGIS采用8单元计算法。
e1 e2 e3 e4 C e5 e6 e7 e8
S dx2 dy2
Ady /dx
2021/1/14
d y [e 6 ( 2 e 7 e 8 ) ( e 1 2 e 2 e 3 )/8 ] g
林业、生态领域。得到的栅格以日照强度分类(0-255)。
2021/1/14
.
13
等值线生成
2021/1/14
.
14
填挖方计算
计算两个栅格之间的填挖方,得到一个结果栅格 ArcView / ArcGIS有CutFill功能,简单计算填挖方,也可用栅格相减得到
详细的结果。
2021/1/14
.
15
ArcGIS利 用 ArcCatalog 建立拓扑 结构
2021/1/14
网络分析
A 1D C3
11
I
9
H
12
K
E
4 7
10
.
结点号 线段号
A
1
B
2
B 2G
C D E
3 1, 3, 4, 1, 1 4, 5, 7
F
F
2, 5, 6, 8
5
6
G
6
H
9
I
9, 10, 11, 12
K
12
8
L
13
J
13
L
2021/1/14
.
8
数字高程模型与地形分析
(digital elevation model)DEM 数字高程模型是给两维的点、线、面,赋予高程属性,使
《空间数据查询》课件
![《空间数据查询》课件](https://img.taocdn.com/s3/m/5a977270b80d6c85ec3a87c24028915f804d8499.png)
总结
1 对人类社会的意义
作为地理信息技术中的核心技术,空间数据查询已经成为人类社会中不可或缺的一部分。
2 未来展望
未来空间数据查询将与人工智能等新兴技术结合,实现更高效、更准确、更智能的查询。
应用领域
空间数据查询可以用来解决 包括城市规划、自然灾害、 市场分析等在内的各种问题。
意义
随着时代的进步,空间数据 查询的应用越来越广泛,对 提高人们的生活质量、科学 技术水平、经济发展等方面 影响深远。
常见的空间数据查询方式
空间数据库查询
空间数据库通常包括一个库存储空间和一个管理空 间数据的系统。通过SQL查询很容易实现。
空间数据查询的工具
PostGIS
PostGIS是PostgreSQL上的扩展,用于空间数据的 存储和查询,允许您在SQL中使用几何函数。
SQL Server Spatial
SQL Server Spatial是微软的管理系统,支持地理 空间函数、查询和数据类型,使得开发人员可 以轻松地将空间数据加入到应用程序中。
《空间数据查询》PPT课 件
本课件将深入介绍空间数据查询的应用和基本原理。您将了解空间数据的特 点、基本流程和常见查询方式。
什么是空间数据查询
定义
空间数据查询是指在数据中 查询拥有空间属性(比如地 理位置信息)的数据。它是 地理信息技术的核心部分, 广泛应用于交通安全、城市 规划、气象监测等领域。
利用空间数据查询,在地图上标注交通状况,有助 于人们避开象数据并进行空间查询,可以实现气象 监测和预警功能。
地形地貌分析
通过分析地形和地貌数据,可以更好地了解地球上 的自然环境,为环境保护和灾害管理提供帮助。
基础设施规划与设计
空间数据库系统与空间数据库管理系统PPT课件
![空间数据库系统与空间数据库管理系统PPT课件](https://img.taocdn.com/s3/m/1798b6aba417866fb94a8e91.png)
负责全面地管理和控制空间数据库系统 • 决定数据库中的信息内容和结构 • 决定数据库的存储结构和存取策略 • 定义数据的安全性要求和完整性约束条件 • 监控数据库的使用和运行 • 数据库的改进和重组 • 数据访问授权 • 数据库的日常维护
第15页/共68页
7、空间数据库用户
• 空间数据采集人员 • 测绘专业人员
定 处管 操 关 检 符 维 义 理理 作 系 索 号 护
数据分发 与服务
第13页/共68页
• 数据定义功能——定义数据 • 空间数据获取与处理 • 空间数据运行管理 • 空间数据操纵功能 • 数据处理与空间关系建立 • 空间数据的检索 • 数据输出与符号化 • 数据维护功能
第14页/共68页
6、空间数据库管理员
• 装载数据库 • 数据库备份、数据库数据交换
• 关闭数据库 • 删除数据库
第49页/共68页
• 工作区 操作 • 新建“工作空间”:输入工作空间图幅行列数、分层数、层名、层中要素和输入图层名 • 打开“工作空间”:数据从硬盘调入内存 • 关闭“工作空间”:数据写入硬盘 • 删除“工作空间”:释放空间 • 修改工作空间理论范围: • 修改要素属性结构:修改数据项数及类型 • 输出数据库结构:输出到文件 • 压缩数据
• 电源设备
• 不间断电源和隔离变压器联合供电
• 机房其它设备
• 空气调节系统等
第10页/共68页
3、操作系统
• 在底层与计算机硬件交互的软件,管理各种应用软件间计算机资源的共享,操作系统提供的功能: • 硬件管理 • 进程管理 • 内存管理 • 文件管理 • 保护 • 外设管理 • 网络控制软件
第32页/共68页
• 三层 Client/Server体系结构——GIS应用发展主流模式 • 应用程序分割为用户服务层,业务处理层,数据服务层 • 一个完整的Client/Server的空间数据库运行环境包括:
第15页/共68页
7、空间数据库用户
• 空间数据采集人员 • 测绘专业人员
定 处管 操 关 检 符 维 义 理理 作 系 索 号 护
数据分发 与服务
第13页/共68页
• 数据定义功能——定义数据 • 空间数据获取与处理 • 空间数据运行管理 • 空间数据操纵功能 • 数据处理与空间关系建立 • 空间数据的检索 • 数据输出与符号化 • 数据维护功能
第14页/共68页
6、空间数据库管理员
• 装载数据库 • 数据库备份、数据库数据交换
• 关闭数据库 • 删除数据库
第49页/共68页
• 工作区 操作 • 新建“工作空间”:输入工作空间图幅行列数、分层数、层名、层中要素和输入图层名 • 打开“工作空间”:数据从硬盘调入内存 • 关闭“工作空间”:数据写入硬盘 • 删除“工作空间”:释放空间 • 修改工作空间理论范围: • 修改要素属性结构:修改数据项数及类型 • 输出数据库结构:输出到文件 • 压缩数据
• 电源设备
• 不间断电源和隔离变压器联合供电
• 机房其它设备
• 空气调节系统等
第10页/共68页
3、操作系统
• 在底层与计算机硬件交互的软件,管理各种应用软件间计算机资源的共享,操作系统提供的功能: • 硬件管理 • 进程管理 • 内存管理 • 文件管理 • 保护 • 外设管理 • 网络控制软件
第32页/共68页
• 三层 Client/Server体系结构——GIS应用发展主流模式 • 应用程序分割为用户服务层,业务处理层,数据服务层 • 一个完整的Client/Server的空间数据库运行环境包括:
空间查询语言
![空间查询语言](https://img.taocdn.com/s3/m/b10a3cc526fff705cc170a39.png)
City
Capital-Of
Country
1
1 1 n
River
Originates
Name
Length
World数据库的模式:
Country ( Name: varchar(35),
Cont: varchar(35), Pop: Integer, GDP: Numeric, Life-Exp: Numeric, Shape: Polygonid ) City ( Name: varchar(35), Country: varchar(35), Pop: Integer, Capital: char(1) , Shape: Pointid)
关系数据库两种查询语言
关系代数:形式化语言 结构化查询语言SQL: 接近自然语言
Name ( Cont NAM (Country ) )
Name
位于北美洲的国家的名字
Canada Mexico
SELECT FROM Country
Cuba USA
WHERE Country.Cont=NAM
Brazil
Cuba USA
R-S: 返回所有包含在R中而不包含在S中的元组。
1) 2)
R Name ( Cont NAM (Country ) )
S Origin ( River)
3) R- S
Name Canada Name Brazil USA Name Canada Mexico Cuba
Name (Country)
Canada Mexico Brazil Cuba USA Argentina
Name ( Cont NAM (Country ) )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建表命令:CREATE TABLE
3.2 关系代数
——与关系模型相关联的形式化查询语言 代数组成
运算对象集合Ωa 运算集合Ωo
关系代数组成
1种运算对象——关系(表) 6种运算——选择,投影,并,笛卡儿积,差,交
3.2.1 选择和投影运算
——操纵单个关系中的数据 选择运算 定义 ——检索关系表中行的子集 语法形式 σ<选择运算符>(关系) 例:“列出Country表中所有位于北美洲(NAM)的国家” σCont = NAM(Country)
Cont Pop(millions) GDP(billions) Life-Exp Shape
Name
Canada
Mexico Cuba USA
NAM
NAM NAM NAM
30.1
107.5 11.7 270.0
658.0
694.3 16.9 8003.0
77.08
69.36 75.95 75.75
2种查询语言
关系代数——形式化的语言 结构化查询语言(SQL)
例子:World数据库
3个实体组成
Country(Name: varchar(35), Cont: varchar(35), Pop: integer,
GDP: integer, Life-Exp: integer, Shape: char(13))
S.D D1 D2 D1 D2
3.2.3 连接运算
选择、投影运算——从单个关系中提取信息 连接运算——从多个关系中提取信息 ——在笛卡儿积的基础上进行选择运算 条件连接
R cS = σc ( R×S) c——条件,通常由R和S的属性表示的条件表达式
自然连接 ——条件连接的特例 ——条件连接中的条件为2个关系中公共属性的相等性,结 果只一列表示公共的等值连接属性。
Shape: char(13))
World数据库的ER图
实体Country具有6个属性 实体City具有5个属性
实体River具有4个属性
World数据库中的3张表
Country表
Name Canada Mexico Brazil Cuba USA Argentina
Cont NAM NAM SAM NAM NAM SAM
3.3.1 DDL(数据定义语言) ——表的添加、删除、修改 一、定义基本表 CREATE TABLE <表名> (<列名> <数据类型>[ <列级完整性约束条件> ] [,<列名> <数据类型>[ <列级完整性约束条件>] ] … [,<表级完整性约束条件> ] ); 如果完整性约束条件涉及到该表的多个属性列, 则必须定义在表级上,否则既可以定义在列级 也可以定义在表级。
PolygonID-1
PolygonID-2 PolygonID-4 PolygonID-5
投影运算 定义 ——检索关系表中列的子集 语法形式 π<属性列表>(关系) 例:“检索Country表中所有国家的名字” πName(Country)
Name
Canada Mexico Brazil Cuba USA Argentina
Cuba
USA Mexico Canada Brazil Argentina Canada Mexico Argentina
2.1
3.2 2.0 3.4 1.5 1.1 0.8 14.1 10.75
Y
Y N N Y N Y Y Y
PointID-1
PointID-2 PointD-3 PointID-4 PointID-5 PointID-6 PointID-7 PointID-8 PointID-9
例子:A={1,2},B={a,b},
笛卡儿积(Cross-Product) ——R×S返回一个关系,其模式由R的全部属性加上S的全部 属性组成。
R.A
R.B
S.C × C1 C2
S.D D1 D2
A1
A2
B1
B2
R.A A1 A1 A2 A2
R.B B1 B1 B2 B2
S.C C1 C2 C1 C2
2600
1200 3000 6000
LineStringID-1
LineStringID-2 LineStringID-3 LineStringID-4
指向Country表的主码
几何形状 RDBMS中,指向线串形状表的主码 OR-DBMS中,线串ADT
命名空间 ——解决表间重名属性问题。 表名.属性名 如: Country.pop
指向Country表的主码
几何形状 RDBMS中,指向点形状表的主码 OR-DBMS中,点ADT
River表
Name Origion Length(kilometers) Shape
Rio Parana
St. Lawrence Rio Grande Mississippi
Brizal
USA USA USA
选择运算与投影运算结合 例:“检索Country表中所有位于北 美洲(NAM)的国家的名字”
πName (σCont = NAM(Country))
Name
Canada
Mexico Cuba USA
3.2.2 集合运算
R和S为2个关系: 集合并(Union) ——R∪S返回R或S中所有的元组。 集合差(Defference) ——R-S返回所有包含在R中,而不包含在S中的元组。 集合交(Intersection) ——对于2个运算相容的关系R和S,R∩S返回既在R中又在 S中的元组。
2个关系列数相同,从左到右顺序一致,共享同样的域
集合的笛卡儿积
对任意集合A,A2,…,An,A1×A2称作集合A1,A2的 笛卡儿积,定义如下:
A1×A2 = {<u,v> | u∈A1,v∈A2} A1×A2×… ×An =(A1×A2×… ×An-1) ×An 则A×B等于{<1,a>, <1,b>, <2,a>, <2,b>} B×A等于{<a,1>, <a,2>, <b,1>, <b,2>} A×=×A= 一般来说:A×B≠B×A,A×(B×C) ≠(A×B)×C
SQL:数据定义语言DDL
数据定义的对象
关系数据库的基本对象是基本表(table) 并可以在基本表上定义视图(view)作为数据 外模式 定义索引(index)用于向系统提示多种存取路 径,由系统自动选择,以加快查找速度。 (用户自定义数据类型)
SQL:数据定义语言DDL
操作方式
[例] 建立“学生”表Student,学号是主码,姓名取 值唯一。
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );
SQL概述-特点
两种使用方式,统一的语法结构
SQL既是自含式语言(用户使用),又是嵌入式语言( 程序员使用) SQL语言完成数据定义、操纵、控制和查询的核心功能 只用了9个动词
语言简洁,易学易用
CREATE, DROP, ALTER, SELECT, INSERT, UPDATE, DELETE, GRANT, REVOKE
City(Name: varchar(35), Country: varchar(35), Pop: integer,
Capital: char(1), Shape: char(9))
River(Name: varchar(35), Origin: varchar(35), Length: integer,
[例] 建立一个“课程”表Course
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), 先修课程 Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno) );
而在非关系型的数据库系统中,必须在数据库的装入 和使用前全部完成数据库的定义。若要修改已投入运 行的数据库,则需停下一切数据库活动,把数据库卸 出,修改数据库定义并重新编译,再按修改过的数据 库结构重新装入数据
数据库定义随时修改
不必一开始就完全合理
可进行增加索引、撤消索引的实验,检验其对查 询效率的影响
操作对象
创建 基本表Table 视图View 索引Index CREATE TABLE CREATE VIEW 删除 DROP TABLE DROP VIEW 修改 ALTER TABLE
CREATE INDEX
DROP INDEX
SQL:数据定义语言DDL
SQL中,任何时候都可以执行一个数据定义语句 ,随时修改数据库结构。
几何形状 RDBMS中,指向Shape表的主码 OR-DBMS中,多边形ADT
City表
Name Country Pop(millions) Capital Shape