[計(jì)算機(jī)軟件及應(yīng)用]SQL Serer 2000實(shí)用教程_第4章ppt課件_第1頁
[計(jì)算機(jī)軟件及應(yīng)用]SQL Serer 2000實(shí)用教程_第4章ppt課件_第2頁
[計(jì)算機(jī)軟件及應(yīng)用]SQL Serer 2000實(shí)用教程_第4章ppt課件_第3頁
[計(jì)算機(jī)軟件及應(yīng)用]SQL Serer 2000實(shí)用教程_第4章ppt課件_第4頁
[計(jì)算機(jī)軟件及應(yīng)用]SQL Serer 2000實(shí)用教程_第4章ppt課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第4章章 表的創(chuàng)立和管理表的創(chuàng)立和管理 4.1 數(shù)據(jù)類型數(shù)據(jù)類型 4.2 創(chuàng)立表創(chuàng)立表 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束 4.4 增加、刪除和修改字段增加、刪除和修改字段 4.5 查看表格查看表格 4.6 刪除表刪除表 4.1 數(shù)據(jù)類型數(shù)據(jù)類型4.1.1 系統(tǒng)數(shù)據(jù)類型系統(tǒng)數(shù)據(jù)類型 系統(tǒng)數(shù)據(jù)類型是系統(tǒng)數(shù)據(jù)類型是SQL Server預(yù)先定義好預(yù)先定義好的,可以直接使用。的,可以直接使用。 1整型數(shù)據(jù)類型整型數(shù)據(jù)類型 1intinteger:4個(gè)字節(jié)個(gè)字節(jié)2Smallint :2個(gè)字節(jié)個(gè)字節(jié)3Tinyint :1個(gè)字節(jié)個(gè)字節(jié) 4.1 數(shù)據(jù)類型數(shù)據(jù)類型2浮點(diǎn)數(shù)據(jù)類型浮點(diǎn)數(shù)據(jù)類型 :用

2、于存儲(chǔ)十進(jìn)制小數(shù)用于存儲(chǔ)十進(jìn)制小數(shù) ,采用只入不舍的方采用只入不舍的方式式 1Real:4個(gè)字節(jié)的,最大個(gè)字節(jié)的,最大7位準(zhǔn)確位位準(zhǔn)確位數(shù)。數(shù)。2Float:可以準(zhǔn)確到第:可以準(zhǔn)確到第15位小數(shù),默位小數(shù),默認(rèn)占用認(rèn)占用8個(gè)字節(jié)的存儲(chǔ)空間。個(gè)字節(jié)的存儲(chǔ)空間。Float數(shù)據(jù)類型也數(shù)據(jù)類型也可以寫為可以寫為floatn的形式,的形式,n為為115之間的之間的整數(shù)值。當(dāng)整數(shù)值。當(dāng)n取取17時(shí),系統(tǒng)用時(shí),系統(tǒng)用4個(gè)字節(jié)存儲(chǔ)它;個(gè)字節(jié)存儲(chǔ)它;當(dāng)當(dāng)n取取815時(shí),用時(shí),用8個(gè)字節(jié)存儲(chǔ)它。個(gè)字節(jié)存儲(chǔ)它。4.1 數(shù)據(jù)類型數(shù)據(jù)類型3Decimal和和numeric:可以提供小數(shù):可以提供小數(shù)所需要的實(shí)際存儲(chǔ)空間

3、,可以用所需要的實(shí)際存儲(chǔ)空間,可以用217個(gè)字節(jié)個(gè)字節(jié)來存儲(chǔ)。也可以將其寫為來存儲(chǔ)。也可以將其寫為decimalp,s的的形式。形式。注意:數(shù)值類型的總位數(shù)不包括小數(shù)。注意:數(shù)值類型的總位數(shù)不包括小數(shù)。例如:例如:decimal10,5,表示共有,表示共有10位數(shù),其中整數(shù)位數(shù),其中整數(shù)5位,小數(shù)位,小數(shù)5位。位。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型3 3字符數(shù)據(jù)類型字符數(shù)據(jù)類型用來存儲(chǔ)各種字母、數(shù)字符號和特殊符號。用來存儲(chǔ)各種字母、數(shù)字符號和特殊符號。在使用時(shí)需要在其前后加上英文單引號或者雙在使用時(shí)需要在其前后加上英文單引號或者雙引號。引號。 1 1CharChar:占用:占用1 1個(gè)字節(jié)。個(gè)字節(jié)。其

4、定義形式為:其定義形式為:charcharn n n n的取值為的取值為1800018000。默認(rèn)。默認(rèn)n n的值為的值為1 1。4.1 數(shù)據(jù)類型數(shù)據(jù)類型2 2VarcharVarchar:可以存儲(chǔ)長達(dá):可以存儲(chǔ)長達(dá)80008000個(gè)字符的可變個(gè)字符的可變長度字符串,和長度字符串,和charchar類型不同類型不同varcharvarchar類型根據(jù)輸入類型根據(jù)輸入數(shù)據(jù)的實(shí)際長度而變化。數(shù)據(jù)的實(shí)際長度而變化。其定義形式為:其定義形式為:varcharvarcharn n 3 3NcharNchar:采用:采用UnicodeUnicode統(tǒng)一字符編碼標(biāo)準(zhǔn)統(tǒng)一字符編碼標(biāo)準(zhǔn)字符集每個(gè)字符集每個(gè)Uni

5、codeUnicode字符用兩個(gè)字節(jié)為一個(gè)存儲(chǔ)單位。字符用兩個(gè)字節(jié)為一個(gè)存儲(chǔ)單位。其定義形式為:其定義形式為:ncharncharn n4 4NvarcharNvarchar:使用:使用UnicodeUnicode字符集的字符集的VarcharVarchar數(shù)據(jù)類型。數(shù)據(jù)類型。其定義形式為:其定義形式為:nvarcharnvarcharn n4.1 數(shù)據(jù)類型數(shù)據(jù)類型4日期和時(shí)間數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型1Datetime:占用:占用8個(gè)字節(jié)。個(gè)字節(jié)。用于存儲(chǔ)日期和時(shí)間的結(jié)合體,可以存儲(chǔ)從公元用于存儲(chǔ)日期和時(shí)間的結(jié)合體,可以存儲(chǔ)從公元1753年年1月月1日零時(shí)起日零時(shí)起公元公元9999年年12月

6、月31日日23時(shí)時(shí)59分分59秒之間的所有日期和時(shí)間,其準(zhǔn)確度可達(dá)三秒之間的所有日期和時(shí)間,其準(zhǔn)確度可達(dá)三百分之一秒,即百分之一秒,即3.33毫秒。毫秒。當(dāng)存儲(chǔ)當(dāng)存儲(chǔ)datetime數(shù)據(jù)類型時(shí),默認(rèn)的格式是:數(shù)據(jù)類型時(shí),默認(rèn)的格式是:MM DD YYYY hh:mm A.M./P.M。當(dāng)插入數(shù)據(jù)或者。當(dāng)插入數(shù)據(jù)或者在其它地方使用在其它地方使用datetime類型時(shí),需要用單引號把類型時(shí),需要用單引號把它括起來。它括起來。4.1 數(shù)據(jù)類型數(shù)據(jù)類型默認(rèn)默認(rèn)January 1,1900 12:00 A.M??梢???梢猿惺艿妮斎敫袷饺缦拢撼惺艿妮斎敫袷饺缦拢篔an 4 1999、JAN 4 1999、

7、January 4 1999、Jan 1999 4、1999 4 Jan和和1999 Jan 4。datetime數(shù)據(jù)類數(shù)據(jù)類型允許使用型允許使用/、-和和.作為不同時(shí)間單位間的分隔作為不同時(shí)間單位間的分隔符。符。2Smalldatetime:存儲(chǔ)從:存儲(chǔ)從1900年年1月月1日日2079年年6月月6日內(nèi)的日期。日內(nèi)的日期。4個(gè)字節(jié)。個(gè)字節(jié)。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型5文本和圖形數(shù)據(jù)類型文本和圖形數(shù)據(jù)類型1Text:容量可以在:容量可以在1231-1個(gè)字節(jié)。個(gè)字節(jié)。在定義在定義Text數(shù)據(jù)類型時(shí),不需要指定數(shù)據(jù)長度,數(shù)據(jù)類型時(shí),不需要指定數(shù)據(jù)長度,SQL Server會(huì)根據(jù)數(shù)據(jù)的長度自動(dòng)為其分

8、配空間。會(huì)根據(jù)數(shù)據(jù)的長度自動(dòng)為其分配空間。2Ntext:采用:采用unicode標(biāo)準(zhǔn)字符集,用于存標(biāo)準(zhǔn)字符集,用于存儲(chǔ)大容量文本數(shù)據(jù)。其理論上的容量為儲(chǔ)大容量文本數(shù)據(jù)。其理論上的容量為230-11,073,741,823個(gè)字節(jié)。個(gè)字節(jié)。3Image:用于存儲(chǔ)照片、目錄圖片或者圖:用于存儲(chǔ)照片、目錄圖片或者圖畫,其理論容量為畫,其理論容量為231-12,147,483,647個(gè)個(gè)字節(jié)。字節(jié)。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型6貨幣數(shù)據(jù)類型貨幣數(shù)據(jù)類型1Money:用于存儲(chǔ)貨幣值,數(shù)值以一個(gè)正:用于存儲(chǔ)貨幣值,數(shù)值以一個(gè)正數(shù)部分和一個(gè)小數(shù)部分存儲(chǔ)在兩個(gè)數(shù)部分和一個(gè)小數(shù)部分存儲(chǔ)在兩個(gè)4字節(jié)的整型值中,字節(jié)的

9、整型值中,存 儲(chǔ) 范 圍 為存 儲(chǔ) 范 圍 為 - 9 2 2 3 3 7 2 1 3 6 8 5 4 7 7 . 5 8 0 8 922337213685477.5808,精度為貨幣單位的萬,精度為貨幣單位的萬分之一。分之一。 2 S m a l l m o n e y : 其 存 儲(chǔ) 范 圍 為: 其 存 儲(chǔ) 范 圍 為 -214748.3468214748.3467。當(dāng)為當(dāng)為money或或smallmoney的表輸入數(shù)據(jù)時(shí),必的表輸入數(shù)據(jù)時(shí),必須在有效位置前面加一個(gè)貨幣單位符號如須在有效位置前面加一個(gè)貨幣單位符號如$或其它或其它貨幣單位的記號。貨幣單位的記號。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型7

10、位數(shù)據(jù)類型位數(shù)據(jù)類型Bit稱為位數(shù)據(jù)類型,有兩種取值:稱為位數(shù)據(jù)類型,有兩種取值:0和和1。假如一個(gè)表中有假如一個(gè)表中有8個(gè)或更少的個(gè)或更少的bit列時(shí),用列時(shí),用1個(gè)字個(gè)字節(jié)存放。假如有節(jié)存放。假如有916個(gè)個(gè)bit列時(shí),用列時(shí),用2個(gè)字節(jié)存?zhèn)€字節(jié)存放。放。在輸入在輸入0以外的其它值時(shí),系統(tǒng)均把它們當(dāng)以外的其它值時(shí),系統(tǒng)均把它們當(dāng)1對待。對待。4.1 數(shù)據(jù)類型數(shù)據(jù)類型8二進(jìn)制數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)類型1Binary:其定義形式為其定義形式為binaryn,數(shù)據(jù)的存儲(chǔ)長度是,數(shù)據(jù)的存儲(chǔ)長度是固定的,即固定的,即n+4個(gè)字節(jié)。二進(jìn)制數(shù)據(jù)類型的最大長度個(gè)字節(jié)。二進(jìn)制數(shù)據(jù)類型的最大長度即即n的最大值為的

11、最大值為8000,常用于存儲(chǔ)圖像等數(shù)據(jù)。,常用于存儲(chǔ)圖像等數(shù)據(jù)。2Varbinary:其定義形式為其定義形式為varbinaryn,數(shù)據(jù)的存儲(chǔ)長度,數(shù)據(jù)的存儲(chǔ)長度是變化的,它為實(shí)際所輸入數(shù)據(jù)的長度加上是變化的,它為實(shí)際所輸入數(shù)據(jù)的長度加上4字節(jié)。字節(jié)。在輸入二進(jìn)制常量時(shí),需在該常量前面加一個(gè)前在輸入二進(jìn)制常量時(shí),需在該常量前面加一個(gè)前綴綴0 x。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型9特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型1Timestamp:也稱作時(shí)間戳數(shù)據(jù)類:也稱作時(shí)間戳數(shù)據(jù)類型。是一種自動(dòng)記錄時(shí)間的數(shù)據(jù)類型,主要用型。是一種自動(dòng)記錄時(shí)間的數(shù)據(jù)類型,主要用于在數(shù)據(jù)表中記錄其數(shù)據(jù)的修改時(shí)間。它提供于在數(shù)據(jù)表中記錄其數(shù)

12、據(jù)的修改時(shí)間。它提供數(shù)據(jù)庫范圍內(nèi)的唯一值。數(shù)據(jù)庫范圍內(nèi)的唯一值。2Uniqueidentifier:也稱作唯一標(biāo)識(shí):也稱作唯一標(biāo)識(shí)符數(shù)據(jù)類型。符數(shù)據(jù)類型。Uniqueidentifier用于存儲(chǔ)一個(gè)用于存儲(chǔ)一個(gè)16字節(jié)長的二進(jìn)制數(shù)據(jù)類型,它是字節(jié)長的二進(jìn)制數(shù)據(jù)類型,它是SQL Server根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)適配器地址和根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)適配器地址和CPU時(shí)鐘時(shí)鐘產(chǎn)生的全局唯一標(biāo)識(shí)符代碼產(chǎn)生的全局唯一標(biāo)識(shí)符代碼Globally Unique Identifier,簡寫為,簡寫為GUID。 4.1 數(shù)據(jù)類型數(shù)據(jù)類型10新增數(shù)據(jù)類型新增數(shù)據(jù)類型1Bigint:占用:占用8個(gè)字節(jié)。個(gè)字節(jié)。2sql_varia

13、nt:用于存儲(chǔ)除文本、:用于存儲(chǔ)除文本、圖形數(shù)據(jù)和圖形數(shù)據(jù)和timestamp類型數(shù)據(jù)外的其類型數(shù)據(jù)外的其它任何合法的它任何合法的SQL Server數(shù)據(jù)。數(shù)據(jù)。3table:用于存儲(chǔ)對表或者視圖:用于存儲(chǔ)對表或者視圖處理后的結(jié)果集。處理后的結(jié)果集。4.1 數(shù)據(jù)類型數(shù)據(jù)類型4.1.2 自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型 1使用企業(yè)管理器創(chuàng)立使用企業(yè)管理器創(chuàng)立2利用系統(tǒng)存儲(chǔ)過程創(chuàng)立利用系統(tǒng)存儲(chǔ)過程創(chuàng)立sp_addtype typename= type,phystype= system_data_type, nulltype= null_type, owner= owner_name 4.1 數(shù)據(jù)類型數(shù)

14、據(jù)類型ntype:指定用戶定義的數(shù)據(jù)類型的名稱。:指定用戶定義的數(shù)據(jù)類型的名稱。nsystem_data_type:指定相應(yīng)的系統(tǒng)提供:指定相應(yīng)的系統(tǒng)提供的數(shù)據(jù)類型的名稱及定義。注意,不能使用的數(shù)據(jù)類型的名稱及定義。注意,不能使用timestamp數(shù)據(jù)類型,當(dāng)所使用的系統(tǒng)數(shù)據(jù)類數(shù)據(jù)類型,當(dāng)所使用的系統(tǒng)數(shù)據(jù)類型有額外說明時(shí),需要用引號將其括起來。型有額外說明時(shí),需要用引號將其括起來。nnull_type:指定用戶自定義數(shù)據(jù)類型的:指定用戶自定義數(shù)據(jù)類型的null屬性,其值可以為屬性,其值可以為null、not null或或者者nonull。默認(rèn)與系統(tǒng)默認(rèn)的。默認(rèn)與系統(tǒng)默認(rèn)的null屬性一屬性一樣

15、。樣。nowner_name:指定用戶自定義數(shù)據(jù)類型的:指定用戶自定義數(shù)據(jù)類型的所有者。所有者。4.1 數(shù)據(jù)類型數(shù)據(jù)類型刪除用戶自定義數(shù)據(jù)刪除用戶自定義數(shù)據(jù) 1使用企業(yè)管理器使用企業(yè)管理器2利用系統(tǒng)存儲(chǔ)過程利用系統(tǒng)存儲(chǔ)過程sp_droptype typename= type 本章首頁本章首頁4.2 創(chuàng)立表創(chuàng)立表 表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對象,表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對象,用來存儲(chǔ)各種各樣的信息。用來存儲(chǔ)各種各樣的信息。 在在SQL Server 2000SQL Server 2000中,一個(gè)數(shù)據(jù)庫中最多中,一個(gè)數(shù)據(jù)庫中最多可以創(chuàng)立可以創(chuàng)立200200萬個(gè)表,用戶創(chuàng)立數(shù)據(jù)庫表時(shí),

16、最萬個(gè)表,用戶創(chuàng)立數(shù)據(jù)庫表時(shí),最多可以定義多可以定義10241024列。在同一數(shù)據(jù)庫的不同表中,列。在同一數(shù)據(jù)庫的不同表中,可以有一樣的字段,但在同一個(gè)表中不允許有可以有一樣的字段,但在同一個(gè)表中不允許有一樣的字段,而且每個(gè)字段都要求數(shù)據(jù)類型一一樣的字段,而且每個(gè)字段都要求數(shù)據(jù)類型一樣。樣。 4.2 創(chuàng)立表創(chuàng)立表4.2.1 4.2.1 利用企業(yè)管理器創(chuàng)立表利用企業(yè)管理器創(chuàng)立表 n默認(rèn)值:指定列的默認(rèn)值。除定義為默認(rèn)值:指定列的默認(rèn)值。除定義為timestamptimestamp或帶或帶IDENTITYIDENTITY屬性的列以外的任何屬性的列以外的任何列。刪除表時(shí),將刪除默認(rèn)值定義。只有常量列

17、。刪除表時(shí),將刪除默認(rèn)值定義。只有常量值如字符串、值如字符串、SQL ServerSQL Server內(nèi)部函數(shù)如內(nèi)部函數(shù)如SYSTEM_USERSYSTEM_USER或或NULLNULL值可以用作默認(rèn)值。值可以用作默認(rèn)值。n精度和小數(shù)位數(shù):精度是列的總長度,包精度和小數(shù)位數(shù):精度是列的總長度,包括整數(shù)部分和小數(shù)部分的長度之和,但不包括括整數(shù)部分和小數(shù)部分的長度之和,但不包括小數(shù)點(diǎn);小數(shù)位數(shù)指定小數(shù)點(diǎn)后面的長度。小數(shù)點(diǎn);小數(shù)位數(shù)指定小數(shù)點(diǎn)后面的長度。4.2 創(chuàng)立表創(chuàng)立表n標(biāo)識(shí):指定列是否是標(biāo)識(shí)列。一個(gè)表只能標(biāo)識(shí):指定列是否是標(biāo)識(shí)列。一個(gè)表只能創(chuàng)立一個(gè)標(biāo)識(shí)列。不能對標(biāo)識(shí)列使用綁定默認(rèn)創(chuàng)立一個(gè)標(biāo)識(shí)列

18、。不能對標(biāo)識(shí)列使用綁定默認(rèn)值和值和DEFAULTDEFAULT約束。必須同時(shí)指定種子和增量,約束。必須同時(shí)指定種子和增量,或者兩者都不指定。默認(rèn)值或者兩者都不指定。默認(rèn)值1,11,1。可以成為。可以成為標(biāo)識(shí)列的數(shù)據(jù)類型有標(biāo)識(shí)列的數(shù)據(jù)類型有intint、smallintsmallint、tinyinttinyint、numericnumeric和和decimaldecimal等系統(tǒng)數(shù)據(jù)類型;假如其數(shù)等系統(tǒng)數(shù)據(jù)類型;假如其數(shù)據(jù)類型為據(jù)類型為numericnumeric和和decimaldecimal,不允許出現(xiàn)小數(shù),不允許出現(xiàn)小數(shù)位數(shù)。位數(shù)。n標(biāo)識(shí)種子:指定標(biāo)識(shí)列的初始值。標(biāo)識(shí)種子:指定標(biāo)識(shí)列的初

19、始值。n標(biāo)識(shí)遞增量:指定標(biāo)識(shí)列的增量值。標(biāo)識(shí)遞增量:指定標(biāo)識(shí)列的增量值。4.2 創(chuàng)立表創(chuàng)立表n是是RowGuidRowGuid:指定列是否使用全局唯一標(biāo)識(shí):指定列是否使用全局唯一標(biāo)識(shí)符。符。n公式:用于指定計(jì)算列的列值表達(dá)式。公式:用于指定計(jì)算列的列值表達(dá)式。n排序規(guī)那么:指定列的排序規(guī)那么。排序規(guī)那么:指定列的排序規(guī)那么。 說明:在數(shù)據(jù)庫中表名必須是唯一的,但說明:在數(shù)據(jù)庫中表名必須是唯一的,但是假如為表指定了不同的用戶,就可以創(chuàng)立多是假如為表指定了不同的用戶,就可以創(chuàng)立多個(gè)一樣名稱的表。個(gè)一樣名稱的表。 4.2 創(chuàng)立表創(chuàng)立表4.2.2 4.2.2 利用利用Transact-SQL語言創(chuàng)立表

20、語言創(chuàng)立表CREATE TABLE database_name. owner .| owner. table_name | column_name AS computed_column_expression| ,n ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT 4.2 創(chuàng)立表創(chuàng)立表 : : = column_name data_type COLLATE DEFAULT constant_expression | IDENTITY seed , increment NOT FOR REPLICATION ROWGUIDCOL .n

21、 4.2 創(chuàng)立表創(chuàng)立表 := CONSTRAINT constraint_name NULL | NOT NULL | PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT |FOREIGN KEY column ,nREFERENCES ref_table ref_column ,n NOT FOR REPLICATION| CHECK NOT FOR REPLICATION logical_expression 本章首頁本章首頁 4.3 創(chuàng)立、刪除和

22、修改約束創(chuàng)立、刪除和修改約束 約束是約束是SQL Server提供的自動(dòng)保持?jǐn)?shù)提供的自動(dòng)保持?jǐn)?shù)據(jù)庫完好性的一種方法據(jù)庫完好性的一種方法 。n列級約束:列級約束是行定義的一部列級約束:列級約束是行定義的一部分,只可以應(yīng)用在一列上。分,只可以應(yīng)用在一列上。n表級約束:表級約束的定義獨(dú)立于列表級約束:表級約束的定義獨(dú)立于列的定義,可以應(yīng)用在一個(gè)表中的多列上。的定義,可以應(yīng)用在一個(gè)表中的多列上。 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束4.3.1 主鍵約束主鍵約束 主鍵可以唯一地確定表中的每一條記錄,主鍵不主鍵可以唯一地確定表中的每一條記錄,主鍵不能取空值。主鍵約束可以保證實(shí)體的完好性。能取空

23、值。主鍵約束可以保證實(shí)體的完好性。1 1通過企業(yè)管理器完成添加、刪除和修改主鍵通過企業(yè)管理器完成添加、刪除和修改主鍵的操作的操作 2 2使用使用Transact-SQLTransact-SQL語句設(shè)置主鍵約束語句設(shè)置主鍵約束 CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED column_name,n 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束4.3.2 唯一性約束唯一性約束唯一性約束用于指定一個(gè)或多個(gè)列的組合唯一性約束用于指定一個(gè)或多個(gè)列的組合值具有唯一性,以防止在列中輸入重復(fù)的值。值具有唯一性,以防止在列中輸入

24、重復(fù)的值。n使用唯一性約束的字段允許為空值;使用唯一性約束的字段允許為空值;n一個(gè)表中可以允許有多個(gè)唯一性約束;一個(gè)表中可以允許有多個(gè)唯一性約束;n可以把唯一性約束定義在多個(gè)字段上;可以把唯一性約束定義在多個(gè)字段上;n唯一性約束用于強(qiáng)迫在指定字段上創(chuàng)立一唯一性約束用于強(qiáng)迫在指定字段上創(chuàng)立一個(gè)唯一性索引;個(gè)唯一性索引;n默認(rèn)情況下,創(chuàng)立的索引類型為非聚集索默認(rèn)情況下,創(chuàng)立的索引類型為非聚集索引。引。 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束1通過企業(yè)管理器完成創(chuàng)立和修改唯一性通過企業(yè)管理器完成創(chuàng)立和修改唯一性約束的操作約束的操作 2使用使用Transact-SQL語句完成唯一性約語句完成

25、唯一性約束的操作束的操作CONSTRAINT constraint_name UNIQUE CLUSTERED|NONCLUSTEREDcolumn_name,n 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束4.3.3 檢查約束檢查約束保證數(shù)據(jù)庫數(shù)據(jù)的完好性。保證數(shù)據(jù)庫數(shù)據(jù)的完好性。n一個(gè)列級檢查約束只能與限制的字段有關(guān);一一個(gè)列級檢查約束只能與限制的字段有關(guān);一個(gè)表級檢查約束只能與限制的表中字段有關(guān);個(gè)表級檢查約束只能與限制的表中字段有關(guān);n一個(gè)表中可以定義多個(gè)檢查約束;一個(gè)表中可以定義多個(gè)檢查約束;n每個(gè)每個(gè)CREATE TABLE語句中每個(gè)字段只能定義語句中每個(gè)字段只能定義一個(gè)檢查約

26、束;一個(gè)檢查約束;n在多個(gè)字段上定義檢查約束,那么必須將檢查在多個(gè)字段上定義檢查約束,那么必須將檢查約束定義為表級約束;約束定義為表級約束;n當(dāng)執(zhí)行當(dāng)執(zhí)行INSERT語句或者語句或者UPDATE語句時(shí),檢語句時(shí),檢查約束將驗(yàn)證數(shù)據(jù);查約束將驗(yàn)證數(shù)據(jù);n檢查約束中不能包含子查詢。檢查約束中不能包含子查詢。 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束1使用企業(yè)管理器創(chuàng)立檢查約束使用企業(yè)管理器創(chuàng)立檢查約束 2用用Transact-SQL語句創(chuàng)立檢查約束。語句創(chuàng)立檢查約束。CONSTRAINT constraint_name CHECK NOT FOR REPLICATION logical_e

27、xpression4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束4.3.4 默認(rèn)約束默認(rèn)約束 n每個(gè)字段只能定義一個(gè)默認(rèn)約束;每個(gè)字段只能定義一個(gè)默認(rèn)約束;n假如定義的默認(rèn)值長于其對應(yīng)字段的允許假如定義的默認(rèn)值長于其對應(yīng)字段的允許長度,那么輸入到表中的默認(rèn)值將被截?cái)?;長度,那么輸入到表中的默認(rèn)值將被截?cái)?;n不能參加到帶有不能參加到帶有IDENTITY屬性或者數(shù)據(jù)屬性或者數(shù)據(jù)類型為類型為timestamp的字段上;的字段上;n假如字段定義為用戶定義的數(shù)據(jù)類型,而假如字段定義為用戶定義的數(shù)據(jù)類型,而且有一個(gè)默認(rèn)綁定到這個(gè)數(shù)據(jù)類型上,那么不且有一個(gè)默認(rèn)綁定到這個(gè)數(shù)據(jù)類型上,那么不允許該字段有默認(rèn)約

28、束。允許該字段有默認(rèn)約束。 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束1使用企業(yè)管理器創(chuàng)立默認(rèn)約束使用企業(yè)管理器創(chuàng)立默認(rèn)約束 2使用使用Transact-SQL語句創(chuàng)立默認(rèn)約束語句創(chuàng)立默認(rèn)約束 4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束4.3.5 外鍵約束外鍵約束 外鍵約束主要用來維護(hù)兩個(gè)表之間數(shù)據(jù)的一致性。外鍵約束主要用來維護(hù)兩個(gè)表之間數(shù)據(jù)的一致性。n外鍵約束提供了字段參照完好性;外鍵約束提供了字段參照完好性;n外鍵從句中的字段數(shù)目和每個(gè)字段指定的數(shù)據(jù)類外鍵從句中的字段數(shù)目和每個(gè)字段指定的數(shù)據(jù)類型都必須和型都必須和REFERENCES從句中的字段相匹配;從句中的字段相匹配;n外鍵

29、約束不能自動(dòng)創(chuàng)立索引,需要用戶手動(dòng)創(chuàng)立;外鍵約束不能自動(dòng)創(chuàng)立索引,需要用戶手動(dòng)創(chuàng)立;n用戶想要修改外鍵約束的數(shù)據(jù),必須有對外鍵約用戶想要修改外鍵約束的數(shù)據(jù),必須有對外鍵約束所參考表的束所參考表的SELECT權(quán)限或者權(quán)限或者REFERENCES權(quán)限;權(quán)限;n參 考 同 一 表 中 的 字 段 時(shí) , 必 須 只 使 用參 考 同 一 表 中 的 字 段 時(shí) , 必 須 只 使 用REFERENCES子句,不能使用外鍵子句;子句,不能使用外鍵子句;4.3 創(chuàng)立、刪除和修改約束創(chuàng)立、刪除和修改約束n一個(gè)表中最多可以有一個(gè)表中最多可以有31個(gè)外鍵約束;個(gè)外鍵約束;n在臨時(shí)表中,不能使用外鍵約束;在臨時(shí)表中,不能使用外鍵約束;n主鍵和外鍵的數(shù)據(jù)類型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論