SQL數據庫作業(yè)酒店管理_第1頁
SQL數據庫作業(yè)酒店管理_第2頁
SQL數據庫作業(yè)酒店管理_第3頁
SQL數據庫作業(yè)酒店管理_第4頁
SQL數據庫作業(yè)酒店管理_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題 目 酒店管理系統(tǒng)的數據庫設計 班 級 09機械(3班) 姓 名 學 號 教 師 19酒店管理系統(tǒng)的數據庫設計酒店業(yè)是一個前景廣闊而又競爭激烈的行業(yè)。改革開放以來,我國的酒店業(yè)迅速發(fā)展,已經成為一個具有相當規(guī)模的產業(yè)。由于我國的旅游業(yè)迅速發(fā)展,通過調查,我國在2020年將成為世界上第四大旅游國家;同時我國加入世界貿易組織,酒店業(yè)將完全開放,這個時候,我國的酒店業(yè)將面臨著前所未有的機遇和挑戰(zhàn)。酒店行業(yè)的激烈競爭使得爭取客源、提高酒店滿員率、指定正確的銷售策略已經成為一項重要的任務,而借助于當前蓬勃發(fā)展的IT工具來拓展銷售能力,創(chuàng)造客觀的經濟效益已經成為許多酒店的首選。因為酒店業(yè)務涉及的各個工作

2、環(huán)節(jié)已經不再僅僅是傳統(tǒng)的住宿、結算業(yè)務,而是更廣更全面的服務性行業(yè)代表。酒店作為一個服務性行業(yè),從客房的營銷即客人的預計開始,從入住登記直到最后退房結賬,整個過程應該能夠以賓客為中心,提供快捷方便的服務,給賓客一種顧客至上的享受,只有提高酒店的管理水平,簡單化各種復雜的操作,在最合理的最短的時間內完成酒店業(yè)務的規(guī)范操作,這樣才能令旅客舒適難忘,面對酒店業(yè)內激烈的競爭形勢,各酒店均在努力拓展服務領域的廣度和深度。雖然信息化并不是酒店走向成功的關鍵元素,但它可以幫助那些真正影響成敗的要素發(fā)揮更大的效用。因此采用全新的計算機網絡和管理系統(tǒng),將成為提高酒店的管理效率,改善服務水準的重要手段之一。所以作

3、為一有效的統(tǒng)計分析手段,計算機管理系統(tǒng)具有明顯的優(yōu)勢,它在數據保存、數據交換等方面均能做到快速可靠,是手工操作所不能完成的?,F(xiàn)利用SQL Server2008 設計一個簡單的酒店管理系統(tǒng)的數據庫。1、對酒店系統(tǒng)進行系統(tǒng)功能需求分析 系統(tǒng)流程圖2、數據庫設計根據系統(tǒng)的功能要求,主要構造以下幾個表: (1)“樓層信息”表:樓層編號、樓層名稱。用途是保存樓層編號及名稱,如表1所示表1 .“樓層信息”表CREATE TABLE dbo.樓層信息(樓層編號 int NOT NULL,樓層名稱 varchar(50) NULL) ON PRIMARYGO (2)“客房類型”表:類型編號、類型名稱、價格、拼

4、房價格、可超預訂數、是否可以拼房。用途是保存客房類型信息,如表2所示表2.“客房類型”表CREATE TABLE dbo.客房類型(類型編號 varchar(5) NOT NULL,類型名稱 varchar(50) NULL,價格 money NULL,拼房價格 money NULL,可超預定數 decimal(5, 0) NULL,是否可拼房 bit NULL, CONSTRAINT PK_客房類型 PRIMARY KEY CLUSTERED (類型編號 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_K

5、EY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGO(3)“客房信息”表:客房編號、類型編號、樓層編號、額度人數、床數、客房描述、備注、狀態(tài)、是否可以拼房。用途是保存酒店所有客房信息,如表3所示表3.“客房信息”表CREATE TABLE dbo.客房信息(客房編號 varchar(50) NOT NULL,類型編號 varchar(5) NOT NULL,樓層編號 int NOT NULL,額定人數 int NULL,床數 int NULL,客房描述 varchar(50) NULL,狀

6、態(tài) varchar(5) NULL,是否可拼房 bit NULL) ON PRIMARYGO(4)“預訂單”表:預訂單號、會員編號、客房類型、抵店時間等。用途是散客訂房間時使用,如表4所示表4.“預訂單”表CREATE TABLE dbo.預訂單(預定單號 varchar(50) NOT NULL,會員編號 int NULL,客房類型 varchar(4) NOT NULL,抵店時間 smalldatetime NOT NULL,離店時間 smalldatetime NULL,單據狀態(tài) varchar(20) NULL,入住人數 int NULL,客房編號 varchar(10) NULL,客

7、房價格 money NULL,入住價格 money NULL,折扣 decimal(4, 2) NULL,是否加床 bit NULL,加床價格 money NULL,預收款 money NULL,預訂人 varchar(20) NULL,聯(lián)系電話 varchar(50) NULL,操作員 varchar(10) NULL,業(yè)務員 varchar(50) NULL) ON PRIMARYGO(5)“ 預訂單歷史”表:預訂單號、會員編號、客房類型、抵店時間、離店時間、單據狀態(tài)。用途是將預訂單轉入到入住單后,將預訂單清除并導入到預訂單歷史。(6)“入住單”表:入住單號、訂單編號、會員編號、客房類型、

8、抵店時間等。用途是散客入住酒店時,信息可由預訂單轉入,如表6所示表6.“入住單”表CREATE TABLE dbo.入住單(入住單號 varchar(36) NOT NULL,預定單號 varchar(50) NULL,會員編號 int NOT NULL,客房類型 varchar(5) NULL,抵店時間 smalldatetime NULL,離店時間 smalldatetime NULL,單據狀態(tài) varchar(50) NULL,入住人數 int NULL,客房編號 varchar(20) NULL,客房價格 money NULL,折扣 decimal(4, 2) NULL,是否加床 bi

9、t NULL,預收款 money NULL,預訂人 varchar(50) NULL,聯(lián)系電話 varchar(50) NULL,操作員 varchar(50) NULL,業(yè)務員 varchar(50) NULL,早餐 bit NULL,叫醒 bit NULL,保密 bit NULL) ON PRIMARYGO(7)“入住單歷史”表:入住單號、訂單編號、會員編號、客房類型、抵店時間等。用途是入住單在收銀結賬后清除,并導入到入住單歷史,如表7所示表7.“入住單歷史”表CREATE TABLE dbo.入住單歷史(入住單號 varchar(30) NULL,預定單號 varchar(30) NUL

10、L,會員編號 int NULL,客房類型 varchar(5) NULL,抵店時間 smalldatetime NULL,離店時間 smalldatetime NULL,單據狀態(tài) varchar(50) NULL,入住人數 int NULL,客房編號 varchar(20) NULL,客房價格 money NULL) ON PRIMARYGO(8)“ 賬單明細”表:賬單編號、入住單號、消費內容、消費金額、消費時間、備注。用途是查詢客戶消費的明細單,如表8所示表8.“ 賬單明細”表CREATE TABLE dbo.賬單明細(賬單編號 int NOT NULL,入住單號 varchar(50) N

11、ULL,消費內容 varchar(50) NULL,消費金額 money NULL,消費時間 smalldatetime NULL,備注 varchar(100) NULL) ON PRIMARYGO(9)“賬單明細歷史”表:賬單編號、入住單號、消費內容、消費金額、消費時間、備注。用途是收銀結賬后,賬單明細導入到賬單明細歷史,如表9所示表9.“賬單明細歷史”表CREATE TABLE dbo.賬單明細歷史(賬單編號 int NOT NULL,入住單號 varchar(50) NULL,消費內容 varchar(50) NULL,消費金額 money NULL,消費時間 smalldatetim

12、e NULL) ON PRIMARYGO以上8個表可以簡略地描述出酒店管理信息系統(tǒng)數據庫的設計。表中出現(xiàn)的數據類型含義如下:int 是一種存儲整型數據的數值型數據類型,存儲范圍在-263至263之間,占用4個字節(jié)的儲存空間。 bit 是用于存儲0和1值的數據類型,該類型的數據列只能存儲0或1中的一個,適合用于存儲需要標識“是”或“否”兩種狀態(tài)的數據。 money 是用于儲存范圍在(-922337203685477.5808)(922337203685477.5808)之間的幣值數據,精度為幣值單位的萬分之一,占用8個字節(jié)的存儲空間。但是該數據類型中存儲的數據并不包括貨幣符號。 smalldat

13、atime 與datatime類似,但數值范圍小,其范圍為1900年1月1日至2079年6月6日,占用的存儲空間為4字節(jié)。varchar(n)是一種比char更加靈活的數據類型,同樣用于表示字符數據,但是varchar可以保存可變長度的字符串。其中n代表該數據類型所允許保存的字符串的最大長度,只要長度小于該最大值的字符串都可以被保存在該數據類型中。因此,對于那些難以估計確切長度的數據對象來說,使用varchar數據類型更加明智。3、分析數據完整性 在SQL中,數據完整性有以下幾種1)域完整性:又稱列完整性,指定列的數據輸入是否具有正確的數據類型、格式以及有效的數據范圍2)實體完整性:又稱行完整

14、性。這里的實體是指表中的記錄,一個實體就是表的一條記錄。實體完整性要求在表中不能存在完全相同的記錄,而且每條記錄都要有一個非空且不重復的主鍵。實體的完整性可通過建立主鍵約束、唯一約束、標識列、唯一索引等措施來實現(xiàn)。3)參照完整性:又稱為引用完整性(關系完整性),以保證主表中的數據與從表中的數據的一致性, 關系完整性是通過定義外鍵與主鍵之間或外鍵與唯一鍵之間的對應關系實現(xiàn)的。約束包括以下幾種類型:PROMARY KEY約束FOREIGN KEY約束NOT NULL約束UNIQUE約束DEFAULT 約束CHECK約束 主鍵約束表中常有一列或列的組合,其值能唯一標識表中的每一行,這樣的一列或列的組

15、合稱為表的主鍵。通過主鍵可以強制表的實體完整性。定義了主鍵約束的列具有以下特點:每一個表只能定義一個主鍵主鍵值不可空(NULL)主鍵值不可重復,若主鍵是由多列組成,某列上的值可以重復,但多列的組合值必須是唯一的。定義和刪除主鍵的方法:1、使用表設計器操作 例如:對入住單號進行主鍵設置2、使用T-SQL語句定義主鍵約束CONSTRAINT PK_入住單 PRIMARY KEY CLUSTERED (入住單號 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS

16、= ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY默認值約束若表中某列定義了默認(DEFAULT)約束,如果用戶在輸入數據時,沒有為該列指定數據,那么系統(tǒng)將默認值賦給該列,默認值約束保證了域完整性。唯一約束如果要確保一個表中的非主鍵列不輸入重復值,應在該列上定義唯一約束(UNIQUE約束)。使用唯一約束和主鍵約束均不允許表中對應字段存在重復值,二者可以實現(xiàn)實體完整性,但它們之間以下區(qū)別:一個表只能定義一個主鍵約束,但可根據需要對不同的列定義若干個唯一約束主鍵約束字段的值不允許為NULL,而唯一約束字段的值可為NULL一般定義主鍵約束時,系統(tǒng)會

17、自動建立索引,索引的默認類型為聚族索引;定義唯一約束時,系統(tǒng)會自動建立一個非聚族索引。例如:對“預訂單”創(chuàng)建一個名稱為“預定單1”的唯一約束CONSTRAINT 預訂單1 UNIQUE NONCLUSTERED (預定單號 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY檢查約束檢查(CHECK)約束用于限制輸入到一列或多列的值的范圍,從邏輯表達式判斷數據的有效性,也就是說一個

18、字段的輸入內容必須滿足CHECK約束約束的條件,否則,數據無法正常輸入,從而保證數據的域的完整性例如:對“入住單”創(chuàng)建檢查約束外鍵約束一個數據庫中可能包含多個表,可以通過外鍵(FOREIGN KEY)使這些表關聯(lián)起來,外鍵是由表中一列或多列組成的。例如在A表中有一個字段的取值只能是B表中某字段的取值之一,則在A表該字段上創(chuàng)建外鍵約束,A表稱為從表,B表稱為主表。定義外鍵約束的列有以下特點:外鍵的取值可以為空(NULL)外鍵的取值可以重復,但必須是它所引用列(主表中)的取值之一。引用列必須是定義了主鍵約束或唯一約束的列。4、數據表圖形輸入相應的數據后的入住單:5、數據庫安全管理由于軟件和網絡存在

19、漏洞,對于酒店管理信息系統(tǒng)我們必須采取有效的安全管理措施。數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄漏、更改或破壞。系統(tǒng)安全保護措施是否有效是數據庫系統(tǒng)的主要指標之一。數據庫的安全性和計算機系統(tǒng)的安全性(包括操作系統(tǒng)、網絡系統(tǒng)的安全性)是緊密聯(lián)系、相互支持的。隨著越來越多的網絡相互連接,安全性也變得日益重要。公司的資產必須受到保護,尤其是數據庫,它們存儲著公司的寶貴信息。安全是數據引擎的關鍵特性之一,保護企業(yè)免受各種威脅。SQLServer 2008安全特性的宗旨是使其更加安全,且使數據保護人員能夠更方便地使用和理解安全。在SQL Server 2008中,為了保證數據的安全

20、性,需要做到以下幾方面工作:1、選擇合理的數據庫架構;2、對數據庫系統(tǒng)進行合理的配置和權限設置;3、經常對數據庫中的數據進行及時備份與恢復;對于數據庫管理來說,保護數據不受內部和外部侵害是一項重要的工作。SQL Server 2008的身份驗證、授權和驗證機制可以保護數據免受未經授權的泄漏和篡改。SQL Server的安全機制一般主要包括三個等級:1服務器級別的安全機制這個級別的安全性主要通過登錄帳戶進行控制,要想訪問一個數據庫服務器 ,必須擁有一個登錄帳戶。登錄帳戶可以是Windows賬戶或組,也可以是SQL Server的登錄賬戶。登錄賬戶可以屬于相應的服務器角色。至于角色,可以理解為權限

21、的組合。2數據庫級別的安全機制這個級別的安全性主要通過用戶帳戶進行控制,要想訪問一個數據庫,必須擁有該數據庫的一個用戶賬戶身份。用戶賬戶是通過登錄賬戶進行映射的,可以屬于固定的數據庫角色或自定義數據庫角色。3 數據對象級別的安全機制這個級別的安全性通過設置數據對象的訪問權限進行控制。如果是使用圖形界面管理工具,可以在表上右擊,選擇【屬性】|【權限】選項,然后啟用相應的權限復選框即可。以上的每個等級就好像一道門,如果門沒有上鎖,或者用戶擁有開門的鑰匙,則用戶可以通過這道門達到下一個安全等級。如果通過了所有的門,則用戶就可以實現(xiàn)對數據的訪問。這種關系可以用圖1來表示。圖1 SQL Server 2

22、008的安全性等級SQL Server 2008提供了Windows身份和混合身份兩種驗證模式,每一種身份驗證都有一個不同類型的登錄賬戶。無論哪種模式,SQL Server 2008都需要對用戶的訪問進行兩個階段的檢驗:驗證階段和許可確認階段。1驗證階段 用戶在SQL Server 2008獲得對任何數據庫的訪問權限之前,必須登錄到SQL Server上,并且被認為是合法的。SQL Server或者Windows要求對用戶進行驗證。如果驗證通過,用戶就可以連接到SQL Server 2008上;否則,服務器將拒絕用戶登錄2許可確認階段 用戶驗證通過后會登錄到SQL Server 2008上,此

23、時系統(tǒng)將檢查用戶是否有訪問服務器上數據的權限。1Windows身份驗證使用Windows身份驗證模式是默認的身份驗證模式,它比混合模式要安全得多。當數據庫僅在內部訪問時使用Windows身份驗證模式可以獲得最佳工作效率。在使用Windows身份驗證模式時,可以使用Windows域中有效的用戶和組賬戶來進行身份驗證。這種模式下,域用戶不需要獨立的SQL Server用戶賬戶和密碼就可以訪問數據庫。這對于普通用戶來說是非常有益的,因為這意味著域用戶不需記住多個密碼。如果用戶更新了自己的域密碼,也不必更改SQL Server 2008的密碼。但是,在該模式下用戶仍然要遵從Windows安全模式的所有

24、規(guī)則,并可以用這種模式去鎖定賬戶、審核登錄和迫使用戶周期性地更改登錄密碼。當用戶通過Windows用戶帳戶連接時,SQL Server使用操作系統(tǒng)中的Windows 主體標記驗證帳戶名和密碼。也就是說,用戶身份由Windows進行確認。SQL Server 不要求提供密碼,也不執(zhí)行身份驗證。圖2所示,就是本地賬戶啟用SQL Server Manage-ment Studio窗口是,使用操作系統(tǒng)中的Windows 主體標記進行的連接。圖2 Windows身份驗證模式其中,服務器名稱中MR代表當前計算機名稱,Administrator是指登錄該計算機時使用的Windows賬戶名稱。這也是SQL S

25、erver默認的身份驗證模式,并且比SQL Server身份驗證更為安全。Windows身份驗證使用Kerberos安全協(xié)議,提供有關強密碼復雜性驗證的密碼策略強制,還提供帳戶鎖定支持,并且支持密碼過期。通過Windows身份驗證完成的連接有時也稱為可信連接,這是因為 SQL Server 信任由 Windows 提供的憑據。Windows省份驗證模式有以下主要優(yōu)點:1) 數據庫管理員的工作可以集中在管理數據庫上面,而不是管理用戶賬戶。對用戶賬戶的管理可以交給Windows去完成。2) Windows有更強的用戶賬戶管理工具。可以設置賬戶鎖定、密碼期限等。如果不通過定制來擴展SQL Serve

26、r,SQL Server則不具備這些功能。3) Windows的組策略支持多個用戶同時被授權訪問SQL Server。2混合模式使用混合安全的身份驗證模式,可以同時使用Windows身份驗證和SQL Server登錄。SQL Server登錄主要用于外部的用戶,例如那些可能從Internet訪問數據庫的用戶??梢耘渲脧腎nternet訪問SQL Server 2008的應用程序以自動地使用指定的賬戶或提示用戶輸入有效的SQL Server用戶賬戶和密碼。使用混合安全模式,SQL Server 2008首先確定用戶的連接是否使用有效的SQL Server用戶賬戶登錄。如果用戶有有效的登錄和使用正確的密碼,則接受用戶的連接;如果用戶有有效的登錄,但是使用不正確的密碼,則用戶的連接被拒絕。僅當用戶沒有有效的登錄時,SQL Server 2008才檢查Windows賬戶的信息。在這種情況下,S

溫馨提示

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

評論

0/150

提交評論