資料表的完整性

2021-10-04 01:40:05 字數 1264 閱讀 5182

每個表中有乙個必須要指定的字段,主要依賴主鍵約束

針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束

表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束

什麼是約束:使用約束、鍵的作用來維護資料表的完整性

約束有哪些:

自增約束

非空約束

檢查約束

預設約束

唯一約束

主鍵約束

外來鍵約束

一般在設定列特徵的時候都是提前在資料庫設計時需要考慮明確,約束都是在資料庫設計時必須考慮明確的

已知建立資料表的語法是

create table 表名
(
欄位1 資料型別 列的特徵,
欄位2 資料型別 列的特徵,
......
)
列特徵包含的內容有:

是否可以為空(null):在輸入資料的時候,如果這個列允許為空則可以不用填寫,否則必須為該列填寫對應的資料內容

是否是標識列(自動編號)

是否有預設值:如果資料表的某一列在使用者不主動輸入資料的時候,希望能夠提供乙個預設的內容

adrress nvarchar(20) default('位址不詳'),

4.是否為主鍵:主鍵是實體的唯一標識,保證實體不被重覆記錄,乙個資料表必須有主鍵才能進行更新、刪除指定的實體

[tid] int identity(10000,1) primary key,

5.是否有檢查設定:如果資料表的某一列具有檢查限制,當使用者為這一列新增資料時,必須要保證新增的資料滿足檢查限制的要求

6.是否有唯一設定:如果這一列具有唯一設定,那麼必須保證在給這一列新增資料時,所新增的資料在這一列中是絕對唯一的存在

7.是否有外來鍵特徵:如果該列具有外來鍵約束,那麼在向該列新增資料時必須要按照外來鍵的目標資料表中已有的資料去填寫,外來鍵指向的資料表的字段必須是乙個主鍵

標識列使用的意義

例如全中國有14億人,名字叫「張三」的共有500個,此時如果找特定的張三非常困難,所以中國每個合法公民都有一張身份證,id是14億中唯一的

標識列如何使用

該列必須是整數型別,或者也可以是沒有小數部分的精確型別

標識種子:標識列的起始值

標識增量:標識列每次遞增的值(自動增加的值)

注意問題

有標識列的資料表被刪除某一行時,資料庫會將這一行空缺出來不會填補

標識列由系統自動維護,使用者既不能自己輸入資料,也不能自己修改資料

標識列可以同時定義為主鍵,也可以不定以為主鍵,根據資料庫設計決定

資料表的完整性,維護資料的完整性(約束),標識列

維護資料表的完整性 標識列1.實體完整性 每個表中有乙個必須要指定的字段,主要依賴主鍵約束 2.區域完整性 針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束 3.參照完整性 表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束 什麼是約束 使用約束 鍵的作用來維護資料表的完整性 約束有哪些 自增約...

資料表的完整性和標識列

每個表中有乙個必須要指定的字段,主要依賴主鍵約束 針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束 表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束 什麼是約束 使用約束 鍵的作用來維護資料表的完整性 約束有哪些 自增約束 非空約束 檢查約束 預設約束 唯一約束 主鍵約束 外來鍵約束 一般在設...

MySQL資料完整性(實體完整性 域完整性)

資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...