欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Sql server 2005學(xué)習筆記之約束

Sql server 2005學(xué)習筆記之約束

上傳時(shí)間:2009-04-30 | 作者:吳忠勝 | 來(lái)源:新華3++網(wǎng)絡(luò )學(xué)院 | 點(diǎn)擊:

相信大家學(xué)習了數據庫后,都知道數據庫中的數據是現實(shí)世界中的反映,彼此之間可能都存在一定的聯(lián)系,例如,學(xué)生系統中學(xué)生的學(xué)號是唯一的,學(xué)生的年齡要在一定的范圍內,不可以隨意輸入的,等一些情況,這樣的例子可能現實(shí)生活中,還有很多,從這些例子中,我們可以得出一個(gè)結果,也就是一個(gè)成功的數據庫必須對這些數據進(jìn)行定義,使它們符合現實(shí),具有完整性,那么這里完整性,就是我們所說(shuō)的約束.
約束實(shí)際上就是使數據完整,也就是存儲的數據具有一致性和正確性,為了使我們的數據完整,sql server 2005定義了相應的檢查和控制數據完整的一套機制,根據所對應的數據庫對象和范圍的不同,可以分為實(shí)體完整,域完整,參照完整和用戶(hù)自定義完整4種,這4種完整性的涵義在這里我就不多說(shuō)了,具體大家可以看書(shū).
約束在實(shí)現時(shí),可以通過(guò)以下來(lái)實(shí)現,主要包括 primary key,check,unique,default,foreign key.
那么下面我們就來(lái)看看如何在sql server2005中實(shí)現以上5種約束.
一,建立student 數據庫,方法有兩種,這里我們用<新建查詢(xún)>也就是sql語(yǔ)句來(lái)實(shí)現,語(yǔ)句如下:
Create database student
寫(xiě)完后按f5執行,數據庫就可以了,
二,建立兩張表,一個(gè)是學(xué)生資料表(stuinfo),和學(xué)生成績(jì)表(stucj),sql語(yǔ)句如下:
Stuinfo表:

create table stuinfo
(
stuid char(8) not null,
stuname nvarchar(10),
stusex nvarchar(2),
stuage tinyint,
stuaddr varchar(50),
stutel varchar(15),
stuintro varchar(200)
)

Stucj表:
create table stucj
(
stuid char(8) not null,
stuname nvarchar(10),
chinese numeric(4,1),
english numeric(4,1),
math numeric(4,1)
)

三, primary key(主鍵約束)指的是唯一能將所有記錄區分開(kāi)的字段,以上兩張表中的stuid(學(xué)生學(xué)號)可以作為主鍵,定義語(yǔ)句是:
use student
go
alter table stuinfo
add constraint pri_id1 primary key(stuid)
alter table stucj
add constraint pri_id2 primary key(stuid)

 

四.Check(核對)約束,指的是限制一列和多列所輸入的值的范圍。表中shuage字段表示的是學(xué)生的年齡,對這個(gè)字段我們可以設置它的范圍,sql 語(yǔ)句如下:

Use student
Go
Alter table stuinfo
Add constraint ch_age check(stuage>10 and stuage<50)

執行完畢后,你可以向表中添加數據,此時(shí)我們的check約束就起作用了。
五.Default(默認)約束,指的是當用戶(hù)添加數據時(shí),如果沒(méi)有給該字段添加數據時(shí),系統自動(dòng)給它一個(gè)默認值,上表中的stusex(學(xué)生性別)字段,我們就可以給它設置默認值,比如男或女,那么定義的語(yǔ)句如下:
Use student
Go
Alter table stuinfo
Add constraint def_stusex default ‘男’ for stusex

同樣再次執行,添加數據時(shí),你不添加stusex的值,看看結果。
六.Foreign key(外鍵)約束,指的是用于和加強兩張表之間的聯(lián)系,當在添加,修改和刪除數據時(shí),保持兩張表中數據的一致性。上面stuinfo表和stucj表中的stuid字段就可以設置,sql語(yǔ)句如下:
Use student
Go
alter table stucj
add constraint stu_f foreign key(stuid)
references stuinfo(stuid)

執行完畢后,可以對兩張表中添加,刪除和修改數據,測試看看。
七.unique(唯一)約束,指的是讓字段的數據具有唯一性,該字段內的數據不可以發(fā)生從復,但是可以為空,而主鍵不可以為空,實(shí)際上,主鍵也就是一個(gè)唯一性約束。在這里我們把stuname(學(xué)生姓名)字段設計成unique,但是實(shí)際操作時(shí),學(xué)生姓名是可以從復的,這里我們是假設,是為把這個(gè)約束制作完。接下來(lái)我們看看sql語(yǔ)句:
Use student
Go
alter table stuinfo
add constraint un_stu unique(stuname)

同樣,執行完畢后,可以添加數據,測試看看。
以上,我們是一個(gè)一個(gè)的介紹了約束的使用,實(shí)際上在使用時(shí),可以直接在建立表時(shí)一起定義,只不過(guò)這種定義我們沒(méi)有給每一個(gè)約束命名,操作起來(lái)可能不是很方便。那么,接下來(lái)我們也來(lái)看看這種定義方式,建立一張新表stuinfo1:
Use student
Go
create table stuinfo1
(
stuid char(8) not null primary key,
stuname varchar(10) unique,
stusex char(2) default '男',
stuage tinyint check(stuage>10 and stuage<40),
stutel char(14)
)

這種方法的缺點(diǎn)是:它的約束名不是很清楚,所以刪除時(shí)就必須要到管理視圖去操作,麻煩一點(diǎn)。下面我們來(lái)看看,用sql語(yǔ)句來(lái)刪除這些約束:
Use student
Go
alter table stuinfo
drop constraint un_stu

我們這里刪除的是unique 約束,大家可以試著(zhù)刪除其它約束。
最后,我把添加約束的格式寫(xiě)一下,便于大家參考:
Alter table 表名
Add constraint 約束名 約束類(lèi)型(字段名或表達式)
刪除的格式如下:
Alter table 表名
drop constraint 約束名
好了,約束的學(xué)習就到這里,在下一篇,我還會(huì )和大家共同來(lái)學(xué)習sql server 2005。

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SQL Server數據完整性
[學(xué)習筆記](méi) Oracle字段類(lèi)型、建表語(yǔ)句、添加約束
mysql中常見(jiàn)約束
SQL語(yǔ)句(建庫、建表、修改語(yǔ)句)
Sql Server 和 Access 操作數據庫結構Sql語(yǔ)句
CREATE TABLE、ALTER TABLE、DROP TABLE等,及表內列的添加、...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久