韓紅幫 張恒云 陳云霜
摘要:隨著現(xiàn)代信息技術(shù)的迅猛發(fā)展,如何高效地對大量的信息進行處理與檢索,也給多媒體開發(fā)提出了一個新的技術(shù),數(shù)據(jù)庫技術(shù)為問題的解決提供了方案。該文從多媒體開發(fā)的角度簡要介紹了多媒體數(shù)據(jù)庫的發(fā)展現(xiàn)狀、類型,對多媒體數(shù)據(jù)庫的特點、幾個關(guān)鍵技術(shù)和數(shù)據(jù)庫技術(shù)原理進行了闡述,并將媒體數(shù)據(jù)庫分為外部數(shù)據(jù)庫和內(nèi)部數(shù)據(jù)庫,重點對外部數(shù)據(jù)庫的實現(xiàn)方法做了詳細介紹。
關(guān)鍵詞:數(shù)據(jù)庫技術(shù);多媒體數(shù)據(jù)庫;關(guān)鍵技術(shù);ODBC;外部數(shù)據(jù)庫
中圖分類號:TP37文獻標識碼:A文章編號:1009-3044(2012)26-6360-03
On the Application of Data-base Technology in Multi-media Development
HAN Hong-bang1,ZHANG Heng-yun2,CHEN Yun-shuang1
(1.Modern Education Technology Center of Kunming University, Kunming 650214,China;2.Kunming University, Kunming 650214,China)
Abstract: With the fast development of modern information technology, multi-media research is focused on the index and pro? cessing of information with high efficiency. This article finds the data-base technology affording solution, thus briefly introduces the definition, classification and development of data-base. Demonstrating the principles, features, and essential technologies of data-base, the author of this article sorts it as exterior and interior, and furthermore, illustrates in detail the approaches to put into practice the exterior data-base.
Key words: data-base technology; multi-media data-base; essential technology; ODBC; exterior data-base
在當今信息社會,隨著多媒體技術(shù)和數(shù)據(jù)庫技術(shù)的結(jié)合,多媒體數(shù)據(jù)庫應運而生,特別是其在開發(fā)中的應用,能夠使開發(fā)的產(chǎn)品有比較強的多媒體數(shù)據(jù)處理能力,比如對數(shù)據(jù)的存儲、查詢,同時還可以處理大量的外部信息。因此,在多媒體軟件開發(fā)中對數(shù)據(jù)庫技術(shù)的應用研究具有重要意義。
1多媒體數(shù)據(jù)庫發(fā)展現(xiàn)狀與概述
隨著計算機的廣泛應用,人們要求計算機能處理各種形式的數(shù)據(jù),如財務數(shù)據(jù)、文檔管理等。這些數(shù)據(jù)的信息量大,內(nèi)容復雜,而且要求能夠?qū)?shù)據(jù)進行共享和保密,于是產(chǎn)生了數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)的一個重要特性是數(shù)據(jù)的獨立性,用戶對數(shù)據(jù)的任何操縱都是通過向數(shù)據(jù)庫管理系統(tǒng)發(fā)送請求實現(xiàn)的。
數(shù)據(jù)庫系統(tǒng)的性能與數(shù)據(jù)庫的數(shù)據(jù)模型直接相關(guān)。數(shù)據(jù)庫的數(shù)據(jù)模型先后經(jīng)歷了網(wǎng)狀模型、層次模型、關(guān)系模型和面向?qū)ο竽P偷入A段。關(guān)系模型因為有完整的理論基礎(chǔ),取代了網(wǎng)狀模型和層次模型,目前關(guān)系數(shù)據(jù)庫在實際應用中居于主導地位。
數(shù)據(jù)庫(databas,DB)是指長期儲存在計算機內(nèi)的,有組織的,可共享的數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)學模型組織、描述和存儲,具有較小的冗余度,較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。數(shù)據(jù)庫技術(shù)是指研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、設計和使用的一門軟件科學,是建立在海量信息處理基礎(chǔ)上的信息管理科學。
2多媒體數(shù)據(jù)類型
2.1數(shù)字字符數(shù)據(jù)
數(shù)字字符數(shù)據(jù)經(jīng)常由字符和數(shù)值構(gòu)成,具有非常規(guī)范的結(jié)構(gòu)化形式。完成對信息的抽象后,還要建立與實體之間的聯(lián)系,因此對這燈數(shù)據(jù)的存儲多采用結(jié)構(gòu)化的關(guān)系模型。
2.2文本數(shù)據(jù)
文本是最常見的媒體形式,也是多媒體數(shù)據(jù)類型中比較簡單且最重要的數(shù)據(jù)類型。各種書籍、文獻、檔案等都是主要由文本媒體構(gòu)成的,計算機對文本數(shù)據(jù)的處理在情報檢索中已得到了廣泛應用。
2.3聲音數(shù)據(jù)
聲音能夠使一個對象或過程變得生動,而這種生動又帶來了新的信息;同時聲音也是應用中必須考慮的需要進行有效管理的媒體。高質(zhì)量的聲音需要大容量的存儲,在通常情況下,每分鐘聲道的聲音經(jīng)過數(shù)字化后需要上兆的存儲量。
2.4圖像數(shù)據(jù)
圖形和圖像按一定順序組成時間序列,就是動畫和數(shù)字化視頻,這時數(shù)據(jù)的組成及內(nèi)容與時間就有了密切的關(guān)系
3多媒體數(shù)據(jù)庫的特點
3.1數(shù)據(jù)量大
無論是聲音信息還是圖像信,數(shù)據(jù)量都非常大且媒體之間量的差異十分明顯,而使數(shù)據(jù)在數(shù)據(jù)庫中的組織方式和存儲方法變得復雜。一幅較高分辨率的數(shù)字化彩色圖像約需1MB左右的存儲空間。
3.2數(shù)據(jù)類型復雜
除上述4類多媒體數(shù)據(jù),在具體實現(xiàn)時,常根據(jù)系統(tǒng)定義、標準轉(zhuǎn)換而演變成幾十種媒體形式。
3.3數(shù)據(jù)操縱復雜
多媒體不僅改變了數(shù)據(jù)庫和應用系統(tǒng)的界面,使其聲音、圖像、文字并茂,而且改變了數(shù)據(jù)庫的操縱形式,最重要的便是查詢機制和查詢方法。
4數(shù)據(jù)庫在多媒體開發(fā)中的關(guān)鍵技術(shù)
4.1數(shù)據(jù)模型技術(shù)
模型是對現(xiàn)實世界特征的模擬和抽像,數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽像。在多媒體開發(fā)中,其數(shù)據(jù)的表示、結(jié)構(gòu)和性質(zhì)比較復雜時,就需要用抽像化的方法來建立數(shù)據(jù)模型。數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)的約束條件(完整性規(guī)則的集合)組成。與傳統(tǒng)數(shù)據(jù)庫相同,數(shù)據(jù)模型是多媒體數(shù)據(jù)庫系統(tǒng)的核心,功能是將用戶與存儲設備管理及存儲結(jié)構(gòu)的細節(jié)相隔離,同時抽象出數(shù)據(jù)的靜態(tài)和動態(tài)屬性,為建立多媒體數(shù)據(jù)的使用工具(如編輯器等)提供形式化的基礎(chǔ)。
多媒體數(shù)據(jù)模型要能支持媒體的獨立性,能實現(xiàn)諸多媒體的結(jié)合、擴充以及互換,能使用戶最大限度地忽略各種媒體間的差別,從而實現(xiàn)對復雜數(shù)據(jù)對象的管理和應用。
4.2用戶接口技術(shù)
多媒體數(shù)據(jù)庫的用戶接口技術(shù)主要包括多媒體數(shù)據(jù)的輸入/輸出、基于時間空間同步的多媒體表現(xiàn)以及多體信息的瀏覽。在多媒體管理系統(tǒng)中,應提供兩類接口:可視化語言的接口和多媒體數(shù)據(jù)庫程序設計語言??梢暬Z言接口利用窗口管理和指示設備實現(xiàn),在可視模式下定義與表達,查詢與瀏覽。因多媒體對象具有復合性的特點,需采用面向?qū)ο蟮姆椒▉韺崿F(xiàn)多媒體庫管理系統(tǒng)。做到無縫集成面向?qū)ο蟮某绦蛟O計語言和數(shù)據(jù)庫語言,是實現(xiàn)多媒體數(shù)據(jù)庫系統(tǒng)的本身需求,也是應用程序設計者的開發(fā)需要。
4.3多媒體檢索與查詢技術(shù)
檢索與查詢有基于關(guān)鍵詞和基于內(nèi)容兩類檢索。基于關(guān)鍵詞的檢索與表示的數(shù)據(jù)類型和結(jié)構(gòu)有關(guān),不需對內(nèi)容做任何分析,常用于多媒體數(shù)據(jù)中復合媒體對象的檢索。基于內(nèi)容的檢索則根據(jù)媒體內(nèi)容語義進行匹配,常用于對文本媒體內(nèi)容檢索查詢。在對圖像、聲音等媒體檢索和查詢時,要借助模式識別進行語義分析和特征匹配,相似性查詢,確定相似函數(shù)的特征因子,是減少檢索空間和結(jié)果空間的重要問題。
5多媒體開發(fā)中的數(shù)據(jù)庫技術(shù)原理
多媒體數(shù)據(jù)庫一般分為二種:外部和內(nèi)部數(shù)據(jù)庫。外部數(shù)據(jù)庫有強大的數(shù)據(jù)類型和表現(xiàn)能力,成熟的技術(shù)及應用時間較長等特點。當今,較多的多媒體開發(fā)軟件使用外部數(shù)據(jù)庫,如基于Web格式的Dreamweaver、Authorware和方正奧思等均都有效地使用外部數(shù)據(jù)庫。公用數(shù)據(jù)庫接口ODBC是外部數(shù)據(jù)庫與多媒體軟件的數(shù)據(jù)交換與傳輸?shù)闹虚g件。ODBC(Open Databases Connectivi ty),是微軟公司開放服務結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標準API(應用程序編程接口)。多媒體軟件與數(shù)據(jù)庫進行數(shù)據(jù)交換操作是通過ODBC數(shù)據(jù)驅(qū)動程序管理器驅(qū)動各類與其發(fā)生數(shù)據(jù)交換的數(shù)據(jù)庫。ODBC由ODBC驅(qū)動程序管理器和各類數(shù)據(jù)庫驅(qū)動程序組成,在使用數(shù)據(jù)庫開發(fā)多媒體課件前,必須建立與之相關(guān)的數(shù)據(jù)庫驅(qū)動,即所說的數(shù)據(jù)源,只有數(shù)據(jù)源在ODBC驅(qū)動程序管理器中設置完成以后,在使用的時候才能有效地建立起數(shù)據(jù)庫連接,完成對數(shù)據(jù)的各種操作,在數(shù)據(jù)庫操作完畢后,要即時斷開數(shù)據(jù)庫連接,以確保系統(tǒng)資源能合理有效地使用。
內(nèi)建數(shù)據(jù)庫是多媒體開發(fā)軟件內(nèi)部集成的數(shù)據(jù)庫產(chǎn)品,多媒體軟件與數(shù)據(jù)庫直接進行數(shù)據(jù)的交換操作,不需要使用中間件技術(shù),其優(yōu)點是讀取速度比較快,兼容性能也良好。多數(shù)用于開發(fā)本機多媒體數(shù)據(jù)庫產(chǎn)品,而ODBC中間件則是基于TCP/IP協(xié)議來實現(xiàn)的數(shù)據(jù)庫管理技術(shù),它可在網(wǎng)絡上實現(xiàn)遠程數(shù)據(jù)的各種操作,其應用范圍更廣泛。
6多媒體開發(fā)中的外部數(shù)據(jù)庫技術(shù)
目前,多媒體開發(fā)軟件首選的是使用外部數(shù)據(jù)庫接口技術(shù)。如Authorware ,使用符合ODBC標準的各類數(shù)據(jù)庫,系統(tǒng)提供了當前流行的Access、Foxpro、SQLserver等數(shù)據(jù)庫接口,用戶可以用多種方法對數(shù)據(jù)庫進行操作,本節(jié)將以Authorware為開發(fā)軟件,在課件中實現(xiàn)學生成績的管理為實例,討論利用ODBC接口對Access建立的數(shù)據(jù)庫進行操作。
6.1建立外部數(shù)據(jù)庫
根據(jù)多媒體開發(fā)時的需求分析,按照數(shù)據(jù)庫設計原則規(guī)劃好數(shù)據(jù)庫,避免冗余數(shù)據(jù)的產(chǎn)生。利用Access設計數(shù)據(jù)庫,數(shù)據(jù)庫名為student。在數(shù)據(jù)庫中建立學生成績信息表score,字段有:學號、姓名、班級、課程名稱、成績和備注等。
6.2外部數(shù)據(jù)庫的連接配置
多媒體軟件要訪問外部數(shù)據(jù)庫是,首先要在ODBC管理器中創(chuàng)建一個數(shù)據(jù)源,讓服務器與數(shù)據(jù)庫建立聯(lián)系,使服務器成為數(shù)據(jù)庫與多媒體軟件的進行數(shù)據(jù)交換的中間紐帶。如前所述,ODBC接口,中文名為:“開放式數(shù)據(jù)庫鏈接”接口,是Microsoft公司推出的實現(xiàn)異構(gòu)數(shù)據(jù)庫互連的標準。在Authorware多媒體開發(fā)軟件中也提供了一個支持標準的ODBC數(shù)據(jù)庫接口。對開發(fā)用戶屏蔽了不同數(shù)據(jù)庫之間的差異,可利用標準的SQL語言對各種不同的數(shù)據(jù)庫進行操作。
Authorware配置ODBC的方法有兩種:手動配置和自動配置。手動配置是利用Windows控制面板中的ODBC應用程序來實現(xiàn)的,與其它開發(fā)軟件應用程序所通用的一種配置方法。其方法為:打開“控制面板”,用鼠標雙擊其中的“32位ODBC”圖標,打開OD BC數(shù)據(jù)源管理器;在“ODBC數(shù)據(jù)源管理器”對話框中單擊數(shù)據(jù)庫類型,然后單擊“添加”按鈕,彈出“創(chuàng)建新數(shù)據(jù)源”對話框;在“創(chuàng)建新數(shù)據(jù)源”對話框中選擇數(shù)據(jù)庫驅(qū)動程序,單擊“完成”按鈕。在ODBC數(shù)據(jù)源安裝對話框中設置指定的ODBC數(shù)據(jù)源名稱、數(shù)據(jù)文件所在目錄與路徑,至此便生成可查詢ODBC數(shù)據(jù)源。
外部數(shù)據(jù)庫連接自動配置則是調(diào)用外部函數(shù)tMsDSN.U32庫中的tMsRegister()函數(shù)實現(xiàn)數(shù)據(jù)源的直接連接,其函數(shù)的格式為:result:=tMsDBRegister(dbReqType,dbType,dbList),參數(shù)dbReqType的意義是對數(shù)據(jù)源的操作方式,其值有1,2,3,4,5,6,7,分別表示增加、配置、刪除ODBC數(shù)據(jù)源和增加、配置、刪除ODBC系統(tǒng)數(shù)據(jù)源及刪除默認的ODBC數(shù)據(jù)源;參數(shù)dbType的意義是指定ODBC數(shù)據(jù)源使用的驅(qū)動程序;dbList用來指定ODBC數(shù)據(jù)源的名稱。參數(shù)設置完畢后,運行程序,如果運行成功,result變量的返回值為1,否則為0。
ODBC配置代碼如下:
dbType:=”Microsoft Access Driver(*.mdb)”
/***指明數(shù)據(jù)源的類型,這里以Access數(shù)據(jù)庫為例***/
dbList:=”DSN=studentDSN;”
/***數(shù)據(jù)源文件名稱***/
dblist:=dbList^”Description=My ODBC DSN;”
/***數(shù)據(jù)源的說明部分***/
dbList:=dbList^”FIL=MS Access;”
/***數(shù)據(jù)庫類型***/
dbList:=dbList^”DBQ=”^FileLocation^”student.mdb;”
/***數(shù)據(jù)庫路徑,,與主程序在同一個目錄下***/
result:=tmsdbregister(4,dbtype,dblist)
/***創(chuàng)建一個新的系統(tǒng)數(shù)據(jù)源***/
6.3對數(shù)據(jù)庫進行操作
Authorware若要對數(shù)據(jù)庫進行操作,需要引入外部函數(shù)文件ODBC.U32(該文件在Authorware安裝目錄下),它提供了對數(shù)據(jù)庫操作的三個函數(shù):ODBCOpen、ODBCExecute和ODBCClose。
1) ODBCOpen()
格式:
ODBCHandle:=ODBCOpen(WindowHandle, Errorvar, database, User, Password)
該函數(shù)打開由參數(shù)Database指定的數(shù)據(jù)源,其中:
WindowHandle:程序的窗口句柄,直接輸入該參數(shù)即可。
ErrorVar:如果數(shù)據(jù)源不能正常打開,該參數(shù)存放返回的錯誤信。
Database:即為數(shù)據(jù)庫的名字。
User:登錄到數(shù)據(jù)庫的合法使用者名。
Password:與登錄到數(shù)據(jù)庫的合法用戶對應的密碼。
2) ODBCDate:=ODBCExecute(odbchandle,Sqlstring)
參數(shù)odbchandle為Authorware提供的ODBC句柄;Sqlstring為標準的SQL語言,用來對數(shù)據(jù)庫進行添加、查詢、修改等操作。
3) ODBCClose(odbchandle)
參數(shù)參數(shù)odbchandle為Authorware提供的ODBC句柄。當數(shù)據(jù)庫操作完畢后,一定要用ODBCClose(odbchandle)函數(shù)來關(guān)閉數(shù)據(jù)庫,否則其他的數(shù)據(jù)庫或者其他應用程序都無法使用ODBC接口。
以上三個函數(shù)的聯(lián)合使用,可以完成對數(shù)據(jù)庫的各種操作。
7結(jié)束語
多媒體數(shù)據(jù)庫在多媒體軟件開發(fā)中的應用,對擴展多媒體軟件功能,提升多媒體產(chǎn)品的檔次,提高多媒體產(chǎn)品對信息的處理能力,都具有十分重要的作用,同時也為解決多媒體數(shù)據(jù)庫資源提供了強有力的保障。
參考文獻:
[1]李曉,張曉輝,李祥勝. SQL Server 2000管理及應用系統(tǒng)開發(fā)[M].北京:人民郵電出版社,2002.
[2]施伯樂,丁寶康,汪衛(wèi).數(shù)據(jù)庫系統(tǒng)教程[M].北京:高等教育出版社,2003.
[3]李玉斌.現(xiàn)代教育技術(shù)實用教程[M].北京:高等教育出版社, 2006.
[4]周恕義,王麗波.方正奧思6.0多媒體制作與教學應用[M].北京:人民郵電出版社,2002.
[5]朱詩兵. Authorware數(shù)據(jù)庫編程[M].北京:清華大學出版社,2000.