天天看點

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

資料完整性: 為保證插入到資料庫中的資料是正确的,防止使用者輸入錯誤的資料 分為實體完整性、 域完整性 、參照完整性 (下節再說)

(1)實體完整性:

實體指的是表中的一行,一行記錄對應一個實體 ,通過主鍵實作

主鍵:關鍵字(primary key);特點:不能為null,并且唯一。

邏輯主鍵(推薦):例如ID,不代表實際的業務意義,隻是用來唯一辨別一條記錄(推薦)

eg: create table person(
	id int primary key auto_increment,
	name	varchar(20) not null,
	age int);
           

業務主鍵:例如username,參與實際的業務邏輯。

eg: create table goods(
goods_id 	varchar(20) primary key,
goods_name 	varchar(20) not null);
           

(2)域(列)完整性:

必須符合某種資料類型或限制。

1)資料類型包括(長度等);

2)限制包括( 非空限制 not null,唯一限制 unique)。

eg:	 create table student(
id int primary key auto_increment,
name varchar(20) not null,
idcard varchar(20) unique);
           

繼續閱讀