空间数据库实习报告_第1页
空间数据库实习报告_第2页
空间数据库实习报告_第3页
空间数据库实习报告_第4页
空间数据库实习报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程编号: 课程性质:必修空间数据库课程设计与实习实习报告 学院: 测绘学院 专业: 测绘工程 地点: 三校区院一楼机房 班级: 测绘工程3班 组号: 姓名: 学号: 2014301610* 教师: 2017年8月28日 至 2017年9月4日第 1 章空间数据库准备操作11.1 实习目的11.2 作业内容11.3 创建用户操作11.3.1 给用户授权,管理数据库所用权限11.4 数据库准备操作21.4.1 登录退出21.4.2 监听21.5 文件导出操作21.5.1 导出成功显示3第 2 章空间数据库建库32.1 数据库建库及插入数据32.2 数据库建表emp32.3 数据库常用操作42.3

2、.1 数据库插入一条数据42.3.2 创建表emp_new42.3.3 展示两个表异同42.3.4 表的操作,增加数据列52.3.5 删除主键52.3.6 创建插入数据52.3.7 查询表emp_new的删除效果62.3.8 将一个表数据批量加载到另一个表62.3.9 更新表72.3.10 删除操作7第 3 章ORACLE SPATIAL空间数据库建立73.1 了解熟悉熟悉SDO_GEOMETRY73.1.1 新建CHN_CITIES表73.1.2 完成元数据及空间索引的建立83.1.3 创建空间索引83.2 orcacle spatial 空间数据的操作83.2.1 空间数据的插入83.2.

3、2 检查数据83.2.3 空间数据库简单查询83.2.4 查看其它公路号码93.3 空间数据加载93.3.1 导入新数据93.3.2 实现基础的SQLLDR文件导入功能103.3.3 测试加载非固定长度数据103.3.4 限定符自由格式数据使用113.3.5 加载组合的物理数据13第 4 章II号宗地的建库查询144.1 作业目标:找到2号宗地中所有点的信息(按点号排序)144.2 建立空间数据库144.2.1 建立与插入14第 5 章运行过程生成表截图介绍205.1 ZIL表205.2 点查询表205.3 找到2号宗地中所有点的信息(按点号排序)205.4 Dept emp 表213空间数据

4、库实习第 1 章 空间数据库准备操作1.1 实习目的 熟悉Oracle数据库的基本操作,回顾空间数据库的相关知识 Oracle Spatial 是Oracle公司推出的空间数据库组件,它通过Oracle数据库系统存储和管理空间数据,为Oracle数据库新增加了空间类型和多项空间查询功能。在了解的基础上独立完成II号宗地的建库和查询操作。1.2 作业内容IDXY 创建用户操作1. SQLcreateuserzhangyanidentifiedby1232. 2defaulttablespace

5、users3. 3temporarytablespacetemp4. 4profiledefault5. 5;6. 用户已创建。1.3.1 给用户授权,管理数据库所用权限1. SQLgrantconnect,resourcetozhangyan;2. 授权成功。3. SQLgrantcreateanytabletozhangyan;4. 授权成功。5. SQLgrantalteranytabletozhangyan;6. 授权成功。7. SQLgrantdropanytabletozhangyan;8. 授权成功。9. SQLgrantinsertanytabletozhangyan;10.

6、授权成功。11. SQLalteruserzhangyanquotaunlimitedonusers;用户已更改。*说明:在SYS用户下授予新用户权限及自定义表空间权限1.4 数据库准备操作1.4.1 登录退出SQL exit从 Oracle Database 11g Enterprise Edition Release .0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options 断开1.4.2 监听C:UsersAdministratorl

7、snrctl status*展示监听情况C:UsersAdministratorlsnrctl start*打开监听*说明:在启动监听前要修改监听,对应相应点到的PC号码LSNRCTL for 64-bit Windows: Version .0 - Production on 01-9月 -2017 09:27:04Copyright (c) 1991, 2010, Oracle. All rights reserved.TNS-01106: 使用名称LISTENER的监听程序已经启动1.5 文件导出操作C:UsersAdministratorimp zhangyan/123

8、orcl file=c:testmap_detailed.dmp fromuser=spatial touser=qwbC:UsersAdministratorimp zhangyan/123orcl file=c:testmap_large.dmp fromuser=spatial touser=qwbC:UsersAdministratorimp zhangyan/123orcl file=c:testapp_with_loc.dmp fromuser=spatial touser=qwb1.5.1 导出成功显示在出现如下显示时说明数据已经成功导入了。Import: Release 11.

9、 - Production on 星期一 8月 28 10:36:32 2017Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release .0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options经由常规路径由 EXPORT:V10.

10、01.00 创建的导出文件警告: 这些对象由 SPATIAL 导出, 而不是当前用户已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入导出客户机使用 WE8MSWIN1252 字符集 (可能的字符集转换). 正在将 SPATIAL 的对象导入到 QWB. . 正在导入表 CUSTOMERS导入了 3195 行. . 正在导入表 BRANCHES导入了 77 行. . 正在导入表 COMPETITORS导入了 562 行成功终止导入, 没有出现警告。第 2 章 空间数据库建库2.1 数据库建库及插入数据2.2 数据库建表emp1. SQLcreatetablee

11、mp(empnonumber(4),enamevarchar2(10),jobvarchar2(9),mgrnumber(4),hiredateDATE,salnumber(7,2),commnumber(7,2),deptnonumber(2);2. 表已创建。3. SQLaltertableempmodify(empnonotnull);4. 表已更改。*说明:上面这句话是使用alter语句让表的empno这个列不能为空2.3 数据库常用操作2.3.1 数据库插入一条数据SQL insert into emp values(0001,ZhangShan,clerk,0001,to_date

12、(2017-8-28,yyyy-mm-dd),111.11,111.11,01);已创建 1 行。2.3.2 创建表emp_newSQL create table emp_new as select*from emp where 1=2;表已创建。*说明:这是采用利用AS函数的建表方式2.3.3 展示两个表异同SQL describe emp_new1. SQLdescribeemp_new2. 名称是否为空?类型3. -4. EMPNONOTNULLNUMBER(4)5. ENAMEVARCHAR2(10)6. JOBVARCHAR2(9)7. MGRNUMBER(4)8. HIREDATE

13、DATE9. SALNUMBER(7,2)10. COMMNUMBER(7,2)11. DEPTNONUMBER(2)12. SQLdescribeemp;13. 名称是否为空?类型14. -15. 16. EMPNONOTNULLNUMBER(4)17. ENAMEVARCHAR2(10)18. JOBVARCHAR2(9)19. MGRNUMBER(4)20. HIREDATEDATE21. SALNUMBER(7,2)22. COMMNUMBER(7,2)23. DEPTNONUMBER(2)2.3.4 表的操作,增加数据列SQL alter table emp_new add(coun

14、tsal number(4);表已更改。*说明:为emp_new表增加新数列SQL describe emp_new1. SQLdescribeemp_new2. 名称是否为空?类型3. -4. 5. EMPNONOTNULLNUMBER(4)6. ENAMEVARCHAR2(10)7. JOBVARCHAR2(9)8. MGRNUMBER(4)9. HIREDATEDATE10. SALNUMBER(7,2)11. COMMNUMBER(7,2)12. DEPTNONUMBER(2)13. COUNTSALNUMBER(4)设置主键SQL alter table emp_new add(co

15、nstraint pk_empno primary key (empno);表已更改。*说明:将empno设置为主键2.3.5 删除主键SQL alter table emp_new drop primary key;表已更改。2.3.6 创建插入数据SQL create table emp_new as select*from emp where 1=1;表已创建。SQL select empno from emp_new;1. SQLselectempnofromemp_new;2. EMPNO3. -4. 15. 6. SQLinsertintoempvalues(0001,ZhangS

16、han,clerk,0001,to_date(2017-8-28,y7. yyy-mm-dd),111.11,111.11,01);8. 已创建1行。9. SQLinsertintoempvalues(0003,WangWu,clerk,0001,to_date(2017-8-28,yyyy10. -mm-dd),111.11,111.11,01);11. 已创建1行。12. SQLinsertintoempvalues(0004,ZhaoLiu,clerk,0001,to_date(2017-8-28,yyy13. y-mm-dd),111.11,111.11,01);14. 已创建1行。使

17、用truncate命令,删除表emp_newSQL truncate table emp_new;表被截断。2.3.7 查询表emp_new的删除效果SQL select*from emp_new;未选定行2.3.8 将一个表数据批量加载到另一个表SQL insert into emp_new(empno,ename,job,mgr,hiredate,sal,comm,deptno) 2 select empno,ename,job,mgr,hiredate,sal,comm,deptno 3 from emp;已创建 5 行。*说明:insert命令,向表emp_new中批量加载数据SQL

18、select empno from emp_new;1. EMPNO2. -3. 75604. 15. 16. 27. 38. 49. 已选择6行。2.3.9 更新表SQL update emp_new set ename=chEN where empno=7560;已更新 1 行。SQLselect*fromemp_newwhereempno=7560;1. EMPNOENAMEJOBMGRHIREDATESALCOMM2. -3. DEPTNO4. -5. 7560chENSALESMAN29-8月-1706. 102.3.10 删除操作SQL delete emp_new where e

19、mpno=7560;已删除 1 行。第 3 章 ORACLE SPATIAL空间数据库建立3.1 了解熟悉熟悉SDO_GEOMETRY3.1.1 新建CHN_CITIES表1. SQLcreatetablechn_cities2. 2(3. 3idnumbernotnull,4. 4cityvarchar2(42),5. 5state_abrvvarchar2(2),6. 6pop90number,7. 7rank90number,8. 8locationmdsys.sdo_geometry9. 9);3.1.2 完成元数据及空间索引的建立3.1.3 创建空间索引SQL create inde

20、x chnindex_sidx_sidx ON chn_cities(location) 2 INDEXTYPE IS MDSYS.SPATIAL_INDEX;3.2 orcacle spatial 空间数据的操作3.2.1 空间数据的插入1. SQLinsertintochn_cities2. 2(id,city,state_abrv,pop90,rank90,location)3. 3values4. 4(5. 53444,6. 6nanjing,7. 7js,8. 89000000,9. 93444,10. 10sdo_geometry(2001,8307,sdo_point_type(

21、117.33,33.69,null),null,null);3.2.2 检查数据SQL select city from chn_cities;3.2.3 空间数据库简单查询(1)查询在I795公路上最近的5个餐馆SQL SELECT poi_name 2 FROM 3 ( 4 SELECT poi_name, 5 SDO_GEOM.SDO_DISTANCE(P.location, I.geom, 0.5)distance 6 FROM us_interstates I,us_restaurants P 7 WHERE I.interstate=I795 8 ORDER BY distance

22、 9 ) 10 WHERE ROWNUM drop index us_restaurants_sidx;索引已删除。(3)新建空间索引SQL create index us_restaurants_sidx on us_restaurants(location) 2 indextype is mdsys.spatial_index;索引已创建。(4)使用sdo_in函数查询I795最近的5家餐馆SQL SELECT poi_name 2 FROM us_interstates I,us_restaurants P 3 WHERE I.interstate=I795 4 AND SDO_NN(P

23、.location,I.geom)=TRUE 5 AND ROWNUM select interstate from us_interstates;3.3 空间数据加载3.3.1 导入新数据(1)新建测试用户SQL create table DEPT_LRD as select * from dept where 1=2;SQL alter table DEPT_LRD modify (deptno not null);(2)创建新表SQL create table zjl( 2 name varchar(10), 3 birth varchar(10), 4 spec varchar(50)

24、, 5 part varchar(80);3.3.2 实现基础的SQLLDR文件导入功能(1)编写ZJL.CTL测试文件,内容如下:load data infile zjl.txt append into table zjl (name position(01:08) char, birth position(09:18) char, spec position(19:48)char, part position(49:108) char) (2)读取控制文件并导入数据文件C:UsersAdministratorsqlldr qwb/qwb123 control=c:testzjl.ctl l

25、og=c:testzjl.log bad=c:testzjl.bad(3)查看日志文件SQL select * from zjl;3.3.3 测试加载非固定长度数据(1)创建ULCASE1.CTL控制文件,内容如下:1. LOADDATA2. INFILE*3. INTOTABLEdept_lrd4. FIELDSTERMINATEDBY,OPTIONALLYENCLOSEDBY5. (deptno,dname,loc)6. BEGINDATA7. 12,RESEARCH,SARATOGA8. 10,ACCOUNTING,CLEVELAND9. 11,ART,SALEM10. 13,FINAN

26、CE,BOSTON11. 21,SALES,PHILA.12. 22,SALES,ROCHESTER13. 42,INTL,SANFRAN(2)执行控制文件,并查询文件导入效果。C:UsersAdministratorsqlldr zhangyan123 control=c:testULCASE1.ctl log=c:testULCASE1.logSQL*Loader: Release .0 - Production on 星期三 8月 30 16:25:38 2017Copyright (c) 1982, 2011, Oracle and/or its affiliates.

27、 All rights reserved.达到提交点 - 逻辑记录计数 6达到提交点 - 逻辑记录计数 7SQL select * from dept_lrd;3.3.4 限定符自由格式数据使用(1)为EMP_LRD表添加数据。1. SQLinsertintoemp_lrd(empno,ename,job,mgr,hiredate,sal,comm,deptno)2. 2selecta.empno,a.ename,a.job,a.mgr,a.hiredate,a.sal,m,a.deptno3. 3fromempa;(2)为EMP_LRD表添加数据字段PROJNO/DOADSEQ.

28、SQLaltertableemp_lrdadd(PROJNONUMBER,LOADSEQNUMBER);1. SQLdescribeemp_lrd2. 名称是否为空?类型3. -4. 5. EMPNONOTNULLNUMBER(4)6. ENAMEVARCHAR2(10)7. JOBVARCHAR2(9)8. MGRNUMBER(4)9. HIREDATEDATE10. SALNUMBER(7,2)11. COMMNUMBER(7,2)12. DEPTNONUMBER(2)13. PROJNONUMBER14. LOADSEQNUMBER(3)编写控制文件:1. LOADDATA2. INFI

29、LE*3. APPEND4. INTOTABLEemp_lrd5. FIELDSTERMINATEDBY,OPTIONALLYENCLOSEDBY6. (empno,ename,job,mgr,7. hiredateDATE(20)YYYY-mm-DD,8. sal,comm,deptnoCHARTERMINATEDBY:,9. projno,10. loadseqSEQUENCE(MAX,1)11. BEGINDATA12. 7782,Clark,Manager,7839,1981-07-09,2572.50,10:10113. 7839,King,President,1981-11-17,

30、5500.00,10:10214. 7934,Miller,Clerk,7782,1982-01-23,920.00,10:102(4)执行控制文件,并查看结果1. C:UsersAdministratorsqlldrzhangyan/123control=c:testULCASE2.ctllog=c:test2. ULCASE2.log3. 4. SQL*Loader:Release.0-Productionon星期三8月3016:40:0920175. 6. Copyright(c)1982,2011,Oracleand/oritsaffiliates.Allrightsr

31、eserved.7. 8. 达到提交点-逻辑记录计数29. 达到提交点-逻辑记录计数310. SQLselect*fromemp_lrd;11. 12. EMPNOENAMEJOBMGRHIREDATESALCOMM13. -14. DEPTNOPROJNOLOADSEQ15. -16. 7560WANGSALESMAN28-8月-17017. 1018. 19. 7589QIUBOSS28-8月-17020. 1021. 22. 7561ZHANGBOSS28-8月-17023. 103.3.5 加载组合的物理数据(1)制作控制文件:1. code:2. LOADDATA3. INFILEu

32、lcase3.dat4. DISCARDFILEulcase3.dsc5. DISCARDMAX9996. REPLACE7. CONTINUEIFTHIS(1)=*8. INTOTABLEemp_lrd9. (empnoPOSITION(1:4)INTEGEREXTERNAL,10. enamePOSITION(6:15)CHAR,11. jobPOSITION(17:25)CHAR,12. mgrPOSITION(27:30)INTEGEREXTERNAL,13. salPOSITION(32:39)DOUBLE,14. commPOSITION(41:48)DECIMALEXTERNAL

33、,15. deptnoPOSITION(50:51)INTEGEREXTERNAL,16. hiredatePOSITION(52:60)DATE(10)YYYY-mm-DD)(2)制作数据文件:1. code:2. *7782CLARK3. MANAGER78392572.50-10251985-11-124. *7839KING5. PRESIDENT5500.00251983-04-056. *7934MILLER7. CLERK7782920.00251980-05-088. *7566JONES9. MANAGER78393123.75251985-07-1710. *7499ALL

34、EN11. SALESMAN76981600.00300.00251984-06-0312. *7654MARTIN13. SALESMAN76981312.501400.00251985-12-2114. *7658CHAN15. ANALYST75663450.00251984-02-1616. *CHEN17. ANALYST75663450.00251984-02-1618. *7658CHIN19. ANALYST75663450.00251984-02-16(3)执行控制文件C:UsersAdministratorsqlldr qwb/qwb123 control=c:testUL

35、CASE3.ctl log=c:testULCASE3.log第 4 章 II号宗地的建库查询4.1 作业目标:找到2号宗地中所有点的信息(按点号排序)4.2 建立空间数据库4.2.1 建立与插入基于普通数据库操作方式 使用create 创建几何体表 使用insert插入数据1. code:2. SQLcreatetableDot3. 2(DIDnumber(1),4. 3DNAMEvarchar2(5),5. 4DXnumber(3,1),6. 5DYnumber(3,1)7. 6);8. 表已创建。9. SQLinsertintoDotvalues(1,1,0.1,1.1);10. 已创建

36、1行。11. SQLinsertintoDotvalues(2,2,2.1,1.1);12. 已创建1行。13. SQLinsertintoDotvalues(3,3,2.1,3.1);14. 已创建1行。15. SQLinsertintoDotvalues(4,4,0.1,3.1);16. 已创建1行。17. SQLinsertintoDotvalues(5,5,4.1,4.1);18. 已创建1行。19. SQLinsertintoDotvalues(6,6,5.1,2.1);20. 已创建1行。21. SQLinsertintoDotvalues(7,7,4.1,0.1);22. 已创建

37、1行。1. code:2. SQLcreatetableLine3. 2(LIDnumber,4. 3LNAMEvarchar2(5)5. 4);6. 7. 表已创建。8. 9. 10. SQLinsertintoLine(LID,LNAME)11. 2select1,1fromdualunionall12. 3select2,2fromdualunionall13. 4select3,3fromdualunionall14. 5select4,4fromdualunionall15. 6select5,5fromdualunionall16. 7select6,6fromdualuniona

38、ll17. 8select7,7fromdualunionall18. 9select8,8fromdual;19. 20. 已创建8行。21. 22. SQLcreatetablePoly23. 2(24. 3PolyIDnumber,25. 4PolyNAMEvarchar2(5)26. 5);27. 28. 表已创建。29. 30. 31. 32. SQLinsertintoPoly(PolyID,PolyNAME)33. 2select1,Afromdualunionall34. 3select2,Bfromdual;35. 36. 已创建2行。37. 38. SQLcreatetab

39、leZd39. 2(40. 3ZdIDnumber,41. 4ZdNAMEvarchar2(5)42. 5);43. 44. 表已创建。45. 46. SQLinsertintoZdvalues(1,一);47. 48. 已创建1行。49. 50. SQLinsertintoZdvalues(2,二);51. 52. 已创建1行。53. 54. SQLcreatetableDotLine55. 2(56. 3LineIDnumber,57. 4DotIDnumber,58. 5isstartvarchar2(5)59. 6);60. 61. 表已创建。62. 63. 64. SQLinsertintoDotline(LineID,DotID,isstart)65. 2select1,3,nfromdualunionall66. 3select1,4,yfromdualunionall67. 4select2,3,yfromdualunionall68. 5select2,2,nfromdualunionall69

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论