




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告數(shù)據(jù)庫(kù)管理與開(kāi)發(fā)課程號(hào):b0900990實(shí)驗(yàn)項(xiàng)目:數(shù)據(jù)庫(kù)設(shè)計(jì)、創(chuàng)建、管理,數(shù)據(jù)庫(kù)操作學(xué)號(hào)11090401= 姓名000專(zhuān)業(yè)班級(jí)電商1102 實(shí)驗(yàn)地點(diǎn)工程學(xué)院機(jī)房(文波)同組人學(xué)號(hào)姓名 時(shí)間2013年9-12月評(píng)語(yǔ)(要求): 按時(shí)完成實(shí)驗(yàn);實(shí)驗(yàn)內(nèi)容和過(guò)程記錄完整;回答問(wèn)題完整、正確;實(shí)驗(yàn)報(bào)告的撰寫(xiě)認(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 2008數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)。5深入理解sql server 200
2、8的數(shù)據(jù)類(lèi)型、表對(duì)象設(shè)計(jì)與定義。6掌握sql server 2008management 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 2008的安全體系框架。掌握登錄與服務(wù)器角色的概念、操作與應(yīng)用。掌握數(shù)據(jù)庫(kù)用戶(hù)、固定角色、自定義角色、架構(gòu)的概念、操作與應(yīng)用。掌握數(shù)據(jù)庫(kù)權(quán)限的概念、操作與應(yīng)用。11理解事務(wù)的概念。深入理解并掌握服務(wù)器編程的意義及方法。能夠編寫(xiě)各種自定義函數(shù)和存儲(chǔ)過(guò)程。12理解觸
3、發(fā)器,并能夠編寫(xiě)、應(yīng)用觸發(fā)器。13理解備份與恢復(fù)的意義及基本操作。二、實(shí)驗(yàn)設(shè)備(環(huán)境)及要求pc、 windows xp、sql server 2008三、實(shí)驗(yàn)內(nèi)容及要求 實(shí)驗(yàn)項(xiàng)目:電腦商品信息處理數(shù)據(jù)庫(kù) 通過(guò)調(diào)查、收集信息、分析,寫(xiě)出分析與設(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. 寫(xiě)出數(shù)據(jù)庫(kù)的物理設(shè)計(jì)包括存儲(chǔ)組織結(jié)構(gòu)、表的結(jié)構(gòu)設(shè)計(jì)等。5. t-sql命
4、令方式創(chuàng)建數(shù)據(jù)庫(kù)的操作利用sql命令創(chuàng)建數(shù)據(jù)庫(kù)文件、表、索引、聯(lián)系和主鍵、外鍵等約束。(實(shí)驗(yàn)報(bào)告應(yīng)寫(xiě)出實(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ù),寫(xiě)出至少10個(gè)查詢(xún)要求及對(duì)應(yīng)的sql查詢(xún)命令,應(yīng)該包含如下功能:投影和選擇; 多表連接;子查詢(xún);查詢(xún)結(jié)果保存。 8. 利用sql命令創(chuàng)建視圖對(duì)象根據(jù)開(kāi)發(fā)的系統(tǒng)的需要,設(shè)計(jì)視圖:包含多表連接的、包含統(tǒng)計(jì)運(yùn)算的。利用sql對(duì)視圖進(jìn)行查詢(xún)。9. (選做)對(duì)視圖進(jìn)行插入、刪除、修改數(shù)據(jù)操作。體會(huì)視圖與表的異同。10. 編寫(xiě)自定義函數(shù)。(1)編寫(xiě)一個(gè)自
5、定義函數(shù),將一個(gè)字符串作為自變量,返回顛倒順序的字符串。寫(xiě)出源代碼。(2) 編寫(xiě)一個(gè)自定義函數(shù),能夠?qū)崿F(xiàn)參數(shù)化查詢(xún)的功能。自己設(shè)定函數(shù)的具體要求,然后編寫(xiě)出來(lái)。11. (選做)編寫(xiě)利用游標(biāo)進(jìn)行數(shù)據(jù)處理的存儲(chǔ)過(guò)程。并在存儲(chǔ)過(guò)程中應(yīng)用事務(wù)的概念。自己確定過(guò)程的具體要求,然后編寫(xiě)出來(lái)。12. 編寫(xiě)一個(gè)實(shí)現(xiàn)修改表的觸發(fā)器,實(shí)現(xiàn)完整性控制。13. 設(shè)置服務(wù)器身份驗(yàn)證模式。用命令創(chuàng)建若干不同驗(yàn)證模式的登錄賬戶(hù)。14. 將部分登錄賦予服務(wù)器角色。然后撤消。15. 將部分登錄映射到你的數(shù)據(jù)庫(kù)中成為用戶(hù)。16. 創(chuàng)建自定義角色、架構(gòu)。創(chuàng)建架構(gòu)對(duì)象及對(duì)象在不同架構(gòu)之間的轉(zhuǎn)移。17. 通過(guò)角色給用戶(hù)授權(quán)。18. 直
6、接給用戶(hù)授權(quán),驗(yàn)證其獲得權(quán)限前后的操作差別。19. 刪除用戶(hù)和自定義的角色。四、回答問(wèn)題1你如何認(rèn)識(shí)需求分析在系統(tǒng)開(kāi)發(fā)中的地位和重要性?答:我認(rèn)為需求分析是對(duì)所開(kāi)發(fā)的系統(tǒng)進(jìn)行市場(chǎng)需求的分析,從而將功能模塊化、系統(tǒng)化,使系統(tǒng)的開(kāi)發(fā)人員能夠更好地理解客戶(hù)的需求,并在客戶(hù)需求的基礎(chǔ)上進(jìn)行完善、彌補(bǔ)。其次,為系統(tǒng)進(jìn)行概要模型設(shè)計(jì),將系統(tǒng)的流程信息進(jìn)行整合,防止出現(xiàn)數(shù)據(jù)冗余或者系統(tǒng)崩潰等系統(tǒng)bug。總而言之,需求分析是系統(tǒng)開(kāi)發(fā)的基石,不做好需求分析,必然無(wú)法將系統(tǒng)的框架清晰的設(shè)計(jì)出來(lái),更不用談設(shè)計(jì)出合乎客戶(hù)需求的系統(tǒng)了。只有做好第一步,將系統(tǒng)的核心抓住,后面的設(shè)計(jì)流程基本上就能夠暢通了。2設(shè)計(jì)er圖、關(guān)
7、系模型分別屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的哪一階段?答:er圖屬于概念設(shè)計(jì)階段;關(guān)系模型處于邏輯設(shè)計(jì)階段。3主鍵、外鍵對(duì)于關(guān)系數(shù)據(jù)庫(kù)的意義何在?答:主鍵是對(duì)表的約束,保證數(shù)據(jù)的唯一性;外鍵是建立表于表之間的聯(lián)系,方便程序的編寫(xiě)。主鍵和外鍵是把多個(gè)表組織為一個(gè)有效的關(guān)系數(shù)據(jù)庫(kù)的粘合劑。主鍵和外鍵的設(shè)計(jì)對(duì)物理數(shù)據(jù)庫(kù)的性能和可用性都有著決定性的影響。4在數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)時(shí)要考慮哪些因素?答:首先要確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括:確定關(guān)系、索引、聚簇、日志、備份等的存儲(chǔ)安排,確定系統(tǒng)配置。同時(shí)要綜合考慮存取時(shí)間、存儲(chǔ)空間利用率和維護(hù)代價(jià)3個(gè)方面的因素。把它們進(jìn)行權(quán)衡,選擇一個(gè)折中的方案。5在表設(shè)計(jì)時(shí)對(duì)于數(shù)據(jù)類(lèi)型
8、的選擇和使用如何考慮?答:設(shè)計(jì)表是數(shù)據(jù)庫(kù)設(shè)計(jì)中的重要步驟,所以對(duì)于表中的數(shù)據(jù)類(lèi)型的定義和選擇也非常的重要。主要要按照以下三點(diǎn)進(jìn)行考慮:1)首先要清楚理解數(shù)據(jù)庫(kù)中各種數(shù)據(jù)類(lèi)型的用法和范圍;2)應(yīng)該根據(jù)字段的實(shí)際類(lèi)型來(lái)考慮數(shù)據(jù)類(lèi)型;3)要估計(jì)表中數(shù)據(jù)的大小范圍,來(lái)確定數(shù)據(jù)類(lèi)型的大小,避免空間不足或者浪費(fèi)。 6. 交互式如何實(shí)現(xiàn)表之間的聯(lián)系?sql命令如何實(shí)現(xiàn)表之間的聯(lián)系?答:1)交互式:在管理平臺(tái)中,展開(kāi)要操作的數(shù)據(jù)庫(kù),選擇“數(shù)據(jù)庫(kù)關(guān)系圖”選項(xiàng),然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)關(guān)系圖”命令,在彈出的窗口中選擇要建立關(guān)系的表后,則會(huì)彈出數(shù)據(jù)庫(kù)關(guān)系圖設(shè)計(jì)窗口。然后右鍵單擊關(guān)系圖的空
9、白頁(yè)面,在彈出的快捷菜單中,可以新建或添加數(shù)據(jù)庫(kù)中已定義的表,在該表的關(guān)聯(lián)菜單中選擇“屬性”選項(xiàng),可以創(chuàng)建或定義該表的關(guān)系、鍵、索引和約束或修改當(dāng)前的附加特性。 2)sql命令:alter tableadd constraint constraint_nameprimarykeyclustered|nonclusteredforeign keyreferences ref_table7如果在定義表時(shí)進(jìn)行了主鍵、外鍵以及約束等完整性設(shè)置,對(duì)于數(shù)據(jù)的輸入有何影響?試舉例說(shuō)明。答:定義主鍵 :定義主鍵來(lái)強(qiáng)制不允許空值的指定列中輸入值的唯一性。如果在數(shù)據(jù)庫(kù)中為表定義了主鍵,則可將該表與其它表相關(guān),從而
10、減少冗余數(shù)據(jù)。表只能有一個(gè)主鍵。如果主鍵包含不止一列,則在一列中允許有重復(fù)值,但主鍵中所有列值的每個(gè)組合必須唯一。 定義外鍵:外鍵引用完整性表示得到正常維護(hù)的表之間的關(guān)系。表中的數(shù)據(jù)只應(yīng)指向另一個(gè)表中的現(xiàn)有行,不應(yīng)指向不存在的行。主鍵約束:使用單列或者多列組合,表示每一條記錄的唯一性,值不能為空。外鍵約束: 為了加強(qiáng)數(shù)據(jù)表之間的關(guān)鍵的表中的單列或者多列值,必須依賴(lài)另外的表存在;唯一約束:不允許數(shù)據(jù)庫(kù)中的某一列數(shù)據(jù)有重復(fù),但是允許有空值存在。主鍵和唯一性約束定義了表中記錄的唯一性,但是主鍵列的值不能為空,而唯一鍵約束的列的值可以為空值。舉例如下:如果主鍵的列值為空,會(huì)提示不能輸入數(shù)據(jù)。8用ins
11、ert into 命令輸入,如果數(shù)據(jù)與字段數(shù)量和要求不一致有什么問(wèn)題?當(dāng)表定義中有默認(rèn)值的時(shí)候,插入記錄是否可以省略該字段的數(shù)據(jù)?答:如果數(shù)據(jù)與字段數(shù)量和要求不一致,那么會(huì)插入失敗,并且sql server將顯示錯(cuò)誤信息。有默認(rèn)值時(shí)可以省略該字段數(shù)據(jù),系統(tǒng)會(huì)為該列提供默認(rèn)值。9having子句有什么作用?答:having字句與where子句一樣,也可以起到按條件選擇記錄的功能,但having子句是作用于組,必須與group by子句連用,用來(lái)指定每一分租內(nèi)應(yīng)滿(mǎn)足的條件。 10當(dāng)通配字符作為普通字符參與匹配查詢(xún)時(shí),如何解決這樣的問(wèn)題?答:這與其他語(yǔ)言中的問(wèn)題一樣,這時(shí)只需要對(duì)通配符進(jìn)行轉(zhuǎn)義即可,
12、具體操作為對(duì)通配符加。 11可否利用視圖進(jìn)行數(shù)據(jù)的插入、刪除、修改? 答:可以通過(guò)視圖對(duì)基礎(chǔ)表中的數(shù)據(jù)進(jìn)行檢索、添加、修改和查詢(xún)。但是插入、修改、刪除數(shù)據(jù)是只能做單表的,基于多表的視圖不可以刪除和修改。具體例子在后文中可見(jiàn)。12根據(jù)自己的體會(huì),談?wù)勔晥D在數(shù)據(jù)庫(kù)體系中的作用。 答:利用視圖可以簡(jiǎn)化用戶(hù)操作數(shù)據(jù)的方式??蓪⒔?jīng)常使用的連接、投影、聯(lián)合查詢(xún)和選擇查詢(xún)定義為視圖,這樣每次對(duì)特定的數(shù)據(jù)執(zhí)行進(jìn)一步操作時(shí),不必指定所有條件和限定。除此之外還可以定制數(shù)據(jù),導(dǎo)出數(shù)據(jù)。還可以用grant和revoke命令為各種用戶(hù)授予在視圖上的操作權(quán)限,這樣通過(guò)視圖,用戶(hù)只能查詢(xún)或修改他們各自所能見(jiàn)到的數(shù)據(jù),數(shù)據(jù)庫(kù)
13、中的其他數(shù)據(jù)對(duì)他們來(lái)說(shuō)是不可見(jiàn)的或不可修改的。保證數(shù)據(jù)庫(kù)的安全性。13視圖是如何保存的?視圖中的數(shù)據(jù)是否真的存儲(chǔ)在文件中?答:保存視圖將更改服務(wù)器上的視圖定義。 當(dāng)您保存視圖時(shí),基礎(chǔ)數(shù)據(jù)庫(kù)引擎將使用新的視圖定義。在查詢(xún)和視圖設(shè)計(jì)器中打開(kāi)視圖定義并對(duì)其進(jìn)行修改。(1)在查詢(xún)和視圖設(shè)計(jì)器中打開(kāi)視圖定義并對(duì)其進(jìn)行修改。(2)從“文件”菜單中單擊“保存 view_name”,其中 view_name 是打開(kāi)的視圖的名稱(chēng)。14 sql server有幾種身份驗(yàn)證模式?區(qū)別是什么?不同驗(yàn)證模式的登錄賬戶(hù)有何區(qū)別?答:有兩種(1)windows身份驗(yàn)證模式,是默認(rèn)的驗(yàn)證模式,使用windows操作系統(tǒng)的安全
14、機(jī)制驗(yàn)證用戶(hù)身份,只要用戶(hù)能夠通過(guò)windows用戶(hù)賬號(hào)驗(yàn)證,并且是sql server的登錄賬戶(hù),即可連接到sql server而不用進(jìn)行身份驗(yàn)證,只適用于能夠提供有效身份驗(yàn)證的windows操作系統(tǒng)。(2)混合的驗(yàn)證模式:在該模式下,windows和sql server兩種驗(yàn)證模式都可用,對(duì)可信任連接用戶(hù),直接采用windows 的身份驗(yàn)證,否則采用sql server模式,用戶(hù)在連接sql server時(shí)必須提供登錄名和密碼,sql server自己執(zhí)行認(rèn)證處理,如果輸入的登錄信息與系統(tǒng)表syslogins中的某幾條記錄相匹配時(shí)表明登錄成功。15sa賬戶(hù)有何特點(diǎn)? 答:sa賬戶(hù)是sql
15、server的特殊賬戶(hù),sa賬戶(hù)擁有服務(wù)器和所有的數(shù)據(jù)庫(kù)。即sa賬戶(hù)擁有最高的管理權(quán)限,可以執(zhí)行服務(wù)器范圍內(nèi)所有操作。它是以sql server身份驗(yàn)證的,所以必須設(shè)置一個(gè)密碼。同時(shí),sa賬戶(hù)的屬性不可以更改,密碼可以修改。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è)登錄用戶(hù)都屬于public服務(wù)器角色。最高權(quán)限的角色是sy
16、sadmin;能夠創(chuàng)建數(shù)據(jù)庫(kù)的角色是:sysadmin,dbcreator。17數(shù)據(jù)庫(kù)用戶(hù)和登錄賬戶(hù)有什么關(guān)系?guest是什么用戶(hù)?有何作用?答:這是兩種不同級(jí)別的安全機(jī)制,登錄賬戶(hù)是sql server級(jí)的安全性設(shè)置,而數(shù)據(jù)庫(kù)用戶(hù)則是數(shù)據(jù)庫(kù)級(jí)的安全性設(shè)置。登錄賬戶(hù)用于登錄服務(wù)器,但是當(dāng)某一用戶(hù)要訪(fǎng)問(wèn)某個(gè)數(shù)據(jù)庫(kù)時(shí),除了可以成為服務(wù)器的一個(gè)登錄以外,還必須成為這個(gè)數(shù)據(jù)庫(kù)的用戶(hù)賬戶(hù),即獲得一定的授權(quán)。數(shù)據(jù)庫(kù)用戶(hù)賬號(hào)在一般情況下是從某個(gè)登錄賬戶(hù)中映射過(guò)來(lái)的。guest是來(lái)賓用戶(hù),是用來(lái)共享文件的。任何一個(gè)登錄都可以以此身份訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。guest自動(dòng)本身只具有public權(quán)限。也可以由其他用戶(hù)授權(quán)。
17、 18數(shù)據(jù)庫(kù)角色有哪兩類(lèi)?public角色有何特點(diǎn)?答:數(shù)據(jù)庫(kù)角色分為固定的數(shù)據(jù)庫(kù)角色和用戶(hù)定義數(shù)據(jù)庫(kù)角色。每個(gè)數(shù)據(jù)庫(kù)都有一系列固定數(shù)據(jù)庫(kù)角色。雖然每個(gè)數(shù)據(jù)庫(kù)中都存在名稱(chēng)相同的角色,但各個(gè)角色的作用域只是在特定的數(shù)據(jù)庫(kù)內(nèi)。用戶(hù)定義數(shù)據(jù)庫(kù)角色是用戶(hù)根據(jù)工作的職能定義一系列角色,并給每個(gè)角色指派了適合這項(xiàng)工作的權(quán)限。從而在數(shù)據(jù)庫(kù)中管理這些權(quán)限。public角色的特點(diǎn):默認(rèn)不具有任何權(quán)限,但用戶(hù)可對(duì)此角色進(jìn)行授權(quán),他不能被刪除,是所有user自動(dòng)擁有的角色。數(shù)據(jù)庫(kù)中的每個(gè)用戶(hù)都屬于 public 數(shù)據(jù)庫(kù)角色。如果想讓數(shù)據(jù)庫(kù)中的每個(gè)用戶(hù)都能有某個(gè)特定的權(quán)限,則將該權(quán)限指派給 public 角色。如果沒(méi)
18、有給用戶(hù)專(zhuān)門(mén)授予對(duì)某個(gè)對(duì)象的權(quán)限,他們就使用指派給 public 角色的權(quán)限。 19用戶(hù)與架構(gòu)有什么關(guān)系?系統(tǒng)默認(rèn)架構(gòu)是什么?怎樣為用戶(hù)指定架構(gòu)?答:sql server 2000中數(shù)據(jù)庫(kù)用戶(hù)和構(gòu)架是隱式連在一起的,架構(gòu)將用戶(hù)和權(quán)限之間建立了一個(gè)間接地方式。數(shù)據(jù)庫(kù)架構(gòu)是一個(gè)獨(dú)立于數(shù)據(jù)庫(kù)用戶(hù)的非重復(fù)命名空間,可以將架構(gòu)視為對(duì)象的容器。每個(gè)數(shù)據(jù)庫(kù)用戶(hù)都是與該用戶(hù)同名架構(gòu)的所有者;而在sql server 2005中構(gòu)架和用戶(hù)是不同的實(shí)體。一個(gè)對(duì)象只能屬于一個(gè)架構(gòu),就像一個(gè)文件只能存放于一個(gè)文件夾中一樣。與文件夾不同的是,架構(gòu)是不能嵌套的。系統(tǒng)默認(rèn)架構(gòu)是dbo架構(gòu);通過(guò)使用create user 和
19、alter user 語(yǔ)句,可以分配一個(gè)默認(rèn)架構(gòu);也可以通過(guò)ssms在該用戶(hù)的屬性下面分配一個(gè)默認(rèn)架構(gòu)。 20. 什么是安全對(duì)象?怎樣為數(shù)據(jù)庫(kù)用戶(hù)指定查詢(xún)表的權(quán)限?答:安全對(duì)象是sql server 數(shù)據(jù)庫(kù)引擎授權(quán)系統(tǒng)控制對(duì)其進(jìn)行訪(fǎng)問(wèn)的資源。安全對(duì)象范圍有服務(wù)器、端點(diǎn)和架構(gòu)。21簡(jiǎn)述自定義函數(shù)、存儲(chǔ)過(guò)程和觸發(fā)器的異同。答:1)自定義函數(shù)、存儲(chǔ)過(guò)程、和觸發(fā)器都是模塊化設(shè)計(jì)的類(lèi)型。2)函數(shù)最后是返回一個(gè)值,在表達(dá)式中調(diào)用,定義函數(shù)時(shí)要定義函數(shù)的函數(shù)名、參數(shù)、函數(shù)值類(lèi)型和函數(shù)體。3)存儲(chǔ)過(guò)程經(jīng)編譯后放在數(shù)據(jù)庫(kù)服務(wù)器端,供客戶(hù)端調(diào)用,處理一件事或完成一個(gè)功能,有單獨(dú)的調(diào)用命令。調(diào)用過(guò)程時(shí),是實(shí)際參數(shù)與
20、形參的傳遞(值傳遞和名傳遞兩種)。定義過(guò)程時(shí)需定義過(guò)程名、參數(shù)、過(guò)程體。它可以實(shí)現(xiàn)完整性控制機(jī)。4)觸發(fā)器實(shí)質(zhì)是一種特殊類(lèi)型的存儲(chǔ)過(guò)程,它在插入、修改或刪除時(shí)觸發(fā)執(zhí)行。能夠?qū)崿F(xiàn)由主鍵和外鍵所不能保證的參照完整性和數(shù)據(jù)的一致性。22(選做)什么是游標(biāo)?應(yīng)用游標(biāo)的步驟是什么?答:游標(biāo)是對(duì)表的運(yùn)用的一種機(jī)制,相當(dāng)于在表上定義一條指針,把表中的數(shù)據(jù)按一行一行的來(lái)讀取。把表中的數(shù)據(jù)取出來(lái)放在高級(jí)語(yǔ)言的變量中,是sql語(yǔ)言與高級(jí)語(yǔ)言之間的橋梁。應(yīng)用游標(biāo)的步驟:(1)聲明游標(biāo)(2)打開(kāi)游標(biāo),即把外存上的數(shù)據(jù)調(diào)入內(nèi)存,運(yùn)行查詢(xún)(3)提取數(shù)據(jù)(4)關(guān)閉游標(biāo)(5)釋放游標(biāo) 23. 有哪幾種恢復(fù)模式和幾種備份類(lèi)型?
21、答: 在數(shù)據(jù)庫(kù)的備份與恢復(fù)關(guān)系中,恢復(fù)決定了備份。一般有以下三種恢復(fù)模式:1) full:完整恢復(fù)模式。還原整個(gè)數(shù)據(jù)庫(kù)時(shí),應(yīng)使用單一還原順序。還原順序由通過(guò)一個(gè)或多個(gè)還原階段來(lái)移動(dòng)數(shù)據(jù)的一個(gè)或多個(gè)還原操作組成。并將省略與此目的不相關(guān)的語(yǔ)法和詳細(xì)信息。涉及到一個(gè)保存歷史事務(wù)日志文件的數(shù)據(jù)庫(kù)。每一個(gè)數(shù)據(jù)變動(dòng)操作歷史記錄都將被保存。2) bulk_logged:大容量日志恢復(fù)模式。與完整恢復(fù)模式(完全記錄所有事務(wù))相比,大容量日志恢復(fù)模式只對(duì)大容量操作進(jìn)行最小記錄(盡管會(huì)完全記錄其他事務(wù))。大容量日志恢復(fù)模式保護(hù)大容量操作不受媒體故障的危害,提供最佳性能并占用最小日志空間。但是,大容量日志恢復(fù)模式會(huì)
22、增加這些大容量復(fù)制操作丟失數(shù)據(jù)的風(fēng)險(xiǎn),因?yàn)榇笕萘咳罩静僮髯柚乖俅尾东@對(duì)每個(gè)事務(wù)逐一所做的更改。如果日志備份包含大容量日志操作,則無(wú)法還原到該日志備份中的時(shí)點(diǎn),而只能還原整個(gè)日志備份。3) simple:簡(jiǎn)單恢復(fù)模式。當(dāng)一個(gè)數(shù)據(jù)庫(kù)設(shè)置為簡(jiǎn)單恢復(fù)模式,這意味著日志文件不會(huì)被永久保存。因此,當(dāng)執(zhí)行一個(gè)tsql聲明,任何改變被寫(xiě)入數(shù)據(jù)和日志文件,但這些日志文件在被刪節(jié)(清理)之前不會(huì)保存很長(zhǎng)一段時(shí)間。5、 分析討論 通過(guò)實(shí)驗(yàn)我覺(jué)得最重要的是系統(tǒng)分析,邏輯設(shè)計(jì)和物理設(shè)計(jì)時(shí)一定要認(rèn)真想清楚每張表的屬性和它們之間的相互聯(lián)系,這樣在后面使用查詢(xún)的時(shí)候才不會(huì)出錯(cuò),如果前面沒(méi)做好,后面做查詢(xún)的時(shí)候就會(huì)出現(xiàn)各種錯(cuò)誤
23、,如數(shù)據(jù)結(jié)構(gòu)定義不統(tǒng)一,外鍵沖突等問(wèn)題。除此之外要做好一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),要掌握好學(xué)習(xí)中的每一步,平時(shí)上課學(xué)習(xí)很有用,好好學(xué)了,做的時(shí)候就會(huì)比較輕松。除此之外,我覺(jué)得函數(shù)和觸發(fā)器那部分比較難,只會(huì)實(shí)現(xiàn)簡(jiǎn)單的查詢(xún)、刪除、修改控制。對(duì)基于多表的帶參函數(shù)運(yùn)用還比較弱。6、 具體實(shí)驗(yàn)步驟餐飲綜合管理系統(tǒng)1、簡(jiǎn)要的系統(tǒng)需求分析隨著社會(huì)經(jīng)濟(jì)的高速發(fā)展,酒店的餐飲管理也面對(duì)著不小的挑戰(zhàn)。日益增大的客流量、逐漸加快的生活節(jié)奏,都使得人們對(duì)餐飲行業(yè)的服務(wù)質(zhì)量有了更高的要求。因此,我們的餐飲管理系統(tǒng)不僅需要有完善的、人性化的界面,還需要有一套完整的流程體系。要盡可能的簡(jiǎn)化人員的工作程序、減少工作量,使得酒店、餐廳的營(yíng)
24、業(yè)更加的便利、快捷,擴(kuò)大知名度。現(xiàn)將具體的系統(tǒng)功能羅列如下:?jiǎn)T工可以實(shí)現(xiàn)以下功能:添加修改查詢(xún)客戶(hù)會(huì)員信息(修改客戶(hù)信息需客戶(hù)確認(rèn))查詢(xún)確認(rèn)客戶(hù)所下的菜單管理員可以實(shí)現(xiàn)以下功能:對(duì)客戶(hù)信息實(shí)現(xiàn)“增、刪、改、查” 添加修改查詢(xún)菜單信息,最好能看到菜品圖片對(duì)職員信息實(shí)現(xiàn)“增、刪、改、查” 可以查詢(xún)使用者的現(xiàn)金收款金額除了實(shí)現(xiàn)以上功能外,本系統(tǒng)還需要方便用戶(hù)地使用,使得用戶(hù)可以很快地熟練掌握,從而可以讓用戶(hù)快速的投入工作。并且要避免邏輯錯(cuò)誤的出現(xiàn)。2、 概念設(shè)計(jì)2.1邏輯結(jié)構(gòu)設(shè)計(jì)e-r圖:廚師姓名廚師編號(hào)廚房餐桌類(lèi)型餐桌餐桌編號(hào)餐桌狀態(tài)審查日期職員編號(hào)財(cái)務(wù)部門(mén)填表日期職員姓名菜式價(jià)格菜式編號(hào)菜單菜式
25、名稱(chēng)菜式詳情職員編號(hào)賬單編號(hào)賬單消費(fèi)總額顧客編號(hào)經(jīng)手人顧客編號(hào)顧客人數(shù)餐桌編號(hào)廚師編號(hào)顧客菜式價(jià)格菜式編號(hào)顧客編號(hào)點(diǎn)菜餐桌n 菜單訂座n點(diǎn)菜 11顧客賬單1n財(cái)務(wù)部門(mén)1結(jié)賬1財(cái)務(wù)管理將er模型轉(zhuǎn)化為關(guān)系模型(下劃線(xiàn)為主鍵)1)餐桌(餐桌編號(hào)+餐桌狀態(tài)+餐桌類(lèi)型);2)顧客(顧客編號(hào)+餐桌編號(hào)+賬單編號(hào)+顧客人數(shù)+廚師編號(hào));3)賬單(賬單編號(hào)+顧客編號(hào)+消費(fèi)總額+職員編號(hào)+經(jīng)手人);4)菜單(菜式編號(hào)+菜式名稱(chēng)+菜式價(jià)格+菜式詳情);5)點(diǎn)菜(顧客編號(hào)+菜式編號(hào)+菜式價(jià)格);6)廚房(廚師編號(hào)+廚師名稱(chēng));7)財(cái)務(wù)部門(mén)(職員編號(hào)+職員姓名+審查日期+填表日期)。2.2數(shù)據(jù)庫(kù)的物理設(shè)計(jì)餐桌編號(hào)字
26、段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1餐桌編號(hào)intnot null primary key2餐桌狀態(tài)char(10)not null 3餐桌類(lèi)型char(10)not null顧客編號(hào)字段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1顧客編號(hào)intnot null primary key2餐桌編號(hào)intforeign key3廚師編號(hào)intforeign key4顧客人數(shù)intnull5賬單編號(hào)intnot null 賬單編號(hào)字段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1賬單編號(hào)intnot null primary key2顧客編號(hào)intforeign key3職員編號(hào)intforeign key4經(jīng)手人char(50)not null菜單編號(hào)字
27、段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1菜式編號(hào)intnot null primary key2菜式名稱(chēng)char(50)not null3菜式價(jià)格money104菜式詳情textnull廚房編號(hào)字段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1廚師編號(hào)intnot null primary key2廚師姓名char(50)not null3廚師月薪moneynot null財(cái)務(wù)部門(mén)編號(hào)字段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1職員編號(hào)intnot null primary key2職員姓名char(50)not null3審查日期datanot null4填表日期datanot null點(diǎn)菜編號(hào)字段名稱(chēng)數(shù)據(jù)結(jié)構(gòu)約束條件1詳情編號(hào)intnot nul
28、l primary key2菜式編號(hào)intnot null 3菜式份數(shù)intnot null4賬單編號(hào)intnot null 3、 t-sql命令方式創(chuàng)建數(shù)據(jù)庫(kù)文件、表、索引、聯(lián)系和主鍵、外鍵等約束 1)創(chuàng)建數(shù)據(jù)庫(kù):create database 餐廳管理系統(tǒng)on primary( name=rr_dat, filename=e:rrrr_dat.mdf, size=5, maxsize=30, filegrowth=2 )log on( name=rr_log, filename=f:rrlogrr_log.ldf, size=3, maxsize=10, filegrowth=10% )u
29、se 餐廳管理系統(tǒng)2) 創(chuàng)建表結(jié)構(gòu):create table 餐桌( 餐桌編號(hào) int primary key, 餐桌類(lèi)型 char(10), 餐桌狀態(tài) char(10) not null)create table 菜單( 菜式編號(hào) int primary key, 菜式名稱(chēng) char(50) not null, 菜式價(jià)格 money not null, 菜式詳情 text)create table 廚房( 廚師編號(hào) int primary key, 廚師姓名 char(50) not null)create table 財(cái)務(wù)部門(mén)( 職員編號(hào) int primary key, 職員姓名 cha
30、r(50), 審查日期 date, 填表日期 date)create table 顧客( 顧客編號(hào) int primary key, 餐桌編號(hào) int references 餐桌(餐桌編號(hào)), 廚師編號(hào) int references 廚房(廚師編號(hào)), 顧客人數(shù) int )create table 賬單( 賬單編號(hào) int primary key, 顧客編號(hào) int references 顧客(顧客編號(hào)), 職員編號(hào) int references 財(cái)務(wù)部門(mén)(職員編號(hào)), 消費(fèi)總額 money not null, 經(jīng)手人 char(50) not null)3) 修改表中屬性:alter tab
31、le 餐桌alter column 餐桌狀態(tài) char(10) not null4) 創(chuàng)建索引:create index 菜式價(jià)格 on 菜單(菜式價(jià)格)exec sp_helpindex 菜單5)創(chuàng)建約束:alter table 菜單add constraint ck_菜式價(jià)格check (菜式價(jià)格10)6)添加數(shù)據(jù): insert into 財(cái)務(wù)部門(mén) values(1,張莉,2013/1/2,2013/2/5)insert into 財(cái)務(wù)部門(mén) values(2,張宏旭,2013/1/3,2013/2/5)insert into 財(cái)務(wù)部門(mén) values(3,馬一菲,2013/1/5,2013
32、/2/5)select *from 財(cái)務(wù)部門(mén)7) 更新數(shù)據(jù):update 餐桌 set 餐桌狀態(tài)=占用 -顧客入座后,把餐桌狀態(tài)置為占用表示已占座from 餐桌,顧客 where 餐桌.餐桌編號(hào) = 顧客.餐桌編號(hào)select * from 餐桌8) 查詢(xún)命令:-投影和選擇select 賬單.賬單編號(hào),sum(菜式價(jià)格*菜式份數(shù)) as 消費(fèi)總額from dbo.菜單,dbo.賬單,dbo.點(diǎn)菜where 賬單.賬單編號(hào)=點(diǎn)菜.賬單編號(hào) and 點(diǎn)菜.菜式編號(hào)=菜單.菜式編號(hào)group by 賬單.賬單編號(hào) select 顧客.餐桌編號(hào) from 顧客select 菜式名稱(chēng), 菜式價(jià)格 fro
33、m 菜單select 廚師編號(hào),廚師姓名,avg(廚師月薪)as 工資 from dbo.廚房group by 廚師編號(hào),廚師姓名having avg(廚師月薪)2500 -條件查詢(xún) select * from 菜單where 菜式價(jià)格30 and 菜式詳情 like 招牌特色 -多表連接,選擇某位顧客的烹飪廚師姓名select 廚房.廚師編號(hào),廚房.廚師姓名,顧客.顧客編號(hào) from 廚房,顧客where 廚房.廚師編號(hào)=顧客.廚師編號(hào)select 賬單.職員編號(hào),職員姓名,顧客編號(hào) from 賬單,財(cái)務(wù)部門(mén)where 財(cái)務(wù)部門(mén).職員編號(hào)=賬單.職員編號(hào)order by 職員編號(hào) -子查詢(xún)
34、select * from 菜單where 菜式價(jià)格=(select avg(菜式價(jià)格)from 菜單) select * from 餐桌where 餐桌.餐桌編號(hào)all(select 顧客.餐桌編號(hào) from 顧客) -查詢(xún)結(jié)果保存select 菜式名稱(chēng), 菜式價(jià)格into m_infofrom 菜單,點(diǎn)菜where 菜單.菜式編號(hào)=點(diǎn)菜.菜式編號(hào)order by 菜式價(jià)格select *from m_info9) 創(chuàng)建視圖:1. 基于單表的: -建立視圖 create view menu as select 菜式編號(hào),菜式名稱(chēng),菜式價(jià)格,菜式詳情from dbo.菜單exec sp_hel
35、ptext menu2. 基于多表的: -多表連接視圖 create view 賬單處理(賬單編號(hào),職員編號(hào),職員姓名,處理日期) as select 賬單.賬單編號(hào),賬單.職員編號(hào),職員姓名,填表日期 from dbo.賬單,dbo.財(cái)務(wù)部門(mén) where 賬單.職員編號(hào)=財(cái)務(wù)部門(mén).職員編號(hào) sp_helptext 賬單處理3. 包含計(jì)算的:-統(tǒng)計(jì)計(jì)算的視圖create view 廚師信息asselect 廚房.廚師編號(hào),廚師姓名, 賬單.賬單編號(hào),avg(廚師月薪)as 平均薪資from 廚房,賬單 where 賬單.經(jīng)手人=廚房.廚師姓名group by 廚房.廚師編號(hào),廚師姓名, 賬單.
36、賬單編號(hào) sp_helptext 廚師信息10) 對(duì)視圖進(jìn)行插入、刪除、修改數(shù)據(jù)操作: -查詢(xún)視圖 select*from menuwhere 菜式價(jià)格20 and 菜式價(jià)格0 begin set p=p+substring(p,i,1) set i=i-1 end set p=right(p,n) return p end select dbo.word_reve(i am rmy.) 參數(shù)化查詢(xún)的功能(根據(jù)訂單的編號(hào)查詢(xún)訂單中的菜式情況) -參數(shù)化查詢(xún)功能 create function 點(diǎn)菜情況(點(diǎn)菜編號(hào) int) returns table as return(select 菜式名稱(chēng),
37、賬單編號(hào),菜式份數(shù),菜式詳情 from 點(diǎn)菜,菜單 where 賬單編號(hào)=點(diǎn)菜編號(hào) and 菜單.菜式編號(hào)=點(diǎn)菜.菜式編號(hào)) select * from 點(diǎn)菜情況(2)12) 利用游標(biāo)進(jìn)行數(shù)據(jù)處理 -游標(biāo)的使用 declare cur_人員 cursor global scroll dynamic for select 職員編號(hào),職員姓名,填表日期 from 財(cái)務(wù)部門(mén) open cur_人員 fetch next from cur_人員 while fetch_status=0 begin fetch next from cur_人員 end13) 編寫(xiě)一個(gè)實(shí)現(xiàn)修改表的觸發(fā)器,實(shí)現(xiàn)完整性控制。
38、 -觸發(fā)器 create trigger cddel on dbo.菜單 for delete as begin declare bh char(4) select bh=菜式編號(hào) from deleted if exists (select * from 點(diǎn)菜 where 菜式編號(hào)=bh) update dbo.點(diǎn)菜 set 點(diǎn)菜.菜式編號(hào)=null where 點(diǎn)菜.菜式編號(hào)=bh end delete from 菜單 where 菜式編號(hào)=2014) 設(shè)置服務(wù)器身份驗(yàn)證模式。用命令創(chuàng)建若干不同驗(yàn)證模式的登錄賬戶(hù)。(1)在控制面板了面創(chuàng)建用戶(hù)(2)創(chuàng)建windows身份驗(yàn)證和sql server的登錄賬戶(hù)15) 將部分登錄賦予服務(wù)器角色。然后撤消。 exec sp_addsrvrolemember 四葉草,sysadmin exec sp_addsrvrolemember zy-20080929tqyo滿(mǎn)天星,dbcreator exec sp_helpsrvrolemember sysadmin exec sp_helpsrvrole
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幾百幾十?dāng)?shù)乘以一位數(shù)質(zhì)量作業(yè)口算題帶答案
- 水電站運(yùn)行承包合同
- 物流配送車(chē)輛購(gòu)買(mǎi)和租賃合同
- 彩鋼房購(gòu)銷(xiāo)合同
- 旅游景點(diǎn)租賃合同
- 度棉花購(gòu)銷(xiāo)合同樣本
- 2025年供暖系統(tǒng)改進(jìn)與完善合同
- 2025年醫(yī)藥產(chǎn)品購(gòu)銷(xiāo)合同范本
- 2025年企業(yè)員工餐廳食材選購(gòu)合同范文
- 2025年兒童樂(lè)園運(yùn)營(yíng)管理與維護(hù)成效合同范本
- 蘇教版數(shù)學(xué)二年級(jí)下冊(cè)《認(rèn)識(shí)時(shí)分》教案(無(wú)錫公開(kāi)課)
- 軌道交通云平臺(tái)業(yè)務(wù)關(guān)鍵技術(shù)發(fā)展趨勢(shì)
- 打造金融級(jí)智能中臺(tái)的數(shù)據(jù)底座
- 工程合同管理教材(共202頁(yè)).ppt
- ANKYLOS機(jī)械并發(fā)癥處理方法
- 道路橋梁實(shí)習(xí)日記12篇
- 第十章運(yùn)動(dòng)代償
- 氬弧焊機(jī)保養(yǎng)記錄表
- 明星97iii程序說(shuō)明書(shū)
- 《企業(yè)經(jīng)營(yíng)統(tǒng)計(jì)學(xué)》課程教學(xué)大綱
- 交通安全設(shè)施養(yǎng)護(hù)技術(shù).ppt
評(píng)論
0/150
提交評(píng)論