程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 對Oracle 11g中的XML正確理解

對Oracle 11g中的XML正確理解

編輯:Oracle數據庫基礎

你是否對正確理解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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved