SQL Server 高階應用(週六講座)

2022-02-23 08:52:58 字數 1831 閱讀 3767

資料庫完整性高階約束的應用

資料完整性,約束

資料完整性:資料庫中儲存 的資料是可靠的、準確的、能夠正確反應實際情況

1、資料庫中要求保持資料的完整性。

2、資料庫中存在不正確、不準確的資料就認為資料庫「失去了完整性」。

3、資料庫「失去了完整性」引起的原因,大多是處於設計引起的。

4、保證資料完整性的方法,使用約束

約束:sql server用來強制資料完整性的機制(方法)

1、約束目的:保證資料庫中資料的質量,即保證資料完整性。

2、約束和資料完整性的比較

3、如何使用約束:sql server 建立表的過程是規定資料列的屬性的過程,也是實是資料完整性約束的過程。

建立表:建立約束=強制資料的完整性

建立表的過程,就是建立約束。

域完整性 == 列完整性

not null

default

check

實體完整性:就是有重複的記錄

identity,guid

primary key

unique

引用完整性:約束方法;外來鍵約束

foreign key

check

自定義完整性:

缺點:麻煩寫**

優點:靈活

方法:規則,儲存過程,觸發器

************************************

事務目標

事務的概念

事務的分類

1、自動提交事務

是sql server的預設模式,每條單獨的t=sql語句都是乙個事務,如果成功執行則自動提交:如果錯誤則自動回滾,不需要顯示地寫出事務的開始和結束的標誌。

2、顯式事務

用begin tran[saction]明確指定事務的開始,

以commit 或 rollback 語句顯式結束,這是最常用的事務型別,

例1:begin tran

update authors set an_lname ='a' where au_id ='172-32-1176'

commit tran      

--rollback tran

3、隱性事務

用set implicit transactions on將隱性事務模式設定為開啟,在前乙個事務完成時新事務隱式啟動,每個事務仍以commit或rollback語句顯式結束。

例2:create table q(q1 int primary key, q2 char(3)

set implicit_transcations on

on     insert into q values (1,'aaa')

insert into q values (2,'bbb')

commit transaction

insert into q values (3,'ccc')

select * from q

commit transaction

set implicit_transactions off;

如何建立事務

t-sql定義事務語句有l

1、開始事務:begin tran[saction]

2、提交事務:commit tran[saction]

3、回滾事務:rollback tran[saction]

判頓某條語句執行是否出錯:

1、使用全域性變數@@error

@@error只能判斷當前一條t-sql語句只想是否有錯

為了判但事務中所有t-sql語句是否有錯,我們需要對錯誤進行累計:

如:set @errorsum =@errorsum+@@error

週六野香山

組織者 報名方式 以跟貼為主 活動地點 香山 集合地點 香山郵局門口 香山郵局 904終點下車後前走50公尺既是 香山停車場上邊,要是實在找不到就問問,反正別問我,俺不繫當地人 人數限制 6人以上 報名方式 所有參加活動的隊員必須事先報名。可以跟貼 簡訊報名,但拒絕 諮詢!不留 者報名無效!行程安排...

2018 12 8 週六作業

int a int t for int i 0 ia j 1 for int x a scanner input new scanner system.in system.out.print 請輸入數字 int n input.nextint if b n else static boolean b...

平凡得週六 3 23

凌晨回去,寢室的人竟然在積極學習,不容易啊。想了想lj,這個真的挺好的,然後想了想,其實現在也只能這樣斷斷續續了。找不到話題,以及我沒有時間。剛剛問了趙總,他說也不用一直陪女朋友,我希望也是這樣,畢竟不能被愛情綁架了。想了想她應該沒心裡也蠻糾結的,乙個是她老公毛不易,乙個是屌絲,這屌絲還挺好的。從很...