八宝书库 > 文学其他电子书 > SQL 21日自学通(V3.0)(PDF格式) >

第11部分

SQL 21日自学通(V3.0)(PDF格式)-第11部分

小说: SQL 21日自学通(V3.0)(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






的执行 



流行的 SQL 开发工具 



   这一部分将介绍一些大众化的 SQL 开发工具  每一种工具都有它的优点和缺点                一些 



工具是基于 PC  用户的    强调易用性  而另一些则是为超大型数据库提供的  本部分将向 



您介绍选择这些工具的关键所在 



   注  为了 SQL  在实际中的使用    本书中举出了一些 SQL  在实际开发环境中的应用例 



   子  SQL 只有出现在你的代码中  为你真正地解决了问题才说明它是有用的 



Microsoft Access 



   在一些应用实例中我们将会举一些 Microsoft  Access  的例子  Microsoft  Access  是一个 



非常容易使用的基于 PC  机的数据库管理系统         在它的下边你既可以手工输入 SQL  语句也 



可以使用图形用户界面工具来生成 SQL 语句 



Personal Oracle7 



   我们使用 Personal  Oracle7  来向大家演示 SQL  对大型数据库上的命令行使用方法    当 



用户对一个数据库或一个操作系统有充分的了解以后              需要在一个孤立的电脑上进行设计 



时这种方法是非常重要的 在命令行下 用户可以在 SQL PLUS 工具中输入不同的单的 SQL 



语句   该工具可以把数据返回给用户  或是对数据库进行适当的操作 



   大多数例子是针对初用 SQL  进行程序设计的程序员的           我们从最简单的 SQL  语句开 



始并进阶到事务处理阶段       为程序设计做好准备  Oracle   的发行版提供一整套的开发工具 



它包括 C++和 Visual  Basic 函数库(Oracle  Objects  for  OLE) 通过它可以将应用程序与 



ORACLE  个人数据库链接在一起      它也可以为数据库      用户或管理员提供图形工具        同 



SQL*Loader 一样  它也经常用于从 Oracle 数据库中导出或引入数据 



EMAIL wyhsillypig@163。                                 26 


…………………………………………………………Page 27……………………………………………………………

SQL 21  日自学通(V1。0)                                        翻译人   笨猪 



注  Personal Oracle7 是 Oracle7 server  的不完整版  它只允许单用户操作 就如同它的名字 



   一样   但它在 SQL 的语法使用与大型 更昂贵的 Oracle 版本是相同的 此外 在 Personal 



   Oracle7  中所使用的工具也适用于 Oracle  的其他版本 



我们选择 Personal7 基于以下原因 



   l   它几乎用到了本书中将要讨论的所有工具 



   l   它是可以在几乎全部的平台运行的            风靡世界的关系型数据库管理系统 



   l   可以从 Oracle  公司的服务器上下载一个它的 90 天限时版。 



   上图显示了 SQL…PLUS  的一个画面 



技巧   注意在本书中所给出的所有 SQL  代码都适用于其它的数据库管理系统                   防止在其它 



     的系统中语法出现大的差别  在本书的例子中指出了它在其它系统中的不同之处 



Microsoft Query 



   Microsoft  Query 是 Microsoft  公司的 Visual  C++和 Visual  Basic 开发工具包中所附带的 



一个非常有用的查询工具  它可应用在基于 ODBC  标准下的数据库                  该查询工具在将查询 



语句提交给数据库之前会将基保留在驱动器上 



EMAIL wyhsillypig@163。                                        27 


…………………………………………………………Page 28……………………………………………………………

SQL 21  日自学通(V1。0)                                     翻译人  笨猪 



开放型数据库联接           ODBC 



   ODBC 是为应用程序接口       API  提供的访问下层数据库所 



用的函数库     它通过数据库引擎与数据库交流          就像在 Windows 



通过打印驱动程序与打印机通信那样  为了访问数据库                可能还 



会需要网络驱动程序与异地数据库通信            ODBC 的结构如右图所 



示 



   ODBC  的特色在于它不是针对任何一种数据库的  举例来说 



你可以用相同的代码来在 Microsoft   Access    表中或 Informix 



database  上运行查询  而无需修改代码或只需做很小的改动           再 



提醒您一次  第三方数据库供应商可能会在 SQL  的标准之上对其 



进行扩充    比如 Microsof  和 Sybase  的  Transact…SQL 以及 Oracle 



的 PL/SQL 



   当您用一种新型的数据库工作时您应该认真阅读一下它的文档  ODBC                 是许多数据库 



所支持的一种标准  包括 Visual Basic  Visual C++ FoxPro Borland Delphi 和 PowerBuilder 



基于 ODBC  所开发的应用程序有着明显的优势          因为它允许你在编写代码的时候不必考虑 



是为哪一个数据库所写的  当然         它的运行速度要弱于特定的数据库代码            也就是说在使 



用 ODBC  的时候其灵活性更强但比起使用 Oracle7 或 Sybase 的函数库时要慢 



EMAIL wyhsillypig@163。                                    28 


…………………………………………………………Page 29……………………………………………………………

SQL 21  日自学通(V1。0)                               翻译人  笨猪 



SQL 在编程中的应用 



   SQL  的最初标准是 ANSI…1986 而在 ANSI…1989 中定义的 SQL  在应用程序中的三种 



接口类型 



   l  模块语句 — — 在程序中使用过程    该过程可以通过主调参数向主调函数返回值 



   l  内嵌 SQL — — 可以在编写程序的过程中内嵌 SQL 语句  该方式在经常需要对 SQL 



      语句进行预编译处理时所需要       在 Pascal FORTRAN COBOL PL/1 中均定义 



      了这样的子句 



   l  直接调用— —  由程序直接实现 



   在动态 SQL  发展以前   内嵌 SQL  在编程中应用最为流行    这种方法在今天也仍然在 



使用   由于静态的 SQL — — 它的意思就是 SQL 语句已经被编译在了应用程序之中       不能在 



运行的过程中改变     这与编译程序同解释程序的区别类似        也就是说这种类型的 SQL 速度 



很快  但是灵活性很差  这在今天的商业应用领域是不适宜的  动态 SQL 这里就不多说了 



   ANSI…92  标准将 SQL  语言标准扩展为一种国际化的标准    它定义了 SQL  的三种编译 



级别  登录调用    内嵌子句和完全编译  主要的新特性如下 



   l  联接到数据库 



   l  移动游标 



   l  动态 SQL 



   l  外连接 



   本书除了这些扩展以外还包括了第三方数据库供应商所提供的扩展              动态 SQL 允许你 



在运行时修改 SQL  语句  但是它的速度要比内嵌型 SQL  慢      它在调用级接口上为应用程 



序开发人员提供了相当大的灵活性        ODBC 或 Sybase 的 DB…Library 就是动态 SQL 的例子 



   调用级接口对于编程人员来说不是一个新概念          当您在使用 ODBC  时  举例来说   你 



需要在 SQL 语句提交给数据库时修改子句中的变量参数而使用该功能  在设计阶段可以通 



过使用其它的函数调用接收错误信息或结果          结果是以数据包的形式返回的 



摘要 



在第一天介绍了 SQL   的历史   由于 SQL  与关系型数据库是紧密结合的  所以第一天也简 



要地介绍了关系型数据库的历史和它的功能          明天我们将讲述 SQL  中最为常用的功能— — 



查询 



EMAIL wyhsillypig@163。                              29 


…………………………………………………………Page 30……………………………………………………………

SQL 21  日自学通(V1。0)                                翻译人  笨猪 



问与答 



问  为什么我要了解 SQL 



答  到现在为止  如果你不知道如何利用大型数据库来进行工作             如果你要使用客户机/ 服 



   务器型应用程序开发平台         如  Visual  Basic Visual   C++ ODBC Delphi 和 



   PowerBuilder 以及一些已经移植到 PC 平台上的大型数据库系统         如  Oracle 和 



   Sybase 来进行开发工作  那么你只有学习 SQL     的知识  在今天大多数的商用程序开 



   发都需要你了解 SQL 



问  在学习 SQL 时我为什么要了解关系型数据库系统 



答  SQL  在为关系型数据库系统开发的      不知道点关系型数据库系统的知识你就无法有效 



   地使用 SQL 



问  在 GUI 图形用户界面工具下我只需按按钮就可以写出 SQL  语句         为什么我还需要学 



   习手工写 SQL 



答  GUI  有 GUI  的方法  手工有手工的方法  一般说来手工写出来的 SQL  比 GUI  写出来 



   的更有效率  GUI  的 SQL 语句没有手工写出的易读     而且如果你知道如何用手工来写 



   SQL 的话那么你在使用 GUI 时就会有更高的效率 



问  既然 SQL 是一种标准化语言  那是不是说我可以用它在任何数据库下进行编程 



答  不是  你只能将它用于支持 SQL 的关系型数据库系统  如 MS…Access      Oracle Sybase 



   和 Informix 尽管不同的系统在执行时有所差别  但是你只需要对你的 SQL  语句进行 



   很小的调整 



校练场 



  在校练场里我们提出了一些问题以帮助你巩固自己所学             这些练习可以提高你在学习中 



的经验  请试着回答和练习附录五        问答与练习  中的内容 



   1  为什么说 SQL 是一种非过程型语言 



   2  我如何知道一种数据库系统是不艺机是关系型数据库系统 



   3  我可以用 SQL 来做什么 



   4  把数据清楚地分成一个个唯一集的过程叫什么名字 



EMAIL wyhsillypig@163。                               30 


…………………………………………………………Page 31……………………………………………………………

SQL 21  日自学通(V1。0)                                          翻译人   笨猪 



练习 



    确认一下你所使用的数据库系统是否是一个关系型数据库系统 



EMAIL wyhsillypig@163。                                          31 


…………………………………………………………Page 32……………………………………………………………

SQL 21  日自学通(V1。0)                           翻译人  笨猪 



第二天      查询 —  — SELECT 语句的使用 



目标 



   欢迎来到第二天  在今天你将学习到以下内容 



   l  如何写 SQL 的查询 



   l  将表中所有的行选择和列出 



   l  选择和列出表中的选定列 



   l  选择和列出多个表中的选定列 



背景 



   在第一天中我们简要地介绍了关系型数据库系统所具有的强大功能          在对 SQL 进行了 



简要的介绍中我们知道了如何同它进行交流        最终  我们将会与计算机用一种非常清楚 



果断的话说    给我看一下所有在本公司中工作十年以上       左撇子  蓝眼睛的外国人    如 



果你能够这样做    与计算机交流  而不是查他们的档案     每一个人都可以用他自己的方法 



来达到目的  但是你却是用 SQL 的一种重要功能— — 查询来达到目的 



   在第一天中我们说过    查询一词用在 SQL 中并不是很恰当  在 SQL  中查询除了向数 



据库提出问题之外还可以实现下面的功能 



     l  建立或删除一个表 



     l  插入  修改  或删除一个行或列 



     l  用一个特定的命令从几个表中查找所需要的信息并返回 



     l  改变信息的安全性 



   SQL 的查询当然也能进行一般的查询工作  在学会使用这个有用的工具之前         我们来 



学习如何写 SQL 的查询语句 



一般的语法规则 



   正如你所看到的那样    SQL 有很高的灵活性  尽管在任何程序中都有一定的规则限制 



EMAIL wyhsillypig@163。                         32 


…………………………………………………………Page 33……………………………………………………………

SQL 21  日自学通(V1。0)                                      翻译人  笨猪 



下而有一个 SQL  中 SELECT  语句使用的简单例子  请注意         在每个 SQL  语句的关键字都 



是大写的    并且用空格将他们划分出来 



SELECT NAME   STARTTERM  ENDTERM 



FROM  PRESIDENTS 



WHERE  NAME    LINCOLN 



   在这个例子中每一个字母都是大写的            但是这不是必需的       上边的查询语句完全可以 



写成这样 



select

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的