數據庫課程設計賓館客房信息管理系統_第1頁
數據庫課程設計賓館客房信息管理系統_第2頁
數據庫課程設計賓館客房信息管理系統_第3頁
數據庫課程設計賓館客房信息管理系統_第4頁
數據庫課程設計賓館客房信息管理系統_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫系統開發實習 題 目: 數據庫項目開發實習 學生姓名: 學 號: 系部名稱: 專業班級: 指導教師: 職 稱: 二一二年七月十一日黑龍江工程學院目 錄一. 系統需求分析11.1 設計前調查11.2 用戶需求分析11.3 核心數據流圖21.4 核心數據字典3二、概念設計42.1 局部e-r圖42.2 全局e-r圖5三、邏輯設計63.1 開發環境63.2 關系模式形成以及規范63.2.1有以下關系模式:63.2.2分解分析:6四、 創建數據庫7五、程序以及調試和使用說明85.1程序登陸界面85.2 主面板95.3具體介紹105.3.1房態查看105.3.2 入住登記和預定房間115.3.3

2、調房,住宿、退宿查詢125.3.4 掛帳,結帳,日報表,追加押金13六、總結14七、參考文獻15黑龍江工程學院一. 系統需求分析1.1 設計前調查 近年來,賓館業迅猛發展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準,已成為賓館業發展的當務之急。尤其是對于星級賓館,既需要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,傳統的人工管理模式已經遠遠不能滿足有效、快捷地處理經營中產生的大量信息數據的需要,從而使得企業決策層無法及時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大

3、中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優勢,必須在經營、管理、產品、服務等方面具備獨到之處。而對賓館的經營狀況起決定作用的是客房的管理。簡單的服務標準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高質量,而準確、快速、周全往往就是最基本的成功要素。 傳統的管理方法已經不能適應現代社會的需要,因此采用電腦管理業務、財務等諸多環節已成為推動賓館業迅速發展的先決條件,賓館客房管理信息系統是各大中小型賓館所需要使用的一個管理系統。1.2 用戶需求分析建立一套功能完善的管理信息系統,既能滿足業務人員日常處理的需要,增強企業經營全過程的數字化管理水平;又

4、能滿足管理人員決策分析的需要,提高公司管理層對公司經營反饋信息的響應速度。從而大幅度提高工作效率,提高實施管理的準確性、科學性,使擔負管理的工作人員從繁雜的手工勞作中解脫出來。因而程序需要實現的功能有如下主要六大功能:一、 客房管理:客房登記,入住情況查詢,客房狀態查看。二、 賓客入住管理:客房預定,登記入住,房間調整,退房結帳三、 物資管理:物品登記,物品查詢,報修和維修,定時提醒。四、 財務管理:追加押金,增刪財務,日報表五、 員工管理:增改員工,查刪員工六、 系統管理:增刪管理員,修改密碼,以及預留的基于sql的數據庫管理(該程序考慮到 作為課程設計和信息系統不是很大,使用了單機版的ac

5、cess,以求方便 寫程序)七、 其他功能:界面管理(提供兩套外觀:經典外觀和春天里)1.3 核心數據流圖 維修信息調整房間維修/報修房間提醒 客房信息 預定 客房信息 客房狀態退房入住客人 客人信息 入住登記 帳務信息財務現開 入住信息 部分數據流圖數據流名稱:客人信息來源:客人去向:入住登記包含的數據項:姓名、身份證號、性別、入住房間、房間類型、房間價格、入住狀態等(賓館客房管理系統的數據流客人信息) 數據流名稱:入住登記來源:客人產生入住登記去向:入住包含的數據項:訂單編號、姓名、性別、身份證號、客戶編號、客房類型、抵房時間、入住 人數、預定人、電話、住幾天等信息(賓館客房管理系統的數據

6、流入住登記)數據流名稱:客房信息來源:客人產生入住登記去向:入住包含的數據項:客房編號、客房類型、客房價格、客房狀態(賓館客房管理系統的數據流客房信息)數據流名稱:房間狀態來源:退房去向:房間包含的數據項:客房號碼、房間狀態(賓館客房管理系統的數據流房間狀態)數據流名稱:帳務信息來源:退房去向:財務包含的數據項:帳單編號、姓名、消費金額、入住時間、退房時間、押金(賓館客房管理系統的數據流帳務信息)1.4 核心數據字典 賓客入住信息表:cmanage 數據項名稱(庫中字段名)數據類型及長度說明客人電話(ctel)char(20)客人姓名(cname)char(12)not null客人性別(cs

7、ex)char(4)客人身份證號(cidnum)char(20)客人住址(caddress)char(50)訂單編號(cnumber)char(15)not null,primary key入住人數(cmemeber)int客房編號(croom)char(20)not null客房類型(ctype)char(10)客房價格(cprice)money客房狀態(cstatue)char(2)not null抵店時間(cindate)短日期型 date退房時間(coutdate)短日期型 datenot null入住類別(cintype)char(4) 預定/現開押金(cya)money調整房間(c

8、change)char(20)原由(creason)char(80)應付款(cmshould)money實收(cmpay)money客房登記表:roomlogin 數據項名稱(庫中字段名)數據類型及長度說明房間編號(rid)char(12)not null房間名稱(rname)char(20)not null ,primary key房間描述(rdescribe)char(100)房間價格(rprice)moneynot null房間狀態(rstatue)char(8)not null操作員(ruser)char(12)not null管理員表:pw數據項名稱(庫中字段名)數據類型及長度說明用

9、戶(user)char(12)not null ,primary key密碼(pwd)char(8)not null權限(power)char(1)not null財務管理表:smanage數據項名稱(庫中字段名)數據類型及長度說明財務id(sid)char(15)not null ,primary key事由(sreason)char(20)not null收入(sin)money支出(sout)moneynot null總收入(ssum)moneynot null操作時間(sdate)datenot null結帳人(sman)char(12)not null掛帳單位(scomp)char(

10、12)操作員(suser)char(12)not null維修/報修表:fix數據項名稱(庫中字段名)數據類型及長度說明登記id(fid)自動編號not null ,primary key登記日期(fdate)datenot null 物品名稱(fname)char(50)not null所屬房間(froom)char(20)not null維修狀態(fstatue)char(8)not null維修日期(ffdate)date登記操作員(fman)char(12)not null維修員(ffman)char(12)所需費用(fpay)money提醒表:reminder數據項名稱(庫中字段名)

11、數據類型及長度說明提醒id(remid)自動編號not null ,primary key提醒日期(remdate)datenot null 提醒類別(remtype)char(20)not null提醒狀態(remstatue)char(4)not null操作員(remuser)char(12)not null價格編號名稱二、概念設計 狀態2.1 局部e-r圖 描述類型客房電話性別姓名 住址入職時間證件客人住址 客房e-r職員電話 密碼職務 客人e-r 管理員e-r 用戶名管理員姓名工資 權限年齡性別 職員e-r .2 全局e-r圖 3.1 開發環境 開發語言:visual basic 開

12、發平臺:windows xp,1g內存,集成顯卡。 開發工具:visual basic 6.0企業版,sql server 2000,access 2003 3.2 關系模式形成以及規范 3.2.1有以下關系模式:pw(user,pwd,power);empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ejage);fix(fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);gmanage(gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);r

13、oomlogin(rid,rname,rtype,rdescribe,rprice,rstatue,ruser);reminder(remid,remname,remdate,remtype,remstatue,remuser);smanage(sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);cmanage(cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice, cindate,cintype,coutdate,cya,cyaadd,cstatue

14、,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,cmpay,cmback,cuser); 3.2.2分解分析:1) 各分量都是不可分割的數據項。滿足第一范式;2) 每一個關系中的非碼屬性都完全函數依賴于碼,符合第二范式;3) 每個關系中的主屬性不傳遞依賴關系中的每個關系鍵,符合第三范式;4) 關系中所有非主屬性對每個碼都是完全依賴,且所有主碼對于每個不包含它的碼也是完全函數依賴,沒有任 何屬性完全函數依賴非碼的任何一組屬性4、 創建數據庫 1)創建數據庫,讓數據庫可以動態增長 create database ho

15、tel on (name=hotel_data,filename=e:hotel.mdf,size=5mb,maxsize=20mb,filegrowth=10%)log on(name=hotel_log,filename=e:hotel.ldf,size=2mb,maxsize=5mb,filegrowth=1mb)go 2)創建pw用戶表 use hotel go create table pw (user char (12) not null primary key, pwd char(8) not null, power char(1) not null ) go 3)創建客房登記表

16、roomlogin create table roomlogin (rid char (12) not null, rname char(20) not null primary key, rtype char(10) not null rdescribe char(100), rprice money not null, rstatue char(8) not null, ruser char(12) not null,) go 4)同上創建提醒表reminder、物品表gmanage、維修表fix、員工表empl、帳務表smanage、客戶如住表cmanage6黑龍江工程學院五、程序以及調

17、試和使用說明 5.1程序登陸界面說明:進入登陸界面后,系統會自動加載已有的用戶,讓用戶選擇自己的帳戶進行登陸,密碼 輸入三次后關閉窗口;用控件屬性設置來實現用戶定義的完整性:密碼最大長度為8。用戶名錯誤,或密碼錯誤,系統都會對其進行提醒,以達到正確輸入,本程序設置一超級用戶:admin,權限為1,其他用戶的權限均為0。超級用戶能對押金進行追加,其他用戶必須在超級用戶協助下才能完成押金追加sql語句:登陸驗證:string sql = select userid,username,userpass from admin where username = ? and userpass = ? ;i

18、f(username = null | .equals(username)errors.add(user, new actionerror(user);/system.out.println(/);if(password = null | .equals(password)errors.add(pass, new actionerror(pass);/system.out.println(ffffffff);5.2 主面板 說明:主界面用vb中的mdiform,多入口提供給用戶操作,包括菜單欄、工具欄(可選擇顯示和不顯示)、側邊欄(可隱藏)、主面板panel(提供操作員最常用的操作,節約時間)

19、,在狀態欄可以顯示系統時間和當前用戶以及需要維修的房間數。實現了所有要求的功能 說明:提供兩種風格供用戶選擇。在vb模塊里有一函數change(),一變量保存當前風格類型,當每次show一窗口時,就會調用該函數通過變量判斷是顯示那種風格5.3具體介紹 5.3.1房態查看說明:在主面板上的快速入口上點擊房態查詢,顯示當前房間入住圖形界面。直觀、方便。點擊房間能顯示在該房間入住過的客戶。嵌入的查詢語句為:selectcnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,

20、cstatue from cmanage where croom= & command1(index).caption & ,command1(index).caption為當前按下的要查詢的房間按鈕的名稱查詢信息:string sql = select * from cmanage where croom= ? and command1(index).caption = ? and command1(index).caption = ?;查詢姓名:string sql = select cname from cmanage where croom= ? and command1.captio

21、n = ?;查詢城市:string sql = select cictype from cmanage where croom= ? and command1.caption = ?;查詢地址:string sql = select caddress from cmanage where croom= ? and command1.caption = ?;查詢房間:string sql = select croom from cmanage where croom= ? and command1.caption = ?;5.3.2 入住登記和預定房間說明:點登記,系統自動在 roomlogin

22、表中rstatue=空閑的房間名字添加到 房間號碼的下拉列表中,供客戶選擇房間,用戶可以選擇現開/預定當用戶選擇下拉列表中的一個房間時,系統自動將roomlogin中該房間的標準類型,價格自動加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對控件的屬性設置來完成,當用戶輸入數據破壞完整性時,系統會發出警告,以保持數據庫的完整性sql語句:string sql = select rstatue from roomlogin ;查詢是否有空房:string sql = select * from (select p.*,rownum r from (select * from rooml

23、ogin where 1 = 1 ;if(!.equals(cname)sql += and cname = + cname + ;if(!.equals(csex)sql += and csex like %+ csex +% ;if(!.equals(caddress)sql += and caddress = + caddress + ;sql += order by add_date desc) p where rownum =+begin;5.3.3 調房,住宿、退宿查詢 說明:通過入口可以打開窗體。當客戶需要調整房間時,點登記后,系統自動加載已入住客戶的房間和空閑的房間號碼,當用戶

24、選擇要調房的客戶時,系統自動加載客戶的信息。選擇目標房間時候,系統自動加載房間信息。用戶確定調房后,系統修改數據庫:原房間狀態改為空閑,目標房間改為入住。原住房產生的費用將加在新入住房間上,而提醒表中原房間改為現房間。因而需要修改三個表:cmanage,roomlogin,reminder.而查詢入住信息的嵌入sql語句為:sql語句:查詢所有信息:select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage wher

25、e cname like & text1.text & *select cnumber,canme,cictype,cicnim,csex,caddress,ctel,cmember,croomcroom,ctype,cprice,cindate,coutdate,cstatue from cmanage;修改信息: sql = update cmanage cname= ?,cictype= ?,ctel= ?,croom= ?, add_date = to_date(?,yyyy-mm-dd hh24:mi:ss)where cnumber = ? ;刪除房間:sql = delete c

26、room where cname = ? ;新增信息:sql=insert into cmanage(cnumber,canme,csex,ctel,cmember,add_date)values + (seq.nextval,?,?,?,?,sysdate) ; 5.3.4 掛帳,結帳,日報表,追加押金說明:追加押金窗體.系統自動加載已入住客戶號碼,當用戶選擇客戶號碼時候,系統自動加載客戶信息,用戶添加押金后,保存時系統對cmanage表進行修改,保存數據;結帳窗體。系統自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號,系統加載客戶信息以需付款和明細供核對,確定結帳后,系統將對 cma

27、nage表,smanage,reminder,roomlogin進行修改,以保持數據庫的參照完整性。如果是掛帳,用戶可以選擇掛帳,在客戶結帳的時候,調出掛帳結帳窗體,系統自動加載掛帳的單位,用戶選擇掛帳單位,系統自動加載需還金額。掛帳結帳只對smanage表操作。而日報表顯示smange里的信息,提供按日期查找的方法,打印當天的帳務明細。查詢的嵌入sql語句為:select sreason,sin,sout,ssum,sdate,sman,scomp,suser from smanage where sdate =# & dtpicker1.value & #。在該處開始一直調試不出,后來發現

28、在sql語句中對日期要加#來格式說明是日期型的。sql語句:修改信息cmanage: sql = update cmanage cnumber= ?,canme= ?,csex= ?,money= ? where cicnim = ? ;sql = update cmanage smanage= ?,reminder= ?,roomlogin= ? where money= ? ;刪除smanage: sql = delete smanage where gmoney = ? ;六、總結 兩周的的奮戰,終于達到了預定的效果,完成了該信息系統的設計和程序編寫。在學校,曾學過vb語言,也開發過很多

29、程序,所以vb語言成為首選。雖然其編寫的應用程序在不同的機器上需要解釋器,需要隨帶很多ocx控件和其他,但是在編寫信息管理系統這方面還是很有優勢的。(1)可視畫編程,豐富的控件,隨用隨拖,對控件對象編程,很方便。(2)可以方便的利用api函數實現窗體的各種效果。有豐富的api接口。(3)語言簡單,實現功能很方便。在對數據庫操作方面,引用了dao 3.6 對象,使用dao編程連接和操作。所以很自然選擇了vb語言。在數據庫方面,考慮編程方便,采用從sql中導出成access文件來進行操作。 選定課題后,開始收集相關資料和設計軟件架構。到賓館調查和到網上收集信息,以及參考了其他信息管理系統,心里就有了輪廓。設計好軟件的幾大模塊,采用自頂向下的經典設計方法,確定實現的功能,開始設計數據庫。運用相關的數據庫知識,設計好數據表,確定字段。并通過模式分解,確定其是無損的連接。有了數據庫作為整個設計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論