2012數(shù)據(jù)庫(kù)實(shí)務(wù)實(shí)驗(yàn)報(bào)告_酒店前臺(tái)管理系統(tǒng) (2)_第1頁(yè)
2012數(shù)據(jù)庫(kù)實(shí)務(wù)實(shí)驗(yàn)報(bào)告_酒店前臺(tái)管理系統(tǒng) (2)_第2頁(yè)
2012數(shù)據(jù)庫(kù)實(shí)務(wù)實(shí)驗(yàn)報(bào)告_酒店前臺(tái)管理系統(tǒng) (2)_第3頁(yè)
2012數(shù)據(jù)庫(kù)實(shí)務(wù)實(shí)驗(yàn)報(bào)告_酒店前臺(tái)管理系統(tǒng) (2)_第4頁(yè)
2012數(shù)據(jù)庫(kù)實(shí)務(wù)實(shí)驗(yàn)報(bào)告_酒店前臺(tái)管理系統(tǒng) (2)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)管理實(shí)務(wù)實(shí)驗(yàn)報(bào)告課程號(hào):B0900980實(shí)驗(yàn)項(xiàng)目:數(shù)據(jù)庫(kù)設(shè)計(jì)、創(chuàng)建、管理,數(shù)據(jù)庫(kù)操作學(xué)號(hào)姓名馬冰潔同組人學(xué)號(hào)姓名實(shí)驗(yàn)地點(diǎn)工程學(xué)院機(jī)房(文波)指導(dǎo)教師肖慎勇時(shí)間2012年6月評(píng)語(yǔ)(要求): 按時(shí)完成實(shí)驗(yàn);實(shí)驗(yàn)內(nèi)容和過(guò)程記錄完整;回答問(wèn)題完整、正確;實(shí)驗(yàn)報(bào)告的撰寫認(rèn)真、格式符合要求。成績(jī)教師簽字肖慎勇一、實(shí)驗(yàn)?zāi)康?理解并掌握數(shù)據(jù)庫(kù)設(shè)計(jì)的概念、方法和步驟。2初步應(yīng)用數(shù)據(jù)庫(kù)設(shè)計(jì)方法。了解需求分析的內(nèi)容。3重點(diǎn)運(yùn)用ER模型進(jìn)行概念設(shè)計(jì),然后將ER模型轉(zhuǎn)換為關(guān)系模型。4深入理解SQL Server 2005數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)。5深入理解SQL Server 2005的數(shù)據(jù)類型、表對(duì)象設(shè)計(jì)與定義。6掌握

2、SQL Server 2005Management studio的應(yīng)用。運(yùn)用交互方式和命令方式建立數(shù)據(jù)庫(kù)和表。7認(rèn)識(shí)和掌握Transact-SQL 的數(shù)據(jù)庫(kù)操作。8深入理解視圖意義。掌握SQL Server 中創(chuàng)建、管理與應(yīng)用視圖的方法。9深入理解數(shù)據(jù)庫(kù)安全的概念。10深入理解SQL Server 2005的安全體系框架。11掌握登錄與服務(wù)器角色的概念、操作與應(yīng)用。掌握數(shù)據(jù)庫(kù)用戶、固定角色、自定義角色、架構(gòu)的概念、操作與應(yīng)用。掌握數(shù)據(jù)庫(kù)權(quán)限的概念、操作與應(yīng)用。12理解事務(wù)的概念。13深入理解并掌握服務(wù)器編程的意義及方法。14能夠編寫各種自定義函數(shù)和存儲(chǔ)過(guò)程。15理解觸發(fā)器,并能夠編寫、應(yīng)用觸發(fā)

3、器。二、實(shí)驗(yàn)設(shè)備(環(huán)境)及要求PC、 Windows XP、SQL SERVER 2005三、實(shí)驗(yàn)內(nèi)容及要求 實(shí)驗(yàn)項(xiàng)目:各小組自選的項(xiàng)目。通過(guò)調(diào)查、收集信息、分析,寫出分析與設(shè)計(jì)報(bào)告。1. 簡(jiǎn)要的系統(tǒng)需求分析包括業(yè)務(wù)分析、功能需求分析、信息需求分析。試分析該系統(tǒng)的基本業(yè)務(wù),計(jì)算機(jī)信息系統(tǒng)需要完成的基本功能、信息系統(tǒng)需要處理的信息。2. 概念設(shè)計(jì)設(shè)計(jì)系統(tǒng)的概念模型,采用ER模型。3. 邏輯設(shè)計(jì)將ER模型為關(guān)系模型,指出每個(gè)關(guān)系的主鍵、外鍵和必要的約束。4. 寫出數(shù)據(jù)庫(kù)的物理設(shè)計(jì)包括存儲(chǔ)組織結(jié)構(gòu)、表的結(jié)構(gòu)設(shè)計(jì)等。5. T-SQL命令方式創(chuàng)建數(shù)據(jù)庫(kù)的操作利用SQL命令創(chuàng)建數(shù)據(jù)庫(kù)文件、表、索引、聯(lián)系和

4、主鍵、外鍵等約束。(實(shí)驗(yàn)報(bào)告應(yīng)寫出實(shí)驗(yàn)的過(guò)程,包括必要的截圖。)6. 利用T-SQL命令增加、刪除、修改數(shù)據(jù)。7. 利用T-SQL命令進(jìn)行數(shù)據(jù)的檢索和統(tǒng)計(jì)根據(jù)自己設(shè)計(jì)的數(shù)據(jù)庫(kù)和輸入的數(shù)據(jù),寫出至少10個(gè)查詢要求及對(duì)應(yīng)的SQL查詢命令,應(yīng)該包含如下功能:投影和選擇;多表連接;分組統(tǒng)計(jì)與HAVING;子查詢;查詢結(jié)果保存。8. 利用SQL命令創(chuàng)建視圖對(duì)象根據(jù)開(kāi)發(fā)的系統(tǒng)的需要,至少設(shè)計(jì)三個(gè)視圖:基于單表的、包含多表連接的、包含統(tǒng)計(jì)運(yùn)算的。利用SQL對(duì)視圖進(jìn)行查詢。9. 對(duì)視圖進(jìn)行插入、刪除、修改數(shù)據(jù)操作。體會(huì)視圖與表的異同。10. 編寫自定義函數(shù)。(1)編寫一個(gè)自定義函數(shù),將一個(gè)字符串作為自變量,返

5、回顛倒順序的字符串。寫出源代碼。(2) 編寫一個(gè)自定義函數(shù),能夠?qū)崿F(xiàn)參數(shù)化查詢的功能。自己設(shè)定函數(shù)的具體要求,然后編寫出來(lái)。11. 編寫利用游標(biāo)進(jìn)行數(shù)據(jù)處理的存儲(chǔ)過(guò)程。并在存儲(chǔ)過(guò)程中應(yīng)用事務(wù)的概念。自己確定過(guò)程的具體要求,然后編寫出來(lái)。12. 編寫一個(gè)實(shí)現(xiàn)修改表的觸發(fā)器,實(shí)現(xiàn)完整性控制。13. 設(shè)置服務(wù)器身份驗(yàn)證模式。用命令創(chuàng)建若干不同驗(yàn)證模式的登錄賬戶。14. 將部分登錄賦予服務(wù)器角色。然后撤消。15. 將部分登錄映射到你的數(shù)據(jù)庫(kù)中成為用戶。16. 創(chuàng)建自定義角色、架構(gòu)。17. 通過(guò)角色給用戶授權(quán)。18. 直接給用戶授權(quán),驗(yàn)證其獲得權(quán)限前后的操作差別。19. 刪除用戶和自定義的角色。四、回答

6、問(wèn)題1你如何認(rèn)識(shí)需求分析在系統(tǒng)開(kāi)發(fā)中的地位和重要性?需求分析就是根據(jù)用戶或者客戶的需要來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。只有根據(jù)需求設(shè)計(jì)出的數(shù)據(jù)庫(kù)才是有用的,否則整個(gè)設(shè)計(jì)過(guò)程都是在做無(wú)用功。并且在需求設(shè)計(jì)這個(gè)過(guò)程中根據(jù)具體需要設(shè)計(jì)出模型,后面的具體實(shí)現(xiàn)過(guò)程遵照前面設(shè)計(jì)的模型來(lái)完成,使得后面的工作能夠更加具有效率。在需求分析中要嚴(yán)格遵守客戶的需求,并且要根據(jù)需求找出最合適的方案,為后面的具體實(shí)現(xiàn)打下基礎(chǔ)。需求分析是整個(gè)開(kāi)發(fā)過(guò)程的第一個(gè)階段,也是最重要的一步。2設(shè)計(jì)ER圖、關(guān)系模型分別屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的哪一階段?設(shè)計(jì)ER圖屬于概念設(shè)計(jì)階段,關(guān)系模型屬于邏輯設(shè)計(jì)階段。3主鍵、外鍵對(duì)于關(guān)系數(shù)據(jù)庫(kù)的意義何在?主鍵是關(guān)系中能唯

7、一區(qū)分、確定不同元組的單個(gè)屬性或者屬性組合。外鍵能夠保證數(shù)據(jù)庫(kù)的數(shù)據(jù)的完整性和一致性,通過(guò)外鍵,能夠?qū)⑾嗷リP(guān)聯(lián)的表聯(lián)系起來(lái)。4在數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)時(shí)要考慮哪些因素?需要綜合考慮存取時(shí)間、存儲(chǔ)空間利用率和維護(hù)代價(jià)三方面的因素。5在表設(shè)計(jì)時(shí)對(duì)于數(shù)據(jù)類型的選擇和使用如何考慮?數(shù)據(jù)類型的選擇首先要根據(jù)該屬性的性質(zhì)進(jìn)行選擇,如數(shù)值型,日期型等等。在確定基本類型之后,要考慮數(shù)據(jù)存取時(shí)間、取值范圍、處理效率多方面的因素,選取合適的數(shù)據(jù)類型,這主要是在數(shù)值類型上的選擇。6. 交互式如何實(shí)現(xiàn)表之間的聯(lián)系?SQL命令如何實(shí)現(xiàn)表之間的聯(lián)系?交互式:?jiǎn)螕艄ぞ邫谏系摹瓣P(guān)系”按鈕,打開(kāi)“外鍵關(guān)系”對(duì)話框,在其中設(shè)置各表間

8、關(guān)系。SQL命令:利用FOREIGN KEY REFERENCES referenced_table_name(referenced_column) ON DELETE NO ACTION|CASCADE|SET NULL|SET DEFAULT ON UPDATE NO ACTION|CASCADE|SET NULL|SET DEFAULT7如果在定義表時(shí)進(jìn)行了主鍵、外鍵以及約束等完整性設(shè)置,對(duì)于數(shù)據(jù)的輸入有何影響?試舉例說(shuō)明。 主鍵和外鍵一般不允許為空,如果沒(méi)有輸入值的話會(huì)報(bào)錯(cuò)。再比如“性別”這一字段如果開(kāi)發(fā)人員已經(jīng)約束了其值只能為“男”或者“女”,當(dāng)使用者輸入除以上兩個(gè)值之外的任何值都會(huì)

9、報(bào)錯(cuò)。8用INSERT INTO 命令輸入,如果數(shù)據(jù)與字段數(shù)量和要求不一致有什么問(wèn)題?當(dāng)表定義中有默認(rèn)值的時(shí)候,插入記錄是否可以省略該字段的數(shù)據(jù)?如果數(shù)據(jù)與字段數(shù)量和要求不一致,只有在少于并且沒(méi)有寫出的那個(gè)已定義了默認(rèn)值或者可為空的情況下才為正確,其他情況均是錯(cuò)誤的。當(dāng)表定義中有默認(rèn)值的時(shí)候,插入記錄可以省略該字段的數(shù)據(jù)。9HAVING子句有什么作用?HAVING子句和WHERE語(yǔ)句一樣都是實(shí)現(xiàn)查詢功能中條件的控制和數(shù)據(jù)的選擇,WHERE 子句不能包含聚集函數(shù),而HAVING 子句一般包含聚集函數(shù)。HAVING 子句還可以用來(lái)對(duì)分組結(jié)果進(jìn)行篩選。10當(dāng)通配字符作為普通字符參與匹配查詢時(shí),如何解

10、決這樣的問(wèn)題? 通過(guò)在ESCAPE子句中指定轉(zhuǎn)義符、在查詢條件下使用轉(zhuǎn)義符指定某個(gè)通配字符是正常字符;將通配符用方括號(hào)括起來(lái),指定一個(gè)字符、字符串或范圍,要求所匹配對(duì)象為它們中任意一個(gè)。11可否利用視圖進(jìn)行數(shù)據(jù)的插入、刪除、修改? 對(duì)由多表連接成的視圖修改數(shù)據(jù)時(shí),不能同時(shí)影響一個(gè)以上的基表,也不能刪除視圖中的數(shù)據(jù)對(duì)視圖上的某些列不能修改,這些列是:計(jì)算列,內(nèi)置函數(shù)列和行集合函數(shù)列對(duì)具有NOT NULL 的列進(jìn)行修改時(shí)可能會(huì)出錯(cuò)。通過(guò)視圖修改或者插入數(shù)據(jù)時(shí),必須保證未顯示的具有NOT NULL 屬性的列有值,可以是默認(rèn)值,IDENTITY 等,否則不能像視圖中插入數(shù)據(jù)行如果某些列因?yàn)橐?guī)則或者約束

11、的限制不能接受從視圖插入的數(shù)據(jù)時(shí),則插入數(shù)據(jù)可能會(huì)失敗12根據(jù)自己的體會(huì),談?wù)勔晥D在數(shù)據(jù)庫(kù)體系中的作用。視圖是一個(gè)虛擬表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。視圖中看到的就是需要的。視圖不僅可以簡(jiǎn)化用戶對(duì)數(shù)據(jù)的理解,也可以簡(jiǎn)化他們的操作。那些被經(jīng)常使用的查詢可以被定義為視圖,從而使得用戶不必為以后的操作每次指定全部的條件。視圖還保證了數(shù)據(jù)的安全性。通過(guò)視圖用戶只能查詢和修改他們所能見(jiàn)到的數(shù)據(jù)。數(shù)據(jù)庫(kù)中的其它數(shù)據(jù)則既看不見(jiàn)也取不到。數(shù)據(jù)庫(kù)授權(quán)命令

12、可以使每個(gè)用戶對(duì)數(shù)據(jù)庫(kù)的檢索限制到特定的數(shù)據(jù)庫(kù)對(duì)象上,但不能授權(quán)到數(shù)據(jù)庫(kù)特定行和特定的列上。13視圖是如何保存的?視圖中的數(shù)據(jù)是否真的存儲(chǔ)在文件中?視圖是一個(gè)虛擬表,是以腳本的形式存在于數(shù)據(jù)庫(kù)中,即其中數(shù)據(jù)仍然是原來(lái)表的數(shù)據(jù)。視圖中的數(shù)據(jù)任然是表中的數(shù)據(jù),并不真的存儲(chǔ)在文件中。14SQL SERVER有幾種身份驗(yàn)證模式?區(qū)別是什么?不同驗(yàn)證模式的登錄賬戶有何區(qū)別?SQL Server2005提供了兩種對(duì)數(shù)據(jù)庫(kù)資源的訪問(wèn)進(jìn)行身份驗(yàn)證的模式:Windows身份驗(yàn)證和混合模式身份驗(yàn)證。Windows身份驗(yàn)證。配置SQL Server2005使用Windows身份驗(yàn)證時(shí),只有通過(guò)身份驗(yàn)證的Window

13、s用戶可以訪問(wèn)SQL實(shí)例。對(duì)于每個(gè)需要訪問(wèn)SQL實(shí)例的Windows用戶,必須為其添加一個(gè)Windows登錄。且該登錄帳戶必須為計(jì)算機(jī)的用戶方可以訪問(wèn)SQL Server。混合模式身份驗(yàn)證。再混合模式身份驗(yàn)證下,Windows用戶和SQL用戶都可以訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例。需要為非Windows用戶提供訪問(wèn)權(quán)限時(shí),比如說(shuō)另一個(gè)客戶操作系統(tǒng)的用戶需要訪問(wèn)SQL Server時(shí)就使用混合模式身份驗(yàn)證。15Sa賬戶有何特點(diǎn)? Sa賬戶是SQL Server的特殊賬戶,sa賬戶擁有服務(wù)器和所有的數(shù)據(jù)庫(kù)。即Sa賬戶擁有最高的管理權(quán)限,可以執(zhí)行服務(wù)器范圍內(nèi)所有操作。它是以SQL Server身份驗(yàn)證的,所以必須設(shè)置

14、一個(gè)密碼。同時(shí),sa賬戶的屬性不可以更改,密碼可以修改。Sa登錄時(shí)無(wú)法刪除的。16共有幾種服務(wù)器角色?最高權(quán)限的角色是什么?能夠創(chuàng)建數(shù)據(jù)庫(kù)的角色是哪個(gè)?共有8種固定服務(wù)器角色,分別是:sysadmin,serveradmin,setupadmin,securityadmin,processadmin,dbcreator,diskadmin,bulkadmin;同時(shí)每一個(gè)登錄用戶都屬于public服務(wù)器角色。最高權(quán)限的角色是sysadmin;能夠創(chuàng)建數(shù)據(jù)庫(kù)的角色是:sysadmin,dbcreator;17數(shù)據(jù)庫(kù)用戶和登錄賬戶有什么關(guān)系?guest是什么用戶?有何作用?這是兩種不同級(jí)別的安全機(jī)制

15、,登錄賬戶是SQL Server級(jí)的安全性設(shè)置,而數(shù)據(jù)庫(kù)用戶則是數(shù)據(jù)庫(kù)級(jí)的安全性設(shè)置。登錄賬戶用于登錄服務(wù)器,但是當(dāng)某一用戶要訪問(wèn)某個(gè)數(shù)據(jù)庫(kù)時(shí),除了可以成為服務(wù)器的一個(gè)登錄以外,還必須成為這個(gè)數(shù)據(jù)庫(kù)的用戶賬戶,即獲得一定的授權(quán)。數(shù)據(jù)庫(kù)用戶賬號(hào)在一般情況下是從某個(gè)登錄賬戶中映射過(guò)來(lái)的。Guest是來(lái)賓用戶,是用來(lái)共享文件的。任何一個(gè)登錄都可以以此身份訪問(wèn)數(shù)據(jù)庫(kù)。Guest自動(dòng)本身只具有public權(quán)限。也可以由其他用戶授權(quán)。18數(shù)據(jù)庫(kù)角色有哪兩類?PUBLIC角色有何特點(diǎn)?數(shù)據(jù)庫(kù)角色分為固定的數(shù)據(jù)庫(kù)角色和用戶定義數(shù)據(jù)庫(kù)角色。每個(gè)數(shù)據(jù)庫(kù)都有一系列固定數(shù)據(jù)庫(kù)角色。雖然每個(gè)數(shù)據(jù)庫(kù)中都存在名稱相同的角色

16、,但各個(gè)角色的作用域只是在特定的數(shù)據(jù)庫(kù)內(nèi)。用戶定義數(shù)據(jù)庫(kù)角色是用戶根據(jù)工作的職能定義一系列角色,并給每個(gè)角色指派了適合這項(xiàng)工作的權(quán)限。從而在數(shù)據(jù)庫(kù)中管理這些權(quán)限。PUBLIC角色的特點(diǎn):默認(rèn)不具有任何權(quán)限,但用戶可對(duì)此角色進(jìn)行授權(quán),他不能被刪除,是所有user自動(dòng)擁有的角色。數(shù)據(jù)庫(kù)中的每個(gè)用戶都屬于 public 數(shù)據(jù)庫(kù)角色。如果想讓數(shù)據(jù)庫(kù)中的每個(gè)用戶都能有某個(gè)特定的權(quán)限,則將該權(quán)限指派給 public 角色。如果沒(méi)有給用戶專門授予對(duì)某個(gè)對(duì)象的權(quán)限,他們就使用指派給 public 角色的權(quán)限。19用戶與架構(gòu)有什么關(guān)系?系統(tǒng)默認(rèn)架構(gòu)是什么?怎樣為用戶指定架構(gòu)?SQL Server 2000中數(shù)據(jù)

17、庫(kù)用戶和構(gòu)架是隱式連在一起的,架構(gòu)將用戶和權(quán)限之間建立了一個(gè)間接地方式。數(shù)據(jù)庫(kù)架構(gòu)是一個(gè)獨(dú)立于數(shù)據(jù)庫(kù)用戶的非重復(fù)命名空間,可以將架構(gòu)視為對(duì)象的容器。每個(gè)數(shù)據(jù)庫(kù)用戶都是與該用戶同名架構(gòu)的所有者;而在SQL Server 2005中構(gòu)架和用戶是不同的實(shí)體。一個(gè)對(duì)象只能屬于一個(gè)架構(gòu),就像一個(gè)文件只能存放于一個(gè)文件夾中一樣。與文件夾不同的是,架構(gòu)是不能嵌套的。系統(tǒng)默認(rèn)架構(gòu)是dbo架構(gòu);通過(guò)使用CREATE USER 和ALTER USER 語(yǔ)句,可以分配一個(gè)默認(rèn)架構(gòu);也可以通過(guò)SSMS在該用戶的屬性下面分配一個(gè)默認(rèn)架構(gòu)。20. 什么是安全對(duì)象?怎樣為數(shù)據(jù)庫(kù)用戶指定查詢表的權(quán)限?安全對(duì)象是SQL Ser

18、ver 數(shù)據(jù)庫(kù)引擎授權(quán)系統(tǒng)控制對(duì)其進(jìn)行訪問(wèn)的資源。安全對(duì)象范圍有服務(wù)器、端點(diǎn)和架構(gòu)。為指定數(shù)據(jù)庫(kù)用戶授予table的權(quán)利,然后在下面的權(quán)限中選擇select即可。 授權(quán)命令:GRANT ALL PRIVILEGES | permission ( column ,.n ) ,.n ON class : securable TO principal ,.n WITH GRANT OPTION AS principal 21 簡(jiǎn)述自定義函數(shù)、存儲(chǔ)過(guò)程和觸發(fā)器的異同。 自定義函數(shù):接受參數(shù)、執(zhí)行操作并且將運(yùn)算結(jié)果以值的形式返回的例程。自定義函數(shù)有且只有一個(gè)返回值,就像普通的函數(shù)一樣,可以直接在表達(dá)式中

19、嵌入調(diào)用。 存儲(chǔ)過(guò)程:是一個(gè)可重用的代碼模塊,可以高效率地完成指定的操作。存儲(chǔ)過(guò)程可以沒(méi)有返回值,也可以有任意個(gè)輸出參數(shù),必須單獨(dú)調(diào)用。 觸發(fā)器:當(dāng)表或視圖中的某些重要數(shù)據(jù)發(fā)生變化 時(shí),為了保持?jǐn)?shù)據(jù)的一致性和完整性,可以自動(dòng)執(zhí)行某段程序保證相關(guān)聯(lián)其他數(shù)據(jù)也跟著進(jìn)行相應(yīng)的變化。能完成這種功能的程序就是觸發(fā)器,它是一種特殊類型的存儲(chǔ)過(guò)程。觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,但是不能直接被調(diào)用執(zhí)行,只能自動(dòng)執(zhí)行,在對(duì)特定表或列作特定類型的數(shù)據(jù)修改時(shí)執(zhí)行。22 什么是游標(biāo)?應(yīng)用游標(biāo)的步驟是什么? 游標(biāo)是一種處理數(shù)據(jù)的方法,它可以對(duì)結(jié)果集進(jìn)行逐行處理,也可以指向結(jié)果集中的任意位置,并對(duì)該位置的數(shù)據(jù)進(jìn)行處理。

20、 應(yīng)用游標(biāo)的步驟:聲明游標(biāo)打開(kāi)游標(biāo)讀取游標(biāo)關(guān)閉游標(biāo)釋放游標(biāo)。五、分析討論首先第18個(gè)關(guān)于驗(yàn)證授權(quán)前后用戶操作的差別那步我不會(huì)驗(yàn)證,在游標(biāo)那題里面也沒(méi)有用到事務(wù),感覺(jué)自己在游標(biāo)、自定義編程、存儲(chǔ)過(guò)程等方面的基礎(chǔ)及學(xué)習(xí)較為薄弱。剛開(kāi)始將系統(tǒng)想得很大,后來(lái)在做的過(guò)程中發(fā)現(xiàn)一環(huán)套一環(huán),如果做整個(gè)酒店管理系統(tǒng)真的很復(fù)雜,還包括財(cái)務(wù)管理、倉(cāng)庫(kù)管理、員工管理等方面,最后我和搭檔商量決定只做客房及顧客信息管理等的內(nèi)容,實(shí)現(xiàn)的功能也相對(duì)較少。相信經(jīng)過(guò)一步一步的學(xué)習(xí),我們的能力也會(huì)進(jìn)一步的提升,努力作出比較完善的信息系統(tǒng)。 以下為本次實(shí)驗(yàn)的過(guò)程記錄報(bào)告撰寫。(可包括必要的截圖)MC酒店前臺(tái)管理系統(tǒng)一、 系統(tǒng)需求分

21、析1、 業(yè)務(wù)分析 ·工作人員登錄:工作人員登錄,并且有權(quán)限的限制,不同的權(quán)限允許的操作不同; ·客房預(yù)訂:客人可以提前預(yù)定房間,可以要求房間的類型,入住時(shí)間等; ·取消預(yù)定:客人可以對(duì)已經(jīng)預(yù)定的客房進(jìn)行取消預(yù)定; ·入住登記:對(duì)入住的客戶的信息進(jìn)行錄入,客戶入住房間; ·退房登記:入住的客戶離開(kāi),進(jìn)行退房登記,更新客房客戶信息; ·客房信息查詢:客戶可以要求查詢自己的房間號(hào),剩余房間數(shù)量,房間信息等信息; ·客戶信息查詢:客戶可以要求查詢自己的相關(guān)信息,酒店可以根據(jù)需要查詢客戶的信息;2、 功能需求分析 ·功能總流

22、程圖酒店前臺(tái)管理系統(tǒng)登錄窗口身份驗(yàn)證權(quán)限識(shí)別相關(guān)操作預(yù)定房間取消預(yù)定退房登記客房信息查詢?nèi)胱〉怯浛蛻粜畔⒉樵凃?yàn)證失敗·客房預(yù)定客房預(yù)訂是否有空余房間預(yù)定失敗預(yù)定房間登記、修改相關(guān)信息查詢否是·取消預(yù)定取消預(yù)定預(yù)定信息刪除、修改相關(guān)信息查詢?nèi)∠A(yù)定操作·入住登記入住登記是否預(yù)定查詢住房信息及要求,確認(rèn)入住房間確認(rèn)預(yù)定信息及入住房間登記入住信息,修改相關(guān)信息·退房登記退房登記入住信息修改客戶及客房相關(guān)信息查詢·信息查詢信息查詢客房信息查詢客戶信息查詢3、信息需求分析 ·工作人員登錄:需要處理工作人員的信息,驗(yàn)證賬號(hào)密碼是否正確且互相匹配,

23、并且授予該工作人員一定的操作權(quán)限,只能進(jìn)行權(quán)限范圍內(nèi)的操作。 ·客房預(yù)訂:需要處理客房及客戶的信息,修改客房的狀態(tài),以及入住時(shí)間;簡(jiǎn)單登記客戶的信息。 ·取消預(yù)定:需要處理客房及客戶的信息,修改客房的狀態(tài),以及入住時(shí)間;修改客戶的預(yù)定信息。 ·入住登記:需要處理客房及客戶的信息,查詢客戶是否預(yù)定過(guò)房間,若預(yù)定,則登記客房和客戶的各項(xiàng)信息;若沒(méi)有預(yù)定,則先查詢是否有符合條件的房間,如果有,則登記客房和客戶的各項(xiàng)信息,如果沒(méi)有,則入住失敗。 ·退房登記:需要處理客房及客戶的信息,查詢客戶及客房的相關(guān)信息,并修改客房的各項(xiàng)信息以及客戶的退房時(shí)間及入住天數(shù)。 &

24、#183;客戶信息查詢:需要處理客戶的信息,根據(jù)需要查詢客戶的各項(xiàng)信息。 ·客房信息查詢:需要處理客房的信息,根據(jù)需要查詢客戶的各項(xiàng)信息。二、 概念設(shè)計(jì)1. 整體ER圖房間客戶工作人員入住操作客戶編號(hào)客戶姓名客戶性別身份證號(hào)客戶電話客戶地址是否預(yù)定消費(fèi)金額付款時(shí)間備注客戶編號(hào)房間號(hào)入住時(shí)間退房時(shí)間入住天數(shù)入住登記o預(yù)定客房取消預(yù)定信息查詢編號(hào)密碼權(quán)限房間號(hào)狀態(tài)類型m1mn2. 部分組成圖房間Rooms房間號(hào)RoomNo狀態(tài)StatusNo類型TypeNo工作人員Workers編號(hào)EmployeeId密碼PassWord權(quán)限Restricte客戶Client客戶編號(hào)ClientID客戶

25、姓名ClientName客戶性別ClientSex身份證號(hào)ClientCertificateID客戶電話ClientPhone客戶地址ClientAdress是否預(yù)定ClientBookOrNot消費(fèi)金額ClientConsume付款時(shí)間PaymentTime備注ClientRemarks工作人員Works操作Operation房間Rooms入住登記o預(yù)定客房取消預(yù)定信息查詢客戶編號(hào)ClientID客戶Client入住房間號(hào)RoomNo入住時(shí)間LiveDate退房時(shí)間OutDate入住天數(shù)房間Rooms三、 邏輯設(shè)計(jì)客戶信息表員工登錄信息表房間信息表房間狀態(tài)信息表房間類型信息表入住信息表四、

26、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)存儲(chǔ)組織結(jié)構(gòu):數(shù)據(jù)庫(kù)是依照某種數(shù)據(jù)模型組織起來(lái)并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這種數(shù)據(jù)集合具有如下特點(diǎn):盡可能不重復(fù),以最優(yōu)方式為某個(gè)特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨(dú)立于使用它的應(yīng)用程序,對(duì)數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進(jìn)行管理和控制。從發(fā)展的歷史看,數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的高級(jí)階段,它是由文件管理系統(tǒng)發(fā)展起來(lái)的。數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)分三個(gè)層次,反映了觀察數(shù)據(jù)庫(kù)的三種不同角度。(1)物理數(shù)據(jù)層。它是數(shù)據(jù)庫(kù)的最內(nèi)層,是物理存貯設(shè)備上實(shí)際存儲(chǔ)的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對(duì)象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。(2)概念數(shù)據(jù)層。它是數(shù)據(jù)庫(kù)的中間一層,是數(shù)據(jù)

27、庫(kù)的整體邏輯表示。指出了每個(gè)數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫(kù)所有對(duì)象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫(kù)管理員概念下的數(shù)據(jù)庫(kù)。(3)邏輯數(shù)據(jù)層。它是用戶所看到和使用的數(shù)據(jù)庫(kù),表示了一個(gè)或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。數(shù)據(jù)庫(kù)不同層次之間的聯(lián)系是通過(guò)映射進(jìn)行轉(zhuǎn)換的。表的結(jié)構(gòu)設(shè)計(jì):1.客戶信息表ClientInfo客戶編號(hào)(ClientID) char(8) 主鍵客戶姓名(ClientName) varchar(30) 非空客戶性別(ClientSex) char(4)身份證號(hào)ClientCertificateID varchar(18)

28、非空出生日期(ClientBirthday) datetime,聯(lián)系電話(ClientPhone) varchar(12) 非空是否預(yù)定(ClientBookOrNot) int住址(ClientAdress )varchar(50)消費(fèi)金額(ClientConsume) money結(jié)賬日期(PaymentTime) datetime備注(ClientRemarks) varchar(40)2.房間信息表RoomInfo房間號(hào)(RoomNo) int 主鍵狀態(tài)號(hào)(StatusNo) int 非空類型號(hào)(TypeNo) int 非空房間備注(RoomRemarks varchar(40)3.房間

29、狀類型表RoomType類型號(hào)TypeNo) int 主鍵類型名稱(TypeName) varchar(10) 非空該類房間數(shù)(TypeAmount) int 非空價(jià)格(Price) money 非空4.房間狀態(tài)表RoomStatus狀態(tài)號(hào)(StatusNo) int 主鍵狀態(tài)名(RoomStatus) varchar(10) 非空該狀態(tài)房間數(shù)(StatusAmount) int 非空5.工作人員登錄表LoginInfo員工編號(hào)(EmployeeId) char(8)密碼(PassWord char(6)) 非空權(quán)限(Restricte) int 非空五. T-SQL命令方式創(chuàng)建數(shù)據(jù)庫(kù)的操作利

30、用SQL命令創(chuàng)建數(shù)據(jù)庫(kù)文件、表、索引、聯(lián)系和主鍵、外鍵等約束。1、創(chuàng)建數(shù)據(jù)庫(kù)文件create database MC酒店前臺(tái)管理系統(tǒng)onprimary (name='MC酒店前臺(tái)管理系統(tǒng)_data',filename='H:數(shù)據(jù)庫(kù)事務(wù)實(shí)驗(yàn)馬冰潔1009030116馬冰潔MC酒店前臺(tái)管理系統(tǒng).mdf',size=50,maxsize=100,filegrowth=10)log on (name='MC酒店前臺(tái)管理系統(tǒng)_log',filename='H:數(shù)據(jù)庫(kù)事務(wù)實(shí)驗(yàn)馬冰潔1009030116馬冰潔MC酒店前臺(tái)管理系統(tǒng).ldf',si

31、ze=10,maxsize=25,filegrowth=5)2、創(chuàng)建表use MC酒店前臺(tái)管理系統(tǒng)Create table RoomStatus(StatusNo int Primary key,RoomStatus varchar(10) not null,StatusAmount int not null)Create table RoomType(TypeNo int Primary key,TypeName varchar(10) not null,TypeAmount int not null,Price money not null)CREATE TABLE RoomInfo(Ro

32、omNo int PRIMARY KEY,StatusNo int NOT NULL,TypeNo int NOT NULL,RoomRemarks varchar(40),foreign key (StatusNo) references RoomStatus(StatusNo)on update cascade,foreign key (TypeNo) references RoomType(TypeNo)on update cascade,)Create TABLE ClientInfo(ClientID char(8) PRIMARY KEY,ClientName varchar(30

33、) not null,ClientSex char(4),ClientCertificateID varchar(18) not null,ClientBirthday datetime,ClientPhone varchar(12) not null,ClientBookOrNot int,ClientAdress varchar(50),ClientConsume money,PaymentTime datetime,ClientRemarks varchar(40),)CREATE TABLE LoginInfo(EmployeeId char(8) PRIMARY KEY,PassWo

34、rd char(6) not null,Restricte int not null,)create table ReInfo(ClientID char(8) NOT NULL,RoomNo int NOT NULL, LiveDate datetime,OutDate datetime,DayNo AS OutDate-LiveDate,primary key (RoomNo,ClientID),foreign key (RoomNo) references RoomInfo(RoomNo),FOREIGN KEY (ClientID) REFERENCES ClientInfo(Clie

35、ntID) 3、創(chuàng)建索引create index sroominfoon ReInfo(ClientID ASC,RoomNo)use MC酒店前臺(tái)管理系統(tǒng)GO EXEC sp_helpindex ReInfoGOcreate index sclientinfoon ClientInfo(ClientID ASC,ClientName)use MC酒店前臺(tái)管理系統(tǒng)GO EXEC sp_helpindex ClientInfoGO六. 利用T-SQL命令增加、刪除、修改數(shù)據(jù)。1、插入數(shù)據(jù):登記客戶基本信息,入住信息,管理客房信息USE MC酒店前臺(tái)管理系統(tǒng)INSERT INTO ClientIn

36、fovalues('C0000004','馬冰潔','女','#39;,'1993-01-23','5927195260',2,'中國(guó)安徽省',1000,'2011-07-10 09:06:07','需要早餐')INSERT INTO ClientInfovalues('C0000001','林靜','男','#39;,'

37、1982-11-23','#39;,0,'中國(guó)北京市朝陽(yáng)路',3100,'2011-07-10 09:06:07','每日:分前不要打掃其房間')INSERT INTO ClientInfovalues('C0000002','葉華','男','#39;,'1988-01-23','#39;,0,'中國(guó)廈門市鼓浪嶼',3000,'2011-07

38、-19 19:06:07','每日換枕頭')INSERT INTO ClientInfovalues('C0000003','素素','女','#39;,'1982-11-23','#39;,1,'中國(guó)北京市朝陽(yáng)路',3100,'2011-07-10 09:06:07','對(duì)海鮮過(guò)敏')INSERT INTO RoomInfovalues(8204,2,4,'')IN

39、SERT INTO RoomInfovalues(5203,2,4,'')INSERT INTO RoomInfovalues(2222,2,4,'')INSERT INTO RoomInfovalues(8888,1,5,'')INSERT INTO RoomInfovalues(3402,0,1,'')INSERT INTO RoomInfovalues(2202,2,2,'')INSERT INTO RoomInfovalues(2201,1,2,'') INSERT INTO RoomSta

40、tusvalues(2,'不空閑',178) INSERT INTO RoomStatusvalues(0,'已預(yù)訂',20) INSERT INTO RoomStatusvalues(1,'空閑',99)INSERT INTO RoomTypevalues(4,'商務(wù)套房',80,400)INSERT INTO RoomTypevalues(1,'單人房',40,120)INSERT INTO RoomTypevalues(2,'標(biāo)準(zhǔn)間',100,150)INSERT INTO RoomTypev

41、alues(5,'總統(tǒng)套房',2,1888)INSERT INTO RoomTypevalues(3,'豪華間',60,270)INSERT INTO LoginInfovalues('A0000007','WWWNDX',0)INSERT INTO LoginInfovalues('B0000001','123456',1)INSERT INTO ReInfovalues('C0000001',8204,'2011-07-05 09:06:07','2011

42、-07-10 09:06:07')INSERT INTO ReInfovalues('C0000002',5203,'2011-07-04 19:06:07','2011-07-10 09:06:07')INSERT INTO ReInfovalues('C0000003',2222,'2011-07-09 09:06:07','2011-07-13 19:06:07')INSERT INTO ReInfovalues('C0000004',2202,'2011-07

43、-09 09:06:07','2011-07-13 19:06:07')2、修改數(shù)據(jù)USE MC酒店前臺(tái)管理系統(tǒng)GO-客戶調(diào)房間update ReInfoset RoomNo=2201where ClientID='C0000004'-客戶入住修改房間狀態(tài)update RoomInfoset StatusNo=2where RoomNo=2202-將客戶的消費(fèi)減去200元,但因?yàn)橹笤O(shè)置了一個(gè)保護(hù)安全性的觸發(fā)器所以這個(gè)應(yīng)該執(zhí)行不了update ClientInfoset ClientConsume=ClientConsume-200where Clien

44、tID='C0000004'3、刪除數(shù)據(jù)-客戶退房delete from ReInfowhere ClientID='C0000004'-刪除客戶信息delete from ClientInfowhere ClientName='馬冰潔'七. 利用T-SQL命令進(jìn)行數(shù)據(jù)的檢索和統(tǒng)計(jì)根據(jù)自己設(shè)計(jì)的數(shù)據(jù)庫(kù)和輸入的數(shù)據(jù),寫出至少10個(gè)查詢要求及對(duì)應(yīng)的SQL查詢命令,應(yīng)該包含如下功能:投影和選擇;多表連接;分組統(tǒng)計(jì)與HAVING;子查詢;查詢結(jié)果保存。USE MC酒店前臺(tái)管理系統(tǒng)Go-1.查詢所有顧客姓名SELECT ClientName from Cl

45、ientInfo-2.查詢空閑房間SELECT RoomNo from RoomInfo where StatusNo=1-3.顯示每個(gè)房間客戶的備注要求SELECT ClientInfo.ClientID,RoomNo,ClientName,ClientSex,ClientRemarks from ClientInfo,ReInfo where ClientInfo.ClientID=ReInfo.ClientID -4.查詢男女顧客各自人數(shù)select ClientSex,Count(ClientSex) as 人數(shù)from ClientInfo group by ClientSex-5.

46、查詢?nèi)司杖氪笥?000的客房類型SELECT TypeName,AVG(ClientConsume) AS 平均收入from RoomType,ClientInfo,ReInfo,RoomInfowhere RoomInfo.RoomNo=ReInfo.RoomNo and ClientInfo.ClientID=ReInfo.ClientID and RoomInfo.TypeNo=RoomType.TypeNoGroup by TypeName Having AVG(ClientConsume)>1000-6.從RoomInfo表查詢共有幾種類型的客房SELECT TypeNo f

47、rom RoomInfo GROUP BY TypeNo HAVING COUNT(*)>2-7.查詢?nèi)胱〕^(guò)兩間房的客房類型的客房號(hào)SELECT RoomNo from RoomInfo WHERE TypeNo IN(SELECT TypeNo from RoomInfo GROUP BY TypeNo HAVING COUNT(*)>2)-8.查詢價(jià)格超過(guò)酒店客房平均價(jià)格的客房信息SELECT * from RoomType where Price>(SELECT AVG(Price) from RoomType)-9.查詢來(lái)自中國(guó)北京市XXX的客戶姓名SELECT C

48、lientName from ClientInfo where ClientSex='男' AND ClientAdress LIKE '中國(guó)北京市%'-10.查詢所有商務(wù)套房的基本信息select RoomNo,StatusNo,RoomRemarksfrom RoomInfowhere TypeNo=(select TypeNo from RoomType where TypeName='商務(wù)套房')八. 利用SQL命令創(chuàng)建視圖對(duì)象根據(jù)開(kāi)發(fā)的系統(tǒng)的需要,至少設(shè)計(jì)三個(gè)視圖:基于單表的、包含多表連接的、包含統(tǒng)計(jì)運(yùn)算的。use MC酒店前臺(tái)管理系統(tǒng)

49、go-1.創(chuàng)建VIP顧客基本信息視圖create view clientVIPinfoasselect ClientID,ClientName,ClientSex,ClientCertificateID,ClientBirthday,ClientPhone,ClientConsumefrom ClientInfowhere ClientConsume>2000select * from clientVIPinfo-2.創(chuàng)建男顧客的基本信息視圖create view clientmaninfoasselect ClientID,ClientName,ClientSex,ClientCert

50、ificateID,ClientBirthday,ClientPhonefrom ClientInfowhere ClientSex='男' from ClientInfoselect * from clientmaninfo-3.創(chuàng)建住在某個(gè)房間的客戶基本信息及入住信息視圖create view roomreinfoasselect ClientInfo.ClientID,ClientName,ClientSex,ClientCertificateID,ClientBirthday,ClientPhone,RoomNo,LiveDate,OutDatefrom ClientI

51、nfo,ReInfowhere RoomNo=2202andClientInfo.ClientID=ReInfo.ClientID-4.創(chuàng)建空閑房間基本信息視圖create view freeroomasselect RoomInfo.RoomNo,RoomType.TypeName,RoomRemarksfrom RoomStatus,RoomInfo,RoomTypewhere RoomStatus='空閑' and RoomInfo.StatusNo=RoomStatus.StatusNoand RoomInfo.TypeNo=RoomType.TypeNo select

52、 * from freeroom-5.創(chuàng)建每種房間的總收入視圖create view zxfasselect RoomType.TypeName,SUM(ClientConsume) as SumConsumefrom ClientInfo,ReInfo,RoomInfo,RoomTypewhere ClientInfo.ClientID=ReInfo.ClientIDand ReInfo.RoomNo=RoomInfo.RoomNo and RoomInfo.TypeNo=RoomType.TypeNogroup by TypeNameselect * from zxf利用SQL對(duì)視圖進(jìn)行查

53、詢。-1.查詢收入超過(guò)1萬(wàn)的房間類型select TypeName,SumConsumefrom zxfwhere SumConsume>10000-2.查詢XX顧客的客戶號(hào)select ClientIDfrom clientmaninfowhere ClientName='林靜'-3.查詢空閑房間中商務(wù)套房的房間號(hào)select RoomNofrom freeroomwhere TypeName='商務(wù)套房'九. 對(duì)視圖進(jìn)行插入、刪除、修改數(shù)據(jù)操作。體會(huì)視圖與表的異同。1、對(duì)視圖進(jìn)行插入數(shù)據(jù)insert into clientmaninfovalues(&

54、#39;C0000011','Jason','男','#39;,'1988-07-04','123456789')insert into clientVIPinfovalues('C0000012','FrejaBlack','女','#39;,'1988-06-04','123456789',5000)2、修改數(shù)據(jù)update clientVIPinf

55、oset ClientConsume=ClientConsume+200where ClientSex='男'beforeAfterupdate clientmaninfoset ClientName='池賢宇'where ClientID='C0000005'beforeAfterupdate freeroomset TypeName='海景套房'where TypeName='總統(tǒng)套房'After3、刪除數(shù)據(jù)delete from clientmaninfowhere ClientName LIKE 'Ja%'after十. 編寫自定義函數(shù)。(1)編寫一個(gè)自定義函數(shù),將一個(gè)字符串作為自變量,返回顛倒順序的字符串。寫出源代碼。USE MC酒店前臺(tái)管理系統(tǒng)GOCREATE FUNCTION MBJ(P VARCHAR(100) RETURNS VARCHAR(100) AS BEGIN DECLARE I

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論