Sybase Open Client 应用开发指南

Sybase Open Client 应用开发指南 pdf epub mobi txt 电子书 下载 2026

出版者:中国水利水电出版社
作者:阎晓青
出品人:
页数:243
译者:
出版时间:1998-03
价格:48.00
装帧:平装
isbn号码:9787801245724
丛书系列:
图书标签:
  • 想读
  • 学习
  • Sybase
  • OpenClient
  • 应用开发
  • 数据库
  • 编程
  • 指南
  • 开发技术
  • 客户端
  • SQL
  • 数据访问
  • 技术文档
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

内容提要

本书是SYBASE软件(北京)有限公司技术系列丛书之一。

Sybase Open Client是SYBASE公司客户机方面的应用编程接口软件(API),它的功

能是按照统一的规程实现客户对服务器的联接,它的作用是使客户机的应用程序和第三

方的工具软件能够通过SQL命令或数据库RPC(远程过程调用)在整个网络上传递并发送

给SYBASE SQL Server,或经Open Server发送给其他的服务器和数据源。本书系统地

介绍了Client-Library的基本结构、编程步骤,以及怎样联接和发送命令给服务器,怎样

使用存储过程、动态SQL语句和游标来处理数据结果。

《数据库系统原理与实践:从理论基石到现代应用》 本书并非探讨特定厂商客户端工具集或专有API的开发手册,而是一部立足于数据库系统核心理论,涵盖从数据建模、查询优化到高级并发控制与事务管理的综合性教科书与实践指南。 第一部分:数据库系统的理论基石与架构(Foundation and Architecture) 本部分深入剖析了关系数据库管理系统(RDBMS)的底层结构和设计哲学,为理解任何特定数据库产品的内部机制打下坚实的基础。 第一章:数据模型与概念(Data Models and Concepts) 本章首先回顾了数据模型的演变,重点阐述了关系模型(Relational Model)的严格数学基础,包括域(Domain)、关系(Relation)、元组(Tuple)和关系代数(Relational Algebra)。它详细辨析了关系模型与早期模型(如层次模型、网状模型)的本质区别。随后,我们将介绍更现代的数据模型,如面向对象数据模型(OODM)的基本特征,以及NoSQL世界中文档模型、键值模型和图模型的理论抽象。本章强调的是形式化定义,而非具体SQL的语法实现。 第二章:数据完整性与范式理论(Data Integrity and Normalization Theory) 本章是数据建模的核心。我们不仅讲解如何定义实体完整性(Entity Integrity)、参照完整性(Referential Integrity)和域完整性,更侧重于函数依赖(Functional Dependency, FD)的理论推导。深入探讨了范式(Normal Forms)的定义和推导过程,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 Boyce-Codd 范式(BCNF)的完备性与冗余消除机制。此外,还将讨论更高阶范式(如4NF, 5NF)在处理多值依赖和连接依赖时的理论价值,为构建无损连接(Lossless Join)和保持依赖(Dependency Preserving)的数据库设计提供严格的逻辑工具。 第三章:数据库架构与组件(DBMS Architecture and Components) 本章剖析了一个通用数据库管理系统的内部构成。内容涵盖了系统层次结构,从用户接口层到存储管理层。重点分析了查询处理器(Query Processor)的组成,包括SQL解析器、查询验证器和查询重写器。存储管理部分将详述文件组织结构、页(Page)的概念,以及不同类型的数据组织方式(如堆文件Heap Files与有序文件Sorted Files)。此外,本章还会介绍系统目录(System Catalog/Data Dictionary)的作用,它如何存储和管理元数据,是数据库自我描述能力的关键。 第二部分:高性能查询与事务管理(Performance and Transaction Management) 本部分聚焦于数据库系统如何确保数据的一致性、隔离性,以及如何高效地检索和处理数据。 第四章:查询处理与优化(Query Processing and Optimization) 本章是性能优化的核心。我们将详细分析查询执行计划(Execution Plan)的生成过程。内容涵盖了关系代数表达式到逻辑计划,再到物理执行计划的转换。对各种连接算法(Join Algorithms),如嵌套循环连接(Nested-Loop Join)、哈希连接(Hash Join)和排序合并连接(Sort-Merge Join)的性能复杂度进行量化分析。优化器的核心——成本模型(Cost Model)的建立机制将被深入探讨,包括如何利用统计信息(Statistics)估计元组数量和选择性(Selectivity),以及启发式优化规则(Heuristic Optimization Rules)的应用。 第五章:索引结构与存取路径(Indexing Structures and Access Paths) 本章专注于提高数据检索效率的机制。详细讲解了B+树(B+ Tree)作为主流索引结构的内部构造、分裂与合并操作的原理,并对比了静态哈希索引(Static Hashing)和动态哈希索引的优缺点。此外,还将介绍更专业的索引技术,如位图索引(Bitmap Indexes)在数据仓库环境下的应用,以及空间索引(如R-Tree)的基本概念,用以支撑非传统数据类型的快速查找。 第六章:并发控制与事务管理(Concurrency Control and Transaction Management) 本章是确保数据正确性的关键领域。首先,明确定义了事务(Transaction)的ACID属性。接着,详细阐述了并发控制的理论基础——可串行化(Serializability)。重点分析并对比不同的并发控制协议,包括基于封锁(Locking)的协议(如两阶段锁定2PL及其严格变体),以及时间戳排序(Timestamp Ordering)和多版本并发控制(MVCC)的工作机制及其对性能的影响。本章将侧重于冲突检测与解决的算法层面,而非特定数据库的实现细节。 第七章:故障恢复与持久性(Failure Recovery and Durability) 本章探讨数据库系统在系统崩溃、介质故障等情况下的自愈能力。核心内容聚焦于恢复机制(Recovery Mechanisms)。我们将详尽分析基于日志(Logging)的恢复技术,包括预写式日志(Write-Ahead Logging, WAL)的原理,检查点(Checkpoint)机制的设置,以及如何利用UNDO/REDO操作保证事务的原子性和持久性。对延迟写(Deferred Update)和立即写(Immediate Update)策略的优劣对比也将是本章的重点。 第三部分:高级主题与扩展(Advanced Topics and Extensions) 本部分将视野拓宽至现代数据管理面临的新挑战,包括分布式环境和数据仓库的需求。 第八章:分布式数据库系统基础(Foundations of Distributed Databases) 本章介绍了将数据分布到多个物理节点的理论模型。探讨了数据分布的策略,如碎片化(Fragmentation,包括水平和垂直碎片)和分配(Allocation)。核心内容在于分布式事务的一致性保证,特别是两阶段提交(Two-Phase Commit, 2PC)协议的流程、优势与局限性(如单点故障问题)。此外,还会引入更健壮的分布式一致性协议的理论概念。 第九章:数据仓库与OLAP(Data Warehousing and OLAP) 本章针对决策支持系统需求,探讨了与OLTP系统不同的数据组织方式。重点介绍星型模式(Star Schema)和雪花模式(Snowflake Schema)的设计,以及事实表(Fact Tables)和维度表(Dimension Tables)的构建原则。OLAP操作(如钻取Drill-down、切片Slice、旋转Roll-up)的理论模型及其在多维数组结构(Cubes)上的实现机制将得到深入解析。 第十章:新型数据管理范式简述(Paradigms in Modern Data Management) 本章对当前数据管理领域的多元化趋势进行概述,从理论高度审视NoSQL的必要性。讨论了BASE原则与ACID的权衡,以及如何在特定的应用场景下选择最合适的模型(如CAP理论在分布式系统选择中的指导意义)。本章旨在提供一个宏观的视角,理解不同数据存储范式背后的理论权衡,而非具体技术栈的编程指南。 总结: 本书旨在培养读者对数据库系统底层机制的深刻理解,使其不仅能熟练使用SQL语言,更能理解查询为何高效或低效,事务为何正确或错误。它提供的知识体系是通用且跨平台的,聚焦于“为什么”和“如何设计最优结构”,而非特定供应商API或客户端编程接口的具体实现细节。

作者简介

目录信息

目录
第一章 Client-Library概述
1.1客户/服务器体系结构
1.1.1客户的种类(Types of Clients)
1.1.2服务器的种类(Types of Servers)
1.2Open Client和Open Server产品
1.2.1SYBASE Open Client
l.2.2SYBASE Open Server
1.2.3Open Client和Open Server调用的编程接口
1.2.4Open Client 函数库
1.3SYBASE系统11的Open Client
l.3.1SYBASE系统11Open Client包括的产品
1.3.2Client-Library与DB-Library比较
1.4环境设置
1.4.1接口(interfaces)文件
1.4.2环境变量
1.4.3localesdat文件
1.5查找一个SQL Server并使用isql与之连接
1.6样例程序说明
第二章 编程基础
2.1头文件、库文件、编译文本
2.1.1头文件
2.1.2库文件
2.1.3编译文本
2.2控制结构
2.2.1控制结构CS―CONTEXT,CS-CONNECTION,CS-COMMAND
2.2.2三者的继承关系
2.2.3控制结构属性
2.3数据类型
2.4编写一个最简单的CT-Library的应用程序
2.4.1分配环境结构空间
2.4.2初始化函数库
2.4.3分配联接结构
2.4.4设置用户名及口令
2.4.5建立联接
2.4.6关闭联接
2.4.7释放环境结构空间
2.4.8例程说明
第三章 向SQL Server发送命令
3.1第二章中的样例程序介绍(分三个子过程)
3.2分配CS_COMMAND结构,向SQL Server发送命令
3.2.1分配CS_COMMAND结构
3.2.2设置或读取CSCOMMAND结构属性值
3.3初始化、发送、执行命令
3.3.1命令的概念
3.3.2基本步骤
3.4关闭联接、释放资源
3.4.1关闭联接
3.4.2释放资源
第四章 错误及消息处理
4.1客户消息、服务器消息和CS-Library消息
4.1.1客户消息
4.1.2服务器消息
4.1.3CS-Library消息
4.2错误及消息处理的两种方式
4.3定义安装回叫程序处理消息及错误信息
4.3.1定义客户消息回叫程序
4.3.2安装客户消息回叫程序
4.3.3定义服务器消息回叫程序
4.3.4安装服务器消息回叫程序
4.3.5定义CS-Library消息回叫程序
4.3.6安装CS-Library消息回叫程序
4.4样例程序
4.4.1将三个回叫程序写入名为handler.c的文件
4.4.2修改编译文本
4.4.3修改主程序中initdb()子过程
第五章 普通行的处理
5.1概述.
5.2完成与Server的联接
5.2.1对于各种不同类型的结果,建立switch循环
5.2.2ct-results()的参数
5.3返回代码与结果类型
5.3.1返回代码与结果类型的图示
5.3.2关于某些结果类型
5.3.3关于返回代码
5.4可读取的结果类型
5.4.1结果类型图示
5.4.2对于不同类型的结果采取的方法
5.5不同的结果类型
5.5.1调用ct-resu1ts()处理命令产生的各个结果类型
5.5.2某些命令会产生多种结果类型
5.5.3进一步的例子
5.6程序:不同的结果类型
5.7流程图
5.8得到列的个数
5.9把列捆绑到变量
5.10接收转换数据的缓冲区
5.11转换不同的数据类型(普通的数据类型转换)
5.12CS-DATAFMT结构
5.13设置CS-DATAFMT
5.13.1映射到字符串
5.13.2映射到其他数据类型
5.14程序:把列捆绑到程序变量
5.15流程图
5.16取数据
5.17程序:取出并打印每一行
5.18取消不需要的结果
第六章 普通行的描述
6.1得到结果集的信息
6.1.1得到简单“数字”信息
6.1.2用法
6.1.3ct-res-info()的参数
6.2打印“涉及”的行数
6.3得到结果集的信息
6.3.1调用ctdescribe()得到结果集中列的某些特有信息
6.3.2ct_describe()把关于列的信息存入CSDATAFMT
6.3.3ct_describe()的参数
6.4ct_describe()设置CS_DATAFMT结构
6.4.1ct_describe()设置CSDATAFMT结构
6.4.2CSDATAFMT的描述
6.5设置CS DATAFMT的例子
6.5.1结果集的信息
6.5.2cs_describe()设置的CS_DATAFMT结构
6.5.3cstypes.h中描述数据类型的信息
6.6建立CSDATAFMT结构的数组
6.7建立CS_DATAFMT结构的数组(续)
6.7.1建立一个循环
6.7.2fprintf语句的结果
6.8总结
6.9程序:打印列名和结果
6.10得到计算结果的信息
6.10.1举例
6.10.2概述
6.11得到计算结果的信息(续一)
6.11.1计算行的某些信息
6.11.2用法
6.11.3例子
6.11.4ct_compute_info()的参数
6.12得到计算结果的信息(续二)
6.12.1get_aggregate_name()
6.12.2举例
6.13程序:打印计算结果信息
6.14更好地控制存取数据
6.15ct_get_data()
6.15.1用法
6.15.2参数
6.15.3目的
6.16cs_convert()
6.16.1用法
6.16.2参数
第七章 运行存储过程
7.1存储过程
7.2存储过程的优点
7.3存储过程的范例
7.4处理存储过程特有的结果
7.4.1存储过程返回的特殊结果
7.4.2举例
7.4.3在循环中调用ct_results()
7.5返回代码和返回类型
7.5.1运行存储过程后的返回代码和结果类型
7.5.2在循环中调用ct_results()
7.6程序:处理输出参数和返回状态
7.7SQL Server向SQL Server发送RPC
7.7.1图示
7.7.2高效的通讯
7.7.3RPC命令
7.8Client-Library向SQL Server发送RPC
7.8.1图示
7.8.2RPC的优点
7.8.3Client-Library函数调用
7.9RPC的优点
7.10发送RPC命令的步骤
7.11向SQL Server发送RPC信息(不带参数)
7.12向RPC信息增加参数
7.12.1利用ct_param()发送所需数量的参数
7.12.2ct_param()的参数
7.13对变量作数据类型转换
7.14以“本来的”格式传送参数
7.14.1从字符到整型的转换
7.14.2从字符串转换到日期型
7.15为cs_convert()得到c0ntext指针
7.16总结
7.17程序:RPC的一般处理过程
第八章 动态SQL
8.1动态SQL的概述
8.1.1概述
8.1.2动态SQL与存储过程的比较
8.2T-SQL与动态SQL的比较(以“insert”为例)
8.2.1利用T-SQL重复执行insert
8.2.2利用动态SQL重复执行insert
8.3动态SQL的三个阶段
8.4准备SQL语句
8.5执行SQL语句
8.6释放SQL语句占用的资源
8.7总结
8.8程序:动态插入记录
8.9动态SQL的其他功用
第九章 只读游标
9.1游标的概念
9.1.1什么是游标(cursors)
9.1.2游标的基本操作
9.2客户端游标和服务器端游标
9.2.1客户端(Client-side)游标
9.2.2服务器端(Server-side)游标
9.3比较T-SQL语言游标和CT-Library中的游标
9.4使用游标的优点.
9.5使用只读游标的基本步骤
第十章 可修改游标
10.1使用可修改游标的基本步骤
10.2重定位游标的当前位置
10.3重定位游标的基本步骤
第十一章 读写文本/图像字段
11.1文本/图像数据类型的存储方式
11.1.1什么是文本(text)/图像(image)数据类型
11.1.2文本/图像数据类型的存储方式
11.2读取文本/图像字段的值
11.2.1CS-IODESC结构
11.2.2读取文本/图像字段的值
第十二章 批数据拷贝
12.1什么是BULK-Library/C
12.2使用BULK-Library/C编写批数据拷贝程序的两种数据流向
12.3编写BULK-Library/C应用程序前的准备工作
12.3.1头文件bkpublic.h
12.3.2修改编译脚本
12.3.3将数据库″selectint0/bulkcopy"选项设为true
12.4编写批数据拷入程序的基本步骤
附录A Sybase Open Client产品附带的样例程序
附录B Client-Library应用的程序框架
附录C DB-Library和Client-Library
附录D Client-Library CS-Library和Bulk-Copy Library例程列表
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有