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