oracle約束的相關總結

2021-09-22 08:51:32 字數 2424 閱讀 8203

1.約束定義了必須遵循的的使用者維護資料一致性和正確性的規則,是強制實現數   據完整性的主要途徑。

主鍵約束(primary    key)

唯一性約束(unique)

檢查約束(check)     條件的構造

範圍      字段     in(集合)

字段    between........and

字段   >=value1       and         字段<=value1

邏輯運算子:  and

ornot

困難所在:要求字段符合一定的模式或者叫做模式匹配

[not]like(模糊查詢也用到它)

check(stuname   like   'li_')

like的使用最重要的是要掌握萬用字元

重點在於patten的構造

1.普通字元

2.萬用字元:% 代表零個或更多字元的任意字串

_代表乙個字元

代表指定範圍[a-f]或集合([abcdef])中的任何單個字元

[^]不屬於指定範圍([a-f])或集合([abcdef])中的任何單個字元

例如:  check (  stuname     like    ' [% ]')

check(  stuname    like    ' 張[%]')

check( stuage   like ' [18-20] '   and 

not     like  ' [^19] '

check( stuage    in(18-19))

年齡在18-20,但不等於19

3.轉義字元

預設約束

外來鍵約束(參照約束)

約束可以在以下兩個層次上實施:

列級:使用者定義的約束只對錶中的一列起作用。

表級:使用者定義的約束對錶中的多列起作用。

2.約束的建立

(1).建立表的同時,建立約束,使用create     table語句建立約束

create    table    表名

(列名    列的資料型別

constraint     約束名      約束的型別

......n

)( 2).表建立後,通過修改來實現約束的新增,使用alter   table命令

alter    table    表名

with    check | with    nocheck

add   constraint    約束名     約束的型別

3.主鍵約束(primary      key)

主鍵用於唯一地標識表中的每一條記錄

可以定義一列或多列為主鍵

主鍵列上沒有任何兩行具有相同值(即重複值)

主鍵列上也不能為空值

4.唯一性約束(unique)

唯一性約束用來限制不受主鍵約束的列上的資料的唯一性,

即表中任意兩行在  指定列上都不允許有相同的值。

乙個表上可以放置多個唯一性約束

唯一性約束和主鍵約束的區別:

(1).唯一性約束允許在該列上存在null值,而主鍵約束的限制更為嚴格,不但不允許有重複,而且也不允許有空值。

(2).在建立唯一性約束和主鍵約束時可以建立聚集索引和非聚集索引,但在 預設情況下主鍵約束產生聚集索引,而唯一性約束產生非聚集索引

5.檢查約束(check)

檢查約束用來指定某列的可取值的範圍。

它通過限制輸入到列中的值來強制域的完整性。

6.預設約束(default)

預設約束用於給表中的指定列賦予乙個常量值(預設值),當向該錶插入資料   時如果使用者沒有明確給出該列的值,sql server會自動為該列輸入預設值。每   列只能有乙個預設約束。

add  constraint  名字    default   (表示式  null)  for    預設約束的欄位名

7.外來鍵約束(foreign    key)

外來鍵約束用於與其他表(稱為參照表)中的列(稱為參照列)建立連線。

將參照表中的主鍵所在列或具有唯一性約束的列包含在另乙個表中,這些列就     構成了另乙個表的外來鍵。

當參照表中的參照列更新後,外來鍵列也會自動更新,   從而保證兩個表之間的   一致性關係。

注意:(1).將「強制外來鍵約束」或"強制用於複製」設定為「是」,能確保任何資料新增、修改或刪除操作都不會違背外來鍵關係

(2).將「更新規則」或"刪除規則」設定為「無操作」,拒絕更新或刪除主鍵表

將「更新規則」或"刪除規則」設定為「層疊」,級聯更新或刪除從表中相應的所有行

將「更新規則」或"刪除規則」設定為「設定空」,將外來鍵表中相對應的外 鍵值設定為空值null

將「更新規則」或"刪除規則」設定為「設定預設值」,如果外來鍵表的所有外來鍵列均已定義默 認值,則該列設定為預設值

oracle約束的相關總結

1.約束定義了必須遵循的的使用者維護資料一致性和正確性的規則,是強制實現數 據完整性的主要途徑。主鍵約束 primary key 唯一性約束 unique 檢查約束 check 條件的構造 範圍 字段 in 集合 字段 between.and 字段 value1 and 字段 value1 邏輯運算...

oracle索引 約束簡單總結

oracle索引 約束簡單總結 code 什麼時候應該建立索引?1.表很大而且大多數查詢的返回資料量很少 oracle推薦 總行數的2 3 2.此列的取值範圍很廣,一般為隨機分布。如年齡幾乎18歲到60歲的都有 3.一列或多列經常出現where子句或連線條件中 4.表上的dml操作較少 5.此列中包...

Oracle學習 之外鍵約束總結

主表和子表的概念 如果表中定義了外來鍵約束,那麼該錶通常被稱為 子表 如果表中包含引用鍵,那麼該錶被稱為 父表。其中table1 的表為從表,table2的表為主表 注意 在設定外來鍵約束的時候,主表的字段必須是主鍵。主從表中相應的字段必須是相同資料型別,欄位名稱可以不一致。從表中外鍵字段的值必須來...