按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
l 多个操作系统可以基于相同了网络协议来共同工作
l 本地化的数据操作提高了数据的完整性
对于什么是客户机/服务器型电脑系统 Bernard H。 Boar 的定义如下
客房机/服务器系统就是把单一的任务分解到多个处理器上进行协同处理; 就像在单个
处理器上运行时一样 一个完备的客户机/服务器系统可以将多个处理器捆绑在一起
以提供一个单一系统虚拟环境 共享的资源可以被位于远端的客户机通过特殊的服
务来访问 这种结构可以逐级递归 所以一级服务器可以在最后转变为客户机进需
要求其他的服务器提供服务 就这样一直下去
这种类型的应用程序在设计时需要全新的程序设计技巧 今天的用户界面都是图形用
户界面 不论是微软的 WINDOWS 苹果的 MACINTOSH IBM 的 OS/2 还是 UNIX 的 X
windows 系统均是如此 用过使用 SQL 和网络 应用程序就可以访问位于远端服务器上的
数据库 个人电脑处理能力的提高可以对存放在一系统相关的服务器的数据库作出评定
而这此服务器是可以更换的 而应用程序则只需做出较少的改动甚至无需改动
交互式语言
本书在许多场合下可以借用 BASIC 的概念 举例来说 Microsoft Access 是基于windows
的单用房应用程序而 SQL SEVER 则可以允许 100 个用户同时工作 SQL 的最大优越性在
于它是一种真正的跨平台的交互式语言 由于它可以被程序员在第四代的编程语言中调用
第四代编程语言可以做用少量的代码做大量的工作
易于实现
ORACLE 公司是第一个发行基本于 SQL 的关系型数据库管理系统 RDBMS 的公司
虽然它是为 VAX/VMS 系统开发的 ORACLE 公司也是 DOS 下的关系型数据库的供应商
之一 ORACLE 现在可以运行在近 70 种平台之上 在八十年代中期 Sybase 公司发行了
EMAIL wyhsillypig@163。 24
…………………………………………………………Page 25……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
他们的 RDBMS — — SQL Sever 具有客户端数据库访问功能并支持过程存储 将在第 14 天
的动态应用 SQL 中提到 和多平台交互工作能力 SQL Sever 作为一个成功的产品 其客
户机/服务器工作能力是其最为突出的优势所在 这个强大的数据库系统具有极高的平台适
应性 用 C 语言写成的运行于 PC 机的 ORACLE 其实是运行于 VAX 系统上的 ORACLE 的
复制
SQL 与客户机/ 服务器应用程序开发环境
在使用客户机/服务器电脑来开发客户机/服务器应用程序时 SQL 和关系型数据库的思
想遍及始终 在单用户系统中使用这种技术也可以使您的程序更适应未来的发展
SQL 总览
SQL 是操作和检索关系型数据库的事实上的标准语言 它允许程序员和数据库管理员
做如下的工作
l 更改数据库的结构
l 更改系统的安全设置
l 增加用户对数据库或表的许可权限
l 在数据库中检索需要的信息
l 对数据库的信息进行更新
注 对于 SQL 大家可能还不明白 S 即 Structured 结构 L 即 Language 语言 这是显
而易见的 但是 Q 的意思容易让人误解 Q 的意思当然是 Query 查询 — — 如果你
直译的话 可是这只限于你对数据库提问 但是 SQL 能干的不只是查询 通过它你可
以建立一个库 添加和删除数据 对数据作联合 当数据库改变时触发动作 并把你
的查询存储在程序或数据库中
不幸得很 这对于查询来说似乎是一个缺点 显然 库结构的增加 删除 修改 联
合 存储 触发以及查询语言在多用户协同工作时有点烦琐 我们将会在工作中一直与 SQL
打交道 不过现在你应该知道它的功能不只是限于它的名字所指的内容了
SELECT 语句是 SQL 中应用最多的语句 见第二章 查询— — SELECT 语句的使用
它会从数据库中检索需要的数据并把结果返回给用户 上边的雇员表的举例便是一个典型
EMAIL wyhsillypig@163。 25
…………………………………………………………Page 26……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
的 SELECT 语句的使用例子 除了 SELECT 语句之外 SQL 还提供了用以建立新的数据库
表格 字段和索引的语句以及记录的插入和删除语句 你将会发现 ANSI SQL 还提供了
对核心数据操作的功能 许多数据库管理系统还提供了确保数据完整性和强制安全性的工
具 见第 11 天的传输控制 它允许程序员在当前环境不符合的时候强制性地终止语句组
的执行
流行的 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。