泛型编程与c标准库.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 1 章 SQL核心 1 凯伦·莫顿(Karen ·Morton ) 不管你是刚开始写SQL语句还是已经写过很多年了,学会写出“好的”SQL这个过程都需要 具有很扎实的SQL核心语法和概念基础知识。本章对SQL语言的核心概念及其性能做了回顾,同 时还描述了一些你应该已经很熟悉的常用SQL命令。对于那些以前曾经使用过SQL并且基础知识 相当牢靠的读者来说,本章就是一个简要的复习,让你为后面更详细的SQL论述做好准备。如果 你是一位SQL新人,你可能想要先阅读Beginning Oracle SQL 这本书以确保掌握SQL的基础。不管 是哪种情况,第1章的目的就是通过对5个核心SQL语句的快速浏览来衡量一下你的SQL水平,同 时还了我们用来执行SQL语句的工具:SQL*Plus。 1.1 SQL 语言 SQL语言最早是IBM公司于20世纪70年代开发出来的,称为结构化英文查询语言,简称为 SEQUEL。该语言是基于E.F.Codd在1969年提出的关系型数据库管理系统(RDBMS )的。后来因 为商标的纠纷,其简称又进一步缩写为SQL。1986年和1987年,ANSI (美国国家标准化组织) 和ISO (国际标准化组织)先后将SQL语言采纳为标准语言。而人们并不熟悉的是,ANSI 官方曾 将SQL语言的读音确定为 “S-Q-L”。绝大多数人,包括我本人,都还在使用 “sequel ”的读音, 只是因为这样读起来更顺口一些。 SQL的目的就是简单地提供一个到数据库的接口,在本书这指地是Oracle数据库。每一条SQL 语句对于数据库来说就是一条命令或指令。SQL与其他编程语言(如C或Java )的区别就在于它 是要处理数据集合而不是一行一行的数据。语言本身也不需要你提供如何导航到数据的指令 ——这是在后台透明地进行的。但你将在后面的章节中看到,如果想在Oracle 中写出高效的SQL 语句,了解数据及其在数据库中的存储方式,与存储位置是很重要的。 由于不同的供应商(例如甲骨文、IBM和微软)实现SQL核心功能的机制相差无几,所以基 于某一种数据库所学的技巧同样可以应用到其他类型的数据库上。你基本上可以利用同样的SQL 语句来进行数据的查询、插入、更新和删除,以及创建、修改和删除对象,而不必管数据库的供 应商是哪家。 尽管SQL是各种关系型数据库管理系统的标准语言,但实际上它并不一定是关系型的。在本 书后面我将就这一点稍作扩展。如果想要了解更多的细节,我推荐大家阅读C.J.Date 的《SQL与 关系理论》(SQL and Relational Theory )一书。需要铭记于心的一点是SQL语言并不总是严格遵 守关系模型的——它根本就没有实现关系模型的某些要素,同时还不恰当地实现了一些要素。事 实上,既然SQL是基于关系模型的,那么要想写出尽可能正确高效的SQL语句,你不仅必须要理 解SQL语言,还要理解关系模型。 1.2 数据库的接口 多年以来人们开发出多种途径来传递SQL语句到数据库并获得结果。Oracle数据库的接口本 地界面是Oracle调用界面(OCI )。OCI将由Oracle 内核传送而来的查询语句发送到数据库。当使 用某种Oracle工具如SQL*Plus或者SQL Developer时,你都在使用OCI 。其他的ORACLE工具如 SQL*Loader、数据泵(Data Pump )以及Real Application Testing (RAT )既使用OCI ,也可以使 用语言特定的接口,如Oracle JDBC-OCI 、ODP.Net 、Oracle预编译器、Oracle ODBC 以及Oracle C++调用接口(OCCI )驱动器。 当使用编程语言(如COBOL或C语言)时,你所写的语句被称为嵌入式的SQL语句并且在应 用程序编译之前会由SQL预处理器进行预处理。代码清单1-1是一段可以在C/C++程序块中使用的 SQL语句的例子。 代码清单1-1 C/C++程序块中所嵌入的SQL语句 其他工具,例如SQL*Plus和SQL Developer,都是交互式的工具。你输入并执行命令,然后 获得相应的输出。交互式工具并不需要在运行代码前先精确编译,你只需要输入想要执行的命令 即可。代码清单1-

文档评论(0)

汪汪队 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档