客房管理系統(tǒng)畢業(yè)設計 (2)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p><b>  2 數(shù)據(jù)庫設計1</b></p><p>  2.1 需求設計1</p><p>  2.1.1 總體分析1</p><p

2、>  2.12 業(yè)務流程圖2</p><p>  2.1.3 數(shù)據(jù)流圖3</p><p>  2.1.4 數(shù)據(jù)字典4</p><p>  2.2 概念設計7</p><p>  2.2.1 分E-R圖7</p><p>  2.2.2 總E-R圖8</p><p>  2.3

3、邏輯設計8</p><p>  2.3.1 E-R 圖向關系模型轉換8</p><p>  2.3.2 數(shù)據(jù)模型的優(yōu)化9</p><p>  2.3.3 設計用戶子模式—視圖9</p><p>  2.4 物理設計10</p><p>  2.4.1 建立觸發(fā)器10</p><p>

4、  2.4.2 建立存儲過程10</p><p>  2.5 數(shù)據(jù)庫實施階段11</p><p>  2.5.1 建立數(shù)據(jù)庫11</p><p>  2.5.2 建立數(shù)據(jù)表11</p><p>  2.5.3 數(shù)據(jù)庫入庫12</p><p>  2.6 調試與測試14</p><p>

5、;  2.6.1 觸發(fā)器定義14</p><p>  2.6.2 視圖的定義15</p><p>  2.6.3 存儲過程定義17</p><p>  2.6.4 數(shù)據(jù)操縱驗證18</p><p>  3 收獲與體會18</p><p>  4 存在的問題與建議18</p><p>

6、  4.1 存在問題18</p><p><b>  4.2 建議19</b></p><p><b>  5.附錄19</b></p><p><b>  1 引言</b></p><p>  本次數(shù)據(jù)庫實習不要求界面和外部應用程序的設計,只設計數(shù)據(jù)庫部分??头抗芾硐到y(tǒng)

7、采用SQL server 2000作為數(shù)據(jù)庫后臺。客房管理系統(tǒng)可以實現(xiàn)對客房的科學化、規(guī)范化、查詢顧客情況、訂房信息、以及結算信息等。有助于提高管理的效率,客房管理系統(tǒng)是根據(jù)某賓館對客房的實際情況進行集中的查詢與管理工作,以及提高整個客房管理的工作效率。</p><p><b>  2 數(shù)據(jù)庫設計</b></p><p><b>  2.1 需求設計<

8、/b></p><p>  2.1.1 總體分析</p><p>  建立客房管理信息系統(tǒng)的必要性已被廣大的管理人員所接受和認可,建立客房管理信息系統(tǒng)是為賓館的管理服務的,其根本米的是要創(chuàng)造客房的經(jīng)濟效益。然而客房知道接的經(jīng)濟效益的提高應該包括直接的經(jīng)濟效益和間接地經(jīng)濟效益兩方面。客房的直接經(jīng)濟效益是指由于系統(tǒng)的建立是客房的生產(chǎn)經(jīng)營或客房的管理取得的直接利潤收益。根據(jù)一般賓館的工作流

9、程及環(huán)境,以及顧客的要求設計了這個客房管理系統(tǒng)。這個數(shù)據(jù)庫主要完成房間信息查詢,住房信息統(tǒng)計,和賬務結算。其中信息查詢用來給顧客查詢各種房間類型,房間價格等,住房信息統(tǒng)計用來給客房管理人員查詢是否有空房間,有多少空房,哪個顧客需要結賬了,等等信息管理,還可以根據(jù)數(shù)據(jù)庫儲存的資料統(tǒng)計什么樣的人訂房多,什么時段生意好,哪些服務是大多數(shù)顧客所喜愛的等等?;谶@個數(shù)據(jù)庫,可以根據(jù)不同的需要對數(shù)據(jù)庫進不同的查詢。</p><p

10、>  2.12 業(yè)務流程圖</p><p>  根據(jù)了解到的情況,了解到了顧客住房的基本流程,根據(jù)客房管理的基本流程,從業(yè)務流程圖基本的功能模塊分別用下面圖形表示:</p><p>  根據(jù)賓館實際管理過程和各種操作,由了解到的業(yè)務畫出業(yè)務流程圖,本系統(tǒng)的業(yè)務流程圖如下所示:</p><p>  2.1.3 數(shù)據(jù)流圖</p><p> 

11、 2.1.4 數(shù)據(jù)字典</p><p>  數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關系,數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典在數(shù)據(jù)庫設計中占有很重要的地位。</p><p>  數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程5個部分。其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結構,數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結構的

12、定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內容。</p><p>  2.1.4.1 數(shù)據(jù)項定義</p><p>  數(shù)據(jù)項是不可在分的數(shù)據(jù)單位。下面定義了客房管理系統(tǒng)需要的數(shù)據(jù)項:</p><p>  表2.1 數(shù)據(jù)項定義</p><p>  2.1.4.2 數(shù)據(jù)結構</p><p>  數(shù)據(jù)結構反映了數(shù)據(jù)之間的組合關系,。一

13、個數(shù)據(jù)結構可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結構組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)結構混合組成。對數(shù)據(jù)結構的描述通常包括數(shù)據(jù)結構名、含義等。</p><p><b>  表2-2 數(shù)據(jù)結構</b></p><p>  2.1.4.3 數(shù)據(jù)流</p><p>  數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂?。對?shù)據(jù)流的描述通常包括以下內容:數(shù)據(jù)流名、說明

14、、數(shù)據(jù)流來源、數(shù)據(jù)流去向、組成等。</p><p><b>  表2-3 數(shù)據(jù)流</b></p><p>  2.1.4.4 數(shù)據(jù)存儲</p><p>  數(shù)據(jù)存儲是數(shù)據(jù)結構停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。他可以是手工文檔或手工憑單,也可以是計算機文檔。</p><p>  表 2-4 數(shù)據(jù)存儲</p

15、><p>  2.1.4.5 處理過程</p><p>  處理過程的具體處理邏輯一般是用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明信息,通常包括處理過程編號、名稱、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、處理等。</p><p>  表 2-5 處理過程</p><p><b>  2.2 概念設計</b></p

16、><p>  將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計。它是整個數(shù)據(jù)庫設計的關鍵。</p><p>  2.2.1 分E-R圖</p><p>  面對每一個局部應用主義設計分E-R圖:</p><p>  2.2.2 總E-R圖</p><p>  各子系統(tǒng)的E-R圖設計好以后,下一步就是要

17、將所有的分E-R圖綜合成一個系統(tǒng)的總E-R圖。多個分E-R圖一次集成總E-R圖,如下圖所示:</p><p>  在消除各種沖突和不必要的冗余之后,基本E-R圖就生成了,下一步就是根據(jù)概念結構設計結果來進行邏輯結構設計了。</p><p><b>  2.3 邏輯設計</b></p><p>  概念結構是獨立于任何一種數(shù)據(jù)模型的信息結構。邏輯

18、結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與所選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型想符合的邏輯結構。</p><p>  2.3.1 E-R 圖向關系模型轉換</p><p>  把總E-R圖轉換成為關系模式,關系的碼用下劃線標出。</p><p>  顧客(顧客編號,顧客姓名,顧客身份證號,顧客性別,顧客年齡)</p><p&

19、gt;  此為顧客實體所對應的關系模式。</p><p>  房間(房間編號,房間類型,房價狀態(tài),房間單價)</p><p>  此為房間實體所對應的關系模式。</p><p>  入住登記表(顧客姓名,房間號碼,顧客身份證號,入住日期,訂房天數(shù),)</p><p>  此為入住登記表所對應的關系模式,該關系模式已包含了聯(lián)系“登記”所對應的關

20、系模式。</p><p>  服務菜單(服務名稱,服務次數(shù),服務單價)</p><p>  此為服務菜單實體對應的關系模式。</p><p>  服務清單(房間編號,服務名稱,服務次數(shù),服務單價)</p><p>  此為服務清單所對應的關系模式,該關系模式已包含了聯(lián)系“選擇”所對應的關系模式。</p><p>  

21、2.3.2 數(shù)據(jù)模型的優(yōu)化</p><p>  數(shù)據(jù)邏輯設計的結果不是唯一的。為了進一步提高數(shù)據(jù)庫應用系統(tǒng)的性能,還應該分局應用系統(tǒng)的需要適當?shù)男薷?,調整數(shù)據(jù)模型的結構,這就是數(shù)據(jù)模型的優(yōu)化。關系數(shù)據(jù)庫模型的優(yōu)化通常以規(guī)范化理論為指導,方法為:</p><p><b>  確定數(shù)據(jù)依賴。</b></p><p>  對于各個關系模式之間的數(shù)據(jù)依

22、賴進行極小化處理,消除冗余的聯(lián)系。</p><p>  按照數(shù)據(jù)依賴的理論對關系模式逐一進行分析,考察是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定個關系模式分別屬于第幾范式。</p><p>  按照需求分析階段得到的處理要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要求對某些模式進行合并或分解。</p><p>  對關系模式進行必要的分解,提高數(shù)

23、據(jù)操作的效率和存儲空間利用率。常用的兩種分解發(fā)事水平分解法和垂直分解法。</p><p>  規(guī)范化理論為數(shù)據(jù)庫設計人員判斷關系模式優(yōu)劣提供了理論標準,可以來預測模式可能出現(xiàn)的問題,使數(shù)據(jù)庫設計工作有了嚴格的理論基礎。</p><p>  2.3.3 設計用戶子模式—視圖</p><p>  將概念模型轉換為全局邏輯模型之后,還應該根據(jù)局部應用需求,結合具體DBMS

24、的特點,設計用戶的外模式。</p><p>  目前關系數(shù)據(jù)庫管理系統(tǒng)一般都提供了視圖(view)概念,可利用這一功能設計更符合局部用戶需要的用戶外模式。</p><p>  對于本系統(tǒng),綜合顧客和管理者的角度,設計了如下視圖:</p><p>  對于顧客,只需要建立狀態(tài)為空的房間信息的視圖:</p><p>  1. 建立空房間的視圖,方

25、便顧客查詢和選擇房間。</p><p>  空房間(房間編號,房間類型,房間單價)</p><p>  對于管理者,則要建立如下幾個視圖:</p><p>  1.建立滿房間視圖,方便管理者了解入住客人的信息</p><p>  滿房間(房間編號,房間類型,房間單價)</p><p>  2.建立所有顧客應繳納房間費用

26、的視圖,方便管理者預算房間收入</p><p>  房間費用(顧客姓名,房間費用)</p><p>  3.建立所有顧客應繳納服務費用的視圖,方便預算服務收入,且可以根據(jù)統(tǒng)計數(shù)據(jù)來分析那種服務受歡迎,從而增加和推廣相應服務</p><p>  服務費用(房間編號,服務綜費用)</p><p>  4.建立所有顧客應繳納的總費用的視圖,方便結算

27、</p><p>  總費用(房間編號,總費用)</p><p><b>  2.4 物理設計</b></p><p>  數(shù)據(jù)庫在物理設備上的存儲結構與存取方法稱為數(shù)據(jù)庫的物理結構,它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用要求的物理結構的過程,就是數(shù)據(jù)庫的物理設計。</p><p>  

28、2.4.1 建立觸發(fā)器</p><p>  這個系統(tǒng)為數(shù)據(jù)表的更新建立了兩個觸發(fā)器,一個是在有新的客人入住時,插入客人入住信息,觸發(fā)觸發(fā)器,使房間信息得到更新。另外就是在有客人退房結賬之后,使觸發(fā)器觸發(fā),更新房間信息表。</p><p>  表 2-6 定義觸發(fā)器</p><p>  2.4.2 建立存儲過程</p><p>  存儲過程是存

29、儲在服務器端由一組編譯的Transact—SQL語句構成的SQL Sever數(shù)據(jù)庫應用程序,它能夠檢索系統(tǒng)信息、管理數(shù)據(jù)庫或執(zhí)行其他操作。</p><p>  為了方便操作,為本系統(tǒng)建立了如下存儲過程:</p><p><b>  表2-7 存儲過程</b></p><p>  2.5 數(shù)據(jù)庫實施階段</p><p> 

30、 2.5.1 建立數(shù)據(jù)庫</p><p>  用SQL語句建立數(shù)據(jù)庫,具體定義如下:</p><p>  create database hotel</p><p>  2.5.2 建立數(shù)據(jù)表</p><p>  用SQL語句建立數(shù)據(jù)表,具體定義如下:</p><p>  create table customer&l

31、t;/p><p>  (Cno char(10),</p><p>  Cname char(10),</p><p><b>  Cage int,</b></p><p>  Csex char(2),</p><p>  IDno char(18),</p><p>  

32、primary key(Cno)</p><p><b>  )</b></p><p>  create table room</p><p>  (Rno char(10),</p><p>  Rtype char(10),</p><p>  Rstatus char(4),</p&

33、gt;<p>  Rprice int,</p><p>  primary key(Rno)</p><p><b>  )</b></p><p>  create table information</p><p>  (Cname char(10),</p><p>  Rn

34、o char(10),</p><p>  IDno char(18),</p><p>  Thedate datetime,</p><p><b>  days int</b></p><p>  primary key(Cname,Rno)</p><p><b>  )<

35、/b></p><p>  create table checkout</p><p>  (Cno char(10),</p><p>  Rno char(10),</p><p>  primary key(Cno)</p><p><b>  )</b></p><

36、;p>  create table menu</p><p>  (Sname char(10),</p><p>  Sprice int,</p><p>  primary key(Sname)</p><p><b>  )</b></p><p>  create table se

37、rvice</p><p>  (Rno char(10),</p><p>  Sname char(10),</p><p>  Samount int,</p><p>  primary key(Rno,Sname)</p><p><b>  )</b></p><p

38、>  2.5.3 數(shù)據(jù)庫入庫</p><p>  本次數(shù)據(jù)采用Excel表導入的方法導入數(shù)據(jù)。數(shù)據(jù)導入后基本表如下所示:</p><p>  基本表—customer</p><p><b>  基本表 room。</b></p><p><b>  基本表 menu。</b></p&g

39、t;<p>  基本表 information。</p><p>  基本表 service</p><p>  基本表checkout</p><p><b>  2.6 調試與測試</b></p><p>  2.6.1 觸發(fā)器定義</p><p>  定義房間信息在有人入住之后

40、更新的觸發(fā)器</p><p>  create trigger in_status</p><p>  on information</p><p>  after insert,update</p><p><b>  as</b></p><p>  declare @Rno char(10)

41、</p><p>  select @Rno = Rno </p><p>  from inserted</p><p>  update room</p><p>  set Rstatus = '滿'</p><p>  where room.Rno = @Rno</p><p

42、>  定義房間信息在有人退房之后更新的觸發(fā)器</p><p>  create trigger out_status</p><p>  on checkout</p><p>  after insert,update</p><p><b>  as</b></p><p>  decl

43、are @Rno char(10)</p><p>  select @Rno = Rno</p><p>  from inserted</p><p>  update room</p><p>  set Rstatus = '空'</p><p>  where room.Rno = @Rno&

44、lt;/p><p>  2.6.2 視圖的定義</p><p><b>  建立空房間信息視圖</b></p><p>  create view view_eroom</p><p><b>  as </b></p><p><b>  select *</b

45、></p><p><b>  from room</b></p><p>  where Rstatus = '空'</p><p><b>  建立滿房間視圖</b></p><p>  create view view_froom</p><p>

46、<b>  as </b></p><p><b>  select *</b></p><p><b>  from room</b></p><p>  where Rstatus = '滿'</p><p>  建立客房所有顧客應繳納的房間費用視圖<

47、/p><p>  create view view_roomcost(Cname,rcost)</p><p><b>  as</b></p><p>  select information.Cname,Rprice*Days</p><p>  from room,information</p><

48、p>  where room.Rno in</p><p>  (select Rno</p><p>  from information</p><p>  ) and information.Rno=room.Rno</p><p>  建立所有顧客應繳納服務費用的視圖</p><p>  create v

49、iew view_servicecost(Rno,cost)</p><p><b>  as</b></p><p>  select service.Rno,sum(Samount*Sprice) </p><p>  from menu,service</p><p>  where menu.Sname=serv

50、ice.Sname</p><p>  group by service.Rno</p><p>  建立顧客應繳納的總費用的視圖</p><p>  create view view_allcost(Rno,allcost)</p><p><b>  as</b></p><p>  sele

51、ct view_servicecost.Rno,cost+Rprice*Days</p><p>  from view_servicecost,room,information</p><p>  where view_servicecost.Rno=room.Rno and room.Rno = information.Rno</p><p>  2.6.3 存

52、儲過程定義</p><p>  建立查詢某個房間信息的存儲過程</p><p>  create procedure roominf</p><p>  @Rno char(10)</p><p><b>  as</b></p><p><b>  select * </b&g

53、t;</p><p><b>  from room</b></p><p>  where Rno = @Rno</p><p>  roominf '101'</p><p>  建立查詢某個房間價格的信息的存儲過程</p><p>  create procedure pri

54、ceinf</p><p>  @pRno char(10)</p><p><b>  as</b></p><p>  select Rprice</p><p><b>  from room</b></p><p>  where Rno = @pRno</p&

55、gt;<p>  priceinf '101'</p><p>  建立某個房間狀態(tài)的存儲過程</p><p>  create procedure statusinf</p><p>  @sRno char(10)</p><p><b>  as</b></p><

56、p>  select Rstatus</p><p><b>  from room</b></p><p>  where Rno= @sRno</p><p>  某個客人入住,建立存儲過程更新房間信息</p><p>  create procedure updateinf</p><p&

57、gt;  @P_Cname char(10),</p><p>  @P_Rno char(10),</p><p>  @P_IDno char (18),</p><p>  @P_Thedate datetime,</p><p>  @P_Days int</p><p><b>  as</b

58、></p><p>  insert into information</p><p>  values(@P_Cname,@P_Rno,@P_IDno,@P_Thedate,@P_Days)</p><p>  2.6.4 數(shù)據(jù)操縱驗證</p><p><b>  數(shù)據(jù)操縱驗證見附錄</b></p>

59、<p><b>  3 收獲與體會</b></p><p>  經(jīng)歷了兩周的數(shù)據(jù)庫課程設計,我從開始只知道寫幾句SQL語句到對數(shù)據(jù)庫設計有了一個全新的認識,從理論上升到了實踐的高度,收獲頗豐。</p><p>  在實習的過程當中,我遇到了很多問題,特別是在開始需求分析階段,覺得什么也不會做,什么也不知道去做。后來在網(wǎng)上了解到了好多關于客房管理的知識,對數(shù)

60、據(jù)庫設計也有了一定的了解,在自己的努力下和老師悉心教導了下,我學到了課堂上學不到的很多東西,雖然也被老師批評過,但是批評之后,我對知識的記憶將更加深刻。</p><p>  從中我知道了,只要我們不畏艱辛,堅持不懈,我們能做到很多不敢想不敢做的事情,經(jīng)歷風雨,就是彩虹!</p><p>  4 存在的問題與建議</p><p><b>  4.1 存在問題

61、</b></p><p>  1. 對書本知識不熟悉,課程設計過程當中需要不斷的查閱課本,這樣造成了時間的浪費。</p><p>  2. 對SQL Server 2000 操作不熟悉,導致導入數(shù)據(jù)是經(jīng)常出錯,造成了一些不必要的麻煩,應該提高操作熟練程度。</p><p>  3. 對于觸發(fā)器和存儲過程定義不是很熟悉,有的稍微難點的語句寫不出來,對于數(shù)據(jù)

62、庫定義語句應該要熟練掌握。</p><p>  4.對數(shù)據(jù)庫設計總體把握不是很準確,導致中間多次反復的改動前面的業(yè)務流程圖、數(shù)據(jù)流圖和E-R圖。</p><p><b>  4.2 建議</b></p><p>  在實習中,老師對我們細心輔導讓我很感動,同學也熱情的解答了我問的問題,唯一覺得不太適應的就是數(shù)據(jù)庫實習的時間太短暫,沒有充分的時間

63、去全面考慮整個數(shù)據(jù)庫的設計,這使得數(shù)據(jù)庫的設計有很多方面不是很全面,這也是這次實習中的唯一一個遺憾吧。但總體來說,這次數(shù)據(jù)庫課程設計給我提供了一個鍛煉自我,提高自我的機會,讓我覺得計算機專業(yè)課其實很有意思,改變了我對計算機專業(yè)課難、沒意思的看法,相信我以后會喜歡上這個專業(yè)的。</p><p><b>  5.附錄</b></p><p><b>  存儲過程

溫馨提示

  • 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

提交評論