freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫技術(shù)與應(yīng)用—sql_server_2008(第2版)第15章_sql_server_2008數(shù)據(jù)庫的安全性和完整性管理-資料下載頁

2025-01-12 14:24本頁面
  

【正文】 不應(yīng)允許其他雇員使用具有相同值的 employee_id。如果想將? employee_rating? 列的值范圍設(shè)定為 1~ 5,則數(shù)據(jù)庫不應(yīng)接受值 6。數(shù)據(jù)完整性分為下列類別。 ? 1.實體完整性 ? 實體完整性將行定義為特定表的唯一實體。實體完整性通過索引、 UNIQUE約束、 PRIMARY KEY約束或 IDENTITY屬性,強制表的標(biāo)識符列或主鍵的完整性。 數(shù)據(jù)庫完整性概述 ? 2.域完整性 ? 域完整性是指數(shù)據(jù)庫表中的列必須滿足某種特定的數(shù)據(jù)類型或約束。可以強制域完整性限制類型(通過使用數(shù)據(jù)類型)、限制格式(通過使用 CHECK約束和規(guī)則)或限制值的范圍(通過使用 FOREIGN KEY約束、 CHECK約束、 DEFAULT定義、 NOT NULL定義和規(guī)則)。 ? 3.引用完整性 ? 引用完整性以外鍵與主鍵之間或外鍵與唯一鍵之間的關(guān)系為基礎(chǔ)通過 FOREIGN KEY和 CHECK進行約束。引用完整性確保鍵值在所有表中一致。這類一致性要求不能引用不存在的值,如果一個鍵值發(fā)生更改,則整個數(shù)據(jù)庫中,對該鍵值的所有引用要統(tǒng)一進行更改。 數(shù)據(jù)庫完整性概述 ? 4.用戶定義完整性 ? 用戶定義完整性使用戶可以定義不屬于其他任何完整性類別的特定業(yè)務(wù)規(guī)則。 SQL Server提供了一些工具來幫助用戶實現(xiàn)數(shù)據(jù)完整性,其中最主要的是約束、規(guī)則、觸發(fā)器,其中觸發(fā)器在前面章節(jié)中已經(jīng)介紹。 約束的概念和類型 ? 約束是通過限制列中數(shù)據(jù)、行中數(shù)據(jù)和表之間數(shù)據(jù)來保證數(shù)據(jù)完整性的非常有效的方法。約束可以確保把有效的數(shù)據(jù)輸入到列中,并維護表和表之間的特定關(guān)系。 SQL Server 2022 提供了下列機制來強制列中數(shù)據(jù)的完整性: ? ? PRIMARY KEY約束; ? ? FOREIGN KEY約束; ? ? UNIQUE約束; ? ? CHECK約束; ? ? DEFAULT定義; ? ? 允許空值。 約束的概念和類型 ? 定義約束時,既可以把約束放在一個列上,也可以把約束放在多個列上。如果把約束放在一個列上,該約束稱為列級約束,因為它只能由約束所在的列引用;如果把約束放在多個列上,該約束稱為表級約束,這時可以由多個列來引用該約束。 ? 在定義約束或修改約束的定義時,應(yīng)該考慮下列情況: ? ? 不必刪除表,就可以直接創(chuàng)建、修改和刪除約束; ? ? 必須在應(yīng)用程序中增加錯誤檢查機制,測試數(shù)據(jù)是否與約束相沖突; ? ? 向表上增加約束時, SQL Server系統(tǒng)將檢查表中的數(shù)據(jù)是否與約束沖突。 約束的概念和類型 ? PRIMARY KEY約束 ? 表中包含唯一標(biāo)識表中每一行的一列或一組列作為 PRIMARY KEY約束。一個表只能有一個 PRIMARY KEY約束,并且PRIMARY KEY約束中的列不能接收空值。 ? 其定義語法格式為: ? [CONSTRAINT constraint_name] ? { PRIMARY KEY | UNIQUE } [CLUSTERED | NONCLUSTERED] ? (column_name1[, column_name2,…,column_name16]) 約束的概念和類型 ? 【 例 】 創(chuàng)建一個簡單的學(xué)生表。 ? CREATE TABLE student( ? StuID int PRIMARY KEY, ? StuName varchar(20) ) ? 或者將 Primary key寫到后面。 ? CREATE TABLE student( ? StuID int, ? StuName varchar(20), ? CONSTRAINT pk_stu_ID PRIMARY KEY(stuID) ) 約束的概念和類型 ? FOREIGN KEY約束 ? 外鍵( FOREIGN KEY)是用于建立和加強兩個表數(shù)據(jù)之間連接的一列或多列。在外鍵引用中,當(dāng)一個表的列被引用作為另一個表的主鍵列時,就在兩表之間創(chuàng)建了連接,這個列就成為第二個表的外鍵。 ? FOREIGN KEY約束要求列中的每個值,都存在于引用的表的對應(yīng)被引用列中。 FOREIGN KEY約束只能引用在引用的表中是 PRIMARY KEY 或 UNIQUE 約束的列。 ? 其定義的語法格式為: ? [ CONSTRAINT constraint_name ] ? [ FOREIGN KEY ] ? REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column [ ,... n ] ) 約束的概念和類型 ? 【 例 】 創(chuàng)建選課表。 ? CREATE TABLE schedule( ? scheduleid int PRIMARY KEY, ? subjectid int REFERENCES subject(subjectid), ? stuID int CONSTRAINT fk_stu_id FOREIGN KEY(StuID) REFERENCES student(StuID) ) ? 其中表? schedule? 具有兩個外鍵,字段? subjectid? 引用的是? subject? 表的主鍵? subjectid? ,而 StuID引用的是? student? 的主鍵 StuID。 Constraint fk_stu_id是約束名稱,如果省略,則系統(tǒng)會指定約束名。 約束的概念和類型 ? UNIQUE約束 ? 使用 UNIQUE約束確保在非主鍵列中不輸入重復(fù)的值。可以對一個表定義多個 UNIQUE約束, UNIQUE約束允許 NULL值,其語法格式請參照。 ? CHECK約束 ? CHECK 約束通過不基于其他列中的數(shù)據(jù)的邏輯表達式確定有效值。例如,可以通過任何基于邏輯運算符返回 TRUE或 FALSE的邏輯(布爾)表達式創(chuàng)建 CHECK約束。 ? 【 例 】 為學(xué)生表身份證增加 Check約束,身份證是 15位或 18位。 ? CREATE TABLE student( ? StuID int PRIMARY KEY, ? StuName varchar(20), ? StuIDCard varchar(18) UNIQUE CHECK(len(StuIDCard)=15 or len(StuIDCard)=15) ) 約束的概念和類型 ? DEFAULT定義 ? 定義列的缺省值,插入數(shù)據(jù)時,如果列不允許空值且沒有DEFAULT定義,就必須為該列指定值。否則數(shù)據(jù)庫會返回錯誤,指出該列不允許空值。 ? 允許空值 ? NULL的意思是沒有輸入,出現(xiàn) NULL通常表示值未知或未定義。 SQL Server建議避免允許空值,因為空值會使查詢和更新變得更復(fù)雜。如果不允許空值,用戶向表中輸入數(shù)據(jù)時必須在列中輸入一個值,否則數(shù)據(jù)庫將不接收該表行。 管理約束 ? 在所要修改的表上用鼠標(biāo)右鍵單擊,在快捷菜單中選擇?修改?,出現(xiàn)表的屬性頁,可設(shè)置允許空值約束,在所要修改的列名上用鼠標(biāo)右鍵單擊,出現(xiàn)快捷菜單,如圖。快捷菜單上?設(shè)置主鍵?用來設(shè)置 PRIMARY KEY約束,?關(guān)系?用來設(shè)置 FOREIGN KEY約束,?索引 /鍵?用來設(shè)置 UNIQUE約束,? CHECK約束?可直接設(shè)置 CHECK約束。下方?默認值或綁定?則可用來設(shè)置 DEFAULT定義。 管理約束
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1