《Oracle Spatial 与OCI高级编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:何雄等编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2006
  • ISBN:711306910X
  • 页数:364 页
图书介绍:本书详细介绍了Oracle 数据库中两项关键开发技术Oracle Spatial以及OCI(Oracle Call Interface)。

第1章 数据库基本概念 1

1.1 信息系统 1

第一部分 Oracle数据库基础和环境准备 1

1.2 数据库系统 2

第2章 Oracle数据库系统概述 3

2.1 安装Oracle9i数据库系统 3

2.2 Oracle9i的体系结构 6

2.2.1 Oracle9i的体系框架 6

2.3.1 系统数据库对象 8

2.2.2 Oracle9i的系统模式 8

2.3 Oracle的内部存储结构 8

2.3.2 用户数据库对象 10

2.4 Oracle10g的新特点 11

2.4.1 可用性上的突破 11

2.4.2 用户直接可见的优点 13

2.5 Oracle10g的安装 14

第3章 Oracle使用概述 17

3.1 启动数据库实例 17

3.2 连接数据库 18

3.3 创建数据库 21

3.4 使用Oracle DBA Studio 23

3.5 使用SQL *Plus工具 27

3.5.1 访问SQL *Plus 28

3.5.2 编辑和执行SQL命令 29

第4章 PL/SQL 31

4.1 SQL中的基本元素 31

4.1.1 数据类型 31

4.1.3 词法单元 33

4.1.2 字符集 33

4.2 操作符 34

4.2.1 算术操作符 34

4.2.2 比较操作符 34

4.2.3 逻辑操作符 34

4.2.4 集合操作符 34

4.3 变量和常量 35

4.4 语句 35

5.2 对象-关系模型 36

5.1 什么是Oracle Spatial 36

第二部分 Oracle Spatial 36

第5章 Spatial的概念 36

5.3 空间数据简介 37

5.4 几何实体类型 37

5.5 数据模型 38

5.5.1 元素(Element) 38

5.5.2 几何实体(Geometry) 39

5.5.3 层(Layer)及空间坐标系 39

5.5.4 容限 40

5.6 查询模型 41

5.7 空间数据索引 42

5.7.1 R树索引 43

5.7.2 四叉树索引(Quadtree Indexing) 44

5.8 空间关系及过滤 47

5.9 空间统计(聚集)函数 49

5.10 Spatial的发布版本号及示例 50

第6章 对象-关系方案 51

6.1 简单示例:插入、索引、查询空间数据 51

6.2.1 SDO_GTYPE 54

6.2 SDO_GEOMETRY对象类型 54

6.2.2 SDO_SRID 55

6.2.3 SDO_POINT 56

6.2.4 SDO_ELEM_INFO 56

6.2.5 SDO_ORDINATES 58

6.2.6 注意事项 58

6.3 几何实体示例 58

6.3.1 矩形(Rectangle) 59

6.3.2 带洞的多边形 59

6.3.3 复合线串 61

6.3.4 复合多边形 62

6.3.5 类型值为0的几何实体元素 63

6.3.6 多线串 64

6.3.7 多多边形 65

6.3.8 混合几何实体 66

6.4 几何实体的元数据 66

6.4.3 DIMINFO 67

6.4.2 COLUMN_NAME 67

6.4.1 TABLE_NAME 67

6.4.4 SRID 68

6.5 空间索引结构 68

6.5.1 空间索引视图 68

6.5.2 空间索引表的定义 70

6.5.3 R树索引的Sequence(序列)对象 71

6.6 对度量单位的支持 71

7.1 加载空间数据 73

第7章 加载、索引、查询空间数据 73

7.1.1 带洞的多边形 74

7.1.2 复合线串 75

7.1.3 复合多边形 75

7.1.4 带洞的复合多边形 76

7.1.5 点数据的插入操作 77

7.2 空间索引 77

7.2.1 创建R树索引 78

7.2.2 确定索引 78

7.2.3 固定格网空间索引(四叉树索引) 79

7.2.4 将索引限制在一种几何实体类型 80

7.2.5 创建交叉方案的空间索引 81

7.2.6 使用分区空间索引 81

7.3 查询空间数据 82

7.3.1 查询模型 82

7.3.2 空间查询 83

7.3.3 空间连接运算 87

7.3.4 交叉方案操作的调用 87

8.1 空间参考坐标系的相关术语和概念 89

第8章 空间参考坐标系 89

8.2 大地坐标的支持 90

8.2.1 测地学和二维几何 90

8.2.2 选择大地坐标系或投影坐标系 90

8.2.3 测地数据的其他考虑和要求 90

8.3 本地坐标系支持 91

8.4 坐标系数据结构 91

8.4.1 MDSYS.CS_SRS表 92

8.4.3 MDSYS.SDO_DIST_UNITS表 94

8.4.4 MDSYS.SDO_DATUMS表 94

8.4.2 MDSYS.SDO_ANGLE_UNITS表 94

8.4.5 MDSYS.SDO_ELLIPSOIDS表 95

8.4.6 MDSYS.SDO_PROJECTIONS表 95

8.5 创建自定义的坐标系 95

8.6 对坐标系支持的限制 96

8.7 坐标系转换示例 96

第9章 线性参考系统 103

9.1 线性参考系统的相关术语和概念 103

9.2 LRS数据模型 106

9.3 LRS数据的索引 107

9.4 LRS函数的3D格式 107

9.5 LRS操作 108

9.5.1 几何段的定义 108

9.5.2 几何段的重定义 108

9.5.3 几何段的剪切、分裂和拼接 109

第10章 Oracle Spatial的安装与移植 113

10.1 安装Spatial 113

10.3 移植Spatial8.1.5,8.1.6,8.1.7 114

10.2 Oracle9i到Oracle8i兼容模式的改变 114

第三部分 Oracle Call Interface(OCI)编程 115

第11章 OCI编程基础 115

11.1 OCI基本概念 115

11.2 OCI程序结构 117

11.3 OCI数据结构 118

11.3.1 句柄 118

11.3.2 描述符和定位符 121

11.4.1 创建OCI环境 122

11.4 OCI环境的初始化 122

11.4.2 分配句柄及描述符空间 124

11.4.3 初始化应用、连接及会话 124

11.4.4 示例:OCI环境初始化 125

11.5 终止应用程序 126

11.6 错误处理 127

11.6.1 错误处理基础 127

11.6.2 示例:错误码处理的常用方法 127

11.7 指示符变量 128

11.8 示例:连接和退出数据库 129

第12章 OCI数据类型 131

12.1 数据转换 132

12.2 类型代码 133

12.3 SQLT和OCI_TYPECODE值间的关系 134

第13章 使用OCI处理SQL语句 137

13.1 SQL语句的准备 138

13.2 SQL语句的绑定 139

13.2.1 通过名字绑定 139

13.2.2 通过位置绑定 142

13.3.1 SQL语句执行概述 143

13.3 执行SQL语句 143

13.3.2 示例:错误批处理模式的使用 146

13.4 获取SQL语句的描述信息 151

13.4.1 隐式描述 151

13.4.2 显式描述 158

13.5 输出变量定义 163

13.6 提取查询结果 165

13.6.1 提取查询结果概述 165

13.6.2 示例:查询结果提取 166

14.1 事务及事务管理 171

第14章 事务管理及模式元数据描述 171

14.1.1 简单本地事务 173

14.1.2 全局事务 178

14.2 模式元数据描述 180

14.2.1 描述函数OCIDescribeAny() 181

14.2.2 模式对象属性 182

14.2.3 动态描述模式对象 187

15.1 创建和修改LOB 194

15.2 LOB的数组接口 194

第15章 LOB数据的读写 194

15.3 内外部LOB的操作函数 195

15.4 LOB定位符初始化 197

15.5 读写LOB数据 198

15.5.1 读写LOB数据概述 198

15.5.2 示例:读写BLOB数据 199

第16章 对象类型数据的读写 205

16.1 访问对象-关系型数据的OCI程序流程 205

16.2 持久对象、临时对象和值 206

16.3 使用OTT工具 207

16.3.1 简单示例 208

16.3.2 使用过程 209

16.3.3 输入类型文件 210

16.3.4 OTT中的数据类型映射 211

16.3.5 空指示符结构 214

16.3.6 OTT对对象类型继承的支持 214

16.4 在OCI程序中使用OTT 216

16.5 使用OCI读写对象类型数据 217

16.5.1 写对象类型数据 218

16.5.2 示例:向表hytab里添加含对象类型的记录行 219

16.5.3 读对象类型数据 226

16.5.4 从表hytab里获取val字段的值 226

第17章 读写Oracle Spatial中的对象数据 233

17.1 写入MDSYS.SDO_GEOMETRY类型数据 234

17.2 读取MDSYS.SDO_GEOMETRY类型数据 240

18.2.1 异常处理类 250

18.2 各个主要类的实现 250

18.1 OCI功能分类 250

第18章 OCI接口的封装 250

18.2.2 连接操作类 252

18.2.3 示例:测试从连接池中取出多个数据库连接 257

18.2.4 SQL游标操作类HYCursor 257

18.2.5 使用HYCursor显示表student中的内容 271

18.2.6 数据处理类 272

18.2.7 示例:测试HYString类的功能 274

A.1.1 ALTER INDEX 275

A.1 使用SQL创建空间索引 275

附录A Oracle Spatial参考 275

A.1.2 ALTER INDEX REBUILD 277

A.1.3 ALTER INDEX RENAME TO 278

A.1.4 CREATE INDEX 279

A.1.5 DROP INDEX 281

A.2 SDO_GEOMETRY对象类型方法 282

A.2.1 GET_DIMS 282

A.2.2 GET_GTYPE 283

A.2.3 GET_LRS_DIM 283

A.3.1 SDO_FILTER 284

A.3 空间操作 284

A.3.2 SDO_NN 286

A.3.3 SDO_NN_DISTANCE 288

A.3.4 SDO_RELATE 289

A.3.5 SDO_WITHIN_DISTANCE 292

A.4 几何体函数 293

A.4.1 SDO_GEOM.RELATE 295

A.4.2 SDO_GEOM.SDO_ARC_DENSITY 296

A.4.3 SDO_GEOM.SDO_AREA 298

A.4.4 SDO_GEOM.SDO_BUFFER 299

A.4.5 SDO_GEOM.SDO_CENTROID 300

A.4.6 SDO_GEOM.SDO_CONVEXHULL 301

A.4.7 SDO_GEOM.SDO_DIFFERENCE 303

A.4.8 SDO_GEOM.SDO_DISTANCE 304

A.4.9 SDO_GEOM.SDO_INTERSECTION 305

A.4.10 SDO_GEOM.SDO_LENGTH 306

A.4.11 SDO_GEOM.SDO_MAX_MBR_ORDINATE 307

A.4.12 SDO_GEOM.SDO_MBR 308

A.4.13 SDO_GEOM.SDO_MIN_MBR_ORDINATE 309

A.4.14 SDO_GEOM.SDO_POINTONSURFACE 310

A.4.15 SDO_GEOM.SDO_UNION 310

A.4.16 SDO_GEOM.SDO_XOR 312

A.4.17 SDO_GEOM.VALIDATE_GEOMETRY 313

A.4.18 SDO_GEOM.VALIDATE_LAYER 315

A.4.19 SDO_GEOM.WITH_DISTANCE 316

A.5 空间聚集函数 317

A.5.2 SDO_AGGR_CONVECHULL 318

A.5.1 SDO_AGGR_CENTROID 318

A.5.3 SDO_AGGR_LRS_CONCAT 319

A.5.4 SDO_AGGR_MBR 320

A.5.5 SDO_AGGR_UNION 321

A.6 坐标系转换函数 321

A.6.1 SDO CS.TRANSFORM 322

A.6.2 SDO CS.TRANSFORM LAYER 323

A.6.3 SDO CS.VIEWPORT TRANSFORM 324

A.7线性参考函数 325

A.7.1 SDO_LRS.CLIP_GEOM_SEGMENT 327

A.7.2 SDO_LRS.CONCATENATE_GEOM_SEGMENTS 328

A.7.4 SDO_LRS.CONVERT_TO_LRS_DIM_ARRAY 329

A.7.3 SDO_LRS.CONNECTED_GEOM_SEGMENTS 329

A.7.5 SDO_LRS.CONVERT_TO_LRS_GEOM 330

A.7.6 SDO_LRS.CONVERT_TO_LRS_LAYER 331

A.7.7 SDO_LRS.CONVERT_TO_STD_DIM_ARRAY 333

A.7.8 SDO_LRS.CONVERT_TO_STD_GEOM 334

A.7.9 SDO_LRS.CONVERT_TO_STD_LAYER 334

A.7.10 SDO_LRS.DEFINE_GEOM_SEGMENT 335

A.7.11 SDO_LRS.DYNAMIC_SEGMENT 337

A.7.13 SDO_LRS.FIND_MEASURE 338

A.7.12 SDO_LRS.FIND_LRS_DIM_POS 338

A.7.14 SDO_LRS.GEOM_SEGMENT_END_MEASURE 339

A.7.15 SDO_LRS.GEOM_SEGMENT_END_PT 340

A.7.16 SDO_LRS.GEOM_SEGMENT_LENGTH 340

A.7.17 SDO_LRS.GEOM_SEGMENT_START_MEASURE 341

A.7.18 SDO_LRS.GEOM_SEGMENT_START_PT 342

A.7.19 SDO_LRS.GET_MEASURE 342

A.7.20 SDO_LRS.IS_GEOM SEGMENT_DEFINED 343

A.7.22 SDO_LRS.IS_MEASURE_INCREASING 344

A.7.21 SDO_LRS.IS_MEASURE_DECREASING 344

A.7.23 SDO_LRS.LOCATE_PT 345

A.7.24 SDO_LRS.MEASURE_RANGE 346

A.7.25 SDO_LRS.MEASURE_TO_PERCENTAGE 347

A.7.26 SDO_LRS.OFFSET_GEOM_SEGMENT 347

A.7.27 SDO_LRS.PERCENTAGE_TO_MEASURE 349

A.7.28 SDO_LRS.PROJECT_PT 350

A.7.29 SDO_LRS.REDEFINE_GEOM_SEGMENT 351

A.7.30 SDO_LRS.RESET_MEASURE 352

A.7.31 SDO_LRS.REVERSE_GEOMETRY 353

A.7.32 SDO_LRS.REVERSE_MEASURE 354

A.7.33 SDO_LRS.SCALE_GEOM_SEGMENT 355

A.7.34 SDO_LRS.SET_PT_MEASURE 357

A.7.35 SDO_LRS.SPLIT_GEOM_SEGMENT 358

A.7.36 SDO_LRS.TRANSLATE_MEASURE 360

A.7.37 SDO_LRS.VALID_GEOM_SEGMENT 361

A.7.38 SDO_LRS.VALID_LRS_PT 362

A.7.39 SDO_LRS.VALID_MEASURE 362

A.7.40 SDO_LRS.VALIDATE_LRS_GEOMETRY 363