

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 數(shù)據(jù)庫原理課程設計說明書</p><p><b> 賓館客房管理系統(tǒng)</b></p><p> 院 、 部:計算機與信息科學學院 </p><p> 學生姓名: </p><p> 專 業(yè): 網絡工程 </p&g
2、t;<p> 班 級: </p><p> 完成時間: </p><p><b> 目 錄</b></p><p> 1 系統(tǒng)需求分析2</p><p> 1.1 設計前調查2</p>&l
3、t;p> 1.2 用戶需求分析2</p><p> 1.3 系統(tǒng)流程圖3</p><p> 2 數(shù)據(jù)庫的概念結構設計4</p><p> 2.1 概念結構4</p><p> 2.2 賓館客房管理系統(tǒng)概念結構設計4</p><p> 3 數(shù)據(jù)庫的邏輯結構設計5</p>
4、;<p> 3.1 邏輯結構5</p><p> 3.2 關系模型5</p><p> 4 數(shù)據(jù)庫的物理結構設計6</p><p> 4.1 表結構設計6</p><p> 5 系統(tǒng)的設計與實現(xiàn)8</p><p> 5.1 數(shù)據(jù)庫的實施8</p><
5、p> 5.2 數(shù)據(jù)庫的連接10</p><p> 5.3 登錄界面設計11</p><p> 5.4 主界面設計11</p><p> 5.5 賓館管理系統(tǒng)界面設計12</p><p> 6 課程設計總結15</p><p><b> 參考文獻16</b>&
6、lt;/p><p> 附錄1 數(shù)據(jù)庫原理課程設計任務書17</p><p> 附錄2 數(shù)據(jù)庫原理課程設計成績評定表18</p><p><b> 1 系統(tǒng)需求分析</b></p><p> 1.1 設計前調查</p><p> 近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高
7、賓館的軟件管理水準,已成為賓館業(yè)發(fā)展的當務之急。尤其是對于星級賓館,既需要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,傳統(tǒng)的人工管理模式已經遠遠不能滿足有效、快捷地處理經營中產生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在
8、競爭中甩開對手,取得優(yōu)勢,必須在經營、管理、產品、服務等方面具備獨到之處。而對賓館的經營狀況起決定作用的是客房的管理。簡單的服務標準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高質量,而準確、快速、周全往往就是最基本的成功要素。</p><p> 傳統(tǒng)的管理方法已經不能適應現(xiàn)代社會的需要,因此采用電腦管理業(yè)務、財務等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)
9、是各大中小型賓館所需要使用的一個管理系統(tǒng)。</p><p> 1.2 用戶需求分析</p><p> 建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務人員日常處理的需要,增強企業(yè)經營全過程的數(shù)字化管理水平;又能滿足管理人員決策分析的需要,提高公司管理層對公司經營反饋信息的響應速度。從而大幅度提高工作效率,提高實施管理的準確性、科學性,使擔負管理的工作人員從繁雜的手工勞作中解脫出來。因而程
10、序需要實現(xiàn)的功能有如下主要六大功能:</p><p> (1)具有方便的登記、結帳功能,以及預訂客房的功能。能夠支持團體登記和團體結帳。</p><p> ?。?)能快速、準確地了解賓館內的客房狀態(tài),以便管理者決策。</p><p> ?。?)提供多種手段查詢客人的信息。</p><p> ?。?)具備一定的維護手段。具備有一定權利的操作員
11、在密碼的支持下才可更改房價、房間類型和增減客房。</p><p> (5)具有查看房間歷史的功能,能夠了解到每個房間的歷史居住狀態(tài),可以合理的分配每個類型的房間數(shù)目。</p><p> 1.3 系統(tǒng)流程圖 </p><p> 系統(tǒng)流程圖如圖1所示:</p><p><b> 圖1 系統(tǒng)流程圖</b></
12、p><p> 2 數(shù)據(jù)庫的概念結構設計</p><p><b> 2.1 概念結構</b></p><p> 在需求分析階段所得到的應用需求應該首先抽象為信息世界的結構,才能更好地、更準確地用某一DBMS實現(xiàn)這些需求。</p><p><b> 概念結構主要特點:</b></p>
13、<p> ?。?) 能真是、充分地反映顯示世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個只是模型;</p><p> (2) 易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設計成功的關鍵。</p><p> ?。?) 易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充;</p><p
14、> (4)易于向關系、網狀、層次等各種數(shù)據(jù)模型轉換;</p><p> 概念結構時各種數(shù)據(jù)模型的共同基礎,它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。</p><p> 2.2 賓館客房管理系統(tǒng)概念結構設計</p><p> 現(xiàn)在對所設計系統(tǒng)的需求作進一步的分析,產生概念結構設計的E-R模型,如圖2所示。</p><p>
15、 (1)總體E-R圖如圖2所示</p><p><b> 圖2 總體E-R圖</b></p><p> 3 數(shù)據(jù)庫的邏輯結構設計</p><p><b> 3.1 邏輯結構</b></p><p> 概念結構設計所得的E-R模型是對用戶需求的一種抽象的表達形式,它獨立于任何一種具體的數(shù)
16、據(jù)模型,因而也不能為任何一個具體的DBMS所支持。為了能夠建立起最終的物理系統(tǒng),還需要將概念結構進一步轉化為某一DBMS所支持的數(shù)據(jù)模型,然后根據(jù)邏輯設計的準則、數(shù)據(jù) 的語義約束、規(guī)范化理論等對數(shù)據(jù)模型進行適當?shù)恼{整和優(yōu)化,形成合理的全局邏輯結構,設計出用戶子模式這就是數(shù)據(jù)庫邏輯設計所并要完成的任務。</p><p><b> 3.2 關系模型</b></p><p&
17、gt; 將圖2的概念結構設計的E-R模型轉換為關系模型,如下所示:</p><p> 將圖2總體概念結構E-R圖轉化成關系模型。(主鍵用下劃線標出)</p><p> 參考相關數(shù)據(jù)表結構:</p><p> 房間信息表(房間號碼,房間類型,房間價格,押金,房間狀態(tài))</p><p> 住房管理表(客人姓名、證件號碼、房號、入住時期、
18、入住天數(shù),結賬離開日期、押金、 付金額)</p><p> 客人信息表(姓名、性別、證件類型、證件號碼、聯(lián)系電話)</p><p> 歷史信息表(房間號,開始住宿日期,住宿天數(shù),離開日期)</p><p> 4 數(shù)據(jù)庫的物理結構設計</p><p> 4.1 表結構設計</p><p> 根據(jù)總體結構圖基
19、本表結構,其相應標的定義如下:</p><p> 表1 RoomInfo</p><p> 字段名 代碼 類型 約束</p><p> 房間號碼 roomNum varchar(8) 主鍵</p><p> 房間類型 roomType
20、 varchar(12) 非空</p><p> 房間價格 roomPrice int 非空</p><p> 房間押金 cashPledge int </p><p> 房間狀態(tài) state varchar(8) 非空<
21、/p><p> 表2 cusInfo</p><p> 字段名 代碼 類型 約束</p><p> 客人姓名 cusName varchar(20) 非空</p><p> 客人性別 cusSex varchar(4) 非空
22、</p><p> 證件類型 certType varchar(10) 非空</p><p> 證件號碼 certID varchar(20) 主鍵 </p><p> 聯(lián)系電話 state varchar(8) 非空</p><
23、;p> 表3 ManaRoom</p><p> 字段名 代碼 類型 約束</p><p> 客人姓名 cusName varchar(20) 非空</p><p> 證件號碼 certID varchar(20) 外鍵</p&g
24、t;<p> 房間號碼 roomNum varchar(8) 外鍵</p><p> 入住時期 strDate varchar(50)</p><p> 入住天數(shù) days int</p><p> 離開時期 endDate varchar(
25、50)</p><p> 已付押金 cashPledge int</p><p> 應付金額 payMoney int </p><p> 表4 History</p><p> 字段名 代碼 類型 約束</p><p>
26、; 房間號碼 roomName varchar(8) 主鍵,外鍵</p><p> 入住日期 strDate varchar(50) 主鍵,外鍵</p><p> 入住天數(shù) days int 非空</p><p> 離開日期 en
27、dDate varchar(50) 非空</p><p> 5 系統(tǒng)的設計與實現(xiàn)</p><p> 5.1 數(shù)據(jù)庫的實施</p><p> 開啟sql服務,打開PL/SQL Developer,并登陸。建立數(shù)據(jù)腳本,并在運行腳本。數(shù)據(jù)腳本如下:</p><p> create database hotelMa
28、na</p><p> use hotelMana</p><p> 房間信息:房號、房類型、價格、押金、房狀態(tài)</p><p> create table roomInfo(</p><p> roomNum varchar(8) primary key,</p><p> roomType varchar
29、(12) not null,</p><p> roomPrice int not null,</p><p> cashPledge int,</p><p> state varchar(8) not null,</p><p><b> )</b></p><p> inser
30、t into roomInfo values('A801','單人間',60,null,'空');</p><p> insert into roomInfo values('A802','單人間',60,null,'空');</p><p> insert into roomInfo va
31、lues('A803','單人間',60,null,'空');</p><p> insert into roomInfo values('A804','單人間',60,null,'空');</p><p> insert into roomInfo values('A805'
32、;,'單人間',60,null,'空');</p><p> insert into roomInfo values('A810','雙人間',100,null,'空');</p><p> insert into roomInfo values('A811','雙人間',1
33、00,null,'空');</p><p> insert into roomInfo values('A812','雙人間',100,null,'空');</p><p> insert into roomInfo values('A813','雙人間',100,null,'空
34、39;);</p><p> insert into roomInfo values('A821','套房',200,null,'空');</p><p> insert into roomInfo values('A822','套房',200,null,'空');</p>&
35、lt;p> insert into roomInfo values('A823','套房',200,null,'空');</p><p> drop table roomInfo --如表有誤,刪除此表</p><p> 客人信息:姓名、性別、證件類型、證件號碼、聯(lián)系電話</p><p> create
36、table cusInfo (</p><p> cusName varchar(20) not null,</p><p> cusSex varchar(4) not null, -- cusSex varchar(2) check (cusSex in('男','女')),</p><p> certType varcha
37、r(10) not null,</p><p> certID varchar(20) primary key,</p><p> tel varchar(12) not null,</p><p><b> )</b></p><p> select * from cusInfo</p><
38、p> delete from cusInfo where cusName='王五'</p><p> drop table cusInfo --如表有誤,刪除此表</p><p> 住店管理:客人姓名、證件號碼、房號、入住時期、入住天數(shù),結賬離開日期、押金、應付金額</p><p> create table ManaRoom(<
39、/p><p> roomNum varchar(8) ,</p><p> cusName varchar(20) not null,</p><p> certID varchar(20) ,</p><p> strDate varchar(50) , </p><p><b> days int,
40、</b></p><p> endDate varchar(50),</p><p> cashPledge int,</p><p> payMoney int,</p><p> foreign key (certID)references cusInfo(certID),</p><p>
41、foreign key (roomNum)references roomInfo(roomNum)</p><p><b> )</b></p><p> insert into ManaRoom values('A810','張三','1233001','2015-12-26',3,'201
42、5-12-28',100,900);</p><p> drop table ManaRoom --如表有誤,刪除此表</p><p> select * from ManaRoom</p><p> 歷史信息:房間號,開始住宿日期,住宿天數(shù),離開日期</p><p> create table History(</p
43、><p> roomNum varchar(8),</p><p> strDate varchar(20), </p><p> dateNum int,</p><p> endDate varchar(20),</p><p> primary key(roomNum,strDate),</p>
44、<p> foreign key (roomNum) references roomInfo(roomNum)</p><p><b> )</b></p><p> drop table History --如表有誤,刪除此表</p><p> 5.2 數(shù)據(jù)庫的連接</p><p> 連接數(shù)據(jù)
45、庫的主要代碼如下:</p><p> // 1通過流讀取配置文件中的數(shù)據(jù)</p><p><b> static{</b></p><p> Properties p = new Properties();</p><p><b> try {</b></p><p>
46、; p.load(new FileInputStream(new File("p.properties")));</p><p><b> }</b></p><p> catch (Exception e) {</p><p> // TODO Auto-generated catch block</p>
47、;<p> e.printStackTrace();</p><p><b> }</b></p><p> //獲取文件中變量的值</p><p> driver = p.getProperty("driver");</p><p> url = p.getProperty(
48、"url");</p><p> username=p.getProperty("username");</p><p> userpwd=p.getProperty("userpwd");</p><p> // 2.加載驅動。</p><p><b> try
49、{</b></p><p> Class.forName(driver);</p><p> } catch (ClassNotFoundException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p&g
50、t;<b> }</b></p><p> // 3.連接數(shù)據(jù)庫。</p><p> public static Connection linkDB() {</p><p> Connection conn = null;</p><p><b> try {</b></p>
51、<p> conn = DriverManager.getConnection(url, username, userpwd);</p><p> } catch (SQLException e) {</p><p> System.out.println("用戶名或密碼錯誤,連接失?。?quot;);</p><p><b>
52、 }</b></p><p> return conn;</p><p><b> }</b></p><p> 5.3 登錄界面設計</p><p> 登錄功能設置了用戶名和密碼的驗證,從界面取出輸入的值,拼接sql語句后,傳送到數(shù)據(jù)庫查詢是否存在,驗證通過后,則提示登陸成功;否則,提示登錄失敗
53、。登錄界面如圖3所示。</p><p> 圖3 登錄界面設計</p><p> 5.4 主界面設計</p><p> 管理員登陸成功后,跳轉至主界面,如圖4所示。</p><p><b> 圖4 主界面設計</b></p><p> 5.5 賓館管理系統(tǒng)界面設計</p>
54、;<p><b> 功能的簡單實現(xiàn):</b></p><p> 增加客人信息,如圖5所示</p><p> 刪除客人信息 如圖6所示</p><p><b> 圖6 增加刪除</b></p><p> ?。?)修改客人信息 如圖7所示</p><p>
55、 圖7 修改客人信息</p><p> ?。?)查詢客人信息 如圖8所示</p><p> 圖8 查詢客人信息</p><p><b> 6 課程設計總結</b></p><p> 通過此次數(shù)據(jù)庫的課程設計,真正達到了學與用的結合,增強了對數(shù)據(jù)庫方面應用的理解,對自己今后參與開發(fā)數(shù)據(jù)庫系統(tǒng)積累了不少經驗,在
56、實驗過程中,從建立數(shù)據(jù)開始,對數(shù)據(jù)庫設計理念及思想上有更高的認識,從需求分析,到概念設計和邏輯設計,E-R圖的表示,數(shù)據(jù)字典的創(chuàng)建,懂得了不少有關數(shù)據(jù)庫開發(fā)過程中的知識,增強了自己在數(shù)據(jù)庫中應用SQL語言的靈活性,其中包括,插入、刪除、修改、查詢,牽涉表和表之間的聯(lián)系,主建與外主鍵的定義,約束項的設置,使邏輯更嚴密,在學習過程中,我也能過上網查了不少資料,也看了一些別人設計的旅館管理信息系統(tǒng)的設計報告,學以致用,自我創(chuàng)新,獨立完成了這份
57、自己的報告,從中在學到用,從用又到學,不斷修改,系統(tǒng)更新。雖然不能達到完善系統(tǒng),但也做到了盡善盡美,加強理論學習對完善系統(tǒng)會有很多幫助。</p><p><b> 參考文獻</b></p><p> [1]王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論(第四版).高等教育出版社,2006 </p><p> [2]秦靖,劉存勇 . Oracle從入門到精
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫原理delphi課程設計報告---旅館管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--數(shù)據(jù)庫設計—公司管理系統(tǒng)
- 數(shù)據(jù)庫課程設計---機房管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--工資管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計-酒店管理系統(tǒng)課程設計
- 數(shù)據(jù)庫原理課程設計---教室管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計--bbs系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計--超市會員管理系統(tǒng)的數(shù)據(jù)庫設計
- 數(shù)據(jù)庫原理課程設計---圖書管理系統(tǒng)數(shù)據(jù)庫設計
- 數(shù)據(jù)庫課程設計-學生管理系統(tǒng)
- 數(shù)據(jù)庫課程設計-薪資管理系統(tǒng)
- 酒店管理系統(tǒng)--數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計——學生管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--- 銷售管理系統(tǒng)
- 數(shù)據(jù)庫成績管理系統(tǒng)課程設計
- 數(shù)據(jù)庫課程設計---成績管理系統(tǒng)
- 房產管理系統(tǒng)數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計--倉庫管理系統(tǒng)
評論
0/150
提交評論