SQLServer第4章(第二部分)設(shè)計(jì)數(shù)據(jù)完整性.ppt_第1頁(yè)
SQLServer第4章(第二部分)設(shè)計(jì)數(shù)據(jù)完整性.ppt_第2頁(yè)
SQLServer第4章(第二部分)設(shè)計(jì)數(shù)據(jù)完整性.ppt_第3頁(yè)
SQLServer第4章(第二部分)設(shè)計(jì)數(shù)據(jù)完整性.ppt_第4頁(yè)
SQLServer第4章(第二部分)設(shè)計(jì)數(shù)據(jù)完整性.ppt_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、教學(xué)提示:數(shù)據(jù)庫(kù)中的數(shù)據(jù)是從外界輸入的,而數(shù)據(jù)的輸入由于種種原因,會(huì)發(fā)生輸入無(wú)效或錯(cuò)誤的信息。那么保證數(shù)據(jù)正確性、一致性和可靠性,就成了數(shù)據(jù)庫(kù)系統(tǒng)關(guān)注的重要問(wèn)題。通過(guò)本章的學(xué)習(xí),讀者應(yīng)該掌握數(shù)據(jù)完整性的概念以及如何實(shí)施數(shù)據(jù)完整性。,教學(xué)要求:應(yīng)掌握: 數(shù)據(jù)完整性概念 各種約束管理技術(shù) 默認(rèn)管理技術(shù) 使用規(guī)則,第四章(第二部分) 設(shè)計(jì)數(shù)據(jù)的完整性,1 數(shù)據(jù)完整性的概念 2 使用約束實(shí)施數(shù)據(jù)完整性,實(shí)體完整性(Entity Integrity) 域完整性(Domain Integrity) 參照完整性(Referential Integrity) 用戶定義的完整性( User-defined In

2、tegrity) 數(shù)據(jù)完整性的實(shí)現(xiàn)方式,NOT NULL(非空)約束 PRIMARY KEY(主鍵)約束 UNIQUE(惟一性)約束 CHECK(檢查)約束 DEFAULT(默認(rèn))約束 FOREIGN KEY(外鍵)約束,第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3 默認(rèn)管理技術(shù) 4使用規(guī)則 5使用IDENTITY(標(biāo)識(shí)符)列,創(chuàng)建默認(rèn) 綁定默認(rèn) 解除綁定默認(rèn) 刪除默認(rèn),創(chuàng)建規(guī)則 綁定規(guī)則 解除綁定規(guī)則 刪除規(guī)則,第4章 設(shè)計(jì)數(shù)據(jù)的完整性,創(chuàng)建IDENTITY列 使用 IDENTITY函數(shù),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),定義 類型 圖示,

3、數(shù)據(jù)完整性用于保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、一致性和可靠性。,1數(shù)據(jù)完整性的概念,實(shí)體完整性(Entity Integrity) 域完整性(Domain Integrity) 參照完整性(Referential Integrity) 用戶定義完整性(User-defined Integrity),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1.1實(shí)體完整性(Entity Integrity),1數(shù)據(jù)完整性的概念(1),實(shí)體完整性用于保證數(shù)據(jù)庫(kù)中數(shù)據(jù)表的每一個(gè)特定實(shí)體的記錄都是唯一的,1數(shù)據(jù)完整性 實(shí)體完整性 域完整性 參照完整性 自定義完整性 完整性實(shí)現(xiàn) 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié)

4、,第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1.2 域完整性(Domain Integrity),1數(shù)據(jù)完整性的概念(2),域完整性是指保證指定列的數(shù)據(jù)具有正確的數(shù)據(jù)類型、格式和有效的數(shù)據(jù)范圍。,1數(shù)據(jù)完整性 實(shí)體完整性 域完整性 參照完整性 自定義完整性 完整性實(shí)現(xiàn) 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1.3 參照完整性(Referential Integrity),1數(shù)據(jù)完整性的概念(3),當(dāng)增加、修改或刪除數(shù)據(jù)庫(kù)表中記錄時(shí),可以借助參照完整性來(lái)保證相關(guān)聯(lián)表之間數(shù)據(jù)的一致性,1數(shù)據(jù)完整性 實(shí)體完整性 域完整性 參照完整性 自定義完整性 完整性實(shí)現(xiàn) 2使用

5、約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1.4用戶定義完整性 (User- defined Integrity),1數(shù)據(jù)完整性的概念(4),這是由用戶定義的完整性。 用戶定義完整性可以定義不屬于其他任何完整性分類的特定業(yè)務(wù)規(guī)則,1數(shù)據(jù)完整性 實(shí)體完整性 域完整性 參照完整性 自定義完整性 完整性實(shí)現(xiàn) 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,1.5數(shù)據(jù)完整性的實(shí)現(xiàn)方式,1數(shù)據(jù)完整性的概念(5),聲明數(shù)據(jù)完整性和過(guò)程數(shù)據(jù)完整性,1數(shù)據(jù)完整性 實(shí)體完整性 域完整性 參照完整性 自定義完整性 完整性實(shí)現(xiàn) 2使用約

6、束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性,2.1 NOTNULL(非空)約束 2.2 PRIMARY KEY(主鍵)約束 2.3 UNIQUE(惟一性)約束 2.4 CHECK(檢查)約束 2.5 DEFAULT(默認(rèn))約束 2.6 FOREIGN KEY(外鍵)約束,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(1),CREATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAIN 約束名 NULL | NOT NULL , ),說(shuō)明:NU

7、LL和NOT NULL分別代表允許為空和不允許為空,不寫(xiě)為允許為空。,2.1 NOTNULL(非空)約束,【例4_1】創(chuàng)建學(xué)生信息表,同時(shí)設(shè)置NOT NULL約束 【例4_2】添加NOT NULL約束到表中,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(2),語(yǔ)法格式1: CREATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAIN 約束名 PRIMARY KEY CLUSTERED | NONCLUSTERED ,),說(shuō)明:語(yǔ)法格式1定義單列主鍵,CLUSTER

8、ED和 NONCLUSTERED 分別代表聚集索引和非聚集索引。,2.2 PRIMARY KEY(主鍵)約束,【例4_3】創(chuàng)建學(xué)生信息表并設(shè)置學(xué)號(hào)列為主鍵,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(3),語(yǔ)法格式2: CREATE TABEL 數(shù)據(jù)表名 (CONSTRAIN 約束名 PRIMARY KEY CLUSTERED | NONCLUSTERED (列名1,n) ,.),說(shuō)明:語(yǔ)法格式2定義多列組合主鍵,CLUSTERED和 NONCLUSTERED 分別代表聚集

9、索引和非聚集索引。,2.2 PRIMARY KEY(主鍵)約束,【例4_4】創(chuàng)建教學(xué)成績(jī)表并設(shè)置組合主鍵 【例4_5】 修改表添加組合主鍵約束,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(4),語(yǔ)法格式1: CREATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAIN 約束名 UNIQUE CLUSTERED | NONCLUSTERED ,.),說(shuō)明:語(yǔ)法格式1定義單列唯一約束,2.3 UNIQUE(唯一性)約束,【例4_6】創(chuàng)建專業(yè)信息表并設(shè)置名稱列為唯一約

10、束,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(5),語(yǔ)法格式2: CREATE TABEL 數(shù)據(jù)表名 (CONSTRAIN 約束名 UNIQUE CLUSTERED | NONCLUSTERED (列名1,n) ,.),說(shuō)明:語(yǔ)法格式2定義多列組合唯一約束,2.3 UNIQUE(唯一性)約束,【例4_7】修改表設(shè)置唯一約束,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束

11、實(shí)施數(shù)據(jù)完整性(6),語(yǔ)法格式: CREATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAINT 約束名 CHECK(邏輯表達(dá)式) ,.),說(shuō)明:如果是在現(xiàn)有表中添加檢查約束,可以設(shè)置WITH NOCHECK ,對(duì)現(xiàn)有數(shù)據(jù)強(qiáng)制約束約束檢查,2.4 CHECK(檢查)約束,【例4_8】創(chuàng)建學(xué)生信息表并定義CHECK約束 【例4_9】在學(xué)生信息表表上添加CHECK約束,限定聯(lián)系電話列的輸入長(zhǎng)度和取值范圍,對(duì)現(xiàn)有數(shù)據(jù)不檢查,即原有的電話號(hào)碼依然有效,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,

12、2使用約束實(shí)施數(shù)據(jù)完整性(7),語(yǔ)法格式1: CREATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAINT 約束名 DEFAULT 默認(rèn)值 ,.) 語(yǔ)法格式2: CREATE TABEL 數(shù)據(jù)表名 (CONSTRAINT 約束名 DEFAULT 默認(rèn)值 FOR 列,.),2.5 DEFAULT(默認(rèn))約束,【例4_10】創(chuàng)建學(xué)生信息表并設(shè)置默認(rèn)約束 【例4_11】在教師信息表上添加默認(rèn)約束,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(8),語(yǔ)法格式1: CRE

13、ATE TABEL 數(shù)據(jù)表名 (列名 數(shù)據(jù)類型 CONSTRAIN 約束名 FOREIGN KEYREFERENCES 參照主鍵表 (參照列) ON DELETE CASCADE | ON UPDATE CASCADE ,.),說(shuō)明:語(yǔ)法格式1定義單列外鍵約束 。ON DELETE CASCADE表示級(jí)聯(lián)刪除,即父表中刪除被引用行時(shí),也將從引用表中刪除引用行; ON UPDATE CASCADE表示級(jí)聯(lián)更新,即父表中更新被引用行時(shí),也將在引用表中更新引用行。,2.6 FOREIGN KEY(外鍵)約束,【例4_12】創(chuàng)建表并定義外鍵,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外

14、鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,2使用約束實(shí)施數(shù)據(jù)完整性(9),語(yǔ)法格式2: CREATE TABEL 數(shù)據(jù)表名 (CONSTRAIN 約束名 FOREIGN KEY (列,n) references 參照主鍵表 (參照列,n) ON DELETE CASCADE | ON UPDATE CASCADE,.),說(shuō)明:語(yǔ)法格式2定義多列組合外鍵約束 。,2.6 FOREIGN KEY(外鍵)約束,【例4_13】在教學(xué)成績(jī)表中添加外鍵約束,參照表為學(xué)生信息表,1數(shù)據(jù)完整性 2使用約束 非空 主鍵 唯一性 檢查 默認(rèn) 外鍵 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)

15、識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3默認(rèn)管理技術(shù),3.1 創(chuàng)建默認(rèn) 3.2 綁定默認(rèn) 3.3 解除綁定默認(rèn) 3.4 刪除默認(rèn),1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3默認(rèn)管理技術(shù)(1),語(yǔ)法格式: CREATE DEFAULT 默認(rèn)名稱 AS 常數(shù)表達(dá)式,說(shuō)明:默認(rèn)值名稱必須符合標(biāo)識(shí)符的規(guī)則。常數(shù)表達(dá)式是指只包含常量值的表達(dá)式(不能包含任何列或其他數(shù)據(jù)庫(kù)對(duì)象的名稱)??梢允褂萌魏纬A?、內(nèi)置函數(shù)或數(shù)學(xué)表達(dá)式。,3.1 創(chuàng)建默認(rèn),【例4_14】在教學(xué)成績(jī)管理數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)默認(rèn)對(duì)象,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù)

16、創(chuàng)建 綁定 解除 刪除 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3默認(rèn)管理技術(shù)(2),語(yǔ)法格式: sp_bindefault defname = 默認(rèn)名稱 , objname = 對(duì)象名 , futureonly = futureonly_flag ,說(shuō)明:可以綁定到列或用戶自定義類型。futureonly_flag僅在將默認(rèn)值綁定到用戶定義的數(shù)據(jù)類型時(shí)才使用,將此參數(shù)設(shè)置為 futureonly 時(shí),只有當(dāng)包含用戶定義數(shù)據(jù)類型的新表創(chuàng)建時(shí),這個(gè)默認(rèn)值才生效。 。,3.2 綁定默認(rèn),【例4_15】將上一節(jié)所創(chuàng)建的默認(rèn)df_學(xué)歷綁定到教師信息表的學(xué)歷列 【例4_16】將默

17、認(rèn)值綁定到用戶定義的數(shù)據(jù)類型。 【例4_17】使用 futureonly_flag。,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 創(chuàng)建 綁定 解除 刪除 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3默認(rèn)管理技術(shù)(3),語(yǔ)法格式: sp_unbindefault objname = 對(duì)象名 , futureonly = futureonly_flag,說(shuō)明:在解除綁定時(shí)不必指出默認(rèn)名稱,因?yàn)樵谥付ǖ膶?duì)象上只有一個(gè)默認(rèn)存在。,3.3 解除綁定默認(rèn),【例4_18】為列解除綁定的默認(rèn)對(duì)象 【例4_19】為用戶自定義數(shù)據(jù)類型解除默認(rèn)值綁定。 【例4_20】使用 futureonly_fl

18、ag。,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 創(chuàng)建 綁定 解除 刪除 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,3默認(rèn)管理技術(shù)(4),語(yǔ)法格式: DROP DEFAULT 默認(rèn)值名 ,.n ,說(shuō)明:使用DROP DEFAULT從當(dāng)前數(shù)據(jù)庫(kù)中刪除一個(gè)或多個(gè)用戶定義的默認(rèn)值。如果有綁定,則先解除綁定,再刪除。,3.4 刪除默認(rèn),【例4_21】刪除默認(rèn)對(duì)象df_學(xué)歷,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 創(chuàng)建 綁定 解除 刪除 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,4使用規(guī)則,4.1 創(chuàng)建規(guī)則 4.2 綁定規(guī)則 4.3 解除綁定規(guī)則 4.4 刪除規(guī)則,1數(shù)據(jù)完整性 2使用約束 3默認(rèn)技術(shù) 4使用規(guī)則 5標(biāo)識(shí)列 6實(shí)訓(xùn) 7小結(jié),第4章 設(shè)計(jì)數(shù)據(jù)的完整性,4使用規(guī)則(2),語(yǔ)法格式: sp_bindrule rulename = 規(guī)則名 , objname = 對(duì)象名 , futur

溫馨提示

  • 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)論