对Oracle 11g中的XML正确理解

数据库 Oracle
以下的文章主要是介绍Oracle 11g中XML的的实际操作步骤,以及了解其相关计划与升级的相关信息的描述,以下就是文章的具体内容。

你是否对正确理解Oracle 11g中XML的的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍正确理解Oracle 11g中XML的方法,以下就是相关内容的具体描述。

作为一名独立的Oracle数据库顾问,以及某数据库技术网站特约的备份和恢复以及数据库设计专家,Brian Peasland对Oracleshen数据库有着充分的了解。他用了几天的时间来帮助公司和个人更充分地利用Oracle的旗舰数据库管理系统

对于最新版的 Oracle 11g版,我们对Peasland进行访谈,了解一些 Oracle的计划变更和升级的信息。

在这篇访谈中,Peasland讨论了为什么他没有大量利用Oracle 11g中计划的XML升级,并且谈论了 这样的一个事实,即他曾经交谈的很多用户都希望下一个版本的PL/SQL可以包含一种更好的方式来追踪PL/SQL呼叫栈。Peasland还为那些准备 考取10g的Oracle认证专家考试的人们提出了一些建议,还为数据库新手和老手们,以及想要正确搞定Database 10g的人们提出了一些关键词。

Oracle说他的旗舰数据库管理系统的下一个版本——Oracle Database 11g——包括新的有关XML升级。他们把注意力集中在XML DB上,还包括了一个新的XML二进制数据和新的XML索引。这些种类的更新重要吗?为什么或者为什么不呢?

Brian Peasland:对我来说,数据库中大多数的XML的内容都不十分重要,因为XML是以层次格式组织的,这一点在20世纪80年代得到了证明,数据的层 次格式不支持快速的有效率的数据检索。当他们开始把XML格式应用到关系型数据库的时候,我一直觉得很迷惑。

我们不能简单地在一个表中查寻一点XML数 据,并且与其它的相比又快又简单。通常这样做意味着你必须把数据散开。我从来不喜欢把XML放到数据库里面,我也从来没有必要这么做。我确实知道有些人需 要这样做,并且这样做也对他们特殊的应用程序有意义。

但是他们存储XML更像是有些人在数据库中存储Word文档或者存放.wav文件。他们没有把它作为 以后可供查询的共有数据来存储。他们想要真正地存储XML为完整的文件,不是一段一段的数据。

为什么你提到的那些人要把XML作为完整文件存储?

Peasland:例如,新版本的微软Office将会把XML作为它的标准格式。取代原先数据库中使用的Word类型的资本文件格式,也许他 们想要在数据库中将这种新的XML格式作为文档存储。虽然,他们可以运行类似Oracle文本这样的工具来进行快速文档的快速搜索。但是这是一种与我所见 到的一些人想要尝试的方式——他们想要将综合数据,例如员工列表,以XML格式存储在数据库中——完全不同的使用。对我来说,那些代表了项目实体的属性和 数据行应该存储在一个关系表中。

你希望在Database 11g或者其它Oracle的未来版本的数据库管理系统中,PL/SQL发生什么变化?

Peasland:许多人这些天都在询问一种更简单的方式来追踪PL/SQL呼叫栈。实话实说,我也不确定为什么,但是我确实遇到了想要这样做 的人。一个家伙不禁想要追踪,还想要能够存储它。DBMS_DEBUG的bug工具已经存在很长一段时间了,用它,你可以追踪你的PL/SQL呼叫栈,但 是它非常难以使用。SQL开发人员已经在这方面进行努力了。但是数据库中有一些这样的东西还是比较好的。

你个人还希望看到什么其它的PL/SQL变化?

Peasland:我曾期待的一个变化就是在SQL Server中真的可以让某些事情变得非常简单,但是在Oracle的PL/SQL中就不是这样了。在SQL Server中,我可以做一个存储过程,让它刚好能够吐出那些数据,就好像那是查询自身一样。

在Oracle中,为了完成这一点,你必须用特殊的数据类型 作为你的参数然后再把它查询出来。你必须使用Ref游标或者其它类似的什么东西。这有一点麻烦,但是如果你可以做的话,也是不错的。其他的平台允许你这样 做,但是Oracle就不可以。

你对SQL Developer有什么看法,相比较类似产品而言?

Peasland:我喜欢SQL Developer的一个原因就是我能够在SQL Developer中做一些快速的查询,方式与在SQL Server中一样。SQL Developer的能力可以解释我的查询的部分内容,但是让人会把他留在那里,留给那些不注释它们的实例再次呼叫,这种一种用于不同测试目标的调试和运 行查询的良好方式——绝对不是用于产品使用,而是一种开发者的工具。

你的网站包括了一些注意文档,用来帮助人们通过Oracle 10g的Oracle认证专家考试。你给那些计划通过考试的人有些什么建议?

Peasland:我要告诉大家的一件大事就是,一,阅读有关新特性的文档,因为几乎有关考试的所有内容都在文档中。这非常重要。还有我了解人 们都害怕文档,但是我喜欢这种方式,因为我的大部分问题的答案(作为SearchOracle.com的网站专家)都是从文档中寻找到正确答案的。阅读文档,因为它可以让你熟悉此类事情。另外一件事情就是,练习你学到的,因为当你练习的时候,你就会开始学习一些新特性工作的进出方式。

然后,主动尝试去打破 一些东西。很明显,你会希望在测试系统上做这件事情,这个系统只有你可以访问,其他人都无法访问,因为你不想打扰其他任何人的工作。在尝试打破一些东西的 时候,你会学习到新的特性。

你的网站还介绍了一些有关违反策略和保卫Oracle 10g安全的信息。有没有什么好办法可以确保Oracle 10g正常启动?

Peasland:有一项针对每个人的策略侵害,即使你是直接在机器外安装Oracle,就是有一些供应的包可以对公众开放,这意味着数据库中 的每个人都可以使用它们。拥有可以使用这些包的能力会导致安全漏洞。例如,有这样的一个包叫做UTL_File。它让存储过程中的某些人可以与数据库所在 的文件系统进行交互。

你也许不想要写入文件,因为这样会带来潜在的危险。还有,一些著名的Oracle专家明确指出,像UTL_File这样的东西会让人 们探测数据库。我们听说类似这样的安全漏洞总是存在的,它也不是Oracle独有的。数据库中的用户应该有最低权限的概念,意思是他们应该只拥有完成任务 所需要的最低限度的权限。上述的相关内容就是对理解Oracle 11g中的XML的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle数据操作与控制语言的步骤讲解
  2. Oracle数据库的性能优调技术总结
  3. Oracle空间管理的3技巧
  4. Oracle数据库的统计数据与其生成的具体方式
  5. 支付宝如何用Oracle 11g创建新一代数据的分析
责任编辑:佚名 来源: 互联网
相关推荐

2010-07-05 14:58:35

SQL Server数

2009-03-12 10:28:32

数据库Oracle11g自我调整

2011-08-22 13:46:30

Oracle 11gXML Table

2009-11-20 12:55:08

Oracle 11g功

2020-01-07 15:10:32

Linuxinode命令

2009-09-15 09:52:25

Oracle 11g分

2009-06-18 10:29:24

Hibernate I

2009-12-14 17:48:46

Ruby String

2012-05-07 13:45:45

Oraclen 11g虚拟列数据库

2010-04-01 15:19:56

Oracle 11g压

2011-04-15 09:11:21

2009-12-03 18:07:47

PHP转义

2010-04-13 15:56:03

Oracle 11g

2010-07-20 12:35:33

SQL Server索

2010-02-01 10:54:37

C++框架

2009-12-04 18:00:46

PHP开发MVC模型

2010-08-04 16:41:01

2010-04-26 11:26:48

Oracle 11g

2010-05-10 14:46:54

Oracle 11g

2009-07-08 00:24:00

数据压缩Oracle 11g
点赞
收藏

51CTO技术栈公众号