約束與數據庫對象規則、默認值的探究
約束、規則、默認值這三者在數據表中規定了數據進行操作時的限制條件。他們三者有關系也有區別,用了兩天的時間研究了他們三者,總結如下。
首先讓我們從關系角度來分析:
● 淺談約束、規則、默認值
1、約束,約束顧名思義是限制條件的意思,其實它的作用也是如此,它是對所要進行增刪改查操作的數據進行一次檢查,檢查這些數據是否符合我們所要約束的條件。舉個例子:我們都經歷過高考,考試規定考生不許帶與考試無關的物品這就是一種約束。報名考試的考生可能因為某些意外沒有進入考場考試,但大部分考生還是進行了考試。那么在考場內就產生了兩種情況空位和非空位,這就是我們約束條件的兩種情況。我們繼續分析,在考生進入考場的情況中,考生在答卷之前是必須要在試卷和答題卡上填寫自己的信息的,這些信息都是必須要填的因為它們唯一確定了一個考生,這里考生必須填寫考生信息也就是我們所說的主鍵約束(主關鍵字約束)。接下來我們用兩個表來說明下外鍵約束:
那么如果我們在字段后面用Not Null規定了呢?也就是說在我們的考生信息表中的性別字段,該列是不允許為空的于是就用Not Null標識,但是如果我們不填的話呢,我們的系統就會用Default默認值約束來幫助我們天上一個值。接下來我們來看Check約束,該約束是要用條件表達式來限定所要填的數據的,如下:
Create table 工資 ( name char(10) primary key, department char(20) Not Null, salary int not null check(salary>1000 and salary<4000) ) |
創建了一個表該表中有三個字段,name、department、salary,并在salary字段設置了約束條件。該表如下圖:
posted on 2012-08-10 09:36 順其自然EVO 閱讀(200) 評論(0) 編輯 收藏 所屬分類: 數據庫