公務(wù)員期刊網(wǎng) 論文中心 正文

酒店管理數(shù)據(jù)庫設(shè)計(jì)的原則及步驟

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了酒店管理數(shù)據(jù)庫設(shè)計(jì)的原則及步驟范文,希望能給你帶來靈感和參考,敬請閱讀。

酒店管理數(shù)據(jù)庫設(shè)計(jì)的原則及步驟

本文作者:譚倩芳 單位:湖南食品藥品職業(yè)學(xué)院

在信息管理系統(tǒng)的設(shè)計(jì)和開發(fā)過程中,數(shù)據(jù)庫設(shè)計(jì)是其中最為重要的環(huán)節(jié)之一。設(shè)計(jì)規(guī)范、良好的數(shù)據(jù)庫不僅能帶來系統(tǒng)數(shù)據(jù)處理效率的極大提升,更重要的是在系統(tǒng)正式運(yùn)行后能大大簡化后期的數(shù)據(jù)更新維護(hù)工作,提高系統(tǒng)的可擴(kuò)展性。目前大多數(shù)酒店提供的服務(wù)多種多樣,規(guī)模大小也各不相同,較為典型的酒店服務(wù)業(yè)務(wù)一般都包括飲食、住宿和娛樂等方面,下面該文從這些典型的酒店業(yè)務(wù)邏輯出發(fā),分析和探討數(shù)據(jù)庫的設(shè)計(jì)方案。

1數(shù)據(jù)庫需求分析

數(shù)據(jù)庫設(shè)計(jì)的第一步是做好需求分析。在此階段需要準(zhǔn)確了解和分析用戶的具體需求,包括數(shù)據(jù)需求和處理需求,這是整個(gè)數(shù)據(jù)庫設(shè)計(jì)過程的基礎(chǔ),也是最困難、最耗費(fèi)時(shí)間的一步。

1.1數(shù)據(jù)流圖分析

典型的酒店管理一般包括飲食部門、住宿管理部門、娛樂管理部門和經(jīng)理部門,下面簡要分析各部門的業(yè)務(wù)邏輯。飲食部門是酒店基本部門之一,所提供服務(wù)的特點(diǎn)是實(shí)時(shí)性強(qiáng)、持續(xù)時(shí)間短、強(qiáng)調(diào)效率。此處需要重點(diǎn)處理的信息是與飲食有關(guān)的財(cái)務(wù)數(shù)據(jù),一方面便于定期的賬目匯總,另一方面也便于及時(shí)向酒店管理層匯報(bào)。住宿管理部門也是酒店基本部門之一。其主要職責(zé)包括:(1)布置房間設(shè)施、分類、編號、制定收費(fèi)標(biāo)準(zhǔn)、分配服務(wù)人員;(2)登記旅客信息,記錄其入住、退房時(shí)間;(3)統(tǒng)計(jì)各類房間的客滿程度;(4)處理本部門的財(cái)務(wù)信息。娛樂部門需要處理的業(yè)務(wù)主要包括:(1)制定收費(fèi)標(biāo)準(zhǔn),分配負(fù)責(zé)人;(2)收入支出財(cái)務(wù)處理等。經(jīng)理部門的功能是必不可少的。主要職責(zé)有:(1)員工管理;(2)部門劃分;(3)各部門的財(cái)務(wù)核算;(4)酒店?duì)I業(yè)收益的定期核算。從上面各個(gè)部門的業(yè)務(wù)分析可以看出,不同部門都有財(cái)務(wù)處理的需求,因此歸總設(shè)計(jì)一個(gè)統(tǒng)一的“財(cái)務(wù)子系統(tǒng)”。而飲食部門因?yàn)樗枰臉I(yè)務(wù)功能都已包含在“財(cái)務(wù)子系統(tǒng)”中,故而去掉該功能模塊。最終設(shè)計(jì)酒店信息管理系統(tǒng)分為四個(gè)子模塊:經(jīng)理子系統(tǒng)、財(cái)務(wù)子系統(tǒng)、住宿子系統(tǒng)和娛樂子系統(tǒng)。根據(jù)前面對業(yè)務(wù)邏輯的詳細(xì)分析,畫出各子系統(tǒng)的數(shù)據(jù)流圖,例如圖1所示為財(cái)務(wù)子系統(tǒng)的數(shù)據(jù)流圖。

1.2數(shù)據(jù)字典設(shè)計(jì)

數(shù)據(jù)字典是數(shù)據(jù)庫中各類數(shù)據(jù)描述的集合,需要設(shè)計(jì)人員對所開發(fā)系統(tǒng)的實(shí)際情況進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析才能得到。數(shù)據(jù)字典內(nèi)容一般包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和數(shù)據(jù)處理過程。下面列舉幾例:數(shù)據(jù)項(xiàng)如:員工號(編號:1,數(shù)據(jù)項(xiàng)名稱:員工號,說明部分:整數(shù)類型,有唯一性)數(shù)據(jù)結(jié)構(gòu)如:員工信息(編號:1,數(shù)據(jù)結(jié)構(gòu)名:員工信息,屬性:包括員工號、姓名、性別、年齡、工齡、級別、部門、職務(wù)、備注)數(shù)據(jù)流如:員工基本信息(編號:1,數(shù)據(jù)流名:員工基本信息,輸入:招新員工,輸出:員工信息)數(shù)據(jù)存儲如:員工信息(數(shù)據(jù)存儲名:員工信息,輸入數(shù)據(jù)流:員工基本信息,輸出數(shù)據(jù)流:工資結(jié)算)處理過程如:招新員工(處理過程名:招新員工,輸入數(shù)據(jù)流:終端,輸出數(shù)據(jù)流:員工基本信息)……

2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)

數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)常用方法有自底向上和自頂向下兩種。該文采用自底向上的設(shè)計(jì)方法,即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局概念結(jié)構(gòu)。

2.1局部概念結(jié)構(gòu)設(shè)計(jì)

下面以財(cái)務(wù)管理子系統(tǒng)為例,分析子系統(tǒng)的功能,設(shè)計(jì)局部概念結(jié)構(gòu),并且對該局部概念結(jié)構(gòu)進(jìn)行合理優(yōu)化調(diào)整。財(cái)務(wù)管理子系統(tǒng)的功能為:首先對各部門上交的收支情況進(jìn)行匯總,得出各部門的收益情況;然后在此基礎(chǔ)上進(jìn)行整體匯總,得到整個(gè)酒店的收益信息;最后將酒店的收益情況下發(fā)給各個(gè)部門,公開賬目。根據(jù)該分析,得到描述財(cái)務(wù)管理子系統(tǒng)概念結(jié)構(gòu)的E-R模型如圖2所示。E-R模型調(diào)整的準(zhǔn)則:(1)現(xiàn)實(shí)世界中的事物能作為屬性對待的盡量作為屬性對待;(2)屬性中不具有需要描述的信息,即屬性是不可分的數(shù)據(jù)項(xiàng),不再包含其他信息。根據(jù)原則分析,員工應(yīng)對應(yīng)一個(gè)領(lǐng)導(dǎo)關(guān)系,但為了簡便起見,就用員工的“等級”屬性來表達(dá)員工之間的領(lǐng)導(dǎo)關(guān)系。

2.2數(shù)據(jù)視圖集成

完成各子系統(tǒng)的分E-R圖設(shè)計(jì)及優(yōu)化之后,接下來需要將所有的分E-R圖綜合集成為一個(gè)總的E-R圖。由于本系統(tǒng)中各分E-R圖的規(guī)模較小,所以合成過程采用了一次集成方式。整個(gè)過程分兩步進(jìn)行:第一步:合并。將各分E-R圖合并生成初步E-R圖,解決各分E-R圖間可能存在的屬性沖突、命名沖突或結(jié)構(gòu)沖突。第二步:修改和重構(gòu)。消除不必要的冗余,生成基本E-R圖。由于本系統(tǒng)涵蓋的內(nèi)容比較少,基本不存在冗余的現(xiàn)象,所以初步E-R圖就是基本E-R圖,不必再進(jìn)行調(diào)整。

3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)

3.1生成關(guān)系模式

根據(jù)E-R圖向關(guān)系模式的映射法則,可以將2.2中得到的系統(tǒng)總體E-R圖轉(zhuǎn)換為一組關(guān)系模式。轉(zhuǎn)換過程簡單描述如下:一個(gè)實(shí)體直接轉(zhuǎn)換為一個(gè)關(guān)系模式,如:員工(員工號,姓名,性別,年齡,工齡,級別,部門號,職務(wù),備注);工資(員工號,等級,實(shí)際工資,基本工資,出勤工資);……實(shí)體與實(shí)體之間的一對一聯(lián)系或一對多聯(lián)系可以直接合并到實(shí)體所對應(yīng)的關(guān)系模式中,而實(shí)體之間的多對多聯(lián)系則必須轉(zhuǎn)換為一個(gè)單獨(dú)的關(guān)系模式。根據(jù)這兩條原則,對系統(tǒng)總體E-R圖中的所有聯(lián)系進(jìn)行轉(zhuǎn)換。工資和員工之間的1:1聯(lián)系與員工實(shí)體所對應(yīng)的關(guān)系模式合并;員工和部門之間的n:1聯(lián)系與員工實(shí)體所對應(yīng)的關(guān)系模式合并;……客房和訂單之間n:m的預(yù)約聯(lián)系轉(zhuǎn)化為:預(yù)約(訂單號,客房號,始定時(shí)間,結(jié)束時(shí)間);顧客和房間之間n:m的住宿聯(lián)系轉(zhuǎn)化為:住宿(顧客號,房間號碼,住宿時(shí)間)

3.2關(guān)系模式優(yōu)化

將E-R模型轉(zhuǎn)換為關(guān)系模式后,還應(yīng)該根據(jù)關(guān)系規(guī)范化理論對所有關(guān)系模式進(jìn)行優(yōu)化,以得到更為科學(xué)合理的關(guān)系模式。一般而言,在函數(shù)依賴的范疇之內(nèi),關(guān)系模式達(dá)到3NF或BCNF層次即可。下面對3.1中的關(guān)系模式進(jìn)行分析:(1)在顧客關(guān)系模式“顧客(顧客編號、級別、姓名、年齡、性別、證件號碼、證件名稱、所選項(xiàng)目、使用時(shí)間、備注)”中,因?yàn)椤笆褂脮r(shí)間”對于顧客的必要性不強(qiáng),且該屬性在別的關(guān)系中可以查詢得到,所以將“使用時(shí)間”屬性刪除。分析可得,“顧客”關(guān)系模式屬于BCNF。(2)在總賬關(guān)系模式“總賬(總賬編號、部門號、財(cái)務(wù)狀況編號、收入、支出、凈利、日期、經(jīng)手人號、備注)”中,“凈利”屬性可以根據(jù)收入和支出計(jì)算得到,并且不需要經(jīng)常性的查詢,所以將該屬性刪除。該關(guān)系模式也屬于BCNF。(3)在財(cái)務(wù)狀況關(guān)系模式“財(cái)務(wù)狀況(財(cái)務(wù)狀況編號、時(shí)期、總收入、總支出、凈利潤)”中,雖然“凈利潤”也可以通過計(jì)算得到,但由于在這一項(xiàng)上查詢比較頻繁,如果每次查詢都計(jì)算,必然使得系統(tǒng)性能降低,故保留下來。(4)在員工關(guān)系模式“員工(員工號、姓名、性別、年齡、工齡、級別、部門號、職務(wù)、備注)”中,用戶查詢時(shí),一般只需查詢自己所屬單位的員工信息,故可將其按部門水平分解為三個(gè)模式,以提高查詢效率。負(fù)責(zé)人員(員工號、姓名、性別、年齡、工齡、級別、部門號、職務(wù)、備注);服務(wù)人員(員工號、姓名、性別、年齡、工齡、級別、部門號、職務(wù)、備注);經(jīng)手人員(員工號、姓名、性別、年齡、工齡、級別、部門號、職務(wù)、備注);

3.3用戶子模式設(shè)計(jì)

得到優(yōu)化后的總體邏輯結(jié)構(gòu)后,還應(yīng)該根據(jù)局部應(yīng)用需求,結(jié)合具體的DBMS特點(diǎn),設(shè)計(jì)用戶的子模式。設(shè)計(jì)過程如下:(1)因?yàn)榻?jīng)理對于員工的次要信息不會經(jīng)常關(guān)注,因此將員工信息中最主要的內(nèi)容映射過來,在經(jīng)理子系統(tǒng)上設(shè)立員工關(guān)系子模式。員工(員工號、姓名、級別、部門號、職務(wù)、部門經(jīng)理、實(shí)際工資);(2)因?yàn)榫频陠T工經(jīng)常使用的只有客房的主要信息,所以在住宿子系統(tǒng)上設(shè)立客房關(guān)系子模式??头浚头刻?、位置、設(shè)備、收費(fèi)標(biāo)準(zhǔn)、管理人員號、狀態(tài));(3)因?yàn)榫频旯芾砣藛T對于顧客的情況管理經(jīng)常使用的只有部分信息,所以在經(jīng)營管理子系統(tǒng)上設(shè)立顧客關(guān)系子模式。顧客(顧客編號、住宿號、姓名、級別、應(yīng)收款、使用時(shí)間、備注)

4物理結(jié)構(gòu)設(shè)計(jì)

4.1存儲結(jié)構(gòu)設(shè)計(jì)

通過對典型酒店中的信息處理需求進(jìn)行分析,可以得到如下需求特點(diǎn):飲食、住宿、娛樂三大部門的數(shù)據(jù)不僅經(jīng)常需要查詢,而且更新速度快;各個(gè)部門信息要求共享的較多,如員工信息、來客信息等,但財(cái)務(wù)信息一般不共享;經(jīng)理部門有一定的特殊職能,如匯總財(cái)務(wù)信息、級聯(lián)刪除辭退員工等。針對這些特點(diǎn),設(shè)計(jì)如下:首先要確定數(shù)據(jù)庫的存放位置。為了提高系統(tǒng)性能,根據(jù)應(yīng)用情況將數(shù)據(jù)按照易變部分和穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低的部分分別在兩個(gè)磁盤上存放。經(jīng)常存取部分包括員工、工資、客房、款項(xiàng)、折扣規(guī)則、項(xiàng)目、顧客等;而信息存取頻率較低的部分包括部門、賬單、訂單、總賬、財(cái)務(wù)狀況等。同時(shí)考慮到本系統(tǒng)是多用戶的,為了提高效率,數(shù)據(jù)庫的備份的數(shù)據(jù)和日志文件將保存在磁帶中。然后要確定系統(tǒng)配置。酒店管理系統(tǒng)需要的微機(jī)數(shù)量和規(guī)模都不必太大,但在系統(tǒng)設(shè)計(jì)時(shí)應(yīng)考慮到酒店的發(fā)展需求,在選擇硬件設(shè)備、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫時(shí)都考慮到能夠逐步擴(kuò)展。本酒店管理系統(tǒng)選用了WindowsXP操作系統(tǒng),后臺數(shù)據(jù)庫選用目前應(yīng)用最多的ORACLE10g。由于涉及到酒店的財(cái)務(wù)管理,數(shù)據(jù)的完整性和安全性顯得尤其重要,為了保障系統(tǒng)安全穩(wěn)定運(yùn)行,需要每天進(jìn)行數(shù)據(jù)備份。數(shù)據(jù)備份需要嚴(yán)格按照制定的備份與故障恢復(fù)策略進(jìn)行,并落實(shí)備份登記和檢查措施。

4.2存取路徑設(shè)計(jì)

首先確定數(shù)據(jù)的存取方式。對飲食、住宿、娛樂三個(gè)子系統(tǒng)的各個(gè)關(guān)系最經(jīng)常的操作是查找,假設(shè)現(xiàn)有n個(gè)住宿房間的信息,如果采取順序查找,平均查找n/2次;建立B+樹索引,則平均查找次數(shù)為B+樹的層數(shù)log2n+1,所以選擇B+樹作為索引,具體設(shè)計(jì)如下:(1)對經(jīng)常在查詢中出現(xiàn)的關(guān)系碼建立索引。包括員工、工資、部門、客房、款項(xiàng)、折扣規(guī)則和財(cái)務(wù)狀況等關(guān)系。(2)對經(jīng)常需要進(jìn)行連接操作的關(guān)系碼建立索引。包括員工號、客房號和部門號等。(3)對于更新頻率很高的關(guān)系模式,不宜在其上定義索引。包括顧客、訂單和賬單等。

4.3設(shè)計(jì)評價(jià)及說明

上述設(shè)計(jì)對時(shí)間效率,空間效率,維護(hù)代價(jià)和用戶的實(shí)際需求做出了較好的權(quán)衡。實(shí)際方案還需要根據(jù)酒店管理的真實(shí)環(huán)境,以時(shí)間效率和用戶需求為根本,進(jìn)一步優(yōu)化和完善。

5結(jié)束語

該文依據(jù)關(guān)系數(shù)據(jù)庫設(shè)計(jì)的原則和步驟,結(jié)合典型的酒店管理的實(shí)際情況,設(shè)計(jì)了酒店信息管理系統(tǒng)所需的數(shù)據(jù)庫。設(shè)計(jì)方案科學(xué)合理,考慮了實(shí)際的業(yè)務(wù)邏輯需求,對同類信息系統(tǒng)開發(fā)中數(shù)據(jù)庫設(shè)計(jì)工作具有較高的參考價(jià)值。