《數據庫技術》項目3 創(chuàng)建和維護表_第1頁
《數據庫技術》項目3 創(chuàng)建和維護表_第2頁
《數據庫技術》項目3 創(chuàng)建和維護表_第3頁
《數據庫技術》項目3 創(chuàng)建和維護表_第4頁
《數據庫技術》項目3 創(chuàng)建和維護表_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

創(chuàng)建和維護表1項目要求掌握數據庫表的創(chuàng)建方法。學會用T-SQL語句創(chuàng)建表、修改表和刪除表。熟悉常用的幾種約束的創(chuàng)建方法。學會對表數據進行插入、修改和刪除。2項目準備基本概念:關系關系就是數據與數據之間的聯(lián)系;關系必須符合的條件:每一列的數據類型都必須相同沒有完全相同的行列與列之間的字段名不能重復沒有組合列,即在一列中沒有子列基本概念:基本表(table)基本表就是一個關系,由行(記錄)和列(字段)組成的二維列表;基本表是SQLServer的主要數據庫對象。3項目準備基本概念:數據類型的三個術語精度:數值型數據整數部分和小數部分的和。如1234.12的精度為6小數位數:數值型數據小數部分位數。長度:存儲數據所占用的字節(jié)數。4項目準備SQLServer2000常用的數據類型

5項目3.1創(chuàng)建表結構任務1:使用企業(yè)管理器創(chuàng)建表結構任務2:使用查詢分析器創(chuàng)建表結構。項目練習6任務1:

使用企業(yè)管理器創(chuàng)建表結構提出任務在“Student”數據庫下,使用【企業(yè)管理器】創(chuàng)建“xs”(“學生”)表對象。分析任務“展開“Student”數據庫,選擇【表】,右鍵選擇【新建表】創(chuàng)建表結構。7任務1:

使用企業(yè)管理器創(chuàng)建表結構完成任務展開“Student”數據庫;選擇【表】,右鍵選擇【新建表】;在【表設計器】中上部分表格中輸入列名、數據類型、長度和允許空字段屬性,其中前三個是必須輸入的。8“xs”表結構任務1:

使用企業(yè)管理器創(chuàng)建表結構9任務2:

使用查詢分析器創(chuàng)建表結構?;菊Z法:CREATE-TABLE語句的語法格式:CREATETABLE表名(字段1數據類型[notnull][identity(seed,increment)][,…n])基本參數:常見符號:[]——代表可省略;紅色字體代表最基本語法格式;“…n”——可以有n個字段。10任務2:

使用查詢分析器創(chuàng)建表結構。提出任務使用【查詢分析器】創(chuàng)建任務1的“xs”表結構。分析任務直接進入【查詢分析器】,在【查詢分析器】中輸入CREATETABLE語句即可。11任務2:

使用查詢分析器創(chuàng)建表結構。完成任務進入【查詢分析器】,選擇“student”數據庫,輸入CREATETABLE語句:CREATETABLExs(xhchar(8)notnull,xmchar(8),xbchar(2),csrqdatetime,zychar(20))單擊工具欄上的“”按鈕分析代碼,如果出現(xiàn)“命令已成功完成”,代表代碼正確;執(zhí)行“”,執(zhí)行此代碼。12項目練習練習3.1:若表中字段類型為char,長度為20,當輸入字符串“計算機及應用”時,此字段占用

字節(jié)存儲空間。若字段類型為varchar,將占用

字節(jié)存儲空間。13項目練習練習3.2:在Student中創(chuàng)建“kc”(“課程”),“cj”(“成績”)表對象。“cj”(“成績”),“kc”(”課程”)表結構如下:14項目3.2

使用企業(yè)管理器創(chuàng)建完整性約束基本概念:完整性約束的類型:實體完整性:數據庫表中的每一條記錄都是惟一的,即表中沒有重復記錄。因此每個實體都必須擁有一個主鍵或惟一性約束。域完整性:域完整性要求存入字段中的數據值必須符合特定的條件來保證數據的有效性。引用完整性:引用完整性涉及兩個或兩個以上表的數據的一致性維護。當添加、刪除或修改數據庫表中的記錄時,可以借助引用完整性來保證相關聯(lián)的表之間的數據一致性。15項目3.2

使用企業(yè)管理器創(chuàng)建完整性約束基本概念:SQLServer的約束:主鍵(PrimaryKey)約束:就是基本表中的主碼,用來惟一標識每行。每個表只能有一個主鍵,且主鍵不能為空,不能重復。外鍵(ForeignKey)約束:用于維護同一數據庫中兩表之間的一致性關系,使用戶在一張表中做增刪查改操作時要注意與其關聯(lián)的另一張表。默認(Default)約束:用于指定一個字段的默認值。當用戶未指定字段數據時,系統(tǒng)自動指派的數據值。檢查(Check)約束:使用邏輯表達式來限制字段上可以接受的數據值。檢查約束通過檢查輸入表中字段的數據值來維護域完整性。惟一性(Unique)約束:主要用于非主鍵字段約束。每張表可以定義多個惟一性約束,定義了惟一性約束的字段值不可重復。16項目3.2

使用企業(yè)管理器創(chuàng)建完整性約束任務1:創(chuàng)建主鍵(PrimaryKey)約束任務2:創(chuàng)建外鍵(ForeignKey)約束任務3:創(chuàng)建默認值(Default)約束任務4:創(chuàng)建檢查(Check)約束任務5:創(chuàng)建惟一性(Unique)約束17任務1:

創(chuàng)建主鍵(PrimaryKey)約束提出任務“Student”數據庫中有“xs”(“學生”)、“kc”(“課程”)、“cj”(“成績”)三個數據庫對象,按要求創(chuàng)建如下主鍵約束:1.將“xs”表中的“xh”(“學號”)字段設置為主鍵。

2.將“cj”表中的“xh”(“學號”)和“kcdh”(“課程代號”)兩個字段組合起來作為主關鍵字。分析任務打開“xs”和“cj”表結構,先將相關字段設置成“NOTNULL”,然后單擊工具欄中“”按鈕即可設置主鍵。18任務1:

創(chuàng)建主鍵(PrimaryKey)約束完成任務1.操作步驟:打開“xs”(“學生”)表的【表設計器】;檢查“xs”(“學生”)表中的“xh”(“學號”)字段是否為NOTNULL,若為NOTNULL,選中“xh”(“學號”)行;單擊工具欄或快捷菜單中的“”按鈕,“xs”(“學生”)表的主關鍵字設置完成。19任務1:

創(chuàng)建主鍵(PrimaryKey)約束完成任務2.操作步驟:打開“cj”(“成績”)表的【表設計器】窗口;檢查“cj”(“成績”)表中的“xh”(“學號”)和“kcdh”(“課程代號”)兩個字段是否為NOTNULL,若為NOTNULL,按住“CTRL”鍵,在“xh”和“kcdh”的行選擇器處依次單擊進行多選;單擊工具欄或快捷菜單中的“”按鈕,“cj”(“成績”)表的主關鍵字設置完成。20任務2:

創(chuàng)建外鍵(ForeignKey)約束提出任務將“xs”表中的“xh”(“學號”)字段設置為“cj”表的外鍵;分析任務由題意,以“xs”表為主表,“cj”表為子表,創(chuàng)建“xh”字段的外鍵約束。21任務2:

創(chuàng)建外鍵(ForeignKey)約束完成任務方法一:使用【管理關系】按鈕創(chuàng)建外關鍵字:打開“xs”(“學生”)或“cj”(“成績”)表的【表設計器】窗口;選擇“”(“管理關系”)按鈕,將出現(xiàn)【屬性】對話框,選擇【新建】按鈕,在【主鍵表】中選擇“xs”表的“xh”字段,在【外鍵表】中選擇“cj”表的“xh”字段;22在“屬性”對話框創(chuàng)建外鍵任務2:

創(chuàng)建外鍵(ForeignKey)約束23任務2:

創(chuàng)建外鍵(ForeignKey)約束完成任務方法二:使用數據庫關系圖創(chuàng)建外關鍵字:進入【企業(yè)管理器】,展開Student數據庫;選擇“”節(jié)點,右鍵選擇【新建數據庫關系圖】命令單擊【下一步】,選擇“xs”(“學生”)和“cj”(“成績”)表;單擊【完成】按鈕。選擇“xs”表的“xh”(“學號”)字段,按住鼠標左鍵不放,拖到“cj”表“xh”字段,出現(xiàn)如圖所示【創(chuàng)建關系】對話框。24“創(chuàng)建關系”對話框任務2:

創(chuàng)建外鍵(ForeignKey)約束25任務2:

創(chuàng)建外鍵(ForeignKey)約束建立好的外鍵約束圖如下圖所示26任務3:

創(chuàng)建默認值(Default)約束提出任務1.將“xs”表中的“xb”(“性別”)字段默認值設置為“男”;2.為“xs”表中的“zy”(“專業(yè)”)設置默認值約束:“計算機應用技術”;分析任務由題意,打開“xs”表結構,分別選擇“xb”字段和“zy”字段,在【默認值】框里輸入內容即可。27任務3:

創(chuàng)建默認值(Default)約束完成任務1.操作步驟:打開“xs”(“學生”)表的【表設計器】窗口;選中“xb”(“性別”)字段,在【默認值】框里輸入“男”;單擊“保存”按鈕。2.操作步驟:打開“xs”(“學生”)表的【表設計器】窗口;選中“zy”(“專業(yè)”)列,在【默認值】框里輸入“計算機應用技術”;單擊【保存】按鈕。28任務4:

創(chuàng)建檢查(Check)約束提出任務為“cj”表中的“cj”(“成績”)字段設置檢查約束:成績在0~100之間;分析任務由題意,打開“cj”表結構,右鍵選擇【屬性】快捷菜單,在【CHECK約束】選項卡中進行設置。29任務4:

創(chuàng)建檢查(Check)約束完成任務打開“cj”(“成績”)表的【表設計器】窗口;右鍵單擊,選擇【屬性】快捷菜單,或者單擊“”快捷按鈕,進入“check約束”選項卡,在【約束表達式】中輸入“cj>0andcj<100”;單擊【關閉】按鈕,“CHECK約束”已創(chuàng)建好。30“cj”表的“check約束”任務4:

創(chuàng)建檢查(Check)約束31任務5:

創(chuàng)建惟一性(Unique)約束提出任務為“xs”表中的“xm”(“姓名”)字段設置惟一性約束分析任務由題意,打開“xs”表結構,右鍵選擇【屬性】快捷菜單,在【索引/鍵】選項卡中進行設置。32任務5:

創(chuàng)建惟一性(Unique)約束完成任務打開“xs”(“學生”)表的【表設計器】窗口;右鍵單擊,選擇【屬性】快捷菜單,或者單擊“”快捷按鈕,進入“索引/鍵”選項卡,點擊【新建】按鈕,在【列名】框中選擇“xm”,勾選【創(chuàng)建UNIQUE】復選框,選擇【約束】單選框。單擊關閉”按鈕,“索引/鍵”已創(chuàng)建好。

33“xs”表的惟一性約束任務5:

創(chuàng)建惟一性(Unique)約束34項目3.3:

使用T-SQL語言創(chuàng)建完整性約束任務1:通過CREATE-SQL重新創(chuàng)建完整性約束任務2:通過ALTER-SQL修改表結構。35基本語法:帶有約束條件的CREATE-SQL語句的語法格式:CREATETABLE表名(字段數據類型列的特征[,…n])“列的特征”具體參數描述:1.空值(NULL)約束:[NULL|NOTNULL]2.默認值(DEFAULT)約束:[[CONSTRAINT約束名]DEFAULT默認值]3.主鍵(PRIMARYKEY)約束:[[CONSTRAINT約束名]PRIMARYKEY[CLUSTERED|NONCLUSTERED][(字段名,…n)]]任務1:通過CREATE-SQL重新創(chuàng)建完整性約束36“列的特征”具體參數描述:4.外鍵(FOREIGNKEY)約束:[[CONSTRAINT約束名]FOREIGNKEY[(字段名,…n)]REFERENTCES引用表(引用字段[,…n])]5.惟一性(UNIQUE)約束:

[[CONSTRAINT約束名]UNIQUE[CLUSTERED|NONCLUSTERED][(字段名,…n)]]6.檢查(CHECK)約束:

[[CONSTRAINT約束名]CHECK(約束條件)]任務1:通過CREATE-SQL重新創(chuàng)建完整性約束37任務1:通過CREATE-SQL重新創(chuàng)建完整性約束提出任務根據項目3.2中各任務的約束條件,使用帶有約束條件的CREATE-SQL語句重新創(chuàng)建“xs”、“kc”、“cj”表結構。分析任務由題意,刪除“xs”、“kc”、“cj”表,在【查詢分析器】中輸入CREATE-SQL語句重新創(chuàng)建。38任務1:通過CREATE-SQL重新創(chuàng)建完整性約束完成任務創(chuàng)建“xs”表的T-SQL語言如下:CREATETABLExs( xhchar(8)NOTNULLPRIMARYKEY,xmchar(8)CONSTRAINTIX_xsUNIQUENONCLUSTERED,xbchar(2)CONSTRAINTDF_xs_xbDEFAULT('男'),csrqdatetime,zychar(20)CONSTRAINTDF_xs_zyDEFAULT('計算機應用技術') )39創(chuàng)建“kc”表的T-SQL語言如下:CREATETABLEkc( kcbhchar(3)NOTNULLPRIMARYKEY, kcmchar(20), xfint)創(chuàng)建“cj”表的T-SQL語言如下:CREATETABLEcj(xhchar(8)NOTNULLCONSTRAINTFK_cj_xsFOREIGNKEYREFERENCESxs(xh), kcdhchar(3)NOTNULL, cjdecimal](4,1)NOTNULLCONSTRAINTCK_cjCHECK(cj>=0andcj<=100), CONSTRAINTPK_cjPRIMARYKEY(xh,kcdh))任務1:通過CREATE-SQL重新創(chuàng)建完整性約束40任務2:

通過ALTER-SQL修改表結構?;菊Z法:ALTER-TABLE語句的語法格式:修改字段屬性:ALTERTABLE表名ALTERCOLUMN字段名類型[字段特征]增加字段:ALTERTABLE表名ADD字段名類型[字段特征]刪除字段或約束:ALTERTABLE表名DROPCOLUMN|CONSTRAINT字段名|約束名添加約束:ALTERTABLE表名ADDCONSTRAINT字段名[字段特征]41任務2:

通過ALTER-SQL修改表結構。提出任務根據項目3.2中各任務的約束條件,使用ALTER-SQL語句修改“xs”、“kc”、“cj”表結構。分析任務由題意,在【查詢分析器】中輸入ALTER-SQL語句修改表結構。42任務2:

通過ALTER-SQL修改表結構。完成任務任務1相對應的ALTER-SQL代碼:ALTERTABLExsADDCONSTRAINTPK_xsPRIMARYKEYCLUSTERED(xh)ALTERTABLEcjADDCONSTRAINTPK_cjPRIMARYKEYCLUSTERED(xh,kcdh)任務2相對應的ALTER-SQL代碼:ALTERTABLEcjADDCONSTRAINTFK_cj_xsFOREIGNKEY(xh)REFERENCESxs(xh)43任務3相對應的ALTER-SQL代碼:ALTERTABLExsADDCONSTRAINTDF_xs_xbDEFAULT('男')FORxbALTERTABLExsCONSTRAINTDF_xs_zyDEFAULT('計算機應用技術')FORzy任務4相對應的ALTER-SQL代碼:ALTERTABLEcjADDCONSTRAINTCK_cjCHECK(cj>=0andcj<=100)任務5相對應的ALTER-SQL代碼:ALTERTABLExsCONSTRAINTIX_xsUNIQUENONCLUSTERED(xm)

任務2:

通過ALTER-SQL修改表結構。44項目練習練習3.2:1.將“kc”表中的“kcdh”(“課程代號”)字段設置為主鍵。2.將“kc”表中的“kcdh”(“課程代號”)字段設置為“cj”表的外鍵;3.將“kc”表中的“xf”(“性別”)字段默認值設置為3;4.為“kc”表中的“kcm”(“課程名”)字段設置惟一性約束。解題思路:可以通過企業(yè)管理器或查詢分析器來完成的“kc”(“課程”)表的完整性約束。45項目3.4

管理表中數據任務1:使用企業(yè)管理器管理表數據任務2:使用查詢分析器管理表數據項目擴展項目練習46任務1:

使用企業(yè)管理器管理表數據提出任務1.在“xs”表中輸入一些數據,參考數據如下圖所示;

2.將“計算機應用技術”專業(yè)改為“計算機及應用”專業(yè);3.刪除所有“應用日語”專業(yè)的學生。分析任務進入【企業(yè)管理器】,選中“xs”表,右鍵選擇【打開表】——【返回所有行】進行設置。47任務1:

使用企業(yè)管理器管理表數據完成任務1.操作步驟:選中“xs”(“學生”)表,右鍵選擇【打開表】——【返回所有行】,進入“xs”表的表數據窗口;在數據窗口中輸入記錄。2.操作步驟:進入“xs”表的表數據窗口;若記錄很少,定位到“計算機應用技術”記錄,把它改成“計算機及應用”專業(yè)。若記錄很多,打開【SQL窗格】,輸入UPDATE-SQL語句。48完成任務3.操作步驟:選中“xs”(“學生”)表,右鍵選擇【打開表】——【返回所有行】,進入“xs”表的表數據窗口;若記錄很少,定位到“應用日語”記錄,右鍵選擇快捷菜單【刪除】命令項,此時出現(xiàn)【確認】對話框,單擊【是】按鈕,刪除所選記錄。若記錄很多,打開【SQL窗格】,輸入DELETE-SQL語句。任務1:

使用企業(yè)管理器管理表數據49任務2:

使用查詢分析器管理表數據基本語法:使用Insert-SQL語句插入新記錄:INSERT[INTO]表名[(字段列表)]VALUES(值列表)使用Update-SQL語

溫馨提示

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

評論

0/150

提交評論