數(shù)據(jù)庫原理與應(yīng)用清華大學(xué)版課后答案數(shù)據(jù)庫完整性_第1頁
數(shù)據(jù)庫原理與應(yīng)用清華大學(xué)版課后答案數(shù)據(jù)庫完整性_第2頁
數(shù)據(jù)庫原理與應(yīng)用清華大學(xué)版課后答案數(shù)據(jù)庫完整性_第3頁
數(shù)據(jù)庫原理與應(yīng)用清華大學(xué)版課后答案數(shù)據(jù)庫完整性_第4頁
數(shù)據(jù)庫原理與應(yīng)用清華大學(xué)版課后答案數(shù)據(jù)庫完整性_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第13章數(shù)據(jù)庫完整性練習(xí)題13及參考答案1 .什么是數(shù)據(jù)完整性如果數(shù)據(jù)庫不實(shí)施數(shù)據(jù)完整性會(huì)產(chǎn)生什么結(jié)果答:數(shù)據(jù)完整性是指數(shù)據(jù)的正確性、完備性和一致性,是衡量數(shù)據(jù)庫質(zhì)量好壞的重要標(biāo)準(zhǔn)。如果數(shù)據(jù)庫不實(shí)施數(shù)據(jù)完整性,在用INSERT DELETE UPDAT碑句修改數(shù)據(jù)庫內(nèi)容時(shí),數(shù)據(jù)的完整性可能會(huì)遭到破壞,就可能會(huì)存在下列情況:無效的數(shù)據(jù)被添加到數(shù)據(jù)庫 的表中,如:將學(xué)生考試成績(jī)輸入成負(fù)數(shù);對(duì)數(shù)據(jù)庫的修改不一致,如:在一個(gè)表中修改 了某學(xué)生的學(xué)號(hào),但該學(xué)生的學(xué)號(hào)在另外一個(gè)表中卻沒有得到修改;將存在的數(shù)據(jù)修改為 無效的數(shù)據(jù),如:將某學(xué)生的班號(hào)修改為并不存在的班級(jí)號(hào)。2 .數(shù)據(jù)完整性有哪幾類如何實(shí)施它們

2、分別在什么級(jí)別上實(shí)施答:數(shù)據(jù)完整f分為以下 3類:(1)域完整性:是指一個(gè)列的輸入有效性, 是否允許為空值。強(qiáng)制域完整性的方法有: 限制類型(通過設(shè)定列的數(shù)據(jù)類型)、格式(通過CHEC的束和規(guī)則)或可能值的范圍(通 過FOREIGN KEY勺束、CHECK勺束、DEFAULT1義、NOT NULLt義和規(guī)貝U)。如:學(xué)生的考 試成績(jī)必'須在0100之間,性別只能是“男”或“女”。(2)實(shí)體完整性:是指保證表中所有的行唯一。實(shí)體完整性要求表中的所有行都有一個(gè)唯一標(biāo)識(shí)符。這個(gè)唯一標(biāo)識(shí)符可能是一列,也可能是幾列的組合,稱之為主鍵。也就是說,表中的主鍵在所有行上必須取唯一值。強(qiáng)制實(shí)體完整性的方

3、法有:索引、UNIQUE勺束、PRIMARY KEY勺束或IDENTITY屬性。如:student表中sno (學(xué)號(hào))的取值必須唯一,它 唯一標(biāo)識(shí)了相應(yīng)記錄所代表的學(xué)生,學(xué)號(hào)重復(fù)是非法的。學(xué)生的姓名不能作為主鍵,因?yàn)?完全可能存在兩個(gè)學(xué)生同名同姓的情況。(3)參照完整性:是指保證主關(guān)鍵字 (被引用表)和外部關(guān)鍵字(引用表)之的參照關(guān) 系。它涉及兩個(gè)或兩個(gè)以上表數(shù)據(jù)的一致性維護(hù)。外鍵值將引用表中包含此外鍵的記錄和 被引用表中主鍵和外鍵相匹配的記錄關(guān)聯(lián)起來。在輸入、更改或刪除記錄時(shí),參照完整性 保持表之間己定義的關(guān)系,確保鍵值在所有表中一致。這樣的一致性要求確保不會(huì)引用不 存在的值,如果鍵值更改了

4、,那么在整個(gè)數(shù)據(jù)庫中,對(duì)該鍵值的所有引用要進(jìn)行一致的更 改。參照完整性是基于外鍵與主鍵之間的關(guān)系。例如學(xué)生學(xué)習(xí)課程的課程號(hào)必須是有效的 課程號(hào),表score表(成績(jī)表)的外鍵 cno (課程號(hào))將參考表 course表(課程表)中主 鍵cno (課程號(hào))以實(shí)現(xiàn)數(shù)據(jù)完整性。域完整性、實(shí)體完整性及參照完整性分別在列、行、表上實(shí)施。數(shù)據(jù)完整性任何時(shí)候 都可以實(shí)施,但對(duì)己有數(shù)據(jù)的表實(shí)施數(shù)據(jù)完整性時(shí),系統(tǒng)要先檢查表中的數(shù)據(jù)是否滿足所 實(shí)施的完整性,只有表中的數(shù)據(jù)滿足了所實(shí)施的完整性,數(shù)據(jù)完整性才能實(shí)施成功。3 .什么是主鍵約束什么是唯一性約束兩者有什么區(qū)別答:主鍵約束保證某一列或一組列值的組合相對(duì)于表中

5、的每一行都是唯一的,這些列 就是該表的主鍵。主鍵不允許有重復(fù)值,也不允許有空值。唯一約束限制表中指定列上所有的非空值必須唯一,即表中任意兩行在指定列上都不 允許有相同的值。唯一約束和主鍵約束的區(qū)別是:(1)唯一約束與主鍵約束都為指定的列建立唯一索引,即不允許唯一索引的列上有相同的值。主鍵約束限制更嚴(yán)格,不但不允許有重復(fù)值,而且也不允許有空值。(2)唯一約束與主鍵約束產(chǎn)生的索引可以是聚簇索引也可以是非聚簇索引,但在缺省情況下唯一約束產(chǎn)生非聚簇索引,主鍵約束產(chǎn)生聚簇索引。4.創(chuàng)建PRIMARY KEY勺束或UNIQUE勺束日SQL Server創(chuàng)建索引了嗎與創(chuàng)建標(biāo)準(zhǔn)索 引相比哪個(gè)更好答:創(chuàng)建 PR

6、IMARY KEY勺束或 UNIQUE勺束日SQL Server創(chuàng)建唯一性索引。與創(chuàng)建標(biāo)準(zhǔn)索引相比,通過創(chuàng)建 PRIMARY KEY勺束或UNIQUE勺束來創(chuàng)建索引更好。上機(jī)實(shí)驗(yàn)題8及操作過程在上機(jī)實(shí)驗(yàn)題7的factory 數(shù)據(jù)庫上,使用T-SQL語句完成如下各題:(1)實(shí)施worker表的“性別”列默認(rèn)值為“男”的約束。(2)實(shí)施salary表的“工資”列值限定在09999的約束。(3)實(shí)施depart表的“部門號(hào)”列值唯一的非聚集索引的約束。(4)為worker表建立外鍵"部門號(hào)”,參考表depart的“部門號(hào)”歹U。(5)建立一個(gè)規(guī)則 sex:覦別='男'OR

7、性別='女,將其綁定到 worker表的“性 別”列上。(6)刪除(1)小題所建立的約束。(7)刪除(2)小題所建立的約束。(8)刪除(3)小題所建立的約束。(9)刪除(4)小題所建立的約束。(10)解除(5)小題所建立的綁定并刪除規(guī)則sex。操作過程(1)對(duì)應(yīng)的程序如下:USE factory GO ALTER TABLE workerADD CONSTRAINT default_sex DEFAULT ' 男'FOR 性另U GO(2)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE salaryADD CONSTRAINT check_salary

8、 CHECK(工資 >0 AND 工資 <9999)GO(3)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE departADD CONSTRAINT unique_depart UNIQUE NONCLUSTEREDB門號(hào))GOEXEC sp_helpindex depart - 顯示 depart 表上的索弓IGO執(zhí)行結(jié)果如下:index_name index_descriptionindex_keysPK_depart clustered,unique,primary key located on PRIMARY部門號(hào)unique_depart nonclu

9、stered,unique,unique key located on PRIMARY部門號(hào)(4)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE workerADD CONSTRAINT FKworkernoFOREIGN KEY( 部門號(hào))REFERENCES depart(部門號(hào))GO(5)對(duì)應(yīng)的程序如下:USE factoryGOCREATE RULE sex AS 峨另U ='男'OR 性另ij ='女'GOEXEC sp_bindrule 'sex','worker.性另 U'GO(6)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE workerDROP CONSTRAINT default_sexGO(7)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE salaryDROP CONSTRAINT check_salaryGO(8)對(duì)應(yīng)的程序如下:USE factoryGOALTER TABLE departDROP CONSTRAINT unique_depa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論