人人范文网 范文大全

空间数据库实习3代码

发布时间:2020-03-02 07:35:27 来源:范文大全 收藏本文 下载本文 手机版

/* --

一、Country表创建及记录录入

--1.创建一个新的Country表,包含Name、Cont、Pop --GDP、Life_Exp、Shape字段 CREATE TABLE Country ( Name NVARCHAR(80) NOT NULL PRIMARY KEY, Cont NVARCHAR(10) NULL, Pop NUMERIC(38,15) NULL, GDP NUMERIC(38,15) NULL, Life_Exp NUMERIC(5,2) NULL, Shape GEOMETRY ) go

--2.向Country表中添加Name,Pop,Shape记录数据 INSERT INTO Country(Name,Pop,Shape) SELECT CNTRY_NAME,POP2005,Shape from COUNTRY06

WHERE CNTRY_NAME IN(\'Canada\',\'Mexico\', \'Brazil\',\'Cuba\',\'United States\',\'Argentina\') GO

--3.更新Country表数据,更新表中的Cont、GDP、Life_Exp数据

USE spatialdata UPDATE Country SET Cont=\'NUM\',GDP=658.0,Life_Exp=77.08 WHERE Name=\'Canada\' GO

UPDATE Country SET Cont=\'NUM\',GDP=694.3,Life_Exp=69.36 WHERE Name=\'Mexico\' GO

UPDATE Country SET Cont=\'SAM\',GDP=1004.0,Life_Exp=65.60 WHERE Name=\'Brazil\' GO

UPDATE Country SET Cont=\'NUM\',GDP=16.9,Life_Exp=75.95 WHERE Name=\'Cuba\' GO

UPDATE Country SET Cont=\'NUM\',GDP=8003.0,Life_Exp=75.75 WHERE Name=\'United States\' GO

UPDATE Country SET Cont=\'SAM\',GDP=348.2,Life_Exp=70.75 WHERE Name=\'Argentina\' GO */ /* --

二、City表创建及记录录入

--1.创建一个新的City表,包含Name、Country、Pop --Captial、Shape字段 CREATE TABLE City ( Name_C NVARCHAR(80) NOT NULL PRIMARY KEY, Country NVARCHAR(80) NULL FOREIGN KEY

REFERENCES Country(Name) , Pop NUMERIC(38,15) NULL, Captial NVARCHAR(1) NULL, Shape GEOMETRY ) GO

--2.向City表中添加Name,Country,Shape记录数据 USE spatialdata INSERT INTO City(Name_C,Country,Shape) SELECT CITY_NAME,CNTRY_NAME,Shape from CITIES WHERE CITY_NAME IN (\'Havana\',\'Washington D.C.\', \'Monterrey\',\'Toronto\',\'Brasilia\',\'Rosario\',\'Ottawa\',\'Mexico City\',\'Buenos Aires\') GO

--3.更新City表中的数据 USE spatialdata UPDATE City SET Pop=2100000,Captial=\'Y\' WHERE Name_C=\'Havana\' GO

UPDATE City SET Pop=3200000,Captial=\'Y\' WHERE Name_C=\'Washington D.C.\' GO

UPDATE City SET Pop=2000000,Captial=\'N\' WHERE Name_C=\'Monterrey\' GO

UPDATE City SET Pop=3400000,Captial=\'N\' WHERE Name_C=\'Toronto\' GO

UPDATE City SET Pop=1500000,Captial=\'Y\' WHERE Name_C=\'Brasilia\' GO

UPDATE City SET Pop=1100000,Captial=\'N\' WHERE Name_C=\'Rosario\' GO

UPDATE City SET Pop=800000,Captial=\'Y\' WHERE Name_C=\'Ottawa\' GO

UPDATE City SET Pop=1400000,Captial=\'Y\' WHERE Name_C=\'Mexico City\' GO

UPDATE City SET Pop=1075000,Captial=\'Y\' WHERE Name_C=\'Buenos Aires\' GO */ /* --

三、River表创建及记录录入

--1.创建一个新的River表,包含Name、Origin、Length、Shape字段 USE spatialdata CREATE TABLE River (Name_R NVARCHAR(80) NOT NULL PRIMARY KEY, Origin NVARCHAR(80) NULL FOREIGN KEY

REFERENCES Country(Name) , Length_ NUMERIC(8,2) NULL, Shape GEOMETRY ) GO

--2.向表中插入记录 USE spatialdata INSERT INTO River(Name_R, Shape) SELECT NAME, Shape from RIVERS WHERE Name in (\'Rio Paranaiba\',\'St.Lawrence\',\'Rio Grande, North America\',\'Miiippi\') GO

--3.更新River表中的数据 USE spatialdata UPDATE River SET Origin=\'Brazil\',Length_ =2600 WHERE Name_R=\'Rio Paranaiba\' GO

UPDATE River SET Origin=\'United States\',Length_ =1200 WHERE Name_R=\'St.Lawrence\' GO

UPDATE River SET Origin=\'United States\',Length_ =3000 WHERE Name_R=\'Rio Grande, North America\' GO

UPDATE River SET Origin=\'United States\',Length_ =600 WHERE Name_R=\'Miiippi\' GO */

--

四、空间查询 /* --1.列出Country 表中所有与美国(United States) --相邻的国家名字 USE spatialdata SELECT C1.Name \'Neighbors of United States\' FROM Country C1,Country C2 WHERE C1.Shape.STTouches(C2.Shape)=1 AND C2.name=\'United States\'

--2.找出River表中所列出的河流经过的国家

SELECT R.Name_R, C.name FROM River R,Country C WHERE R.Shape.STCroes(C.Shape)=1

--3.对于River 表中列出的河流,在City表中 --找到距离其最近的城市

SELECT C1.Name_C,R1.Name_R, C1.Shape.STDistance(R1.Shape) Distance,R1.Shape FROM City C1,River R1 WHERE C1.Shape.STDistance(R1.Shape)

FROM City C2 WHERE C1.Name_CC2.Name_C)

--4.查询St.Lawrence河能为公里以内的城市 --供水,列出能从该河获得供水的城市。 SELECT Ci.Name_C FROM City Ci,River R WHERE Ci.Shape.STOverlaps(R.Shape.STBuffer(300))=1 AND R.Name_R=\'St.Lawrence\'

--5.列出Country表中每个国家的名字、人口和国土面积 SELECT C.Name,C.Pop,C.Shape.STArea() AS \'Area\' FROM Country C

--6.求出河流在流经的各国境内的长度 SELECT R.Name_R,C.Name, R.Shape.STIntersection(C.Shape).STLength() AS \'Length\' FROM River R,Country C WHERE R.Shape.STCroes(C.Shape)=1

--7.列出每个国家的GDP及其首都到赤道的距离 SELECT Co.GDP,

--geometry::Parse(\'POINT(0,Ci.Shape.STY)\') geometry::Point(0,Ci.Shape.STY,4326).STDistance(Ci.Shape) AS \'Distance\' FROM Country Co,City Ci WHERE Co.Name=Ci.Country AND Ci.Captial=\'Y\'

--8.按其邻国数目的多少列出所有国家

SELECT Co.Name,count(Co1.Name) \' Count Country Number\' FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name ORDER BY count(Co1.Name)

--9.列出只有一个邻国的国家。如果一个国家与另一个国家

--在陆地上有一条共同的国界,那么这个国家就是另一个国家 --的邻国

SELECT Co.Name,count(Co1.Name) \' Count Country Number\' FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name HAVING Count(Co1.Name)=1 --10.查询哪一个国家的邻国多,并创建其视图 GO CREATE VIEW Neighbor AS SELECT Co.Name,count(Co1.Name) AS num_Neighbors FROM Country Co,Country Co1 WHERE Co.Shape.STTouches(Co1.Shape)=1 GROUP BY Co.Name

GO SELECT Name,num_Neighbors FROM Neighbor WHERE num_Neighbors=(SELECT max(num_Neighbors) FROM Neighbor) */

空间数据库实习总结

地理空间数据库实习报告

钢厂代码 (3)

空间数据库总结

空间数据库复习题

空间数据库知识点总结

空间数据库期末复习重点总结

实习3

代码工作计划

C#代码

空间数据库实习3代码
《空间数据库实习3代码.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档