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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

學習目標認知目標:了解SQLServer2008的數(shù)據(jù)類型了解表約束的含義能力目標:掌握用命令方式創(chuàng)建數(shù)據(jù)表的方法(重點)掌握表約束的創(chuàng)建(重點、難點)一、設計表

1.

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

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

表約束一、設計表

3.

數(shù)據(jù)類型占1字節(jié)。存放邏輯值。只能取0、1、nullbit位類型存放固定長度的字符,n為1~4000存放可變長度的字符,n為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

字符型長度定義標識數(shù)據(jù)類型字符型:1個字符占1個字節(jié)。Unicode型:1個字符占2個字節(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ù)據(jù)。n為1~8000變長二進制數(shù)據(jù)。n為1~8000存放最大長度為231-1的二進制數(shù)據(jù)binary(n)varbinary(n)image二進制型占8字節(jié)。存儲小數(shù)點位數(shù)不確定的數(shù)據(jù)占4字節(jié)。存儲小數(shù)點位數(shù)不確定的數(shù)據(jù)floatreal

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

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

表名

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

(學號

char(10),

姓名

varchar(10),

性別

bit

,

聯(lián)系電話

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

xscjcreatetable

xsqk……2.

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

學號char(10)notnull,

姓名

varchar(10),

性別

bitdefault1,

聯(lián)系電話

char(11))若xscj不是當前庫,應先輸入:use

xscj默認情況下為空值。3.

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

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

姓名varchar(10),

性別bit,

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

姓名varchar(10),

性別bit,

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

xs_kc表。usexscjcreatetablexs_kc(學號

char(10)notnullreferences

xsqk(學號),

課程號char(3),

成績

tinyint,學分tinyint,primarykey(學號,課程號),foreignkey(課程號)references

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

姓名varchar(10),

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

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

溫馨提示

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

評論

0/150

提交評論