項(xiàng)目04-SQL Server 2008之補(bǔ)創(chuàng)建數(shù)據(jù)表和約束_第1頁(yè)
項(xiàng)目04-SQL Server 2008之補(bǔ)創(chuàng)建數(shù)據(jù)表和約束_第2頁(yè)
項(xiàng)目04-SQL Server 2008之補(bǔ)創(chuàng)建數(shù)據(jù)表和約束_第3頁(yè)
項(xiàng)目04-SQL Server 2008之補(bǔ)創(chuàng)建數(shù)據(jù)表和約束_第4頁(yè)
項(xiàng)目04-SQL Server 2008之補(bǔ)創(chuàng)建數(shù)據(jù)表和約束_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目04數(shù)據(jù)表的創(chuàng)建和管理

——?jiǎng)?chuàng)建數(shù)據(jù)表和約束

CRY復(fù)習(xí)請(qǐng)說(shuō)出下列命令的功能?CreatedatabaseDropdatabaseSp_helpdbAlterdatabaseaddfilemodifyfilemodifyname=新庫(kù)名removefile創(chuàng)建數(shù)據(jù)庫(kù)

修改數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)

顯示數(shù)據(jù)庫(kù)信息增加數(shù)據(jù)文件修改數(shù)據(jù)文件修改數(shù)據(jù)庫(kù)名刪除數(shù)據(jù)文件項(xiàng)目04數(shù)據(jù)表的創(chuàng)建和管理

——?jiǎng)?chuàng)建數(shù)據(jù)表和表約束

教學(xué)內(nèi)容基礎(chǔ)知識(shí):設(shè)計(jì)表創(chuàng)建數(shù)據(jù)表創(chuàng)建約束

項(xiàng)目04數(shù)據(jù)表的創(chuàng)建和管理

——?jiǎng)?chuàng)建數(shù)據(jù)表和表約束

學(xué)習(xí)目標(biāo)認(rèn)知目標(biāo):了解SQLServer2008的數(shù)據(jù)類型了解表約束的含義能力目標(biāo):掌握用命令方式創(chuàng)建數(shù)據(jù)表的方法(重點(diǎn))掌握表約束的創(chuàng)建(重點(diǎn)、難點(diǎn))一、設(shè)計(jì)表

1.

數(shù)據(jù)表的類型系統(tǒng)表用于存儲(chǔ)服務(wù)器的配置信息、數(shù)據(jù)表的定義信息的一組特殊表,稱為系統(tǒng)表。用戶表已分區(qū)表已分區(qū)表是將超大表按照某種業(yè)務(wù)規(guī)則分別存儲(chǔ)在不同的文件組中,以提高性能和方便管理。臨時(shí)表臨時(shí)表是一種因?yàn)闀簳r(shí)需要所產(chǎn)生的數(shù)據(jù)表,它存放在Tempdb數(shù)據(jù)庫(kù)中,當(dāng)使用完臨時(shí)表且關(guān)閉連接后,系統(tǒng)會(huì)自動(dòng)刪除臨時(shí)表。2.

創(chuàng)建數(shù)據(jù)表前應(yīng)考慮的問(wèn)題表中要存儲(chǔ)的數(shù)據(jù)類型(用來(lái)確定數(shù)據(jù)的取值范圍)表中需要的列數(shù)、每列的類型列是否可以為空是否需要在列上使用約束、默認(rèn)值和規(guī)則需要使用什么樣的索引哪些列作為主鍵、哪些列作為外鍵哪些用戶擁有訪問(wèn)該數(shù)據(jù)庫(kù)或表的權(quán)限

表約束一、設(shè)計(jì)表

3.

數(shù)據(jù)類型占1字節(jié)。存放邏輯值。只能取0、1、nullbit位類型存放固定長(zhǎng)度的字符,n為1~4000存放可變長(zhǎng)度的字符,n為1~4000存放最大長(zhǎng)度為230-1的字符數(shù)據(jù)nchar(n)nvarchar(n)ntext

Unicode寬字符型占8字節(jié)占4字節(jié)占2字節(jié)占1字節(jié)bigintintsmallinttinyint

整數(shù)類型存放固定長(zhǎng)度的字符,n為1~8000存放可變長(zhǎng)度的字符,n為1~8000存放最大長(zhǎng)度為231-1的字符數(shù)據(jù)char(n)varchar(n)text

字符型長(zhǎng)度定義標(biāo)識(shí)數(shù)據(jù)類型字符型:1個(gè)字符占1個(gè)字節(jié)。Unicode型:1個(gè)字符占2個(gè)字節(jié)3.

數(shù)據(jù)類型占8字節(jié)占4字節(jié)moneysmallmoney貨幣型占8字節(jié)。日期為從1/1/1753到12/31/9999占4字節(jié)。日期為從1/1/1900到6/6/2079datetimesmalldatetime

日期時(shí)間型定長(zhǎng)二進(jìn)制數(shù)據(jù)。n為1~8000變長(zhǎng)二進(jìn)制數(shù)據(jù)。n為1~8000存放最大長(zhǎng)度為231-1的二進(jìn)制數(shù)據(jù)binary(n)varbinary(n)image二進(jìn)制型占8字節(jié)。存儲(chǔ)小數(shù)點(diǎn)位數(shù)不確定的數(shù)據(jù)占4字節(jié)。存儲(chǔ)小數(shù)點(diǎn)位數(shù)不確定的數(shù)據(jù)floatreal

浮點(diǎn)數(shù)類型占2~17字節(jié)。存儲(chǔ)小數(shù)點(diǎn)位數(shù)確定的數(shù)據(jù)占2~17字節(jié)。存儲(chǔ)小數(shù)點(diǎn)位數(shù)確定的數(shù)據(jù)decimal(p,s)numeric(p,s)精確數(shù)類型數(shù)據(jù)類型定義標(biāo)識(shí)長(zhǎng)度二、創(chuàng)建數(shù)據(jù)表

1.創(chuàng)建簡(jiǎn)單的數(shù)據(jù)表命令格式createtable

表名

(列定義列約束[,……n])實(shí)例1:在xscjgl庫(kù)中,創(chuàng)建一個(gè)簡(jiǎn)單的表xsqk。createtablexscjgl.dbo.xsqk

(學(xué)號(hào)

char(10),

姓名

varchar(10),

性別

bit

,

聯(lián)系電話

char(11))數(shù)據(jù)庫(kù)名,可省略所有者名,可省略表名方法2:use

xscjcreatetable

xsqk……2.

列屬性類型非空值屬性默認(rèn)時(shí),列的值為null,表示允許該列為空。如果值為notnull,表示不允許該列為空。默認(rèn)值屬性標(biāo)識(shí)屬性為標(biāo)識(shí)屬性的列,其值由系統(tǒng)自動(dòng)填充。實(shí)例2:在xscj庫(kù)中,創(chuàng)建“序號(hào)”標(biāo)識(shí)屬性、“學(xué)號(hào)”非空屬性,“性別”有默認(rèn)值1的表xsqk。createtablexsqk(序號(hào)intidentity,

學(xué)號(hào)char(10)notnull,

姓名

varchar(10),

性別

bitdefault1,

聯(lián)系電話

char(11))若xscj不是當(dāng)前庫(kù),應(yīng)先輸入:use

xscj默認(rèn)情況下為空值。3.

表約束含義約束定義了關(guān)于允許什么數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)的原則。目的為了防止列出現(xiàn)非法數(shù)據(jù),以保證數(shù)據(jù)中數(shù)據(jù)的正確性、一致性和有效性。類型主鍵(PRIMARYKEY)約束唯一(UNIQUE)約束外鍵(FOREIGNKEY)約束檢查(CHECK)約束說(shuō)明:非空和默認(rèn)值也可看成是約束。創(chuàng)建表約束的方法新建表時(shí),在單列后創(chuàng)建約束在所有列之后,再創(chuàng)建約束表已存在,只能通過(guò)修改表,添加約束實(shí)現(xiàn)實(shí)體完整性實(shí)現(xiàn)參照完整性實(shí)現(xiàn)域完整性4.創(chuàng)建約束—(1)主鍵約束主鍵(PRIMARYKEY)約束的作用:不允許輸入重復(fù)的值不能取空值

當(dāng)主鍵是由多個(gè)屬性組成時(shí):某一屬性上的數(shù)據(jù)可以重復(fù),但其組合必須是唯一的;每個(gè)屬性的值都不能為空。一個(gè)表上只能有一個(gè)主鍵。實(shí)例3:在學(xué)生情況表xsqk中,創(chuàng)建“學(xué)號(hào)”的主鍵約束,主鍵約束命名為pk_xsqk_xh。createtablexsqk(學(xué)號(hào)char(10)constraintpk_xsqk_xhprimarykey,

姓名varchar(10),

性別bit,

聯(lián)系電話char(11))4.創(chuàng)建約束—(2)唯一約束唯一(UNIQUE)約束的作用:保證列中不會(huì)出現(xiàn)重復(fù)的數(shù)據(jù)。主鍵約束與唯一約束的區(qū)別:一個(gè)表中只能定義一個(gè)主鍵約束,但可以定義多個(gè)唯一約束。定義了唯一約束的列數(shù)據(jù)可以為空值,而定義了主鍵約束的列數(shù)據(jù)不能為空值。實(shí)例4:在xsqk表中,創(chuàng)建“電話”的唯一約束,并且將約束命名為uq_xsqk_dh。createtablexsqk(學(xué)號(hào)char(10)constraintpk_xsqk_xhprimarykey,

姓名varchar(10),

性別bit,

聯(lián)系電話char(11)constraintuq_xsqk_dhunique(聯(lián)系電話))4.創(chuàng)建約束—(3)外鍵約束外鍵(FOREIGNKEY)約束的作用:用于建立和強(qiáng)制兩個(gè)表間的關(guān)聯(lián),限制外鍵的取值必須是主表的主鍵值。實(shí)例5:在xscj庫(kù)中,按表4-4創(chuàng)建

xs_kc表。usexscjcreatetablexs_kc(學(xué)號(hào)

char(10)notnullreferences

xsqk(學(xué)號(hào)),

課程號(hào)char(3),

成績(jī)

tinyint,學(xué)分tinyint,primarykey(學(xué)號(hào),課程號(hào)),foreignkey(課程號(hào))references

kc(課程號(hào)))4.創(chuàng)建約束—(4)檢查約束檢查(CHECK)約束的作用:用來(lái)限制列上可以接受的數(shù)據(jù)值。使用邏輯表達(dá)式來(lái)判斷數(shù)據(jù)合法性。實(shí)例5:在xsqk表中,創(chuàng)建名為ck_xsqk_xb的檢查約束,該約束限制“性別”為0或1。createtablexsqk(學(xué)號(hào)char(10)constraintpk_xsqk_xhprimarykey,

姓名varchar(10),

性別bitconstraintck_xsqk_xbcheck(性別=0or性別=1),

聯(lián)系電話char(11)constraintuq_xsq

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論