1. 程式人生 > >資料庫系統概論學習筆記----表級完整性約束與列級完整性約束

資料庫系統概論學習筆記----表級完整性約束與列級完整性約束

建表的同時通常還可以定義與該表有關的完整性約束條件,這些完整性約束條件被存入系統的資料字典中,當用戶操作表中資料時由DBMS自動檢查該操作是否違背這些完整性約束條件。

如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。 

表級完整性約束必須定義在列級完整性約束的後面。

 例1 建立一個“學生”表Student,它由學號Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個屬性組成。其中學號不能為空,值是唯一的,並且姓名取值也唯一。 

    CREATE TABLE Student 
   (Sno CHAR(5)NOT NULL UNIQUE, /*列級完整性約束條件,Sno取值唯一, 
    Sname CHAR(20)UNIQUE, 不許取空值*/ 
    Ssex CHAR(1), 
    Sage INT, 
    Sdept CHAR(15)); 
  
常用完整性約束: 
主碼約束:    PRIMARY  KEY 
唯一性約束:UNIQUE 
非空值約束:NOT NULL 
參照完整性約束