趙局建,杜 釗,朱 玲
(云南大學(xué)情報(bào)與檔案學(xué)系 昆明 650091)
云南少數(shù)民族口述檔案是我國(guó)民族檔案的重要組成部分,對(duì)研究云南少數(shù)民族的文化傳統(tǒng)、風(fēng)俗習(xí)慣、宗教信仰等起著重要的作用。然而,由于其收集者眾多(包括檔案學(xué)者、歷史學(xué)者、電視工作者等)、形成主體多元復(fù)雜,造成了不同民族的口述檔案,甚至同一民族的口述檔案被分散保存的局面,對(duì)云南少數(shù)民族口述檔案的保護(hù)和利用極其不利。隨著科學(xué)技術(shù)的迅速發(fā)展,利用現(xiàn)代計(jì)算機(jī)技術(shù)、數(shù)據(jù)庫(kù)技術(shù)設(shè)計(jì)開發(fā)云南少數(shù)民族口述檔案數(shù)據(jù)庫(kù)(以下簡(jiǎn)稱數(shù)據(jù)庫(kù))成為解決上述問題的有效途徑。
云南少數(shù)民族口述檔案數(shù)據(jù)庫(kù)資源共享的對(duì)象為全社會(huì)所有成員,其設(shè)計(jì)與開發(fā)的目的在于搭建一個(gè)基于網(wǎng)絡(luò)、功能完善、機(jī)制靈活且人機(jī)界面友好、安全、穩(wěn)定的信息共享平臺(tái),保證所有用戶都能方便、快捷地獲取所需少數(shù)民族口述檔案信息,以為云南少數(shù)民族檔案科研、教學(xué)及社會(huì)利用提供快捷、方便的信息服務(wù)。
為實(shí)現(xiàn)上述要求,本系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務(wù)器)三層模式的系統(tǒng)結(jié)構(gòu)。B/S模式包括表示層、業(yè)務(wù)層和數(shù)據(jù)層,分別對(duì)應(yīng)瀏覽器、Web應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器,如圖1所示。
一般而言,表示層實(shí)現(xiàn)用戶邏輯,呈獻(xiàn)給最終用戶想要的數(shù)據(jù)或效果;業(yè)務(wù)層處理用戶邏輯,響應(yīng)表示層的用戶操作并反饋操作結(jié)果給表示層用以呈獻(xiàn)給用戶;數(shù)據(jù)層則是數(shù)據(jù)的集合,業(yè)務(wù)層響應(yīng)表示層請(qǐng)求對(duì)數(shù)據(jù)進(jìn)行存取操作。
在這種模式下,通常使用兩臺(tái)服務(wù)器,一臺(tái)用作數(shù)據(jù)庫(kù)服務(wù)器,一臺(tái)用作Web服務(wù)器;客戶端計(jì)算機(jī)通常是一臺(tái)安裝了瀏覽器的普通計(jì)算機(jī)。Web服務(wù)器通常是內(nèi)存配置比較大和性能比較高的計(jì)算機(jī),它是客戶端計(jì)算機(jī)和數(shù)據(jù)庫(kù)服務(wù)器的中間橋梁,客戶端提交過來(lái)的信息都由Web服務(wù)器來(lái)處理,處理完之后,將結(jié)果遞交給數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器的作用通常是完成數(shù)據(jù)管理工作。
在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn)。這樣就大大簡(jiǎn)化了客戶端電腦負(fù)荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。本系統(tǒng)包括前臺(tái)用戶模塊和后臺(tái)管理員模塊兩大主要部分,其功能結(jié)構(gòu)如圖2。
考慮到系統(tǒng)的易用性和易維護(hù)性,并保證系統(tǒng)的兼容性,本系統(tǒng)采用ASP.net(Active Server Page,動(dòng)態(tài)服務(wù)器頁(yè)面)與SQL Server 2005相結(jié)合進(jìn)行開發(fā)。其中,ASP.net開發(fā)前臺(tái)動(dòng)態(tài)網(wǎng)頁(yè),SQL Server 2005作為數(shù)據(jù)庫(kù)管理系統(tǒng)的支撐用作后臺(tái)的開發(fā)工具。
ASP與數(shù)據(jù)庫(kù)的連接采用基于ASP技術(shù)的WEB數(shù)據(jù)庫(kù)訪問,在腳本指令中加入訪問WEB數(shù)據(jù)庫(kù)的指令代碼。ASP在解釋執(zhí)行時(shí),當(dāng)遇到訪問數(shù)據(jù)庫(kù)的腳本指令時(shí)通過ADO對(duì)象實(shí)現(xiàn)與WEB數(shù)據(jù)庫(kù)的連接。ASP可以使數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,可以用來(lái)創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用程序。
數(shù)據(jù)庫(kù)的設(shè)計(jì)包括六個(gè)步驟:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。
需求分析的任務(wù)是詳細(xì)調(diào)查現(xiàn)實(shí)世界需要處理的對(duì)象,明確系統(tǒng)的功能。按照口述檔案管理的要求,根據(jù)檔案數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)圖,應(yīng)著重分析管理層和用戶層的需求。
1.管理需求
(1)口述檔案的收集和處理:包括對(duì)散存在各檔案館、各機(jī)關(guān)單位和民間的口述檔案的收集;并把其轉(zhuǎn)換為統(tǒng)一的格式,從而保證數(shù)據(jù)的高度共享。
(2)管理員模塊:主要是對(duì)管理員工作權(quán)限進(jìn)行設(shè)置。
(3)口述檔案輔助信息表:保存口述檔案的來(lái)源、收集和保管單位等信息。
(4)資源發(fā)布:管理人員在網(wǎng)站上發(fā)布新收集到的口述檔案。
2.用戶需求
用戶的需求具體體現(xiàn)在對(duì)各種信息的查詢、獲取和保存等方面,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入和輸出,并減少數(shù)據(jù)庫(kù)的冗余,以保證數(shù)據(jù)的準(zhǔn)確性、完整性和一致性。
(1)任意條件的口述檔案查詢:用戶可采用任意條件查詢到所需口述檔案。
(2)口述檔案信息跟蹤:用戶查詢到該口述檔案時(shí),該口述檔案存放的地理位置。
(3)用戶密碼修改:確保用戶使用的安全性。
數(shù)據(jù)庫(kù)系統(tǒng)是面向計(jì)算機(jī)的,而應(yīng)用則是面向現(xiàn)實(shí)世界的,為了把現(xiàn)實(shí)世界中的語(yǔ)義映射到計(jì)算機(jī)中,就要引入概念結(jié)構(gòu)。它能充分反映現(xiàn)實(shí)世界,包括實(shí)體和實(shí)體之間的聯(lián)系(例如口述檔案數(shù)據(jù)庫(kù)的實(shí)體和實(shí)體之間的聯(lián)系意即用戶和口述檔案這兩種現(xiàn)實(shí)世界存在的實(shí)體之間的聯(lián)系),且能滿足用戶對(duì)數(shù)據(jù)處理的要求。通常我們用E-R(Entity-Relationship Model)實(shí)體-關(guān)系模型來(lái)表示。E-R模型有三個(gè)基本元素:實(shí)體、實(shí)體間的聯(lián)系和屬性,分別用矩形、菱形和菱圓
形表示,用無(wú)向邊連接。云南少數(shù)民族口述檔案全局E-R圖如圖3。
此圖的語(yǔ)義為:用戶和口述檔案存在多對(duì)多的關(guān)系,即每個(gè)用戶可以查閱多種口述檔案,一種口述檔案可以被多個(gè)用戶查閱。
邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是將概念結(jié)構(gòu)轉(zhuǎn)化為SQL server 2005數(shù)據(jù)庫(kù)支持的數(shù)據(jù)模型的過程。其中用戶表之所以選擇“身份證號(hào)”作為主鍵,考慮到身份證號(hào)是惟一的、不重復(fù)的,使得數(shù)據(jù)結(jié)構(gòu)合理、有序,同時(shí)也使用戶操作方便;為了避免數(shù)據(jù)錄入的無(wú)序狀況,數(shù)據(jù)庫(kù)表之間建立了嚴(yán)格的參照完整性,并且對(duì)所有表都分配了操作權(quán)限;口述檔案表和查閱表通過“全宗號(hào)”建立參照完整性關(guān)系,當(dāng)口述檔案表中刪除某種口述檔案時(shí),在查閱表中相應(yīng)的記錄也隨之刪除,否則會(huì)造成數(shù)據(jù)庫(kù)里已沒有該口述檔案的記錄信息,卻還有用戶申請(qǐng)?jiān)L問。
口述檔案數(shù)據(jù)庫(kù)中各個(gè)表的設(shè)計(jì)結(jié)果如下面表格所示:
(注:表3為用戶當(dāng)前正在查閱的口述檔案記錄表,表4指的是用戶已經(jīng)查閱過的口述檔案記錄)
物理結(jié)構(gòu)設(shè)計(jì)是為邏輯結(jié)構(gòu)選取最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、存取路徑和存取位置三方面。確定數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的主要因素是存取時(shí)間、存取空間利用率和系統(tǒng)維護(hù)代價(jià)三個(gè)方面。通常情況下,設(shè)計(jì)者要對(duì)這些因素進(jìn)行權(quán)衡,得出最佳方案;由于數(shù)據(jù)庫(kù)支持多個(gè)用戶的多種應(yīng)用,比如管理員對(duì)數(shù)據(jù)庫(kù)進(jìn)行增加、刪除,與此同時(shí)用戶又在進(jìn)行瀏覽,并且可能出現(xiàn)不同用戶對(duì)同一數(shù)據(jù)進(jìn)行瀏覽的情況。因此,要對(duì)同一數(shù)據(jù)提供多條存取路徑;口述檔案數(shù)據(jù)除了有文字外,還有音頻、視頻、照片等類型,應(yīng)根據(jù)其各自不同情況將其劃分為不同的組進(jìn)行存放。
數(shù)據(jù)庫(kù)的實(shí)施對(duì)應(yīng)于軟件工程的編碼、調(diào)試階段,把邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果用數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)定義語(yǔ)言描述出來(lái)。
1.創(chuàng)建口述檔案數(shù)據(jù)庫(kù)
在企業(yè)管理器中直接創(chuàng)建。
2.創(chuàng)建表
用戶表(user),口述檔案表(oral archives),查閱表(read、reader),在企業(yè)管理器中直接創(chuàng)建。
3.創(chuàng)建視圖
(1)用于操作表數(shù)據(jù)的視圖
creat view用 戶(身份證號(hào),姓名,性別,出生日期)。
creat view口述檔案(全宗號(hào),類型,文件大小,上傳入庫(kù)時(shí)間,資料輔助信息)。
creat view查 閱(身份證號(hào),全宗號(hào),查閱日期)。
(2)用于查詢的視圖
①用戶查閱
creat view用戶查閱情況(身份證號(hào),姓名,性別,全宗號(hào),類型,查閱日期)。
creat view用戶查閱次數(shù)(身份證號(hào),姓名,查閱次數(shù))。
②圖書借閱
creat view口述檔案查閱情況(全宗號(hào),類型,文件大小,身份證號(hào),查閱者姓名,查閱日期,上傳入庫(kù)時(shí)間,資料輔助信息)。
creat view歷史查閱情況(全宗號(hào),類型,文件大小,身份證號(hào),查閱者姓名,查閱日期,上傳入庫(kù)時(shí)間,資料輔助信息)。
creat view未被查閱過的口述檔案(全宗號(hào),類型,文件大小,上傳入庫(kù)時(shí)間,資料輔助信息)。
③口述檔案數(shù)量統(tǒng)計(jì)
creat view口述檔案庫(kù)存量(全宗號(hào),類型,文件大小,上傳入庫(kù)時(shí)間,資料輔助信息,查閱總次數(shù))。
creat view口述檔案被查閱次數(shù)(全宗號(hào),類型,文件大小,查閱次數(shù),查閱總次數(shù))。
creat view口述檔案總數(shù)量(口述檔案總數(shù)量,目前庫(kù)存總數(shù)量,目前查閱次數(shù),查閱總次數(shù))。
4.數(shù)據(jù)加載與調(diào)試
為數(shù)據(jù)庫(kù)中的表加載數(shù)據(jù),并驗(yàn)證數(shù)據(jù)的添加、刪除、修改等操作是否有異常,若有則分析原因后排除。
一般來(lái)說,由于數(shù)據(jù)庫(kù)中的數(shù)據(jù)量都非常大,并且這些數(shù)據(jù)來(lái)源于各個(gè)檔案館和相關(guān)單位或個(gè)人,這些數(shù)據(jù)的結(jié)構(gòu)和格式一般不符合數(shù)據(jù)庫(kù)的要求,因此在數(shù)據(jù)入庫(kù)之前必須進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。對(duì)于少量的數(shù)據(jù),可以用人工的方式進(jìn)行轉(zhuǎn)換;但是當(dāng)數(shù)據(jù)量增大時(shí),這樣的轉(zhuǎn)換方式因轉(zhuǎn)換效率低、質(zhì)量差而不適合。這時(shí)候我們考慮設(shè)計(jì)一個(gè)數(shù)據(jù)轉(zhuǎn)換子系統(tǒng),把數(shù)據(jù)輸入該程序,讓計(jì)算機(jī)來(lái)完成數(shù)據(jù)轉(zhuǎn)換工作。
數(shù)據(jù)庫(kù)建成后,并不意味著設(shè)計(jì)工作的結(jié)束,其維護(hù)和更新是一項(xiàng)長(zhǎng)期的工作。數(shù)據(jù)庫(kù)的維護(hù)不僅僅是維護(hù)其正常活動(dòng),而是設(shè)計(jì)工作的繼續(xù)和提高。維護(hù)階段的主要工作是數(shù)據(jù)的安全性、完整性控制、數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行狀況的監(jiān)督、分析和改進(jìn)、數(shù)據(jù)庫(kù)的重組織和重構(gòu)造等。
本文采用B/S三層體系結(jié)構(gòu)為基礎(chǔ),應(yīng)用ASP.net動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),開發(fā)了基于Web的云南少數(shù)民族口述檔案數(shù)據(jù)庫(kù)系統(tǒng)。該數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)同時(shí)考慮到系統(tǒng)的穩(wěn)定性、網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)良好的結(jié)合能力以及可跨平臺(tái)使用等特點(diǎn),將大大方便用戶的操作和使用。通過本系統(tǒng),用戶可以廣泛了解云南各少數(shù)民族的傳統(tǒng)文化和風(fēng)俗習(xí)慣,為云南少數(shù)民族口述檔案的共建共享構(gòu)建了基礎(chǔ)平臺(tái),對(duì)于促進(jìn)其保護(hù)、利用和研究工作具有很好的現(xiàn)實(shí)意義。
[1]黃琴,華林等.論亟待保護(hù)搶救的云南民間少數(shù)民族口述歷史檔案[J].檔案學(xué)通訊,2009(1).
[2]華林,侯明昌.論我國(guó)瀕危少數(shù)民族檔案遺產(chǎn)保護(hù)[J].檔案管理,2010(3).
[3]劉仲英.管理信息系統(tǒng)[M].北京:高等教育出版社,2006.
[4]武新華,劉彥明.ASP.NET+SQL Server典型網(wǎng)站建設(shè)[M].北京:人民郵電出版社,2007.
[5]李玉林.ASP.NET2.0網(wǎng)絡(luò)編程從入門到精通[M].北京:清華大學(xué)出版社,2007.
[6]施平安譯.ASP.NET2.0高級(jí)編程[M].北京:清華大學(xué)出版社,2006.