NOT NULL : 用於控制字段的內容一定不能爲空(NULL)。
UNIQUE : 控件字段內容不能重複,一個表允許有多個 Unique 約束。
PRIMARY KEY: 也是用於控件字段內容不能重複,但它在一個表只允許出現一個。
FOREIGN KEY: FOREIGN KEY 約束用於預防破壞表之間連接的動作,FOREIGN KEY 約束也能防止非法數據插入外鍵列,因爲它必須是它指向的那個表中的值之一。
CHECK: 用於控制字段的值範圍。
DEFAULT: 用於設置新記錄的默認值。
觸發器是一種特殊類型的存儲過程,觸發器組要通過事件進行觸發被自動調用執行的。而存儲過程可以通過存儲過程的名稱被調用。
觸發器對錶進行插入、更新、刪除的時候會自動執行的特殊存儲過程。觸發器一般用在check約束更加複雜的約束上面。觸發器和普通的存儲過程的區別是:觸 發器是當對某一個表進行操作。諸如:update、insert、delete這些操作的時候,系統會自動調用執行該表上對應的觸發器。SQL Server 2005中觸發器可以分爲兩類:DML觸發器和DDL觸發器,其中DDL觸發器它們會影響多種數據定義語言語句而激發,這些語句有create、 alter、drop語句。
3.SQL觸發器
DML觸發器分爲:
1、 after觸發器(之後觸發)
a、 insert觸發器
b、 update觸發器
c、 delete觸發器
其中after觸發器要求只有執行某一操作insert、update、delete之後觸發器才被觸發,且只能定義在表上。而instead of觸發器表示並不執行其定義的操作(insert、update、delete)而僅是執行觸發器本身。既可以在表上定義instead of觸發器,也可以在視圖上定義。3.索引定義
2、建立索引的優缺點:
優點:
1.大大加快數據的檢索速度;
2.創建唯一性索引,保證數據庫表中每一行數據的唯一性;
3.加速表和表之間的連接;
4.在使用分組和排序子句進行數據檢索時,可以顯著減少查詢中分組和排序的時間。
缺點:
1.索引需要佔用數據表以外的物理存儲空間
2.創建索引和維護索引要花費一定的時間
3.當對錶進行更新操作時,索引需要被重建,這樣降低了數據的維護速度。
索引類型:在數據庫設計器中創建索引:
唯一索引:唯一索引不允許兩行具有相同的索引值
主鍵索引:爲表定義一個主鍵將自動創建主鍵索引,主鍵索引是唯一索引的特殊類型。主鍵索引要求主鍵中的每個值是唯一的,並且不能爲空
聚集索引(Clustered):表中各行的物理順序與鍵值的邏輯(索引)順序相同,每個表只能有一個
非聚集索引(Non-clustered):非聚集索引指定表的邏輯順序。數據存儲在一個位置,索引存儲在另一個位置,索引中包含指向數據存儲位置的指針。可以有多個,小於249個。
索引的實現方式:
1.B+樹。2.散列索引。3.位圖索引。