實體完整性


一、實體完整性

  • 定義完整性是對關系中的記錄唯一性。
  • 定義表的所有行能唯一的標識。
  • 表中主屬性(字段)不能為null且不能有相同值。
  • 一般用主鍵、唯一索引、unique關鍵字來實現。

二、實體完整性-主鍵約束

主關鍵字(primary key)是表匯總的一個或多個字段,它的值用於唯一的標識表中的某一條記錄。創建表的時候可以指定,也可以創建好以后指定主鍵。

說明:主鍵約束:唯一,不重復,不能為空,primary key一個表中有且只有一個主鍵約束。

1、創建表的同時創建主鍵約束

格式一:

create table表名(

列名1  數據類型  primary key,

列名2  數據類型

);

格式二:

create table表名(

列名1 數據類型,

列名2 數據類型,

constraint 主鍵約束的名字

格式三︰

create table表名(

列名1  數據類型,

列名2  數據類型,

primary key(列名1)

);

2、通過alter語句添加主鍵約束

  • Alter table user modify user_id INT(10)primary key;
  • Alter table user add primary key(user_id);
  • Alter table user add constraint pk_id primary key(user_id)

3、刪除主鍵約束

Alter table user drop primary key;

4、聯合主鍵

指的是把兩個列看成是一個整體,這個整體是不為空,唯一,不重復。兩個列共同作為表的主鍵。

(1)創建表的同時創建聯合主鍵

格式一:

create table表名(

列名1數據類型,

列名2數據類型,

constraint  主鍵約束的名字  primary key(列名1,列名2));

格式二:

create table表名(

列名1  數據類型,

列名2  數據類型,

primary key(列名1,列名2));

(2)針對已經存在表,添加聯合主主鍵

格式一:

alter table 表名 add primary key(列名1,列名2);

格式二∶

alter table表名 add constraint 主鍵約束的名字 prirbary key(列名1,列各2);

三、實體完整性-唯一性約束

  • 唯一約束是指定table的列或列組合不能重復,保證數據的唯一性;
  • 唯一約束不允許出現重復的值,但可以為多個null;
  • 同一個表可以有多個唯一約束,多個列組合的約束;
  • 如果不給唯一約束名稱,默認名稱和列名相同;
  • MySQL會給唯一約束的列上默認創建一個唯一索引。

1、添加唯一性約束

格式一

create table表名(

列名1數據類型,

列名2數據類型,

constraint  唯一約束的名字 unique(列名1),

constraint  唯一約束的名字

);

格式二:

create table表名(

列名1 數據類型 unique,

列名2 數據類型 unique,

列名3 數據類型

)

2、針對已經存在的表,添加唯一約束

格式: alter table表名add unique(列名1,列名2])

3、刪除唯一約束

格式:alter table表名drop index唯雄一約束的名字;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM