oracle专家高级编程 中文第一章new

oracle专家高级编程 中文第一章new

ID:34478039

大小:483.14 KB

页数:29页

时间:2019-03-06

oracle专家高级编程 中文第一章new_第1页
oracle专家高级编程 中文第一章new_第2页
oracle专家高级编程 中文第一章new_第3页
oracle专家高级编程 中文第一章new_第4页
oracle专家高级编程 中文第一章new_第5页
资源描述:

《oracle专家高级编程 中文第一章new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章开发成功的Oracle应用程序我花了大量时间使用Oracle数据库软件,更确切地讲,一直在与和使用Oracle数据库软件的人打交道。在过去的18年间,我参与过许多项目,有的相当成功,有点却彻底失败,如果把这些经验用几句话来概括,可以总结如下:q基于数据库(或依赖于数据库)构建的应用是否成功,这取决于如何使用数据库。另外,从我的经验看,所有应用的构建都围绕着数据库。如果一个应用未在任何地方持久地存储数据,很难想象这个应用真的有用。q应用总是在“来来去去”,而数据不同,它们会永远存在。从长远来讲,我们的目标并不是构建

2、应用,而应该是如何使用这些应用底层的数据。q开发小组的核心必须有一些精通数据库的开发人员,他们要负责确保数据库逻辑是可靠的,系统能够顺利构建。如果已成事实(应用已经部署)之后再去调优,这通常表明,在开发期间你没有认真考虑这些问题。这些话看上去再显然不过了。然而,我发现太多的人都把数据库当成是一个黑盒(blackbox),好像不需要对它有输入了解。他们可能有一个SQL生成器,认为有了这个工具,就不需要再费功夫去学SQL语言。也可能认为使用数据库就像使用平面文件一样,只需要根据索引读数据就行。不管他们怎么想,有一点可以告诉

3、你,如果按这种思路来考虑,往往会被误导:不了解数据库,你将寸步难行。这一章将讨论为什么需要了解数据库,具体地讲,就是为什么需要理解以下内容:q数据库的体系结构,数据库如何工作,以及有怎样的表现。q并发控制是什么,并发控制对你意味着什么。q性能、可扩缩性和安全性都是开发时就应该考虑的需求,必须适当地做出设计,不要指望能碰巧满足这些需求。q数据库的特性如何实现。某个特定数据库特性的实际实现方式可能与你想象的不一样。你必须根据数据库实际上如何工作(而不是认为它应该如何工作)来进行设计。q数据库已经提供了哪些特性,为什么使用数

4、据库已提供的特性要优于自行构建自己的特性。q为什么粗略地了解SQL还不够,还需要更深入地学习SQL。qDBA和开发人员都在为同一个目标努力,他们不是敌对的两个阵营,不是想在每个回合中比试谁更聪明。初看上去,好像要学习的东西还不少,不过可以做个对照,请考虑这样一个问题:如果你在一个全新的操作系统(operatingsystem,OS)上开发一个高度可扩缩的企业应用,首先要做什么?希望你的答案是:“了解这个新操作系统如何工作,应用在它上面怎样运行,等等”。如果不是这样,你的开发努力将会付诸东流。例如,可以考虑一下Windo

5、ws和Linux,它们都是操作系统。能为开发人员提供大致相同的一组服务,如文件管理、内存管理、进程管理、安全性等。不过,这两个操作系统的体系结构却大相径庭。因此,如果你一直是Windows程序员,现在给你一个任务,让你在Linux平台上开发新应用,那么很多东西都得从头学起。内存管理的处理就完全不同。建立服务器进程的方式也有很大差异。在Window下,你会开发一个进程,一个可执行程序,但有许多线程。在Linux下则不同,不会开发单个独立的可执行程序;相反,会有多个进程协作。总之,你在Windows环境下学到的许多知识到了

6、Linux上并不适用(公平地讲,反之亦然)。要想在新平台上也取得成功,你必须把原来的一些习惯丢掉。在不同操作系统上运行的应用存在上述问题,基于不同数据库运行的应用也存在同样的问题:你要懂得,数据库对于成功至关重要。如果不了解你的数据库做什么,或者不清楚它怎么做,那你的应用很可能会失败。如果你认为应用在SQLServer上能很好地运行,那它在Oracle上也肯定能很好地工作,你的应用往往会失败。另外,公平地讲,反过来也一样:一个Oracle应用可能开发得很好,可扩缩性很好,但是如果不对体系结构做重大改变,它在SQLSer

7、ver上不一定能正常运行。Windows和Linux都是操作系统,但是二者截然不同,同样地,Oracle和SQLServer(甚至可以是任何其他数据库)尽管都是数据库,但二者也完全不同。1.1我的方法在阅读下面的内容之前,我觉得有必要先解释一下我的开发方法。针对问题,我喜欢采用一种以数据库为中心的方法。如果能在数据库中完成,我肯定就会让数据库来做,而不是自行实现。对此有几个原因。首先,也是最重要的一点,我知道如果让数据库来实现功能,应用就可以部署在任何环境中。据我所知,没有哪个流行的服务器操作系统不支持Oracle;从

8、Windows到一系列UNIX/Linux系统,再到OS/390大型机系统,都支持Oracle软件和诸多选项。我经常在我的笔记本电脑上构建和测试解决方案,其中在Linux或WindowsXP上(或1者使用VMware来模拟这些环境)运行Oracle9i/Oracle10g。这样一来,我就能把这些解决方案部署在运行相同数据库软件但有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。