




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)表的創(chuàng)建和管理
——創(chuàng)建數(shù)據(jù)表和表約束
第3講復(fù)習(xí)請說出下列命令的功能?createdatabaseDropdatabaseSp_helpdbAlterdatabaseaddfile|addfilegroup|addlogfilemodifyfile|modifyfilegroupmodifyname=新庫名removefile|removefilegroup創(chuàng)建數(shù)據(jù)庫修改數(shù)據(jù)庫刪除數(shù)據(jù)庫顯示數(shù)據(jù)庫信息增加數(shù)據(jù)文件增加文件組增加日志文件修改數(shù)據(jù)文件修改文件組修改數(shù)據(jù)庫名刪除數(shù)據(jù)文件刪除文件組數(shù)據(jù)表的創(chuàng)建和管理
——創(chuàng)建數(shù)據(jù)表和表約束
教學(xué)內(nèi)容基礎(chǔ)知識:設(shè)計(jì)表創(chuàng)建數(shù)據(jù)表創(chuàng)建約束
刪除約束數(shù)據(jù)表的創(chuàng)建和管理
——創(chuàng)建數(shù)據(jù)表和表約束
學(xué)習(xí)目標(biāo)認(rèn)知目標(biāo):了解SQLServer2005的數(shù)據(jù)類型了解表約束的含義能力目標(biāo):掌握用命令方式創(chuàng)建數(shù)據(jù)表的方法(重點(diǎn))掌握表約束的創(chuàng)建、修改和刪除(重點(diǎn)、難點(diǎn))一、設(shè)計(jì)表
1.
數(shù)據(jù)表的類型系統(tǒng)表用于存儲服務(wù)器的配置信息、數(shù)據(jù)表的定義信息的一組特殊表,稱為系統(tǒng)表。用戶表已分區(qū)表已分區(qū)表是將超大表按照某種業(yè)務(wù)規(guī)則分別存儲在不同的文件組中,以提高性能和方便管理。臨時表臨時表是一種因?yàn)闀簳r需要所產(chǎn)生的數(shù)據(jù)表,它存放在Tempdb數(shù)據(jù)庫中,當(dāng)使用完臨時表且關(guān)閉連接后,系統(tǒng)會自動刪除臨時表。一、設(shè)計(jì)表
2.
創(chuàng)建數(shù)據(jù)表前應(yīng)考慮的問題表中要存儲的數(shù)據(jù)類型(用來確定數(shù)據(jù)的取值范圍)表中需要的列數(shù)、每列的類型列是否可以為空是否需要在列上使用約束、默認(rèn)值和規(guī)則需要使用什么樣的索引哪些列作為主鍵、哪些列作為外鍵哪些用戶擁有訪問該數(shù)據(jù)庫或表的權(quán)限
表約束一、設(shè)計(jì)表
3.
數(shù)據(jù)類型占1字節(jié)。存放邏輯值。只能取0、1、null。bit位類型存放固定長度的n個字符數(shù)據(jù)1~4000。存放可變長度的n個字符數(shù)據(jù)1~4000。存放最大長度為230-1的字符數(shù)據(jù)nchar(n)nvarchar(n)ntext
Unicode寬字符型占8字節(jié)占4字節(jié)占2字節(jié)占1字節(jié)bigintintsmallintTinyint
整數(shù)類型存放固定長度的字符,n為1~8000個字符。存放可變長度的字符,n為1~8000個字符。存放最大長度為231-1的字符數(shù)據(jù)。char(n)varchar(n)text
字符型長度定義標(biāo)識數(shù)據(jù)類型字符型:1個字符占1個字節(jié)。Unicode型:1個字符占2個字節(jié)一、設(shè)計(jì)表
3.
數(shù)據(jù)類型占8字節(jié)。占4字節(jié)。Moneysmallmoney貨幣型占8字節(jié)。日期為從1/1/1753到12/31/9999。占4字節(jié)。日期為從1/1/1900到6/6/2079。Datetimesmalldatetime
日期時間類型定長二進(jìn)制數(shù)據(jù)。n為1~8000字節(jié)。變長二進(jìn)制數(shù)據(jù)。n為1~8000字節(jié)。存放最大長度為231-1的二進(jìn)制數(shù)據(jù)(2G)。Binary(n)Varbinary(n)Image:二進(jìn)制型占8字節(jié)。存儲小數(shù)點(diǎn)位數(shù)不確定的數(shù)據(jù)占4字節(jié)。存儲小數(shù)點(diǎn)位數(shù)不確定的數(shù)據(jù)Float(n)Real
浮點(diǎn)數(shù)類型占2~17字節(jié)。存儲小數(shù)點(diǎn)位數(shù)確定的數(shù)據(jù)占2~17字節(jié)。存儲小數(shù)點(diǎn)位數(shù)確定的數(shù)據(jù)Decimal(p,s)Numeric(p,s)精確數(shù)類型存放最大長度為231-1的二進(jìn)制數(shù)據(jù)。image圖像型二、創(chuàng)建數(shù)據(jù)表
1.創(chuàng)建簡單的數(shù)據(jù)表命令格式createtable
表名
(字段名類型[(長度)][,……n])實(shí)例1:在xscj庫中,創(chuàng)建一個簡單的表xsqk。createtable
xscj.dbo.xsqk
(學(xué)號
char(6),
姓名
char(8),
性別
bit
,
電話
char(11))數(shù)據(jù)庫名,可省略所有者名,可省略表名方法2:use
xscjcreatetable
xsqk……二、創(chuàng)建數(shù)據(jù)表
2.
列屬性類型空值屬性默認(rèn)時,列的值為null,表示允許該列為空。如果值為notnull,表示不允許該列為空。默認(rèn)值屬性標(biāo)識屬性為標(biāo)識屬性的列,其值由系統(tǒng)自動填充。二、創(chuàng)建數(shù)據(jù)表
3.
表約束含義約束定義了關(guān)于允許什么數(shù)據(jù)進(jìn)入數(shù)據(jù)庫的原則。目的為了防止列出現(xiàn)非法數(shù)據(jù),以保證數(shù)據(jù)中數(shù)據(jù)的一致性和完整性。二、創(chuàng)建數(shù)據(jù)表
3.
表約束類型主鍵(PRIMARYKEY)約束惟一(UNIQUE)約束外鍵(FOREIGNKEY)約束檢查(CHECK)約束說明:非空和默認(rèn)值也可看成是約束。創(chuàng)建表約束的方法新建表時,在單列后創(chuàng)建約束在所有列之后,再創(chuàng)建約束表已存在,只能通過修改表,添加約束實(shí)現(xiàn)實(shí)體完整性實(shí)現(xiàn)參照完整性實(shí)現(xiàn)域完整性二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建表約束—(1)非空值約束空值(NULL)就是尚不知道或不確定的數(shù)據(jù)值,它不同于0或空格。用戶常常將不確定的列值定義為空值。實(shí)例2:在xscj庫中,創(chuàng)建“學(xué)號”非空約束的表xsqk。createtable
xsqk
(學(xué)號
char(6)notnull,
姓名
char(8),
性別
bit
,
電話
char(11))若xscj不是當(dāng)前庫,應(yīng)先輸入:use
xscj默認(rèn)情況下為空值。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(1)非空值約束課堂練習(xí)1:在xscj庫中,創(chuàng)建“課程號”非空的課程表kc(P88)。
usexscjcreatetablekc(課程號char(3)notnull
,
課程名char(20),
授課教師
char(8),
開課學(xué)期tinyint)二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(2)主鍵約束主鍵(PRIMARYKEY)約束的作用:不允許輸入重復(fù)的值不能取空值
當(dāng)主鍵是由多個屬性組成時:某一屬性上的數(shù)據(jù)可以重復(fù),但其組合必須是惟一的;每個屬性的值都不能為空。一個表上只能有一個主鍵。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(2)主鍵約束實(shí)例3:在學(xué)生情況表xsqk中,添加“學(xué)號”的主鍵約束,主鍵約束命名為pk_xsqk_xh。createtable
xsqk
(學(xué)號char
(6),
姓名char(8),
性別
bit,
電話char(11)
constraint
pk_xsqk_xh
primarykey(學(xué)號))主鍵約束名主鍵:保證了學(xué)號不能為空,且不重復(fù)。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(2)主鍵約束課堂練習(xí)2:在課程表kc中,添加“課程號”的主鍵約束,主鍵約束命名為pk_kc_kh。
usexscjaltertablekcaddconstraintpk_kc_khprimarykey(課程號)二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(3)惟一性約束惟一性(UNIQUE)約束的作用:保證列中不會出現(xiàn)重復(fù)的數(shù)據(jù)。主鍵約束與惟一性約束的區(qū)別:一個表中只能定義一個主鍵約束,但可以定義多個惟一約束。定義了惟一約束的列數(shù)據(jù)可以為空值,而定義了主鍵約束的列數(shù)據(jù)不能為空值。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(3)惟一性約束實(shí)例4:在xsqk表中,創(chuàng)建“電話”字段的惟一性約束,并且將約束命名為uq_xsqk_dh。altertable
xsqk
add
constraint
uq_xsqk_dh
unique(電話)惟一性約束名惟一性:保證了“電話”列的取值不能相同。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(4)外鍵約束外鍵(FOREIGNKEY)約束的作用:用于建立和強(qiáng)制兩個表間的關(guān)聯(lián),限制外鍵的取值必須是主表的主鍵值。實(shí)例5:在xscj庫中,按P91表4-4創(chuàng)建
xs_kc表。二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(4)外鍵約束usexscjcreatetable
xs_kc(學(xué)號
char(6)notnullreferences
xsqk(學(xué)號),
課程號char(3),
成績
tinyintprimarykey(學(xué)號,課程號),
foreignkey(課程號)references
kc(課程號))已設(shè)置外鍵約束已設(shè)置外鍵約束二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(5)檢查約束檢查(CHECK)約束的作用:用來限制列上可以接受的數(shù)據(jù)值。使用邏輯表達(dá)式來判斷數(shù)據(jù)合法性。實(shí)例6:在xsqk表中,設(shè)置名為ck_xsqk_xb的檢查約束,該約束限制“性別”為0或1。altertable
xsqk
add
constraint
ck_xsqk_xb
check(性別=1or性別=0)二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(5)檢查約束課堂練習(xí)3:在學(xué)生與課程表xs_kc中,添加名ck_xs_kc_cj的檢查約束,該約束限制“成績”在0到100之間。
usexscjaltertablexs_kcaddconstraintck_xs_kc_cjcheck(成績>=0and成績<=100)二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束—(6)默認(rèn)約束默認(rèn)(DEFAULT)約束的作用:當(dāng)列值未確定且該列又不能為空時,可由系統(tǒng)自動為該列添加一個值。實(shí)例7:在xsqk表中,設(shè)置名為df_xsqk_xb的默認(rèn)約束,該約束使“性別”的默認(rèn)值為1。altertable
xsqk
add
constraint
df_xsqk_xb
default1for性別二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束說明:所有約束可一次創(chuàng)建完成。usexscj--從默認(rèn)的master數(shù)據(jù)庫切換到xsqk庫createtable
xsqk
(學(xué)號
char(6)notnull,
姓名
char(8)notnull,
性別
bit,電話
char(11))altertablexsqkaddconstraint
pk_xsqk_xh
primarykey(學(xué)號),constraint
df_xsqk_xb
default1for
性別,constraint
ck_xsqk_xb
check(性別=1or性別=0),constraint
uq_xsqk_dh
unique(電話)二、創(chuàng)建數(shù)據(jù)表
4.創(chuàng)建約束說明:所有約束可直接創(chuàng)建在列定義之后。use
xscjcreatetable
xsqk
(學(xué)號char(6)primarykey(學(xué)號)check(學(xué)號
like‘[0-9][0-9][0-9][0-9][0-9][0-9]’),
姓名char(8)notnull,
性別bit
default1check(性別=0or性別=1),
電話char(11)unique(電話))該方式創(chuàng)建的約束由系統(tǒng)自動命名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何提高公共政策的透明度與參與度試題及答案
- 機(jī)電設(shè)備技術(shù)規(guī)范考試題
- 軟件設(shè)計(jì)師考試準(zhǔn)備過程的關(guān)鍵點(diǎn)試題及答案
- 解析西方政治制度的社會責(zé)任試題及答案
- 公共政策的效果與社會公正的關(guān)系研究考點(diǎn)及答案
- 計(jì)算機(jī)軟件測試方法論的應(yīng)用試題及答案
- 提升網(wǎng)絡(luò)故障響應(yīng)速度的措施與試題及答案
- 公共政策信息化的實(shí)踐試題及答案
- 軟件設(shè)計(jì)師考試職場新人的發(fā)展建議及試題與答案
- 高清晰度軟件設(shè)計(jì)師考試試題及答案
- 互聯(lián)網(wǎng)公司網(wǎng)絡(luò)安全工程師入職培訓(xùn)
- 2025年中南出版?zhèn)髅郊瘓F(tuán)湖南教育出版社分公司招聘筆試參考題庫含答案解析
- 廣東惠州事業(yè)單位招聘醫(yī)療衛(wèi)生崗考試模擬題帶答案2025年
- 車輛抵頂合同協(xié)議
- 2025春 新人教版美術(shù)小學(xué)一年級下冊致敬平凡
- 學(xué)美容管理制度
- 2025年河南省鄭州市中考一模英語試題
- GB/T 13511.2-2025配裝眼鏡第2部分:漸變焦定配眼鏡
- 2024演出經(jīng)紀(jì)人資格考試重要試題及答案
- TCNCIA 01036-2024 變壓器用無溶劑防腐涂料
- 2024年中考復(fù)習(xí) 滬教版六年級地理上冊知識點(diǎn)
評論
0/150
提交評論