版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫設(shè)計報告酒店客房管理甲 方:乙 方:簽訂日期: 年 月酒店客房管理系統(tǒng)本學(xué)期學(xué)習(xí)了數(shù)據(jù)庫系統(tǒng)概論這門課, 初步掌握了數(shù)據(jù)庫的一般性知識, 獲得 了一些基本的數(shù)據(jù)庫操作技能, 能夠?qū)?shù)據(jù)庫進(jìn)行一些簡單的操作。 結(jié)合上星期 學(xué)習(xí)的 JAVA 基礎(chǔ)這門課, 本次課程設(shè)計將通過 Java 利用 Mysql, MyEclipse 來 做一個實例練習(xí)掌握的知識。一系統(tǒng)概述1.系統(tǒng)目標(biāo) 采用電腦管理業(yè)務(wù)、財務(wù)等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條 件,賓館客房管理系統(tǒng)是各大中小型賓館所需要使用的一個管理系統(tǒng)。 建立起一 套功能完善的管理信息系統(tǒng), 既能滿足業(yè)務(wù)人員日常處理的需要, 增強(qiáng)企業(yè)經(jīng)營 全
2、過程的數(shù)字化管理水平; 又能滿足管理人員決策分析的需要, 提高公司管理層 對公司經(jīng)營反饋信息的響應(yīng)速度。本實例將通過使用 Mysql, MyEclipse 設(shè)計軟件,幫助酒店客房相關(guān)人員快 速方便地對客人信息,員工信息進(jìn)行管理。 將原本散亂的客人信息系統(tǒng)化, 圖形 化,建立一個運(yùn)行穩(wěn)定, 易于操作的酒店客房管理系統(tǒng), 讓工作人員能夠方便快 捷地執(zhí)行各項工作。2.具體需求1)功能需求系統(tǒng)初始化 對系統(tǒng)的基本信息的名稱、編號的初始化,對系統(tǒng)管理員的密碼以及其 他系統(tǒng)使用人員的用戶名、權(quán)限、密碼等的設(shè)定??头啃畔⒐芾韺崿F(xiàn)房間基本信息的增、刪、改、查等的維護(hù)工作。支持根據(jù)房間狀態(tài)是預(yù)訂、入住、空閑等類
3、型進(jìn)行查詢物品信息管理實現(xiàn)客房日常消耗物品信息的增刪改查等維護(hù)工作。 支持物品存量查詢、 入庫登記、出庫登記。員工信息管理實現(xiàn)員工基本信息的增刪改查等維護(hù)工作。支持員工與入住、結(jié)賬、物 品出入庫等活動的登記,做到經(jīng)手人負(fù)責(zé)。賓館入住管理實現(xiàn)客房預(yù)訂登記,主要是登記客人身份證、手機(jī)號碼、預(yù)訂房間類型 和天數(shù)等基本信息,實現(xiàn)入住登記,即根據(jù)登記的客人身份證信息查詢到預(yù) 訂的房間,修改房間狀態(tài),收取押金,實現(xiàn)房間調(diào)整,退房結(jié)賬??腿讼M管理實現(xiàn)客房收費物品、洗衣費、餐飲等服務(wù)項目登記,如果超過押金要及 時給出預(yù)警。最后退房時結(jié)算。系統(tǒng)安全管理實現(xiàn)對系統(tǒng)數(shù)據(jù)庫進(jìn)行備份和恢復(fù)的功能,以增強(qiáng)系統(tǒng)可靠性,并
4、對系 統(tǒng)用戶進(jìn)行權(quán)限管理,以增加系統(tǒng)的安全性。2)性能需求數(shù)據(jù)精確度:查詢時應(yīng)保證查全率,所有相應(yīng)域包含查詢關(guān)鍵字的記錄都應(yīng)能查到;時間特性:一般操作的響應(yīng)時間應(yīng)在 12s 內(nèi); 適應(yīng)性: Windows2000 以上系統(tǒng)均可運(yùn)行3)系統(tǒng)安全性一個功能完善的酒店客房管理系統(tǒng),除了應(yīng)保證能正常執(zhí)行功能以外,還要 具備一定的數(shù)據(jù)保護(hù)能力, 以防止人為破壞或自然破壞。 為此,要做到以下內(nèi)容: 要有嚴(yán)格的登錄用戶身份檢查功能,防止非法用戶的登錄 對各用戶的操作權(quán)限要有嚴(yán)格分工,不能因為分工不清造成數(shù)據(jù)的不安 全或損壞。對用戶登錄信息進(jìn)行保護(hù),防止泄露 對用戶提交的數(shù)據(jù)進(jìn)行預(yù)先的完整性檢查,防止垃圾數(shù)據(jù)
5、進(jìn)入數(shù)據(jù)庫。 保證對數(shù)據(jù)庫增加、刪除、修改等操作的安全執(zhí)行,保持?jǐn)?shù)據(jù)庫中各基 本表之間的數(shù)據(jù)完整性。另外還要注意網(wǎng)絡(luò)安全和物理安全、數(shù)據(jù)備份等。二需求分析進(jìn)行系統(tǒng)功能分析及數(shù)據(jù)流圖分析 數(shù)據(jù)流程分析就是吧數(shù)據(jù)在組織內(nèi)部的流動情況抽象出來,舍去了具體組織 結(jié)構(gòu)、信息載體、 處理工作等, 單從數(shù)據(jù)流動過程來考察實際業(yè)務(wù)的數(shù)據(jù)處理模 式。數(shù)據(jù)流程分析主要包括對信息的流動、傳遞、處理、存儲等的分析。以上為數(shù)據(jù)流圖三數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果有很大的影響,一 個優(yōu)秀的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較 高,系統(tǒng)具有較快的響應(yīng)速度,簡化基于此數(shù)據(jù)
6、庫的應(yīng)用程序的實現(xiàn)等。由于數(shù)據(jù)庫設(shè)計的重要性,人們提出了許多數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的技術(shù)。但是這些設(shè)計方法和設(shè)計者的工作經(jīng)驗有很大的關(guān)系。因此要從根本上解決所有數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的問題,需要多實踐,在實踐中積累經(jīng)驗和教訓(xùn),最終成為數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的專家。1.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計這一設(shè)計階段是在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種 實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計單下基礎(chǔ)。這個階段不用考慮所采用的數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)類型和機(jī)器類型等問題。這階段可用的工具很多,用的最多的是 E-R圖,另外還有許多計算 機(jī)輔助工具,如CASE等可以幫助進(jìn)行設(shè)計。在本次設(shè)計中,根據(jù)需求分析的結(jié)果,對系統(tǒng)中
7、涉及到的數(shù)據(jù)進(jìn)行抽象,主要實體有預(yù)訂,入住,客房,服務(wù)項目,客房,庫房,員工,員工物品,權(quán)限等。據(jù)此,畫出酒店客房管理系統(tǒng)的實體-聯(lián)系圖,如圖所示。身份證手機(jī)房間類型2.數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 吒(概念結(jié)構(gòu)是獨立于實預(yù)訂計模型的信息結(jié)構(gòu),行數(shù)據(jù)庫應(yīng)用的設(shè)計。預(yù)訂天數(shù)必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為Mysql數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。房間號是 轉(zhuǎn)化原則:7%當(dāng)前天數(shù)身份證押金一個實體型- 二 -個關(guān)系模式。f1(1應(yīng)付總金額 實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。房間狀態(tài)天的價格客房/房間號實體間的聯(lián)系分房房間類型員工員工號員工房間號1:N ,轉(zhuǎn)換為一個獨立的
8、關(guān)系模式,或與 N 端關(guān)系模式合并。M : N ,轉(zhuǎn)換為一個獨立的關(guān)系模式。 具有相同碼的關(guān)系模式可合并?;谝陨显瓌t,轉(zhuǎn)換之后的關(guān)系模式集為:秘鑰信息(用戶名,秘鑰)注冊信息(用戶名,密碼,用戶類型) 客人信息:(姓名,身份證,手機(jī)) 客人預(yù)訂:(身份證,房間號,房間類型,入住天數(shù),違約金) 客人入?。海ㄉ矸葑C,房間號,押金,應(yīng)付總金額,目前入住天數(shù)) 客房信息:(房間號,房間類型,房間狀態(tài),房間價格) 員工信息:(姓名,員工號,員工房間號,月工資 ) 庫房存儲:(物品,物品單價,數(shù)量) 員工物品:(員工號,物品,數(shù)量) 服務(wù)項目:(服務(wù)物品,服務(wù)單價) 服務(wù)登記:(房間號,服務(wù)物品,服務(wù)數(shù)
9、量,服務(wù)總價)考慮因素: 每張表設(shè)置一到兩個主鍵。 以客人信息表中的身份證為參照目標(biāo),在客人入住表中設(shè)置外鍵。 以員工信息表中的員工號,庫房存儲表中的物品為參照目標(biāo),在員工物品表 中設(shè)置外鍵。設(shè)置 3 個觸發(fā)器,實現(xiàn)當(dāng)向客人預(yù)訂表中插入數(shù)據(jù)時,改客房信息中相應(yīng)客 房狀態(tài)為預(yù)訂,當(dāng)向客人入住表插入數(shù)據(jù)時,改客房信息中相應(yīng)客房狀態(tài)為 入住,當(dāng)向客人入住表刪除數(shù)據(jù)時,改客房信息中相應(yīng)客房狀態(tài)為空閑。 設(shè)置觸發(fā)器,實現(xiàn)當(dāng)向庫房存儲表中插入數(shù)據(jù)時,向服務(wù)物品表中插入相應(yīng) 數(shù)據(jù)。3.數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計根據(jù)邏輯模型,為關(guān)系模式選擇存取方法,并設(shè)計關(guān)系,索引等數(shù)據(jù)文 件的物理存儲結(jié)構(gòu),如下:/* 秘鑰信息 *
10、/create table秘鑰信息 (用戶名 char(10), 秘鑰 char(10),primarykey(秘鑰);/* 登錄信息 */create table 注冊信息 (用戶名 char(10), 密碼 char(10), 用戶類型 char(10),primary key( 用戶名 );/* 客人信息 */create table 客人信息 (姓名 char(20) not null, 身份證 char(20), 手機(jī) char(16) not null,primary key( 身份證 );/* 客人預(yù)訂 */create table 客人預(yù)訂 (身份證 char(20), 房間號
11、 char(4) not null, 房間 類型 char(6) not null, 入住天數(shù) int not null, 違約金 int not null,primary key( 身份證 );/* 客人入住 */ create table 客人入住 (身份證 char(20), 房間號 char(4) not null, 押金int not null, 應(yīng)付總金額 int not null, 目前入住天數(shù) int not null,primarykey(身份證),foreig n key (身份證 ) references 客人信息 (身份證),check(Pledge=100);/*客房
12、信息*/create table客房信息 (房間號 char(4), 房間類型 char(6) not null, 房房間號);間狀態(tài) char(4) not null, 房間價格 int not null,primary key(/*員工信息*/char(6), 員工房create table 員工信息 (姓名 char(20) not null, 員工號間號 char(4), 月工資 int not null,primary key( 員工號);/*庫房存儲*/create table 庫房存儲 (物品 char(30), 物品單價 int not null, 數(shù)量 intnot null
13、,primary key( 物品);/*員工物品*/create table 員工物品 (員工號 char(6), 物品 char(30), 數(shù)量 int notnull,primary key(員工號,ltem),foreign key ( 員工號)references 員工信息(員工號),foreign key (物品)references庫房存儲(物品),check(數(shù)量 =0);/*服務(wù)項目*/create table服務(wù)項目 (服務(wù)物品 char(30), 服務(wù)單價 int notnull,primary key(服務(wù)物品 );/*服務(wù)登記*/create table服務(wù)登記 (房間
14、號 char(4), 服務(wù)物品 char(30), 服務(wù)數(shù)量int not null, 服務(wù)總價 int not null,foreign key ( 房間號) references 客房信息(房間號),foreign key (服務(wù)物品)references 服務(wù)項目(服務(wù)物品),check(服務(wù)數(shù)量=0);/*插入倉庫觸發(fā)器*/create trigger 插入倉庫 after insert on 倉庫信息 for each rowinsert into服務(wù)項目 values(new.物品,new.單價);/*改變客房狀態(tài)觸發(fā)器 1*/create trigger 改變客房狀態(tài) 1 aft
15、er insert on預(yù)訂信息 for eachrow update 客房信息 set 房間狀態(tài)= 預(yù)訂 where客房信息 .房間號=new. 房間號;/*改變客房狀態(tài)觸發(fā)器 2*/create trigger 改變客房狀態(tài) 2 after insert on入住信息 for eachrow update 客房信息 set 房間狀態(tài)= 入住 where客房信息 .房間號=new. 房間號;/*改變客房狀態(tài)觸發(fā)器 3*/入住信息 for each客房信息.房間號=old.create trigger 改變客房狀態(tài) 3 after delete onrow update 客房信息 set 房間
16、狀態(tài)= 空閑 where房間號;四數(shù)據(jù)庫實施在 Mysql 命令行中輸入用戶名,密碼進(jìn)入 Mysql ,在記事本上寫一句操作,同時在命令行中運(yùn)行一句, 確保成功。 這樣也可以利用記事本里的語句段快速重建數(shù)據(jù)庫,以便測試使用。數(shù)據(jù)庫建好,所有表創(chuàng)建完畢后,添加初始化的數(shù)據(jù)Mysql中的數(shù)據(jù)庫創(chuàng)建語句與初始化語句見編碼部分。五.應(yīng)用程序設(shè)計1系統(tǒng)功能模塊設(shè)計在系統(tǒng)功能分析的基礎(chǔ)上,設(shè)計系統(tǒng)功能模塊劃分如下圖create table logi nin fo(Username char(10). Password char(10). Usertype char(10),primary key(User
17、name);create table guesti nfo(G name char(20) not n ull,ld char(20),Tel char(16) not nu ll,primary key(Id);create table preorder(Id char(20),R num char(4) not n ull,Rtype char(6) not nu ll,Pdays int not nu ll,Abse nt int not nu ll,primary key(Id);create table check in (Id char(20),R num char(4) not
18、n ull,Pledge int notnu ll,Gm oney int not nu ll,Ndays int not nu ll,primary key(Id),foreig n key (Id) refere nces guest in fo(Id),check(Pledge=100);create table roomi nfo(R num char(4),Rtype char(6) not n ull,Rstate char(4) not null,Rmoney int not null,primary key(Rnum);create table staffinfo(Sname
19、char(20) not null,SId char(6),SRnum char(4),Mwage int not null,primary key(SId);create table storage(Item char(30),Uprice int not null,Iamount int not null,primary key(Item);create table staffitem(SId char(6),Item char(30),Iamount int not null,primary key(SId,Item),foreign key (SId) references staff
20、info(SId),foreign key (Item) references storage(Item),check(Iamount=0);create table servitem(Servitem char(30),Uprice int not null,primary key(Servitem);create table service(Rnum char(4),Servitem char(30),Samount int not null,Servcost int not null,foreign key (Rnum) references roominfo(Rnum),foreign
21、 key (Servitem) references servitem(Servitem),check(Samount=0);create trigger insert_into_storage after insert on storage for each row insert into Servitem values(new.Item,new.Uprice);create trigger room_state_change1 after insert on preorder for each row update roominfo set Rstate=預(yù)訂 where roominfo
22、.Rnum=new.Rnum;create trigger room_state_change2 after insert on checkin for each row update roominfo set Rstate=入住 where roominfo.Rnum=new.Rnum;create trigger room_state_change3 after delete on checkin for each rowupdate roominfo set Rstate=空閑 where roominfo.Rnum=old.Rnum;insert into roominfo value
23、s(1840, insert into roominfo values(1841, insert into roominfo values(1842, insert into roominfo values(0001, insert into roominfo values(0002, insert into roominfo values(0003, insert into roominfo values(0301, insert into roominfo values(0302, insert into roominfo values(0303, insert into roominfo
24、 values(1001, insert into roominfo values(1002, insert into roominfo values(1003, insert into roominfo values(1501,insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( inser
25、t into guestinfo values( insert into guestinfo values( 張三,3,333);李四,4,444);王五,5,555);趙六,6,666);魏七,7,777);朱八,8,888);張三一 ,31,999);張三二 ,32,000);套房,空閑,500);套房,空閑,500);套房,空閑,500);標(biāo)準(zhǔn)間 ,空閑,200)標(biāo)準(zhǔn)間 ,空閑,200)標(biāo)準(zhǔn)間 ,空閑,200)單人間 ,空閑,100)單人間 ,空閑,100)單人間 ,空閑,100)三人間 ,空閑,300)三人間 ,空閑,300)三人間 ,空閑,300)大床間 ,空閑,250)insert
26、 into roominfo values(1503,大床間 ,空閑,250);insert into preorder values(3,1840,套房,3,20);insert into preorder values(4,0001,標(biāo)準(zhǔn)間 ,1,20);insert into preorder values(5,0002,標(biāo)準(zhǔn)間 ,1,20);insert into preorder values(6,1002,三人間 ,7,20);insert into roominfo values(1502,大床間 ,空閑,250);insert into checkin values(3,184
27、0,100,1500,0);insert into checkin values(4,0001,100,200,0);insert into checkin values(5,0002,100,200,0);insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into storage values( insert into storag
28、e values( insert into storage values( insert into storage values( insert into storage values( 小明,000001,1908,50000);小剛,000002,1908,50000);小紅,000003,1908,50000);小胖,000004,1908,50000);小瘦,000005,1908,50000);自行車 ,10,10);梯子,10,15);五金工具箱 ,10,23);打印機(jī) ,10,15);訂書機(jī) ,10,45);insert into staffitem values(000001,
29、 自行車 ,2);insert into staffitem values(000003, 梯子 ,1);insert into staffitem values(000004, 訂書機(jī) ,2);insert into servitem values(足療,80);insert into servitem values(理發(fā),30);insert into servitem values(按摩,233);insert into servitem values(洗衣,80);insert into servitem values(餐飲,30);insert into servitem value
30、s(睡衣,100);insert into servitem values(香煙,50);insert into service values(1840,足療,2,160);insert into service values(0001,香煙,1,50);insert into logininfo values(1,1,前廳部 );insert into logininfo values(2,2,客房部 );insert into logininfo values(3,3,人力資源部 );insert into logininfo values(4,4,采購部 );insert into lo
31、gininfo values(5,5,管理員 );insert into code values( 前廳部 ,111);insert into code values( 客房部 ,222);insert into code values( 人力資源部 ,333); insert into code values( 采購部 ,444);insert into code values( 管理員 ,555); 2)應(yīng)用程序部分主要代碼連接數(shù)據(jù)庫 LoadDriver.javapackage db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.PreparedStatement;import java.sql.*;/ Notice, do not import com.mysql.jdbc.*,否則/ or you will have problems! (注意,不要導(dǎo)入 com.mysql.jdbc.*/ 將出現(xiàn)問題!)public class LoadDriver private Connection conn;private PreparedStatement pstat;private St
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽理工大學(xué)《管理統(tǒng)計學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《單片機(jī)原理與接口技術(shù)》2022-2023學(xué)年期末試卷
- 廣東外語外貿(mào)大學(xué) 研究生 定向 合同
- 合同標(biāo)簽替換規(guī)范
- 共享單車管理
- 2024貨船租賃合同
- 綠化養(yǎng)護(hù)工程XX管養(yǎng)項目投標(biāo)文件
- 2024物流運(yùn)輸合同格式
- 2024廣西無公害稻米種植收購合同范本
- 2024打印機(jī)復(fù)印機(jī)銷售合同
- 消防部隊水源手冊范本
- 政策工具視角下的中國教育扶貧政策文本研究
- 教育部新版本科專業(yè)目錄(2012年)
- 七年級英語上培優(yōu)扶差記錄表
- 全國防返貧監(jiān)測信息系統(tǒng)業(yè)務(wù)管理子系統(tǒng)操作手冊
- 2022年數(shù)學(xué)廣角內(nèi)容解讀及教學(xué)思考
- 二級減速器箱體蓋工藝卡片
- 互聯(lián)網(wǎng)高速專線電路開通測試報告[寶典]
- 虎牌電飯煲中文使用說明書
- 餐飲合同范本
- 人教版初中地理七年級上冊《地球自轉(zhuǎn)》說課稿
評論
0/150
提交評論