网站大量收购独家精品文档,联系QQ:2885784924

oracle专家高级编程 中文第一节新.pdf

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle专家高级编程 中文第一节新

1 章 开发成功的Oracle 应用程序 花了大量时间使用Oracle 数据库软件,更确切地讲,一直在与和使用 Oracle 数据库软件的人打交道。在过去的 18 年间, 参与 过许多项目,有的相当成功,有点却彻底失败,如果把这些经验用几句话来概括,可以总结如下: q 基于数据库 (或依赖于数据库)构建的应用是否成功,这取决于如何使用数据库。另外,从 的经验看,所有应用的构建都围绕 着数据库。如果一个应用未在任何地方持久地存储数据,很难想象这个应用真的有用。 q 应用总是在 来来去去”,而数据不同,它们会永远存在。从长远来讲, 们的目标并不是构建应用,而应该是如何使用这些应用 底层的数据。 q 开发小组的核心必须有一些精通数据库的开发人员,他们要负责确保数据库逻辑是可靠的,系统能够顺利构建。如果已成事实(应 用已经部署)之后再去调优,这通常表明,在开发期间你没有认真考虑这些问题。 这些话看上去再显然不过了。然而, 发现太多的人都把数据库当成是一个黑盒 (black box ),好像不需要对它有输入了解。他们可 能有一个SQL 生成器,认为有了这个工具,就不需要再费功夫去学SQL 语言。也可能认为使用数据库就像使用平面文件一样,只需要根 据索引读数据就行。不管他们怎么想,有一点可以告诉你,如果按这种思路来考虑,往往会被误导:不了解数据库,你将寸步难行。这一 章将讨论为什么需要了解数据库,具体地讲,就是为什么需要理解以下内容: q 数据库的体系结构,数据库如何工作,以及有怎样的表现。 q 并发控制是什么,并发控制对你意味着什么。 q 性能、可扩缩性和安全性都是开发时就应该考虑的需求,必须适当地做出设计,不要指望能碰巧满足这些需求。 q 数据库的特性如何实现。某个特定数据库特性的实际实现 式可能与你想象的不一样。你必须根据数据库实际上如何工作(而不 是认为它应该如何工作)来进行设计。 q 数据库已经提供了哪些特性,为什么使用数据库已提供的特性要优于自行构建自己的特性。 q 为什么粗略地了解SQL 还不够,还需要更深入地学习SQL。 q DBA 和开发人员都在为同一个目标努力,他们不是敌对的两个阵营,不是想在每个回合中比试谁更聪明。 初看上去,好像要学习的东西还不少,不过可以做个对照,请考虑这样一个问题:如果你在一个全新的操作系统 (operating system , OS )上开发一个高 可扩缩的企业应用,首先要做什么?希望你的答案是: 了解这个新操作系统如何工作,应用在它上面怎样运行,等 等”。如果不是这样,你的开发努力将会付诸东流。 例如,可以考虑一下Windows 和 Linux ,它们都是操作系统。能为开发人员提供大致相同的一组服务,如文件管理、内存管理、进 程管理、安全性等。不过,这两个操作系统的体系结构却大相径庭。因此,如果你一直是 Windows 程序员,现在给你一个任务,让你在 Linux 平台上开发新应用,那么很多东西都得从头学起。内存管理的处理就完全不同。建立服务器进程的 式也有很大差异。在 Window 下,你会开发一个进程,一个可执行程序,但有许多线程。在Linux 下则不同,不会开发单个独立的可执行程序;相反,会有多个进程协 作。总之,你在Windows 环境下学到的许多知识到了Linux 上并不适用(公平地讲,反之亦然)。要想在新平台上也取得成功,你必须把 原来的一些习惯丢掉。 在不同操作系统上运行的应用存在上述问题,基于不同数据库运行的应用也存在同样的问题:你要懂得,数据库对于成功至关重要。 如果不了解你的数据库做什么,或者不清楚它怎么做,那你的应用很可能会失败。如果你认为应用在SQL Server 上能很好地运行,那它在 Oracle 上也肯定能很好地工作,你的应用往往会失败。另外,公平地讲,反过来也一样:一个Oracle 应用可能开发得很好,可扩缩性很好, 但是如果不对体系结构做重大改变,它在SQL Server 上不一定能正常运行。Windows 和Linux 都是操作系统,但是二者截然不同,同样地, Oracle 和SQL Server (甚至可以是任何其他数据库)尽管都是数据库,但二者也完全不同。 1.1 我的方法 在阅读下 的内容之前, 觉得有必要先解释一下我的开发 法。针对问题, 喜欢采用一种以数据库为中心的 法。如果能在数据 库中完成, 肯定就会让数据库来做,而不是自行实现。对此有几个原因。首先,也是最

文档评论(0)

1honey + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档