資料庫   資料庫的完整性

weixin_33860722發表於2018-09-15

資料完整性:

保證使用者輸入的資料儲存到資料庫中是正確的.

在建立表的時候給表新增約束
完整性分類:實體完整性: 一行資料代表一個實體 作用:標記每一行資料不重複,行級約束
  約束型別:
       主鍵約束 每個表中要有一個主鍵 資料唯一,且不能為null primary key
兩種方式建立表的主鍵列子:create table 表名(id int primary key,欄位2 型別,欄位3 型別)
create table 表名(id int,欄位2 型別 primary key(id))
聯合主鍵:create table 表名(id int,name varchar(20),primary key(id,name))
先建表在新增主鍵: alter table 表名 add constraint primary key(id);

唯一約束 指定列的資料不能重複 可以為空 unique
例子:create table 表名(id int,name varchar(10) unique);

自動增長 指定列的資料自動增長 即使資料刪除,還是從輸出的序號繼續往下 auto_increment
例子: create table 表名(id int primary key auto_increment, name varchar(10))

域完整性: 限制此單元格的資料正確,不對照此列的其他單元格比較 域代表當前的單元格
   資料型別:數值型別 日期型別 字串型別
   非空約束(not null)
   預設值約束(default)

參照完整性
資料庫的主鍵和外來鍵型別一定要一致
兩個表必須要是InnoDB引擎
設定參照完整性後,外來鍵當中的內值,必須得是主鍵當中的內容
一個表設定當中的欄位設定為主鍵,設定主鍵的為主表
建立表時,設定外來鍵,設定外來鍵的為子表

相關文章