引文:
長期以來,多媒體信息在計算機中都是以文件形式存放,由操作系統管理的,但是隨著計算機網絡,分布式計算的發展,對多媒體信息進行高效的管理,存取,查詢已經成了一種迫切需求。而關系數據庫卻有著強大的數據管理能力。兩方面結合,多媒體數據庫由此應運而生。本文將就Oracle對多媒體信息進行處理的方式,工具,特色以及一些基本原理做一個綜述。
但是我們不能不遺憾的看到,現有數據庫對一些多媒體數據所特有的操作能力還是很有限的。針對多媒體數據庫的性能調優現在也遇到了新的問題。雖然如此,多媒體數據庫仍舊產生了廣闊的應用價值和前景。
當然本文不可能面面俱到,有關Oracle多媒體信息處理的具體內容,請查閱Oracle相關手冊。
一.應用前景綜述
隨著計算機處理能力的大副提高,多媒體早已經融入到了計算機當中了,如果缺少了多媒體,缺少了各種多姿多采的圖象,音頻,視頻,很難想象計算機如今會走入千家萬戶。長期以來,多媒體信息在計算機中都是以文件形式存放,由操作系統管理的,但是隨著計算機網絡,分布式計算的發展,這種單純的文件式管理已經力不從心了,對多媒體信息進行高效的管理,存取,查詢已經成了一種迫切需求。而關系數據庫卻有著強大的數據管理能力。兩方面密切結合,多媒體數據庫由此應運而生。可以預見,隨著多媒體處理需求的加強,多媒體數據庫的應用將越來越廣泛。
Oracle作為一家著名的數據庫廠商,在多媒體信息處理上,更是走在了前邊。本文將就Oracle對多媒體信息進行處理的方式,工具,特色以及一些基本原理做一個綜述。希望對讀者有所啟發。當然,關系數據庫還有好多家,雖然開發工具,編程接口語句各異,但在數據類型、處理方式上比較相似。所以我們在此略過。
二.多媒體數據類型介紹
在關系型數據庫中,多媒體信息等大型對象是由lob型字段來進行存取的。在Oracle8i中,正式引入了此標准,以適應多媒體大對象處理的需求。Oracle數據庫中,lob型數據有以下幾種:
--------------------------------------------
Lob類型 說明
Clob: 和Oracle7的long型相似,clob可以存儲單字節型數據
Nclob: Nclob存儲定寬的多字節國家字符集數據
Blob: 和Oracle7中的long raw類型相似。可以存儲無結構的二進制數據。Oracle8沒有對這種數據進行解釋 ,只是按照原來的形式存儲和檢索它。
Bfile: Bfile允許對Oracle數據庫以外存儲的大型二進制文件進行只讀形式的訪問。和其它三種lob類型數據 不同的是,bfile類型數據存儲在一個單獨的文件中,該文件不由Oracle來維護。
特點:
1.在Oracle7中,相應的long或long raw字段有2g的限制,而lob的限制是4g 。
2.lob可以使用調用接口OCI或者由pl/sql利用dbms_lob包進行操縱。
3.lob不象long型那樣每個表中最多只有一個字段的限制,其可以有多個,而又可以利用觸發器的特性。
4.lob數據處理可以獲得與其它數據同樣的事物特性。
5.lob的存儲比較特殊,它並不是跟其他數據存儲在同一個數據庫表中,而是可以單獨存放於不同的表空間中,由一個定位符指向實際的lob數據。