資源描述:
《數(shù)據(jù)庫完整性與安全性實驗》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、北京郵電大學(xué)實驗報告課程名稱數(shù)據(jù)庫系統(tǒng)概念實驗名稱數(shù)據(jù)庫完整性與安全性實驗教師______成績___________實驗?zāi)康模?.通過對完整性規(guī)則的定義實現(xiàn),熟悉了解SQLServer數(shù)據(jù)庫中實體完整性、參照完整性、斷言等完整性保證的規(guī)則和實現(xiàn)方法,加深對數(shù)據(jù)完整性的理解。2.通過對安全性相關(guān)內(nèi)容的定義,熟悉了解SQLServer數(shù)據(jù)庫中安全性的內(nèi)容和實現(xiàn)方法,加深對數(shù)據(jù)庫安全性的理解。實驗內(nèi)容:一)完整性實驗與要求:一、建表階段1.利用SQL語句,分別定義數(shù)據(jù)庫中各基本表的主鍵、候選鍵、外鍵,實現(xiàn)實體完整性約束和參照完整性約束。2.在數(shù)據(jù)庫中選取兩張或三張具有外鍵關(guān)聯(lián)的表,
2、利用語句foreignkey-references創(chuàng)建外鍵,實現(xiàn)參照完整性約束。3.根據(jù)實際背景,對某些表中的某些特定屬性,定義空值、非空約束。4.建表時,使用check謂詞,通過斷言,添加如下一些約束:(1)1個MSC最多管理10個BSC。(2)1個BSC最多管理50個小區(qū)/扇區(qū)。(3)1個BTS可以連接至1-3個BSC。(4)1個MS可以位于1到6個BTS的覆蓋范圍內(nèi)。(5)小區(qū)/扇區(qū)所使用的頻點號在[1,124]之間。二、主鍵/候選鍵約束驗證1.選取定義了主鍵的關(guān)系表,向該表插入在主屬性上取值為空的元組,觀察系統(tǒng)反應(yīng);選取表中某些或某個元組,修改這些元組在主屬性上的取值
3、,或插入新元組,使這些元組與表中已有其它元組的主屬性取值相同,觀察系統(tǒng)反應(yīng);2.選取定義了候選鍵的關(guān)系表,向該表插入在候選鍵屬性上取值為空的元組,觀察系統(tǒng)反應(yīng);選取表中某些或某個元組,修改這些元組在候選鍵屬性上的取值,或插入新元組,使這些元組與表中已有其它元組的候選鍵屬性取值相同,觀察系統(tǒng)反應(yīng);三、外鍵約束驗證1.選取相互間定義了外鍵關(guān)聯(lián)的一組表,分別在參照關(guān)系、被參照關(guān)系上,對表的主屬性/外鍵屬性作插入、刪除、更新等操作,觀察當(dāng)1個表(如參照關(guān)系表、被參照關(guān)系表)在外鍵或主屬性屬性上的取值發(fā)生變化時,數(shù)據(jù)庫管理系統(tǒng)對這些操作的反應(yīng),以及另外一個表(如被參照關(guān)系表、參照關(guān)系表
4、)在主屬性或外鍵屬性上的取值的變化,并記錄實驗結(jié)果。上述插入、刪除、更新操作操作分為違反約束和不違反約束兩種情況。2.觀察級聯(lián)操作對外鍵約束的影響1)對相互間定義了外鍵關(guān)聯(lián)關(guān)系的一組表,分別使用foreignkey-referencesondeletecascadeonupdatecascadeoninsertcascade語句創(chuàng)建級聯(lián)外鍵約束。2)分別在參照關(guān)系、被參照關(guān)系上,對表的主屬性/外鍵屬性作插入、刪除、更新等操作,觀察當(dāng)1個表(如參照關(guān)系表、被參照關(guān)系表)在外鍵或主屬性屬性上的取值發(fā)生變化時,數(shù)據(jù)庫管理系統(tǒng)對這些操作的反應(yīng),以及另外一個表(如被參照關(guān)系表、參照關(guān)系
5、表)在主屬性或外鍵屬性上的取值的變化,并記錄實驗結(jié)果。上述插入、刪除、更新操作操作分為違反約束和不違反約束兩種情況。三、check/觸發(fā)器約束驗證選取建表階段定義的2個斷言約束,對斷所涉及的元組屬性做插入、刪除、更新操作,觀察當(dāng)違反斷言、觸發(fā)器約束條件時,DBMS的反映和關(guān)系表內(nèi)元組數(shù)據(jù)的變化(對觸發(fā)器)。一)安全性實驗內(nèi)容與要求:SQLServer數(shù)據(jù)庫實驗:SQLServer提供了多種安全機制。主要的有如下3條:1.最小權(quán)限原則:SQLServer通過給不同用戶賦予不同權(quán)限的方式來保證安全。本原則要求只給某用戶完成工作所必須的權(quán)限,以盡量減小用戶有意或無意的錯誤對數(shù)據(jù)庫造
6、成的損害。2.CIA原則:C:機密性,未授權(quán)者或使用非法手段無法訪問數(shù)據(jù)。I:完整性,未授權(quán)者或使用非法手段無法修改數(shù)據(jù)。A:可用性,已授權(quán)者可隨時使用數(shù)據(jù)。3.深度防護(hù):實際上任何一個程序都運行在操作系統(tǒng)上,一臺計算機上還有其它應(yīng)用程序。所以SQLServer的安全不能僅僅考慮本身的安全,而必須結(jié)合操作系統(tǒng)安全及其它相關(guān)因素(比如殺毒軟件和防火墻)來考慮。這就是深度防護(hù)。SQLServer僅僅運行在Windows操作系統(tǒng)上,允許直接使用Windows用戶作為SQLServer用戶,由于是同一公司的產(chǎn)品,其和操作系統(tǒng)的聯(lián)系和配合特別緊密,為其它數(shù)據(jù)庫所遠(yuǎn)遠(yuǎn)不及的。在SQLSe
7、rver服務(wù)器及其它Windows服務(wù)器上,應(yīng)該進(jìn)行多方面的安全配置:包括操作系統(tǒng)補丁管理、管理員用戶和組管理、其它本地用戶組管理和設(shè)置本地安全策略。為了提供網(wǎng)絡(luò)上的客戶端訪問,還需要進(jìn)行端點等相關(guān)設(shè)置。SQLServer對兩種實體提供安全機制。分別是登錄名(以前曾稱為login,現(xiàn)在在T-SQL中仍然這樣使用,但為避免混淆,Microsoft已經(jīng)開始改稱其為服務(wù)器主體)和用戶名(user,就是數(shù)據(jù)庫主體)?,F(xiàn)在有3種登錄名:windows域登錄名(就是域用戶),windows本地登錄名(本地用戶)和S