第四章 空间查询语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SELECT * FROM CITY WHERE CAPITAL=‘Y‟
表删除语句:DROP
DROP TABLE 删除表“CITY” CITY
TABLE
4.3SQL基础 二、DML
由DDL创建表以后,就可以开始向表中存储数据了,这项 工作由DML来完成。 下面语句向表River中添加一行数据: INSERT INTO River(Name, Origin, Length) VALUES(‘Mississippi’, ‘USA’, 6000) 若某一属性值没有给出,系统自动用’NULL’代替,但主码 不能为空。
4.1标准化查询语言
World数据库 为了更好的理解SQL查询语言,这里引入World 数据库的例子,用ER概念模型来表示: 三个实体:Country、City和River 二个关系: capital-of, originates-in 下图即为其ER模型,其中有下划线的属性为主 关键字。
4.1标准化查询语言
4.2关系代数 六、连接运算
二、自然连接(Natural join) 自然连接是条件连接的重要特例,当两个关系的公共属 性只用到相等性(equality)选择条件,即为自然连接。例 如,可以用自然连接来查找河流发源地国家人口数。 1.重新命名Country关系为C,River关系为R 2.构造笛卡尔积CXR 3.在公共属性域C.Name和R.Origin上作连接运算
两个关系R和S之间,通用的条件连接 式表示:
由下
4.2关系代数 六、连接运算
条件c通常是指R和S的属性。例如,可以使用连接运算 来查询人口不超过墨西哥的国家。
1.R Name , Pop (Country) 2.S R ( S是R的一个副本) 3.得到笛卡尔积R S,R S关系模式(schema)为
World数据库的ER图
4.1标准化查询语言
三个关系 Country(Name:varchar(35), Cont:varchar(35), Pop:Real, GDP:Real, Life-Exp:Numeric(4,2), Shape:char(13)) City(Name:Varchar(35), Country:Varchar(35), Pop:Real,Capital:char(1), Shape:char(9)) River(Name:Varchar(35), Origin:Varchar(35), Length:Integer, Shape:char(13)) 关键字 主关键字: Country.Name, City.Name, River.Name 外健: River.Origin, City.Country 三个关系表
4.2关系代数
关系代数是与关系模型相关联的形式化查询语言。
代数可定义为:(Ωa,Ωo)的集合,其中Ωa是运算对象, Ωo为运算。 关系代数是一种只有一种类型的运算对象和六种基本运 算的代数系统。 关系代数的运算对象为“表” 六种基本运算为:选择(select),投影(project),并 (union),笛卡尔积(cross-product),差(difference)以及 交(intersection)
USA
NAM
270.0
8003.0
75.75
Polygonid-4
4.2关系代数 二、投影运算
投影运算π是把表所有行的某 些列提取出来。如下面的关系 代数是把表Country中所国家 的名字检索出来:
Name (Country)
Name
Canada Mexico Brazil Cuba USA Argentina
Name Canada Mexico Cuba
4.2关系代数 四、集合运算
集合交(Intersection):对于两个相容的关系R和S,集 合交运算R∩S返回所有既在R中同时也S中的元组。如 下列集合交运算可以返回既在南美洲又是河流发源地的 国家名字。结果见表。
1.R Name ( cont SAM (Country)) 2.S Origin ( River) 3 .R S
这种格式等价于关系代数中的选择、投影及连接表达 式。
4.3SQL基础 四、 SQL查询示例
1.查询:列出CITY中所有城市及其所属国家 SELECT Ci.Name, Ci.Country FROM CITY Ci
结果

该语句等价于RA的投影操作
4.3SQL基础 四、 SQL查询示例
2.查询:列出CITY中所有是首都的城市属性
RXS R.Name R.Pop S.Name S.Pop
4.2关系代数 六、连接运算
4.应用条件,即关系S中的人口数不超过墨西哥的国家:
RXS
R.Name
R.Pop
S.Name
S.Pop
……
Mexico Mexico Mexico
……
107.5 107.5 107.5
……
Canada Mexico Brazil
R R.A R.B A1 A2 B1 B2 S S.C S.D C1 C2 D1 D2 RXS R.A A1 A1 R.B S.C S.D B1 B1 C1 C2 D1 D2
A2
B2
B2
C1
C2
D1
D2
关系R
关系S
A2
RXS
4.2关系代数 六、连接运算
选择和投影运算是针对单个关系的查询,当需要在多个 关系表之间进行查询时,就需要用到连接运算。连接运 算可以理解成在笛卡尔积基础上的选择运算。常见的连 接运算是条件(conditional)连接,而条件连接的一个特 殊情况是自然(natural)连接。 一、条件连接
4.3SQL基础 一、DDL
表定义语句:CRAETE TABLE 表定义语句用于创建关系表,如表City的创建SQL语句为: CREATE TABLE CITY ( Name VARCHAR(35), Country VARCHAR(35), Pop REAL, Capital CHAR(1), Shape CHAR(13), PRIMARY KEY Name)
4.2关系代数 一、选择运算
选择运算结果
Name Canada Mexico Cuba Cont NAM NAM NAM Pop(million) GDP(billion) Life_Exp 30.1 107.5 11.7 658.0 694.3 16.9 77.08 69.36 75.95 Shape Polygonid-1 Polygonid-2 Polygonid-3
……
30.1 107.5 183.3
Mexico
Mexico Mexico ……
107.5
107.5 107.5 ……
Cuba
USA Argentina ……
11.7
270.0 36.3 ……
4.2关系代数 六、连接运算
连接运算的结果:
R.Name Mexico Mexico Mexico R.Pop 107.5 107.5 107.5 S.Name Canada Cuba Argentina S.Pop 30.1 11.7 36.3
C C . Name R.Origin R
4.2关系代数 六、连接运算
4.在连接运算的结果,对属性Name和Pop作投影 运算
Name, Pop (C R)
4.3SQL基础
SQL最早是由IBM开发的一种商用语言,目前已成为关系 数据库的标准查询语言,被IBM DB2, Oracle, MS SQL Server, Sybase 等数据库系统广泛的支持。SQL是一种声明 性语言,即用户只需要描述报需要的结果即可,而不需要 描述获得结果的过程。它一般由三个部分组成: 数据定义语言(DDL):用于创建、删除和修改数据库 中的表 数据操纵语言(DML):用于查询、删除和修改DDL定 义好的表中的数据 数据控制语言(DCL):用于对数据操纵过程中的控制, 如事务管理、数据库安全管理等
Name Brazil
集合交也能够通过集合差运算得到,即R∩S=R-(R-S)
4.2关系代数 五、笛卡尔积运算
笛卡尔积(Cross-Product):该运算可以用在任何两个 关系上,而无须要求这两个关系是否具有相容性。运算 RXS返回一个关系,其模式由R的全部属性加上S的全 部属性。其运算结果如下表:
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型。
Canada
Mexico Cuba USA
4.2关系代数 四、集合运算
集合运算包括集合并、集合差和集合交。 集合并(Union):如果R和S是两个关系,则集合并R∪S 返回关系R和S中的所有元组。如下列集合并运算可以 返回要么位于北美洲、要么有一条河流发源于该国家的 国家名字。结果见表。
1.R Name ( cont NAM (Country)) 2.S Origin ( River) 3 .R S
第四章-空间查询wenku.baidu.com言
标准数据库查询语言 关系代数 SQL基础 扩展SQL以处理空间数据 空间查询例子 对象—关系SQL
4.1标准化查询语言
什么是查询?
查询就是向数据库提出问题需要数据库返回相应 的结果。 查询一般使用高水平的、易于理解的方式来表达, 如查询语言。 例子: 当我们用鼠标单击地图上的道路时意味着我们想 知道当前被鼠标击中的道路名称是什么? 在搜索引擎中输入相应的文字意味着我们需要引 擎告诉我们有哪些网页包含了当前输入的关键字? 查询语句“SELECT S.name FROM Senator S WHERE S.gender = ‘F’”意味着哪些议员是女性?
4.3SQL基础 二、DML
从表中删除一行的语句: DELETE FROM TABLE WHERE <条件> DELETE FROM River WHERE Name = ‘Mississippi’
4.3SQL基础 三、SQL查询
当定义了数据库并录入数据以后,即可采用SQL语句 进行数据库查询。SQL查询的基本语法: SELECT columns-names FROM relations WHERE tuple-constraint
4.2关系代数 一、选择运算
选择运算用来操作单个表,检索出表中行的子 集。如下面的关系代数表达式可以列出Country 表中所有位于北美洲(NAM)的国家:
cont NAM (Country)
本运算中的选择条件是cont=’NAM’,运算结 果如后表。选择运算的形式化语法为:
选择运算符 (关系)
4.1标准化查询语言
什么是查询语言? 查询语言是在查询中用来描述哪些数据是我们所感兴 趣的内容的一种语言形式 例子: 自然语言,如英语,几乎可以用来表达所有的查 询 计算机程序语言,如JAVA,可以用来表达计算 后的结果查询 结构化查询语言(SQL),可以用来表达常用数 据类型的查询,但不能表达嵌套查询 图形化查询,如Web查询、地图交互式查询等
投影运算结果如右表。投影 运算形式化语法为:
属性列表 (关系)
投影的运算结果
4.2关系代数 三、选择和投影
可以将选择运算和投影运算结合起来,利用下 面表达式可以列出所有位于北美洲国家的名字:
Name ( Cont NAM (Country))
选择和投影运联合运算的结果如下表。
Name
Name Canada Mexico Brazil
Cuba
USA
4.2关系代数 四、集合运算
集合差(Difference):如果R和S是两个关系,则集合差 R-S返回所有包含在关系R但不在关系S中的元组。如 下列集合差运算可以返回所有位于北美洲但不是河流发 源地的国家名字。结果见表
1.R Name ( cont NAM (Country)) 2.S Origin ( River) 3.R S
相关文档
最新文档