SQLserver資料的完整性

來源:互聯網
上載者:User

標籤:style   io   ar   color   使用   sp   for   strong   on   

--sql約束

/*

(1)提供語義定義完整性條件約束條件的機制

實體完整性:主鍵、非空

????參照完整性:外鍵

????使用者自訂完整性:check、觸發器

(2)提供完整性檢查方法

????一般在:Insert、Update、Delete執行後開始檢查,及事務提交後開始檢查。

(3)違約處理

????拒絕(no action)

????級連(級聯 Cascade)

?

*/

/*幾種約束

非空約束(NOT NULL Constraint )

主鍵約束(Primary Key Constraint)

外鍵約束(Foreign Key Constraint)

唯一性限制式(Unique Constraint)

檢查約束(Check Constraint)

預設值約束(Default Constraint)

?

*/

?

--主鍵約束

--【例1】實體完整性約束。

CREATE TABLE student1 (

????sno char (9) PRIMARY key , --//資料行層級條件約束

????sname varchar (10) ,

????ssex char (2) ,

????sage int NULL ,

????sdept char (10) ) --,

--或 PRIMARY key(sno)) --//表級約束

?

--表級約束

CREATE TABLE sc1 (

????sno char(9) ,

????cno char(3) ,

????grade int,

primary key(sno,cno) -- //表級約束

)

?

?

--參照完整性定義

--Foreign key(列名) references table_name(列名)

--注意要參考的列應該和被參考列的長度,資料類型相同

sp_help course;

sp_help student;

--【例2】參照完整性執行個體 (列級、表級均可)。

CREATE TABLE sc2 (

????sno char(9),

????cno char(4),

????grade int ,

primary key(sno,cno) ,

foreign key(cno) references course(cno),

foreign key(sno) references student(sno)

);

?

?

--測試約束

CREATE TABLE sc3 (

????sno char(9) ,

????cno char(4) ,

????grade int ,

primary key(sno,cno) ,

foreign key(sno) references student(sno)

on delete no action --當刪除student的記錄的時候 會失敗

on update cascade --但更新student的記錄時 sc3表中的記錄也會更新

) ;

--恰當使用串聯更新和串聯刪除 方便資料庫在更新時的操作;

insert into student(sno) values(‘2014019‘);

insert into sc3 values(‘2014019‘,‘001‘,100);

?

?

delete from student where sno=‘2014019‘;

update student set sno=‘122222‘ where sno=‘2014019‘;

?

select * from sc3;

--在刪除該約束後就可以成功刪除了

--當你不給約束起名字的時候 DBMS會自動給該約束起一個名字

--sp_help sc3;

alter table sc3 drop FK__sc3__sno__398D8EEE;

?

drop table sc3;

SQLserver資料的完整性

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.