資料庫 怎樣實現資料完整性

2021-07-27 12:52:50 字數 2301 閱讀 7864

一:可以使用約束實現資料完整性

二:可以使用規則和預設值

三:在此之前先了解建立資料表的基本知識

建立乙個名字為student的資料庫

然後在student 的下邊建立乙個名字為student1的表

要求如下

屬性名資料型別

可否為空

約束要求

學號char否主鍵

姓名varchar否性別

char否年齡

tinyint

可所在系

char否

建立資料庫和資料表有兩種方式,一種是在企業管理器(2000的低版本裡)用設計完成,另一種是通過(查詢分析器2000)新建查詢完成,sql2008沒有明顯的企業管理器和查詢分析器,他們都在乙個窗體,這樣很方便了,由於通過新建查詢寫**的方式要簡便的多,盡量使用寫**來實現吧

建立資料庫

建立資料表student1

檢視資料表有沒有建成

學會了建庫建表,已經邁出了第一步,然而建表不能隨便建表,我們需要限制,來實現資料的完整性,開始奔入主題。

【約束】

下邊通過乙個總體說明約束怎樣保證資料完整性的

名稱作用

體現的完整性

primary key

定義外來鍵,保證被設定的列內不出現重複值

實體完整性

unique

不出現重複

實體完整性

foreign key

定義外來鍵,保證表和表之間的一致性

參照完整性

check

定義列中資料的範圍

自定義完整性

default

為列的資料設定預設值

自定義完整性

1:主鍵    乙個表中只能有乙個主鍵   定義主鍵可以設定,也可以在**中需要的時候加在相應的字段

2:unique    資料表中非主鍵列在各行記錄中不能出現相同的非空值,這時就需要有unique的特性,用法和主鍵一樣

3:外來鍵   是不同的表之間的關係,當其中有一些資料存在關係是可以建立外來鍵,(可以避免出錯)

[constraint 約束名] foreign key (列名)   reference 表名(列名)

4:check   限定列之間資料的參照關係   比如乙個表中包含學生的「出生日期」和「入校日期」,入校日期肯定要晚於出生日期,這個時候可以用check來限定

[constraint 約束名]  check  (關係式)

5:default  當有非常多的相同資料要輸入到資料表中的時候,可以設定乙個預設值,這樣減少工作量

[constraint 約束名]  default 常量表示式    for   欄位名

說明::在沒有單獨拿出定義約束的時候可以省略[constraint  約束名]

【規則和預設值】

1:規則

規則可以做:驗證資料的值是否處於一定的範圍內

是否和特定格式相匹配   是否與制定列表中的輸入相匹配(想到了學生資訊管理系統一些東西我們都可以在資料庫裡設定,比如時間的格式)

建立規則:create  rule  規則名 as   規則的表示式(如果表示式中含有引數要加上@)

使用規則:sp_bindrule   規則名, 『表名.列名』

檢視規則:sp_helptext  規則名

解除規則: sp_unbindrule  規則名, 『表名.列名』

刪除規則:drop rule  規則名組

2:預設值

建立預設值:create default  預設名  as   表示式

使用預設值:sp_bindefault  預設名, 『表名.列名』(注意在敲**的時候注意必須是英文)

檢視預設值:sp_helpconstraint  表名

解除預設值:sp_unbindefault  預設名, 『表名.列名』

刪除預設值:drop_default   預設值名

四:【總結】

規則和約束都可以保證資料完整性,二者的區別

1:約束是基於表的操作

規則和預設值在建立了以後,他不屬於某個表,只有在繫結了命令了以後才會發生關係

2:乙個約束只能對乙個表的乙個列產生作用,

規則和預設值可以繫結到多個表多個列中。

資料庫 資料完整性

更安全的資料型別可參考 型別 位元組大小 有符號範圍 sigened 無符號範圍 unsigned tinyint 1 128 127 0 255 smallint 2 32768 32767 0 65535 mediumint 3 8388608 8388607 0 16777215 int in...

資料庫完整性

完整性約束條件 實體完整性給出了主鍵的取值的最低約束條件 規則是 主鍵的各個屬性都不能為空。參照完整性給出了在關係之間建立正確的聯絡的約束條件 規則是 外來鍵或者取空值 此時要求外來鍵的各個屬性均為空值 或者等於被參照關係中的主鍵的某個值。使用者自定義完整性 關係數控應用系統中的關係往往還應該滿足一...

資料庫完整性

資料的完整性和安全性 資料庫的完整性和安全性是兩個既有聯絡又不盡相同的概念。資料的完整性是為了防止資料庫中存在不符合語義的資料,也就是防止資料庫中存在不正確的資料。資料的安全性是保護資料庫防止惡意破壞和非法訪問。完整性檢查和控制的防範物件是不合語義的 不正確的資料,防止它們進入資料庫。安全性控制的方...