5.MySql中的SQL語句(四):數(shù)據(jù)完整性

數(shù)據(jù)的完整性

作用:保證用戶輸入的數(shù)據(jù)保存到數(shù)據(jù)庫中是正確的奏寨。

確保數(shù)據(jù)的完整性=在創(chuàng)建表時給表中添加約束

完整性的分類:

>實體完整性

>域完整性

>引用完整性

5.1 實體完整性

實體:即表中的一行(一條記錄)代表一個實體(entity)

實體完整性的作用:標識每一行數(shù)據(jù)不重復。

約束類型:主鍵約束(primary key)唯一約束(unique)自動增長列(auto_increment)

主鍵約束(primary key)

特點:數(shù)據(jù)唯一既忆,且不能為null

例:

第一種添加方式:

CREATE TABLE

student(

Id int primary key,

Name varchar(50)

);

第一種添加方式:此種方式優(yōu)勢在于,可以創(chuàng)建聯(lián)合主鍵

CREATE TABLE

student(

id int,

Name varchar(50),

Primary key(id)

);

CREATE TABLE

student(

id int,

Name varchar(50),

Primary key(id套啤,name)

);

第三種添加方式:

CREATE TABLE

student(

Id int,

Name varchar(50)

);

ALTER TABLE

student

ADDPRIMARY KEY (id);

.唯一約束(unique):

CREATE TABLE student(

Id int primary key,

Name varchar(50) unique

);

自動增長列(auto_increment)

給主鍵添加自動增長的數(shù)值蚯舱,列只能是整數(shù)類型,但是如果刪除之前增長的序號佩憾,后面再添加的時候序號不會重新開始哮伟,而是會接著被刪除的那一列的序號

CREATE TABLE

student(

Id int primary key auto_increment,

Name varchar(50)

);

INSERT INTO

student(name) values(‘tom’);

5.2 域完整性

域完整性的作用:限制此單元格的數(shù)據(jù)正確,不對照此列的其它單元格比較

域代表當前單元格

域完整性約束:數(shù)據(jù)類型非空約束(not

null)默認值約束(default)

Check約束(mysql不支持)check();

數(shù)據(jù)類型:(數(shù)值類型妄帘、日期類型楞黄、字符串類型)

非空約束:not null

CREATE TABLE

student(

Id int pirmary key,

Name varchar(50) not null,

Sex varchar(10)

);

INSERT INTO

student values(1,’tom’,null);

默認值約束default

CREATE TABLE

student(

Id int pirmary key,

Name varchar(50) not null,

Sex varchar(10) default ‘男’

);

insert into

student1 values(1,'tom','女');

insert into

student1 values(2,'jerry',default);

5.3 引用完整性

要有外鍵必須先有主鍵,主鍵和外鍵的類型必須一致

外鍵約束:FOREIGN KEY

例:

CREATE TABLE

student(

sid int pirmary key,

name varchar(50) not null,

sex varchar(10) default ‘男’

);

create table

score(

id int,

score int,

sid int , --外鍵列的數(shù)據(jù)類型一定要與主鍵的類型一致

CONSTRAINT fk_score_sid foreign key (sid)references student(id)

);

第二種添加外鍵方式抡驼。

ALTER TABLE

score1 ADD CONSTRAINT fk_stu_score FOREIGN KEY(sid) REFERENCES stu(id);

5.4 表與表之間的關系

l一對一:例如t_person表和t_card表鬼廓,即人和身份證。這種情況需要找出主從關系致盟,即誰是主表碎税,誰是從表。人可以沒有身份證馏锡,但身份證必須要有人才行雷蹂,所以人是主表,而身份證是從表杯道。設計從表可以有兩種方案:

?在t_card表中添加外鍵列(相對t_user表)匪煌,并且給外鍵添加唯一約束;

?給t_card表的主鍵添加外鍵約束(相對t_user表)蕉饼,即t_card表的主鍵也是外鍵虐杯。

l一對多(多對一):最為常見的就是一對多!一對多和多對一昧港,這是從哪個角度去看得出來的擎椰。t_user和t_section的關系,從t_user來看就是一對多创肥,而從t_section的角度來看就是多對一达舒!這種情況都是在多方創(chuàng)建外鍵!

l多對多:例如t_stu和t_teacher表叹侄,即一個學生可以有多個老師巩搏,而一個老師也可以有多個學生。這種情況通常需要創(chuàng)建中間表來處理多對多關系趾代。例如再創(chuàng)建一張表t_stu_tea表贯底,給出兩個外鍵,一個相對t_stu表的外鍵撒强,另一個相對t_teacher表的外鍵禽捆。


最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笙什,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胚想,更是在濱河造成了極大的恐慌琐凭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浊服,死亡現(xiàn)場離奇詭異统屈,居然都是意外死亡,警方通過查閱死者的電腦和手機牙躺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門愁憔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人述呐,你說我怎么就攤上這事惩淳〗短海” “怎么了乓搬?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長代虾。 經(jīng)常有香客問我进肯,道長,這世上最難降的妖魔是什么棉磨? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任江掩,我火速辦了婚禮,結果婚禮上乘瓤,老公的妹妹穿的比我還像新娘环形。我一直安慰自己,他們只是感情好衙傀,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布抬吟。 她就那樣靜靜地躺著,像睡著了一般统抬。 火紅的嫁衣襯著肌膚如雪火本。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天聪建,我揣著相機與錄音钙畔,去河邊找鬼。 笑死金麸,一個胖子當著我的面吹牛擎析,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挥下,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼揍魂,長吁一口氣:“原來是場噩夢啊……” “哼挪鹏!你這毒婦竟也來了?” 一聲冷哼從身側響起愉烙,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤讨盒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后步责,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體返顺,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年蔓肯,在試婚紗的時候發(fā)現(xiàn)自己被綠了遂鹊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔗包,死狀恐怖秉扑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情调限,我是刑警寧澤舟陆,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站耻矮,受9級特大地震影響秦躯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜裆装,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一踱承、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哨免,春花似錦茎活、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至慧耍,卻和暖如春身辨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芍碧。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工煌珊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泌豆。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓定庵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蔬浙,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法猪落,類相關的語法寞秃,內(nèi)部類的語法席赂,繼承相關的語法裆蒸,異常的語法曙聂,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • SQL語言基礎 本章,我們將會重點探討SQL語言基礎膜廊,學習用SQL進行數(shù)據(jù)庫的基本數(shù)據(jù)查詢操作泳叠。另外請注意本章的S...
    厲鉚兄閱讀 5,327評論 2 46
  • #實體的完整性 概述: 實體:即表中的一行(一條記錄)代表一個實體(entity) 實體完整性的作用:標識每一行 ...
    王紀山閱讀 439評論 0 1
  • 2016-10-15 華杉 要養(yǎng)成把問題當問題的眼光迂卢,你覺得不是問題的亮隙,問一問自己途凫,是真的覺得那不是問題,還是自己...
    郁萍閱讀 181評論 0 0
  • 上周末老媽來電溢吻,聊起我的獨立维费,滿是信任的口吻。以前實在少有促王,多是期望和指正犀盟,問起為啥,能不能舉個例子硼砰,竟然聊起已經(jīng)...
    永沁閱讀 201評論 0 2