數(shù)據(jù)庫課程設計---賓館客房信息管理系統(tǒng)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)據(jù)庫系統(tǒng)開發(fā)實習</b></p><p>  題 目: 數(shù)據(jù)庫項目開發(fā)實習 </p><p>  學生姓名: </p><p>  學 號: </p><p><b>  系部名稱: </b></p>

2、<p>  專業(yè)班級: </p><p>  指導教師: </p><p>  職 稱: </p><p>  二○一二年七月十一日</p><p><b>  目 錄</b></p><p>  一. 系統(tǒng)需求分析1</

3、p><p>  1.1 設計前調查1</p><p>  1.2 用戶需求分析1</p><p>  1.3 核心數(shù)據(jù)流圖2</p><p>  1.4 核心數(shù)據(jù)字典3</p><p><b>  二、概念設計4</b></p><p>  2.1 局部E-R圖4&

4、lt;/p><p>  2.2 全局E-R圖5</p><p><b>  三、邏輯設計6</b></p><p>  3.1 開發(fā)環(huán)境6</p><p>  3.2 關系模式形成以及規(guī)范6</p><p>  3.2.1有以下關系模式:6</p><p>  3.2

5、.2分解分析:6</p><p>  四、 創(chuàng)建數(shù)據(jù)庫7</p><p>  五、程序以及調試和使用說明8</p><p>  5.1程序登陸界面8</p><p><b>  5.2 主面板9</b></p><p>  5.3具體介紹10</p><p> 

6、 5.3.1房態(tài)查看10</p><p>  5.3.2 入住登記和預定房間11</p><p>  5.3.3 調房,住宿、退宿查詢12</p><p>  5.3.4 掛帳,結帳,日報表,追加押金13</p><p><b>  六、總結14</b></p><p><b>

7、;  七、參考文獻15</b></p><p>  一. 系統(tǒng)需求分析</p><p><b>  1.1 設計前調查</b></p><p>  近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準,已成為賓館業(yè)發(fā)展的當務之急。尤其是對于星級賓館,既需要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,

8、傳統(tǒng)的人工管理模式已經(jīng)遠遠不能滿足有效、快捷地處理經(jīng)營中產生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優(yōu)勢,必須在經(jīng)營、管理、產品、服務等方面具備獨到之處。而對賓館的經(jīng)營狀況起決定作用的是客房的管理。簡單的服務標

9、準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高質量,而準確、快速、周全往往就是最基本的成功要素。</p><p>  傳統(tǒng)的管理方法已經(jīng)不能適應現(xiàn)代社會的需要,因此采用電腦管理業(yè)務、財務等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個管理系統(tǒng)。</p><p>  1.2 用戶需求分析</p>

10、<p>  建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務人員日常處理的需要,增強企業(yè)經(jīng)營全過程的數(shù)字化管理水平;又能滿足管理人員決策分析的需要,提高公司管理層對公司經(jīng)營反饋信息的響應速度。從而大幅度提高工作效率,提高實施管理的準確性、科學性,使擔負管理的工作人員從繁雜的手工勞作中解脫出來。因而程序需要實現(xiàn)的功能有如下主要六大功能:</p><p>  客房管理:客房登記,入住情況查詢,客房狀態(tài)查看。&

11、lt;/p><p>  賓客入住管理:客房預定,登記入住,房間調整,退房結帳</p><p>  物資管理:物品登記,物品查詢,報修和維修,定時提醒。</p><p>  財務管理:追加押金,增刪財務,日報表</p><p>  員工管理:增改員工,查刪員工</p><p>  系統(tǒng)管理:增刪管理員,修改密碼,以及預留的基

12、于SQL的數(shù)據(jù)庫管理(該程序考慮到 </p><p>  作為課程設計和信息系統(tǒng)不是很大,使用了單機版的ACCESS,以求方便 寫程序)</p><p>  其他功能:界面管理(提供兩套外觀:經(jīng)典外觀和春天里)</p><p>  1.3 核心數(shù)據(jù)流圖 </p><p><b>  維修信息</b></p

13、><p>  客房信息 </p><p>  客房信息 客房狀態(tài)</p><p>  客人信息 入住登記</p><p><b>  帳務信息</b></p><p>  入住信息

14、 </p><p><b>  部分數(shù)據(jù)流圖</b></p><p>  (賓館客房管理系統(tǒng)的數(shù)據(jù)流——客人信息) </p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——入住登記)</p>

15、<p>  (賓館客房管理系統(tǒng)的數(shù)據(jù)流——客房信息)</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——房間狀態(tài))</p><p> ?。ㄙe館客房管理系統(tǒng)的數(shù)據(jù)流——帳務信息)</p><p>  1.4 核心數(shù)據(jù)字典</p><p>  [賓客入住信息表:Cmanage] </p><p>  [客房登記

16、表:Roomlogin] </p><p>  [管理員表::pw]</p><p>  [財務管理表:Smanage]</p><p>  [維修/報修表:fix]</p><p>  [提醒表:Reminder]</p><p><b>  二、概念設計 </b></p>&l

17、t;p>  2.1 局部E-R圖 </p><p><b>  [客房E-R]</b></p><p>  [客人E-R] [管理員E-R] </p><p><b>  [職員E-R]</b></p><

18、p><b>  .2 全局E-R圖</b></p><p><b>  3.1 開發(fā)環(huán)境</b></p><p>  開發(fā)語言:Visual Basic</p><p>  開發(fā)平臺:windows xp,1G內存,集成顯卡。</p><p>  開發(fā)工具:Visual Basic 6.0企業(yè)

19、版,SQL Server 2000,Access 2003</p><p>  3.2 關系模式形成以及規(guī)范</p><p>  3.2.1有以下關系模式:</p><p>  PW(user,pwd,power);</p><p>  Empl(eid,ename,eage,esex,eaddress,etel,ejob,ejtime,ej

20、age);</p><p>  Fix(Fid,fname,froom,fstatue,ffdate,fpay,fman,fuser);</p><p>  Gmanage(Gid,gname,gtype,gnum,gprice,guse,gsum,gdate,guser,gdw);</p><p>  Roomlogin(Rid,rname,rtype,rdesc

21、ribe,rprice,rstatue,ruser);</p><p>  Reminder(remid,remname,remdate,remtype,remstatue,remuser);</p><p>  Smanage(Sid,sreason,sin,sout,ssum,sdate,sman,scomp,suser);</p><p>  Cmanage(

22、cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice, cindate,cintype,coutdate,cya,cyaadd,cstatue,cchange,creason,cmtel,cmmeeting,cmcar,cmdamage,cmother,cmshould,cmpay,cmback,cuser);</p>

23、<p>  3.2.2分解分析:</p><p>  各分量都是不可分割的數(shù)據(jù)項。滿足第一范式;</p><p>  每一個關系中的非碼屬性都完全函數(shù)依賴于碼,符合第二范式;</p><p>  每個關系中的主屬性不傳遞依賴關系中的每個關系鍵,符合第三范式;</p><p>  關系中所有非主屬性對每個碼都是完全依賴,且所有主碼對

24、于每個不包含它的碼也是完全函數(shù)依賴,沒有任 </p><p>  何屬性完全函數(shù)依賴非碼的任何一組屬性</p><p><b>  創(chuàng)建數(shù)據(jù)庫</b></p><p>  1)創(chuàng)建數(shù)據(jù)庫,讓數(shù)據(jù)庫可以動態(tài)增長</p><p>  create database hotel</p><p><

25、b>  on </b></p><p>  (name=hotel_data,</p><p>  filename='E:\hotel.mdf',</p><p>  size=5mB,maxsize=20mb,filegrowth=10%)</p><p><b>  log on</b&

26、gt;</p><p>  (name=hotel_log,</p><p>  filename='E:\hotel.ldf',</p><p>  size=2mb,maxsize=5mb,filegrowth=1mb)</p><p><b>  go</b></p><p>

27、;<b>  2)創(chuàng)建PW用戶表</b></p><p><b>  use hotel</b></p><p><b>  go</b></p><p>  create table pw</p><p>  (user char (12) not null primary

28、 key,</p><p>  Pwd char(8) not null,</p><p>  Power char(1) not null )</p><p><b>  go</b></p><p>  3)創(chuàng)建客房登記表RoomLogin</p><p>  create table ro

29、omlogin</p><p>  (rid char (12) not null, </p><p>  Rname char(20) not null primary key,</p><p>  Rtype char(10) not null </p><p>  Rdescribe char(100),</p>

30、<p>  Rprice money not null,</p><p>  Rstatue char(8) not null,</p><p>  Ruser char(12) not null,)</p><p><b>  go</b></p><p>  4)同上創(chuàng)建提醒表Reminder、物品表G

31、manage、維修表fix、員工表Empl、帳務表Smanage、客戶如住表Cmanage</p><p>  五、程序以及調試和使用說明</p><p><b>  5.1程序登陸界面</b></p><p>  [說明:進入登陸界面后,系統(tǒng)會自動加載已有的用戶,讓用戶選擇自己的帳戶進行登陸,密碼 輸入三次后關閉窗口;用控件屬性設置來實現(xiàn)用戶

32、定義的完整性:密碼最大長度為8。用戶名錯誤,或密碼錯誤,系統(tǒng)都會對其進行提醒,以達到正確輸入,本程序設置一超級用戶:admin,權限為1,其他用戶的權限均為0。超級用戶能對押金進行追加,其他用戶必須在超級用戶協(xié)助下才能完成押金追加]</p><p><b>  Sql語句:</b></p><p>  登陸驗證:String sql = " select u

33、serid,username,userpass from admin where username = ? and userpass = ? ";</p><p>  if(userName == null || "".equals(userName)){</p><p>  errors.add("user", new ActionErr

34、or("user"));</p><p>  //System.out.println("///////");</p><p><b>  }</b></p><p>  if(passWord == null || "".equals(passWord)){</p>&

35、lt;p>  errors.add("pass", new ActionError("pass"));</p><p>  //System.out.println("ffffffff");</p><p><b>  }</b></p><p><b>  5.2 主

36、面板</b></p><p>  [說明:主界面用VB中的MDIForm,多入口提供給用戶操作,包括菜單欄、工具欄(可選擇顯示和不顯示)、側邊欄(可隱藏)、主面板Panel(提供操作員最常用的操作,節(jié)約時間),在狀態(tài)欄可以顯示系統(tǒng)時間和當前用戶以及需要維修的房間數(shù)。實現(xiàn)了所有要求的功能]</p><p>  [說明:提供兩種風格供用戶選擇。在vb模塊里有一函數(shù)change(),

37、一變量保存當前風格類型,當每次show一窗口時,就會調用該函數(shù)通過變量判斷是顯示那種風格]</p><p><b>  5.3具體介紹</b></p><p><b>  5.3.1房態(tài)查看</b></p><p>  [說明:在主面板上的快速入口上點擊房態(tài)查詢,顯示當前房間入住圖形界面。直觀、方便。點擊房間能顯示在該房間

38、入住過的客戶。嵌入的查詢語句為:"select</p><p>  cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage where croom='" & Command1(Index).Caption &

39、amp; "'",Command1(Index).Caption為當前按下的要查詢的房間按鈕的名稱]</p><p>  查詢信息:String sql = " select * from cmanage where croom= ? and Command1(Index).Caption = ? And Command1(Index).Caption = ?";

40、</p><p>  查詢姓名:String sql = " select cname from cmanage where croom= ? and Command1.Caption = ?";</p><p>  查詢城市:String sql = " select cictype from cmanage where croom= ? and Co

41、mmand1.Caption = ?";</p><p>  查詢地址:String sql = " select caddress from cmanage where croom= ? and Command1.Caption = ?";</p><p>  查詢房間:String sql = " select croom from cmana

42、ge where croom= ? and Command1.Caption = ?";</p><p>  5.3.2 入住登記和預定房間</p><p>  [說明:點"登記",系統(tǒng)自動在 roomlogin表中rstatue='空閑'的房間名字添加到 房間號碼的下拉列表中,供客戶選擇房間,用戶可以選擇"現(xiàn)開/預定"當

43、用戶選擇下拉列表中的一個房間時,系統(tǒng)自動將roomlogin中該房間的標準類型,價格自動加載顯示,房間狀況一目了然。其他用戶自定義完整性約束都通過對控件的屬性設置來完成,當用戶輸入數(shù)據(jù)破壞完整性時,系統(tǒng)會發(fā)出警告,以保持數(shù)據(jù)庫的完整性]</p><p>  Sql語句:String sql = " select rstatue from roomlogin ;</p><p>

44、<b>  查詢是否有空房:</b></p><p>  String sql = " select * from (select p.*,rownum r from (select * from roomlogin where 1 = 1 ";</p><p>  if(!"".equals(cname)){</p&g

45、t;<p>  sql += " and cname = '"+ cname +"' ";</p><p><b>  }</b></p><p>  if(!"".equals(csex)){</p><p>  sql += " and cs

46、ex like '%"+ csex +"%' ";</p><p><b>  }</b></p><p>  if(!"".equals(caddress)){</p><p>  sql += " and caddress = '"+ caddre

47、ss +"' ";</p><p><b>  }</b></p><p>  sql += "order by add_date desc) p where rownum <="+(end)+") where r >="+begin;</p><p>  5.3.

48、3 調房,住宿、退宿查詢</p><p>  [說明:通過入口可以打開窗體。當客戶需要調整房間時,點登記后,系統(tǒng)自動加載已入住客戶的房間和空閑的房間號碼,當用戶選擇要調房的客戶時,系統(tǒng)自動加載客戶的信息。選擇目標房間時候,系統(tǒng)自動加載房間信息。用戶確定調房后,系統(tǒng)修改數(shù)據(jù)庫:原房間狀態(tài)改為空閑,目標房間改為入住。原住房產生的費用將加在新入住房間上,而提醒表中原房間改為現(xiàn)房間。因而需要修改三個表:Cmanage,r

49、oomlogin,reminder.而查詢入住信息的嵌入sql語句為:</p><p>  Sql語句:查詢所有信息:</p><p>  "select cnumber,cname,cictype,cicnum,csex,caddress,ctel,cmember,croom,ctype,cprice,cindate,coutdate,cstatue from cmanage

50、where cname like '" & Text1.Text & "*'"]</p><p>  "select cnumber,canme,cictype,cicnim,csex,caddress,ctel,cmember,croom</p><p>  croom,ctype,cprice,cindate,co

51、utdate,cstatue from cmanage";</p><p>  修改信息: sql = " update Cmanage cname= ?,cictype= ?,ctel= ?,croom= ?, </p><p>  " add_date = to_date(?,'YYYY-MM-DD hh24:mi:ss')where cn

52、umber = ? ";</p><p>  刪除房間:sql = " delete croom where cname = ? ";</p><p>  新增信息:sql="</p><p>  insert into cmanage(cnumber,canme,csex,ctel,cmember,add_date)valu

53、es " +</p><p>  " (seq.nextval,?,?,?,?,sysdate) ";</p><p>  5.3.4 掛帳,結帳,日報表,追加押金</p><p>  [說明:追加押金窗體.系統(tǒng)自動加載已入住客戶號碼,當用戶選擇客戶號碼時候,系統(tǒng)自動加載客戶信息,用戶添加押金后,保存時系統(tǒng)對cmanage表進行修改,保

54、存數(shù)據(jù);結帳窗體。系統(tǒng)自動加載已入住還沒退房的房間號,用戶選擇要退房的房間號,系統(tǒng)加載客戶信息以需付款和明細供核對,確定結帳后,系統(tǒng)將對 cmanage表,smanage,reminder,roomlogin進行修改,以保持數(shù)據(jù)庫的參照完整性。如果是掛帳,用戶可以選擇掛帳,在客戶結帳的時候,調出掛帳結帳窗體,系統(tǒng)自動加載掛帳的單位,用戶選擇掛帳單位,系統(tǒng)自動加載需還金額。掛帳結帳只對smanage表操作。而日報表顯示smange里的信息

55、,提供按日期查找的方法,打印當天的帳務明細。查詢的嵌入sql語句為:"select sreason,sin,sout,ssum,sdate,sman,scomp,suser from smanage where sdate =#" & DTPicker1.Value & "#"。在該處開始一直調試不出,后來發(fā)現(xiàn)在sql語句中對日期要加"#"來格式說明是日期型的

56、。</p><p>  Sql語句:修改信息cmanage: sql = " update cmanage cnumber= ?,canme= ?,csex= ?,money= ? where cicnim = ? ";</p><p>  sql = " update cmanage smanage= ?,reminder= ?,roomlogin= ?

57、 where money= ? ";</p><p>  刪除smanage: sql = " delete smanage where gmoney = ? ";</p><p><b>  六、總結 </b></p><p>  兩周的的奮戰(zhàn),終于達到了預定的效果,完成了該信息系統(tǒng)的設計和程序編寫。</p

58、><p>  在學校,曾學過VB語言,也開發(fā)過很多程序,所以vb語言成為首選。雖然其編寫的應用程序在不同的機器上需要解釋器,需要隨帶很多ocx控件和其他,但是在編寫信息管理系統(tǒng)這方面還是很有優(yōu)勢的。(1)可視畫編程,豐富的控件,隨用隨拖,對控件對象編程,很方便。(2)可以方便的利用API函數(shù)實現(xiàn)窗體的各種效果。有豐富的api接口。(3)語言簡單,實現(xiàn)功能很方便。在對數(shù)據(jù)庫操作方面,引用了DAO 3.6 對象,使用DA

59、O編程連接和操作。所以很自然選擇了VB語言。在數(shù)據(jù)庫方面,考慮編程方便,采用從sql中導出成access文件來進行操作。</p><p>  選定課題后,開始收集相關資料和設計軟件架構。到賓館調查和到網(wǎng)上收集信息,以及參考了其他信息管理系統(tǒng),心里就有了輪廓。設計好軟件的幾大模塊,采用自頂向下的經(jīng)典設計方法,確定實現(xiàn)的功能,開始設計數(shù)據(jù)庫。運用相關的數(shù)據(jù)庫知識,設計好數(shù)據(jù)表,確定字段。并通過模式分解,確定其是無損的

60、連接。有了數(shù)據(jù)庫作為整個設計的底層,就好象蓋房子有了骨架,而軟件就象是磚瓦,只是將骨架填充完善,給客戶一個好的外觀。因而數(shù)據(jù)庫的設計尤為重要,但是在設計之初,往往會有很多情況不能考慮周全,再加之一個人編寫,所以進度一度很慢,后來通過列出所有可能的情況,以及同同學老師等交流,總結并重新設計了數(shù)據(jù)庫,終于是能有一個比較好的效果。通過將所有和客戶相關的財務信息都加到客戶信息里,避免了對多表的操作,避免了有可能會出現(xiàn)的參照完整性不一致的問題。繼

61、而是軟件的設計,由于對vb還是算比較熟悉,因而有了數(shù)據(jù)庫的支撐,就得心應手了??紤]到用戶使用的方便性,軟件主界面提供了很多入口,以及直觀的圖形顯示,方便用戶操作,因而也給客戶帶來方便,免去了客戶的很多等待時間,提升賓館的形象。同時提供了兩套外觀,春天里這套外觀可以避免用戶的審美疲勞。整</p><p>  在本次課程設計中,要感謝各位老師的指導,也要感謝提供意見和建議的同學,才得以大致完成該設計。本欲來讓老師答辯

62、的,但因個人原因,在答辯那天趕回家了,所以沒得完成最終的答辯。但這不要緊,編程最大的喜事莫過于完成所有程序的那一刻,雖然后續(xù)還有很多維護和修改任務,但是心里突然輕松下來那一刻的心情是無與倫比的。再次感謝老師的指導!</p><p><b>  七、參考文獻</b></p><p>  1、《數(shù)據(jù)庫系統(tǒng)概論》(第四版),薩師煊、王珊,高等教育出版社,2008,11。&l

63、t;/p><p>  2、《Database Systems Concepts》Fifth Edition ,Abraham Silberschatz, Henry F.Korth, S.Sudarshan ,Abraham Silberschatz, Henry F.Korth, S.Sudarshan,機械工業(yè)出版社,2010,7。</p><p>  3、《數(shù)據(jù)庫基礎與SQL Serve

64、r應用開發(fā)》徐孝凱等,清華大學出版社,2005,2。</p><p>  4、《SQL Server數(shù)據(jù)庫基礎基礎》 劉麗,機械工業(yè)出版社,2011,4。</p><p>  5、《VB語言程序設計》林卓然,電子工業(yè)出版社,2009,1。</p><p>  6、《VB數(shù)據(jù)庫項目設計模塊化教程》劉玉山、劉寶山,機械工業(yè)出版社,2009,8。</p&g

溫馨提示

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

評論

0/150

提交評論