為了減少輸入錯(cuò)誤和保證數(shù)據(jù)庫數(shù)據(jù)的完整性,可以對(duì)字段設(shè)置約束,例如考試成績(jī),其范圍應(yīng)該為0-100。約束是為了保證數(shù)據(jù)的完整性而實(shí)現(xiàn)的一套機(jī)制, 約束包括: 主鍵約束、外鍵約束、Unique約束、Check約束、默認(rèn)值和允許空六種機(jī)制。 主鍵約束 : 這個(gè)不用
為了減少輸入錯(cuò)誤和保證數(shù)據(jù)庫數(shù)據(jù)的完整性,可以對(duì)字段設(shè)置約束,例如考試成績(jī),其范圍應(yīng)該為0-100。約束是為了保證數(shù)據(jù)的完整性而實(shí)現(xiàn)的一套機(jī)制,約束包括:主鍵約束、外鍵約束、Unique約束、Check約束、默認(rèn)值和允許空六種機(jī)制。
主鍵約束:這個(gè)不用多說了,設(shè)置主鍵就是保證列中的值的唯一不重復(fù)。
外鍵約束:外鍵的目的就是為了限制取值。
例如:分類表category(Nid-主鍵,categoryName),產(chǎn)品表Product(Nid,ProductName,CategoryId-外鍵),設(shè)置后Product表中的CategoryId的取值只能是category表中的Nid的值。
如上圖,如果在Product表中插入一條:insert into Product values('綠茶',9),則報(bào)錯(cuò):
INSERT 語句與 FOREIGN KEY 約束"FK_Product_Product"沖突。該沖突發(fā)生于數(shù)據(jù)庫"Interview",表"dbo.Category", column 'Nid'。
語句已終止。
Unique約束:是指定該字段列里的數(shù)據(jù)不允許出現(xiàn)重復(fù)。例如在部門表里,部門名稱是不能重復(fù)的,那么將部門表里的“部門名稱”設(shè)置為Unique約束。
設(shè)置方法如下:在表設(shè)計(jì)器窗格里右擊空白處,在彈出的快捷菜單中選擇【索引與鍵】選項(xiàng),點(diǎn)擊【添加】就會(huì)在左邊的框中添加一個(gè)名為IX_表名的選項(xiàng),然后在右邊的框中的【類型】選為唯一鍵,【列】設(shè)置為要約束的列,關(guān)閉,保存即可。
Unique約束與主鍵的區(qū)別:Unique約束可以輸入Null值,主鍵不能;在一個(gè)表中可以定義多個(gè)Unique約束的字段,而主鍵字段只能有一個(gè)。
Check約束:Check約束可以用來限制字段里的值在某個(gè)允許的范圍內(nèi)。例如員工通訊錄表中的生日,其輸入范圍應(yīng)該是1940到1990之間。
設(shè)置Check約束的方法如下:展開表選項(xiàng),在約束上右鍵新建約束,然后在表達(dá)式中添加邏輯關(guān)系,如:(Member>10) and (Member<20),關(guān)閉,保存!
默認(rèn)值約束:默認(rèn)值就不用解釋了,就是當(dāng)沒有明確的去插入數(shù)據(jù)時(shí),默認(rèn)填充的值。
設(shè)置方法如下:打開表設(shè)計(jì),選中列,在下面的列屬性中有【默認(rèn)值或綁定】,填寫值即可;
允許空約束:就是在設(shè)計(jì)表時(shí),每一個(gè)項(xiàng)最后的是否允許為空了啦
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com