共用方式為


資料完整性基本概念

指定資料表值域的第一步是要決定資料行的資料類型。值域是指資料行中所有可允許值的集合。值域不只包含強制資料類型的概念,還包含資料行中允許的數值。例如,Production.Product 資料表中 Color 資料行的值域包含 nvarchar 資料類型,以及 15 個字元的大小限制。值域也可以指定資料行中允許的字元字串,例如 Red、Blue、Green、Yellow、Brown、Black、White、Teal、Gray 和 Silver。如需詳細資訊,請參閱<資料類型 (Database Engine)>。

Null 值

資料行可以接受或拒絕 Null 值。NULL 是資料庫中的特殊值,用來代表未知值的概念。NULL 與空白字元或 0 不同。空白實際上是有效的字元,而 0 是有效的數字。NULL 只代表不知道數值究竟為何這樣的一個概念。NULL 也與零長度的字串不同。如果資料行定義中包含 NOT NULL 子句,就無法插入包含 NULL 值的資料列。如果資料行定義中只包含 NULL 關鍵字,就可以接受 NULL 值。

資料行中若允許 NULL 值,使用該資料行所做的任何邏輯比較,都會變得比較複雜。ISO 標準明訂與 NULL 值相比的任何比較,既不會評估為 TRUE,也不會評估為 FALSE,而是評估為 UNKNOWN。這會將三個值的邏輯導入比較運算子,這可能不容易做正確的管理。

條件約束、規則、預設值與觸發程序

資料表的資料行除了資料類型與大小之外還具有屬性。這些其他屬性是很重要的部份,保證資料庫中資料的完整性以及資料表的參考完整性:

  • 資料完整性是指資料行的每筆資料都擁有正確的資料值。資料值必須屬於正確的資料類型,而且在正確的值域內。

  • 參考完整性表示正確地維護資料表之間的關係。一個資料表中的資料只應該指向另一個資料表中現有的資料列;而不應該指向不存在的資料列。

下列物件是用來維護兩種類型的完整性:

請參閱

概念

其他資源