




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)庫原理與應用講授人數(shù)據(jù)庫原理與應用講授人CONTENTS項目1數(shù)據(jù)庫設計項目2搭建SQLServer2008數(shù)據(jù)庫管理系統(tǒng)環(huán)境項目3創(chuàng)建和管理數(shù)據(jù)庫項目4創(chuàng)建和管理數(shù)據(jù)表項目5表中數(shù)據(jù)操作項目6進行T-SQL程序設計項目8存儲過程的創(chuàng)建和使用項目7事務、索引和視圖的創(chuàng)建與應用項目9觸發(fā)器的創(chuàng)建和使用項目10SQLServer的安全性管理項目11數(shù)據(jù)庫的備份和恢復項目12SQLServer數(shù)據(jù)轉換項目13SQLServer代理服務任務CONTENTS項目1數(shù)據(jù)庫設計項目2搭建SQLS項目4創(chuàng)建和管理數(shù)據(jù)表項目4創(chuàng)建和管理數(shù)據(jù)表任務4.1-4.3項目目標項目導讀項目實訓知識鞏固任務4.1-4.3項目目標項目導讀項目實訓知識鞏固項目導讀創(chuàng)建用戶數(shù)據(jù)庫之后,接下來的重要工作就是創(chuàng)建和管理數(shù)據(jù)表,數(shù)據(jù)表是數(shù)據(jù)庫的基本構成單元,它用來保存用戶的各類數(shù)據(jù)。本項目學習的重點是掌握數(shù)據(jù)表的結構特點,學會使用對象資源管理器的查詢窗口創(chuàng)建數(shù)據(jù)表。難點是學會在對象資源管理器中對數(shù)據(jù)表結構進行插入。修改和刪除字段的操作,學會使用SQL語句對數(shù)據(jù)表結構進行插入、修改和刪除字段的操作,學會定義約束、使用默認和規(guī)則。本項目以Microsoft公司的SQLServer2008為例,通過理論介紹加實踐操作要求用戶能夠熟練掌握在數(shù)據(jù)庫中建立數(shù)據(jù)表、添加各種約束和規(guī)則以及創(chuàng)建角色數(shù)據(jù)表的操作過程,規(guī)劃建設一個和自己實際生活比較貼切的實例。項目導讀創(chuàng)建用戶數(shù)據(jù)庫之后,接下來的重要工作就是創(chuàng)建和管理數(shù)能力目標02知識目標01項目目標>了解數(shù)據(jù)類型。>掌握在SQLServerManagementStudio圖形化界面下創(chuàng)建數(shù)據(jù)表。>掌握使用T-SQL語句創(chuàng)建表。>掌握修改數(shù)據(jù)表的方法。>掌握為數(shù)據(jù)表添加約束的方法。>能根據(jù)實際需要為表屬性設置數(shù)據(jù)類型。>能夠采用SQLServerManagementStudio方式及T-SQL方式獨立完成創(chuàng)建數(shù)據(jù)表。>能夠根據(jù)需要修改數(shù)據(jù)表。能力目標02知識目標01項目目標>了解數(shù)據(jù)類型。>能根據(jù)實際CONTENTS任務4.1知識準備任務4.3知識和技能擴展任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的創(chuàng)建和管理CONTENTS任務4.1知識準備任務4.3知識和技能4.1.1表的概念任務4.1知識準備1.SQLServer數(shù)據(jù)表的基本概念SQLServer2008采用現(xiàn)在廣泛使用的關系模型,它與以前的層次模型、網(wǎng)狀模型相比具有顯著的特點:用一個二維表格代表實體之間的關系,一個表就代表一個實體,分為行和列,一行代表一個對象,一列代表實體的一個屬性。關系模型數(shù)據(jù)庫也稱為關系數(shù)據(jù)庫。4.1.1表的概念任務4.1知識準備1.SQLS在SQLServer2008中,每個字段、局部變量、表達式和參數(shù)都具有一個相關的數(shù)據(jù)類型。數(shù)據(jù)類型是指對象數(shù)據(jù)的類型。SQLServer提供系統(tǒng)數(shù)據(jù)類型集,該類型集定義了可與SQLServer一起使用的所有數(shù)據(jù)類型。常見數(shù)據(jù)類型見表4.1。4.1.1表的概念2.數(shù)據(jù)類型任務4.1知識準備表4.1SQLServer中的數(shù)據(jù)類型在SQLServer2008中,每個字段、局部變量、表達4.1.1表的概念(1)數(shù)據(jù)表的創(chuàng)建3.數(shù)據(jù)表的基本操作任務4.1知識準備能夠使用CREATETABLE語句創(chuàng)建數(shù)據(jù)表,語法格式如下。主要參數(shù)的含義見表4.2。表4.2CREATETABLE語句的主要參數(shù)說明(2)數(shù)據(jù)表的修改當需要對表進行修改時,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,在需要修改的數(shù)據(jù)表上單擊鼠標右鍵,在彈出的快捷菜單中選擇“設計”命令,打開修改表結構對話框,在其中可以對表中各列的屬性進行修改,可以修改列的名稱、數(shù)據(jù)類型、是否為空值。(3)數(shù)據(jù)表的刪除對于數(shù)據(jù)庫中不需要的表,可以將其刪除。刪除表的操作完成后,表結構、其中的數(shù)據(jù)都將被永久性刪除。刪除數(shù)據(jù)庫表不僅可以在圖形化界面中完成,也可以通過執(zhí)行DROPTABLE語句來實現(xiàn)。①在圖形化界面中刪除。首先右擊需要刪除的表,在彈出的快捷菜單中選擇“刪除”命令,打開“刪除對象”對話框,然后單擊“確定”按鈕即可刪除該表。②用DROPTABLE命令來刪除。語句格式DROPTABLEtable_name(4)數(shù)據(jù)表的重命名數(shù)據(jù)表的重命名既可以在圖形化界面中完成,也可以通過執(zhí)行存儲過程sp_rename來實現(xiàn)。①在圖形化界面中重命名。右擊需要重命名的表,在彈出的快捷菜單中選擇“重命名”命令,然后輸入新的數(shù)據(jù)庫名就完成了數(shù)據(jù)表名的重命名。②使用存儲過程sp_rename重命名數(shù)據(jù)表。例如,重命名BookBBSDB數(shù)據(jù)庫中Users表的名稱為user的代碼如下。4.1.1表的概念(1)數(shù)據(jù)表的創(chuàng)建3.數(shù)據(jù)表的基本操作4.1.2數(shù)據(jù)完整性數(shù)據(jù)完整性(DataIntegrity)是指數(shù)據(jù)的精確性(Accuracy)和可靠性(Reliability)。數(shù)據(jù)完整性分為四類:實體完整性、域完整性、參照完整性、用戶自定義完整性。1.數(shù)據(jù)完整性任務4.1知識準備(1)實體完整性實體完整性要求每一個表中的主鍵字段都不能為空和重復的值。實體完整性指表中行的完整性。要求表中的所有行都有唯一的標識符的關鍵字段,稱為主關鍵字。(2)參照完整性參照完整性是控制數(shù)據(jù)一致性的規(guī)則,當對表中的數(shù)據(jù)進行插入、更新或刪除操作時,通過參照引用相互關聯(lián)的另一個表中的數(shù)據(jù)來檢查核對表中的數(shù)據(jù)是否正確,以保持已定義的表間關系。(3)域完整性域完整性指列的值域的完整性,要求向表中指定列輸入的數(shù)據(jù)必須具有正確的數(shù)據(jù)類型、格式以及有效的數(shù)據(jù)范圍。(4)用戶自定義完整性用戶自定義完整性只針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語意要求。4.1.2數(shù)據(jù)完整性數(shù)據(jù)完整性(DataIntegri4.1.2數(shù)據(jù)完整性(1)約束的含義和分類2.約束任務4.1知識準備約束是SQLServer2008提供的自動保持數(shù)據(jù)完整性的一種方法,它通過限制字段中的數(shù)據(jù)、記錄中的數(shù)據(jù)及表之間的數(shù)據(jù)來將表約束在一起,確保一個表中的數(shù)據(jù)改動不會使另一個表中的數(shù)據(jù)失效。在SQLServer2008中有6種約束,分別是非空約束、默認約束、檢查約束、主鍵約束、唯一約束和外鍵約束。各種約束的作用見表4.3。表4.3約束的類型和作用(2)約束的創(chuàng)建①非空約束。非空約束定義表中的列不允許使用空值。定義為關鍵的列,系統(tǒng)會自動添加非空約束,其他列則根據(jù)需要進行設置。②默認約束。默認約束指用戶在進行插入操作時,如果沒有顯式為列提供數(shù)據(jù),系統(tǒng)會將默認值賦給該列。③檢查約束。檢查約束是對表中的數(shù)據(jù)設置檢查條件,以保證數(shù)據(jù)的完整性。④主鍵約束。主鍵約束是比較重要的約束,它既可以對列進行約束,也可以對表進行約束。⑤唯一約束。唯一約束確保輸入的列的值是唯一的,不允許存在重復的值。⑥外鍵約束。外鍵約束可以保證表與表之間數(shù)據(jù)的一致性,它通過主鍵和外鍵建立起表與表之間的關聯(lián)。4.1.2數(shù)據(jù)完整性(1)約束的含義和分類2.約束任務44.1.3主鍵和外鍵主鍵是唯一表示數(shù)據(jù)表中的每個記錄的字段或者字段的組合。主鍵約束就是確定表中的每一條記錄,主鍵不能是空值。1.主鍵和外鍵的定義任務4.1知識準備外鍵若有兩個表A、B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵。外鍵約束主要用來維護兩個表之間數(shù)據(jù)的一致性。4.1.3主鍵和外鍵主鍵是唯一表示數(shù)據(jù)表中的每個記錄的字4.1.3主鍵和外鍵2.主鍵、外鍵和唯一索引的區(qū)別(表4.4)任務4.1知識準備表4.4主鍵、外鍵和索引的區(qū)別4.1.3主鍵和外鍵2.主鍵、外鍵和唯一索引的區(qū)別(表44.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表,它可以用來存儲各種數(shù)據(jù)信息。在本項目中要分別用SQLServerManagementStudio圖形化界面和T-SQL語句創(chuàng)建數(shù)據(jù)庫表。根據(jù)要求要創(chuàng)建的表結構見4.5表~4.8表。1.任務描述任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表,它可以用來存儲各種數(shù)據(jù)信息。在本項目中要分別用SQLServerManagementStudio圖形化界面和T-SQL語句創(chuàng)建數(shù)據(jù)庫表。根據(jù)要求要創(chuàng)建的表結構見4.5表~4.8表。1.任務描述表4.5用戶表的結構表4.6主帖表表4.7回帖表的結構表4.8版塊表的結構以上四個表之間的約束如下。用戶表(Users)約束:主鍵(ID)、檢查約束(E-mail含有@、Password長度大于等于6)、默認值約束(用戶郵箱P@P.com、用戶等級1、用戶密碼888888、用戶積分20、用戶狀態(tài)1、用戶性別為男、用戶注冊日期為當前系統(tǒng)日期)。版塊表(Section)約束:主鍵(ID非空值、標識列)、外鍵(UID)、默認值(點擊率ClickCount為0、發(fā)帖數(shù)TopicCount為0)。主帖表(Topic)的約束:主鍵(ID非空值、標識列)、外鍵(SID、UID)、默認值(回帖數(shù)ReplyCount為0、發(fā)帖時間Time為系統(tǒng)當前日期)。回帖表(Reply)的約束:主鍵(ID非空值、標識列)、外鍵(SID、UID、TID)、檢查約束(Contents長度大于6、Time為系統(tǒng)當前日期)。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表4.2.1任務描述及分析對于用戶表的結構來講,表的名字是Users,共有11個字段,它有一個主鍵約束是ID字段,而且該字段還是自動增長的列。E-mail字段有檢查約束要求含有@字符,默認值為P@P.com,并且長度大于等于6。Class字段的默認值為1,Password字段的默認值為888888,Point字段的默認值為20,State字段的默認值為1,Sex字段的默認值為男,RegDate字段的默認值為當前系統(tǒng)日期。2.任務分析任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析對于用戶表的結構來講,表的名字是4.2.2建立數(shù)據(jù)庫表(1)打開對象資源管理器,展開BookBBSDB數(shù)據(jù)庫節(jié)點,再在表節(jié)點上右擊,選擇新建表選項,如圖4.1所示。1.利用SSMS圖形化界面的方法創(chuàng)建表4.5圖4.1在SSMS中新建表(2)在打開的表設計器中,按照表的要求設置Users各列的列名(字段名)、數(shù)據(jù)類型、允許空(非空約束)值,如圖4.2所示。圖4.2Users表中各列的創(chuàng)建(3)各列創(chuàng)建完成后,單擊工具欄上的“保存”按鈕,系統(tǒng)自動打開“選擇名稱”對話框,輸入新建的表的名稱“Users”,如圖4.3所示。圖4.3數(shù)據(jù)表的保存(4)單擊“確定”按鈕,就在數(shù)據(jù)庫BookBBSDB中創(chuàng)建了一個Users數(shù)據(jù)表。在“對象資源管理器”窗口中展開數(shù)據(jù)庫BookBBSDB下的“表”節(jié)點,并展開新建的數(shù)據(jù)庫表Users的列,就可以看到創(chuàng)建的數(shù)據(jù)表的基本定義。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.2建立數(shù)據(jù)庫表(1)打開對象資源管理器,展開Bo4.2.2建立數(shù)據(jù)庫表(1)單擊工具欄上的“新建查詢”按鈕,在窗口的右半部分打開一個新的“SQLQuery1”標簽頁,同時工具欄中新增“SQL編輯器”工具欄,如圖4.4所示。2.利用T-SQL語句的方法創(chuàng)建表4.5圖4.4新建“SQLQuery”標簽頁(2)在SQLQuery標簽頁的窗口中輸入以下程序代碼。(3)在“SQL編輯器”工具欄上單擊“執(zhí)行”按鈕,則執(zhí)行該程序代碼,并在“消息”標簽頁顯示“命令已成功完成”,在“對象資源管理器”中逐級展開數(shù)據(jù)庫的各節(jié)點,可以看到創(chuàng)建的新表Users的結構,如圖4.5所示。圖4.5執(zhí)行CREATETABLE語句后(4)單擊工具欄上的“保存”按鈕,可以將程序代碼保存到指定的路徑下。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.2建立數(shù)據(jù)庫表(1)單擊工具欄上的“新建查詢”按4.2.3表的維護表4.5的表結構中對于每個字段都有描述,此描述是對該字段的中文描述。給表中添加字段描述的方法如下。1.添加字段描述信息圖4.6打開表設計器窗口(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口,如圖4.6所示。(2)選中第二個字段Name,在表設計器下面的列屬性標簽中找到“說明”項,在“說明”項右邊的單元格中輸入“用戶名、網(wǎng)名或昵稱”,如圖4.7所示。圖4.7在列屬性中添加說明(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護表4.5的表結構中對于每個字段都有描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。2.添加主鍵約束圖4.8設置ID字段為主鍵(2)右擊ID字段,在彈出的快捷菜單中選擇“設置主鍵”選項,如圖4.8所示。(3)結果在ID主鍵名字的旁邊出現(xiàn)一個像鑰匙的圖標,然后單擊工具欄的“保存”按鈕。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。3.添加標識列圖4.9設置字段的標識列(2)選中第一個字段ID,在表設計器下面的列屬性標簽中找“標識和規(guī)范”節(jié)點,展開該節(jié)點,在“是標識”右邊的單元格中選擇“是”,在“標志增量”右邊的單元格中輸入“1”,在“標識種子”右邊的單元格中輸入“1”即可,結果如圖4.9所示。(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。4.添加默認值圖4.10設置字段的默認值(2)選中Password字段,在表設計器下面的列屬性標簽中找“默認值或綁定”選項,在該選項的右邊單元格中輸入“888888”,如圖4.10所示。(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。5.添加檢查約束圖4.11設置CHECK約束選項(2)右擊E-mail字段,在彈出的快捷菜單中選擇“CHECK約束”選項,如圖4.11所示。(3)打開“CHECK約束”對話框,如圖4.12所示,單擊左下角的“添加”按鈕,展開右半邊的常規(guī)節(jié)點,找到表達式選項,單擊右邊單元格后的“折疊”按鈕,如圖4.13所示。圖4.12CHECK約束對話框圖4.13添加約束的對話框圖4.14設置E-mail字段的格式中包含@字符(5)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理(4)打開“CHENK約束表達式”對話框,在其中輸入如下內容:([E-mail]like‘%@%’),然后單擊“確定”按鈕,如圖4.14所示。再單擊“關閉”按鈕,關閉“CHECK約束表達式”對話框。4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Section表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。6.添加外鍵圖4.15設置關系約束選項(2)右擊表設計器中的任意一個字段,在彈出的快鍵菜單中選擇“關系”子菜單,如圖4.15所示。(3)在打開的“外鍵對話框”的左下角單擊“添加”按鈕,在“外鍵關系”對話框的右邊的“表和規(guī)范”選項右邊再單擊“折疊”按鈕,如圖4.16所示。圖4.16設置外鍵關系的表和規(guī)范(4)在彈出的“表和列”對話框的主鍵表下面選擇Users表,然后選擇Users表中的主鍵ID,再在表和列對話框的外鍵表下面選擇Section表,在Section的下面選擇外鍵UID,如圖4.17所示。圖4.17設置主鍵和外鍵關系(5)單擊“確定”按鈕,退出“表和列”對話框,再單擊“關閉”按鈕,關閉“外鍵關系”對話框,最后單擊工具欄上的“保存”按鈕,會彈出一個對話框。單擊“是”按鈕,關閉該對話框。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)展開已經建立的數(shù)據(jù)庫BookBB4.2.3表的維護下面開始給第一張表Users里面錄入數(shù)據(jù),因為在Users表中沒有外鍵。7.錄入表記錄圖4.18給數(shù)據(jù)表中輸入內容(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到以前創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“編輯前200行”選項。(2)打開“表編輯”標簽頁,在其中輸入數(shù)據(jù),如圖4.18所示。(3)改正好數(shù)據(jù)后將輸入的表格保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護下面開始給第一張表Users里面錄入數(shù)4.2.4增加列圖4.19選擇插入列選項(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。(2)假如QQ列要在E-mail的后邊,那就在E-mail字段后面的Birthday字段上單擊右鍵,在彈出的快捷菜單中選擇“插入列”選項,如圖4.19所示。(3)然后在相應的單元格中輸入字段名、數(shù)據(jù)類型和是否允許空。如有需要,還可以加上約束關系。例如,需要在Users表中增加一個QQ號碼列,那就用如下的方法。(4)保存表結構即可。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.4增加列圖4.19選擇插入列選項(1)展開4.2.5修改列(2)像創(chuàng)建表一樣,可以在表設計器中修改字段的數(shù)據(jù)類型和允許空操作,字段名盡可能不要修改,以免在使用表中數(shù)據(jù)的時候找不到表記錄。(3)保存表結構即可。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要修改的表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.5修改列(2)像創(chuàng)建表一樣,可以在表設計器中修改4.2.6刪除列(2)在打開的“表設計器”標簽中,右擊不需要的字段,在彈出的快捷菜單中選擇“刪除列”,完成無用列的刪除。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要修改的表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.6刪除列(2)在打開的“表設計器”標簽中,右擊不4.2.7從數(shù)據(jù)庫中刪除表(2)在彈出的“刪除對象”對話框中單擊“確定”按鈕即可。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要刪除的表,右擊該表,在彈出的快捷菜單中選擇“刪除”選項,如圖4.20所示。圖4.20刪除Users表任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.7從數(shù)據(jù)庫中刪除表(2)在彈出的“刪除對象”對話4.3.1規(guī)則任務4.3知識與技能擴展1.規(guī)則的含義規(guī)則是一種數(shù)據(jù)庫對象,作用與檢查約束類似,可以用來限制輸入值的取值范圍,從而實現(xiàn)數(shù)據(jù)的完整性。4.3.1規(guī)則任務4.3知識與技能擴展1.規(guī)則的含義4.3.1規(guī)則任務4.3知識與技能擴展2.規(guī)則的創(chuàng)建建立規(guī)則xb_rule,將其綁定到表Users的Sex字段,保證輸入的數(shù)據(jù)只能為“男”或“女”。程序代碼如下:4.3.1規(guī)則任務4.3知識與技能擴展2.規(guī)則的創(chuàng)建4.3.1規(guī)則任務4.3知識與技能擴展3.規(guī)則與檢查約束的區(qū)別規(guī)則是一個獨立的數(shù)據(jù)庫對象,使用CREATERULE創(chuàng)建規(guī)則;而檢查約束是依附于表的,是數(shù)據(jù)表的一部分,它可以在創(chuàng)建表時指定。一個數(shù)據(jù)列上只能使用一個規(guī)則,而一個數(shù)據(jù)列上可以使用多個檢查約束。一個規(guī)則定義一次可以多次用于不同的列上,而一個檢查約束是針對某個列而定義的,不能對其他列發(fā)生作用。4.3.1規(guī)則任務4.3知識與技能擴展3.規(guī)則與檢查4.3.2默認任務4.3知識與技能擴展1.定義默認是一種數(shù)據(jù)庫對象,作用與默認約束類似,可以用來為列綁定設定的默認值。4.3.2默認任務4.3知識與技能擴展1.定義默認是4.3.2默認任務4.3知識與技能擴展2.默認的創(chuàng)建使用CREATEDEFAULT語句創(chuàng)建默認。建立默認mr_xb,將其綁定到表Users的Sex字段,使輸入的數(shù)據(jù)的默認值為“男”。程序代碼為:4.3.2默認任務4.3知識與技能擴展2.默認的創(chuàng)建4.3.2默認任務4.3知識與技能擴展3.默認與默認約束的區(qū)別與聯(lián)系默認是一個獨立的數(shù)據(jù)庫對象,使用CREATEDEFAULT語句創(chuàng)建;而默認約束是依附于表的,是數(shù)據(jù)表的一部分,它可以在創(chuàng)建表時指定。一個數(shù)據(jù)列上要么使用默認約束,要么綁定默認值,兩者不可同時存在。一個默認定義一次可以多次使用在不同的列上,而一個默認約束是針對某個列而定義的,不能對其他列發(fā)生作用。4.3.2默認任務4.3知識與技能擴展3.默認與默認項目實訓實訓1SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建用戶和角色數(shù)據(jù)表分析根據(jù)項目1實訓內容中的E-R圖可以得到的用戶和角色的數(shù)據(jù)表結構見表4.9、表4.10和表4.11。表4.9網(wǎng)上書店數(shù)據(jù)庫的用戶表結構表4.10網(wǎng)上書店數(shù)據(jù)庫的用戶角色數(shù)據(jù)庫表4.11用戶狀態(tài)表結構項目實訓實訓1SQLServerManagemen項目實訓實訓1SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建用戶和角色數(shù)據(jù)表實現(xiàn)思路及關鍵步驟按照以下步驟進行:(1)打開“對象資源管理器”,再展開“數(shù)據(jù)庫”節(jié)點,找到在項目3中創(chuàng)建的數(shù)據(jù)庫BookSaleDB,再展開該數(shù)據(jù)庫節(jié)點,找到“表”節(jié)點。(2)右擊該“表”節(jié)點,在彈出的快捷菜單中選擇“新建表”選項,在右邊會彈出“表設計器”標簽,然后根據(jù)表49的結構添加表的字段名,數(shù)據(jù)類型和是否允許空。(3)單擊工具欄上“保存”項,彈出“選擇保存”對話框,在對話框中輸入表的名字Users。(4)同樣的方法可以創(chuàng)建BookSaleDB數(shù)據(jù)庫的數(shù)據(jù)表UserRoles(用戶角色)。(5)同樣的方法可以創(chuàng)建BookSaleDB數(shù)據(jù)庫的數(shù)據(jù)表UserStates(用戶狀態(tài)表)。項目實訓實訓1SQLServerManagemen項目實訓實訓2SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫用戶和角色表添加約束分析根據(jù)實訓1中創(chuàng)建的兩個數(shù)據(jù)庫表,再結合Users表的結構,要設置的約束如下:(1)設置ID字段為標識列,自動增長步長值為1,基礎值為1,并添加為主鍵。(2)設置LoginPwd字段的默認值為666666。(3)設置Mail字段的默認值為P@P.COM。(4)設置UserRoleId的默認值為1,為角色表中ID的外鍵。項目實訓實訓2SQLServerManagemen項目實訓實訓2SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫用戶和角色表添加約束實現(xiàn)思路及關鍵步驟(1)右擊BookSaleDB數(shù)據(jù)庫下面的Users表節(jié)點,選擇“設計”選項,會打開“表結構”設計標簽。選中字段ID,在表設計器下面的“列屬性”標簽中找“標識和規(guī)范”節(jié)點,展開該節(jié)點,在“是標識”右邊的單元格中選擇“是”,在“標志增量”右邊的單元格中輸入“1”,在“標識種子”右邊的單元格中輸入“1”即可,把結果保存。(2)在Users的表設計器中選中“LoginPwd”字段,在表設計器下面的“列屬性”標簽中找“默認值或綁定”,在其右邊的單元格中輸入“666666”即可,把結果保存,如圖4.21所示。圖4.21設置表LoginPwd的默認值為666666(3)用同樣的方法設置E-mail字段的值為“P@PCOM”,設置UserRoleId和UserStateId的默認值為1。(4)在Users的表設計器中右擊“UserRoleId”字段,在彈出的快捷菜單中選擇“關系”選項,會彈出“外鍵關系”對話框,在“外鍵關系”對話框的左下角單擊“添加”按鈕,在“外鍵關系”對話框右邊的“表和規(guī)范”選項右邊再單擊“折疊”按鈕,會彈出“表和列”的對話框。(5)在Users的表設計器中右擊UserStateId字段,在彈出的快捷菜單中選擇“關系”選項,會彈出“外鍵關系”對話框,在外鍵關系對話框的左下角單擊“添加”按鈕,在“外鍵關系”對話框“表和規(guī)范”選項中再單擊折疊按鈕,會彈出表和列的對話框。項目實訓實訓2SQLServerManagemen項目實訓實訓3使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建圖書
表、出版社表和訂單表分析根據(jù)項目1實訓內容中的E-R圖可以得到圖書表、出版社表和訂單表的數(shù)據(jù)表結構見表4.12、表4.13和表4.14。表4.12圖書表結構表4.13出版社表結構表4.14訂單表結構項目實訓實訓3使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建圖項目實訓實訓3使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建圖書
表、出版社表和訂單表實現(xiàn)思路及關鍵步驟根據(jù)前面講過的創(chuàng)建表結構的T-SQL語句來分別創(chuàng)建以上四個表,單擊工具欄上的“新建查詢”,在右邊的“新建查詢”標簽里面輸入T-SQL代碼即可。(1)創(chuàng)建Books表的代碼,如圖4.22所示。圖4.22利用T-SQL語句創(chuàng)建Books表(2)創(chuàng)建Publishers表的代碼。(3)創(chuàng)建Orders表的代碼。(4)創(chuàng)建Categories表的代碼。項目實訓實訓3使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建圖項目實訓實訓4使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫圖書表、
出版社表和訂單表添加約束分析根據(jù)實訓3中創(chuàng)建的表Books、Publishers、Orders和Categories以及它們的結構,可以看出對于Books表而言有以下幾個約束關系。(1)給“Books”添加外鍵PublisherId和CategoryId。(2)給“Clicks”字段添加默認值“0”和給“Disc”字段添加默認值“10”。(3)給字段添加字段描述語句。對Orders表而言有以下幾個約束關系:(1)給“Books”添加外鍵BookID和UserID。(2)給“Price”字段添加默認值“0”。(3)給字段添加字段描述語句。項目實訓實訓4使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫圖書表項目實訓實訓4使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫圖書表、
出版社表和訂單表添加約束實現(xiàn)思路及關鍵步驟對于Books表添加約束關系。(1)給“Books”添加外鍵PublisherId,代碼如下:(3)給“Clicks”字段添加默認值“0”,T-SQL語句如下:給“Disc”字段添加默認值“10”的T-SQL語句如下:(4)給Books表中的“Author”字段添加描述為“作者姓名”的T-SQL語句如下所示。(2)給Books添加外鍵CategoryId,T-SQL語句如下:項目實訓實訓4使用T-SQL語句為網(wǎng)上書店數(shù)據(jù)庫圖書表知識鞏固1.在SQLServer中,創(chuàng)建一個名為CJ的數(shù)據(jù)表,使用的命令是()。A.CREATETABLEB.CREATECJC.CREATETABLECJD.CREATEDATABASECJ2.關于主鍵約束,以下說法錯誤的是()。A.一個表中只能設置一個主鍵約束B.允許空值的字段上不能定義主鍵約束C.允許空值的字段上可以定義主鍵約束D.可以將包含多個字段的字段組合設置為主鍵3.若在員工數(shù)據(jù)表中,希望把工資字段的取值范圍限定在1000~2000,則可在工資字段上建立(),條件表達式為([工資]>=1000AND[工資]<=2000)。A.核查約束B.規(guī)則C.唯一性約束D.默認值4.外鍵約束是用來建立兩個表之間的關聯(lián)的。外鍵列的取值可以為空值,可以為重復值,但其值必須是引用列的列值之一。引用列必須是創(chuàng)建了()或唯一約束的列。A.規(guī)則B.默認值C.主鍵約束D.核查約束5.下列途徑中,不能實現(xiàn)域完整性約束的是()。A.ruleB.defaultC.notnullD.trancation一、選擇題知識鞏固1.在SQLServer中,創(chuàng)建一個名為CJ的數(shù)據(jù)知識鞏固二、問答題1.什么是數(shù)據(jù)的完整性?數(shù)據(jù)完整性有哪些分類?2.規(guī)則是什么?規(guī)則的作用是什么?三、實踐操作題1.在userdb數(shù)據(jù)庫(若沒有則先建立數(shù)據(jù)庫)中,分別使用圖形化界面方式與SQL語句方式按照要求創(chuàng)建以下數(shù)據(jù)表(表4.16~表4.18)。表4.16部門表Departments知識鞏固二、問答題三、實踐操作題表4.16部門表Dep知識鞏固表4.17雇員表Employees表4.18員工薪水表Salary知識鞏固表4.17雇員表Employees表4.18知識鞏固2.為上面Employees、Departments和Salary的數(shù)據(jù)表添加以下約束。(1)為Employees表的“DepartmentID”字段添加外鍵約束,依賴于Departments表的DepartmentID。(2)為Employees表“Age”字段添加Check約束,檢查Age大于零。(3)為Employees表“Sex”字段添加默認約束,默認Sex為“男”。(4)為Employees表“Sex”字段添加Check約束,只能輸入“男”或者“女”。知識鞏固2.為上面Employees、Departments數(shù)據(jù)庫原理與應用講授人數(shù)據(jù)庫原理與應用講授人CONTENTS項目1數(shù)據(jù)庫設計項目2搭建SQLServer2008數(shù)據(jù)庫管理系統(tǒng)環(huán)境項目3創(chuàng)建和管理數(shù)據(jù)庫項目4創(chuàng)建和管理數(shù)據(jù)表項目5表中數(shù)據(jù)操作項目6進行T-SQL程序設計項目8存儲過程的創(chuàng)建和使用項目7事務、索引和視圖的創(chuàng)建與應用項目9觸發(fā)器的創(chuàng)建和使用項目10SQLServer的安全性管理項目11數(shù)據(jù)庫的備份和恢復項目12SQLServer數(shù)據(jù)轉換項目13SQLServer代理服務任務CONTENTS項目1數(shù)據(jù)庫設計項目2搭建SQLS項目4創(chuàng)建和管理數(shù)據(jù)表項目4創(chuàng)建和管理數(shù)據(jù)表任務4.1-4.3項目目標項目導讀項目實訓知識鞏固任務4.1-4.3項目目標項目導讀項目實訓知識鞏固項目導讀創(chuàng)建用戶數(shù)據(jù)庫之后,接下來的重要工作就是創(chuàng)建和管理數(shù)據(jù)表,數(shù)據(jù)表是數(shù)據(jù)庫的基本構成單元,它用來保存用戶的各類數(shù)據(jù)。本項目學習的重點是掌握數(shù)據(jù)表的結構特點,學會使用對象資源管理器的查詢窗口創(chuàng)建數(shù)據(jù)表。難點是學會在對象資源管理器中對數(shù)據(jù)表結構進行插入。修改和刪除字段的操作,學會使用SQL語句對數(shù)據(jù)表結構進行插入、修改和刪除字段的操作,學會定義約束、使用默認和規(guī)則。本項目以Microsoft公司的SQLServer2008為例,通過理論介紹加實踐操作要求用戶能夠熟練掌握在數(shù)據(jù)庫中建立數(shù)據(jù)表、添加各種約束和規(guī)則以及創(chuàng)建角色數(shù)據(jù)表的操作過程,規(guī)劃建設一個和自己實際生活比較貼切的實例。項目導讀創(chuàng)建用戶數(shù)據(jù)庫之后,接下來的重要工作就是創(chuàng)建和管理數(shù)能力目標02知識目標01項目目標>了解數(shù)據(jù)類型。>掌握在SQLServerManagementStudio圖形化界面下創(chuàng)建數(shù)據(jù)表。>掌握使用T-SQL語句創(chuàng)建表。>掌握修改數(shù)據(jù)表的方法。>掌握為數(shù)據(jù)表添加約束的方法。>能根據(jù)實際需要為表屬性設置數(shù)據(jù)類型。>能夠采用SQLServerManagementStudio方式及T-SQL方式獨立完成創(chuàng)建數(shù)據(jù)表。>能夠根據(jù)需要修改數(shù)據(jù)表。能力目標02知識目標01項目目標>了解數(shù)據(jù)類型。>能根據(jù)實際CONTENTS任務4.1知識準備任務4.3知識和技能擴展任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的創(chuàng)建和管理CONTENTS任務4.1知識準備任務4.3知識和技能4.1.1表的概念任務4.1知識準備1.SQLServer數(shù)據(jù)表的基本概念SQLServer2008采用現(xiàn)在廣泛使用的關系模型,它與以前的層次模型、網(wǎng)狀模型相比具有顯著的特點:用一個二維表格代表實體之間的關系,一個表就代表一個實體,分為行和列,一行代表一個對象,一列代表實體的一個屬性。關系模型數(shù)據(jù)庫也稱為關系數(shù)據(jù)庫。4.1.1表的概念任務4.1知識準備1.SQLS在SQLServer2008中,每個字段、局部變量、表達式和參數(shù)都具有一個相關的數(shù)據(jù)類型。數(shù)據(jù)類型是指對象數(shù)據(jù)的類型。SQLServer提供系統(tǒng)數(shù)據(jù)類型集,該類型集定義了可與SQLServer一起使用的所有數(shù)據(jù)類型。常見數(shù)據(jù)類型見表4.1。4.1.1表的概念2.數(shù)據(jù)類型任務4.1知識準備表4.1SQLServer中的數(shù)據(jù)類型在SQLServer2008中,每個字段、局部變量、表達4.1.1表的概念(1)數(shù)據(jù)表的創(chuàng)建3.數(shù)據(jù)表的基本操作任務4.1知識準備能夠使用CREATETABLE語句創(chuàng)建數(shù)據(jù)表,語法格式如下。主要參數(shù)的含義見表4.2。表4.2CREATETABLE語句的主要參數(shù)說明(2)數(shù)據(jù)表的修改當需要對表進行修改時,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,在需要修改的數(shù)據(jù)表上單擊鼠標右鍵,在彈出的快捷菜單中選擇“設計”命令,打開修改表結構對話框,在其中可以對表中各列的屬性進行修改,可以修改列的名稱、數(shù)據(jù)類型、是否為空值。(3)數(shù)據(jù)表的刪除對于數(shù)據(jù)庫中不需要的表,可以將其刪除。刪除表的操作完成后,表結構、其中的數(shù)據(jù)都將被永久性刪除。刪除數(shù)據(jù)庫表不僅可以在圖形化界面中完成,也可以通過執(zhí)行DROPTABLE語句來實現(xiàn)。①在圖形化界面中刪除。首先右擊需要刪除的表,在彈出的快捷菜單中選擇“刪除”命令,打開“刪除對象”對話框,然后單擊“確定”按鈕即可刪除該表。②用DROPTABLE命令來刪除。語句格式DROPTABLEtable_name(4)數(shù)據(jù)表的重命名數(shù)據(jù)表的重命名既可以在圖形化界面中完成,也可以通過執(zhí)行存儲過程sp_rename來實現(xiàn)。①在圖形化界面中重命名。右擊需要重命名的表,在彈出的快捷菜單中選擇“重命名”命令,然后輸入新的數(shù)據(jù)庫名就完成了數(shù)據(jù)表名的重命名。②使用存儲過程sp_rename重命名數(shù)據(jù)表。例如,重命名BookBBSDB數(shù)據(jù)庫中Users表的名稱為user的代碼如下。4.1.1表的概念(1)數(shù)據(jù)表的創(chuàng)建3.數(shù)據(jù)表的基本操作4.1.2數(shù)據(jù)完整性數(shù)據(jù)完整性(DataIntegrity)是指數(shù)據(jù)的精確性(Accuracy)和可靠性(Reliability)。數(shù)據(jù)完整性分為四類:實體完整性、域完整性、參照完整性、用戶自定義完整性。1.數(shù)據(jù)完整性任務4.1知識準備(1)實體完整性實體完整性要求每一個表中的主鍵字段都不能為空和重復的值。實體完整性指表中行的完整性。要求表中的所有行都有唯一的標識符的關鍵字段,稱為主關鍵字。(2)參照完整性參照完整性是控制數(shù)據(jù)一致性的規(guī)則,當對表中的數(shù)據(jù)進行插入、更新或刪除操作時,通過參照引用相互關聯(lián)的另一個表中的數(shù)據(jù)來檢查核對表中的數(shù)據(jù)是否正確,以保持已定義的表間關系。(3)域完整性域完整性指列的值域的完整性,要求向表中指定列輸入的數(shù)據(jù)必須具有正確的數(shù)據(jù)類型、格式以及有效的數(shù)據(jù)范圍。(4)用戶自定義完整性用戶自定義完整性只針對某一具體關系數(shù)據(jù)庫的約束條件,它反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語意要求。4.1.2數(shù)據(jù)完整性數(shù)據(jù)完整性(DataIntegri4.1.2數(shù)據(jù)完整性(1)約束的含義和分類2.約束任務4.1知識準備約束是SQLServer2008提供的自動保持數(shù)據(jù)完整性的一種方法,它通過限制字段中的數(shù)據(jù)、記錄中的數(shù)據(jù)及表之間的數(shù)據(jù)來將表約束在一起,確保一個表中的數(shù)據(jù)改動不會使另一個表中的數(shù)據(jù)失效。在SQLServer2008中有6種約束,分別是非空約束、默認約束、檢查約束、主鍵約束、唯一約束和外鍵約束。各種約束的作用見表4.3。表4.3約束的類型和作用(2)約束的創(chuàng)建①非空約束。非空約束定義表中的列不允許使用空值。定義為關鍵的列,系統(tǒng)會自動添加非空約束,其他列則根據(jù)需要進行設置。②默認約束。默認約束指用戶在進行插入操作時,如果沒有顯式為列提供數(shù)據(jù),系統(tǒng)會將默認值賦給該列。③檢查約束。檢查約束是對表中的數(shù)據(jù)設置檢查條件,以保證數(shù)據(jù)的完整性。④主鍵約束。主鍵約束是比較重要的約束,它既可以對列進行約束,也可以對表進行約束。⑤唯一約束。唯一約束確保輸入的列的值是唯一的,不允許存在重復的值。⑥外鍵約束。外鍵約束可以保證表與表之間數(shù)據(jù)的一致性,它通過主鍵和外鍵建立起表與表之間的關聯(lián)。4.1.2數(shù)據(jù)完整性(1)約束的含義和分類2.約束任務44.1.3主鍵和外鍵主鍵是唯一表示數(shù)據(jù)表中的每個記錄的字段或者字段的組合。主鍵約束就是確定表中的每一條記錄,主鍵不能是空值。1.主鍵和外鍵的定義任務4.1知識準備外鍵若有兩個表A、B,C是A的主鍵,而B中也有C字段,則C就是表B的外鍵。外鍵約束主要用來維護兩個表之間數(shù)據(jù)的一致性。4.1.3主鍵和外鍵主鍵是唯一表示數(shù)據(jù)表中的每個記錄的字4.1.3主鍵和外鍵2.主鍵、外鍵和唯一索引的區(qū)別(表4.4)任務4.1知識準備表4.4主鍵、外鍵和索引的區(qū)別4.1.3主鍵和外鍵2.主鍵、外鍵和唯一索引的區(qū)別(表44.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表,它可以用來存儲各種數(shù)據(jù)信息。在本項目中要分別用SQLServerManagementStudio圖形化界面和T-SQL語句創(chuàng)建數(shù)據(jù)庫表。根據(jù)要求要創(chuàng)建的表結構見4.5表~4.8表。1.任務描述任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表,它可以用來存儲各種數(shù)據(jù)信息。在本項目中要分別用SQLServerManagementStudio圖形化界面和T-SQL語句創(chuàng)建數(shù)據(jù)庫表。根據(jù)要求要創(chuàng)建的表結構見4.5表~4.8表。1.任務描述表4.5用戶表的結構表4.6主帖表表4.7回帖表的結構表4.8版塊表的結構以上四個表之間的約束如下。用戶表(Users)約束:主鍵(ID)、檢查約束(E-mail含有@、Password長度大于等于6)、默認值約束(用戶郵箱P@P.com、用戶等級1、用戶密碼888888、用戶積分20、用戶狀態(tài)1、用戶性別為男、用戶注冊日期為當前系統(tǒng)日期)。版塊表(Section)約束:主鍵(ID非空值、標識列)、外鍵(UID)、默認值(點擊率ClickCount為0、發(fā)帖數(shù)TopicCount為0)。主帖表(Topic)的約束:主鍵(ID非空值、標識列)、外鍵(SID、UID)、默認值(回帖數(shù)ReplyCount為0、發(fā)帖時間Time為系統(tǒng)當前日期)?;靥?Reply)的約束:主鍵(ID非空值、標識列)、外鍵(SID、UID、TID)、檢查約束(Contents長度大于6、Time為系統(tǒng)當前日期)。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析數(shù)據(jù)庫中主要對象之一就是數(shù)據(jù)庫表4.2.1任務描述及分析對于用戶表的結構來講,表的名字是Users,共有11個字段,它有一個主鍵約束是ID字段,而且該字段還是自動增長的列。E-mail字段有檢查約束要求含有@字符,默認值為P@P.com,并且長度大于等于6。Class字段的默認值為1,Password字段的默認值為888888,Point字段的默認值為20,State字段的默認值為1,Sex字段的默認值為男,RegDate字段的默認值為當前系統(tǒng)日期。2.任務分析任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.1任務描述及分析對于用戶表的結構來講,表的名字是4.2.2建立數(shù)據(jù)庫表(1)打開對象資源管理器,展開BookBBSDB數(shù)據(jù)庫節(jié)點,再在表節(jié)點上右擊,選擇新建表選項,如圖4.1所示。1.利用SSMS圖形化界面的方法創(chuàng)建表4.5圖4.1在SSMS中新建表(2)在打開的表設計器中,按照表的要求設置Users各列的列名(字段名)、數(shù)據(jù)類型、允許空(非空約束)值,如圖4.2所示。圖4.2Users表中各列的創(chuàng)建(3)各列創(chuàng)建完成后,單擊工具欄上的“保存”按鈕,系統(tǒng)自動打開“選擇名稱”對話框,輸入新建的表的名稱“Users”,如圖4.3所示。圖4.3數(shù)據(jù)表的保存(4)單擊“確定”按鈕,就在數(shù)據(jù)庫BookBBSDB中創(chuàng)建了一個Users數(shù)據(jù)表。在“對象資源管理器”窗口中展開數(shù)據(jù)庫BookBBSDB下的“表”節(jié)點,并展開新建的數(shù)據(jù)庫表Users的列,就可以看到創(chuàng)建的數(shù)據(jù)表的基本定義。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.2建立數(shù)據(jù)庫表(1)打開對象資源管理器,展開Bo4.2.2建立數(shù)據(jù)庫表(1)單擊工具欄上的“新建查詢”按鈕,在窗口的右半部分打開一個新的“SQLQuery1”標簽頁,同時工具欄中新增“SQL編輯器”工具欄,如圖4.4所示。2.利用T-SQL語句的方法創(chuàng)建表4.5圖4.4新建“SQLQuery”標簽頁(2)在SQLQuery標簽頁的窗口中輸入以下程序代碼。(3)在“SQL編輯器”工具欄上單擊“執(zhí)行”按鈕,則執(zhí)行該程序代碼,并在“消息”標簽頁顯示“命令已成功完成”,在“對象資源管理器”中逐級展開數(shù)據(jù)庫的各節(jié)點,可以看到創(chuàng)建的新表Users的結構,如圖4.5所示。圖4.5執(zhí)行CREATETABLE語句后(4)單擊工具欄上的“保存”按鈕,可以將程序代碼保存到指定的路徑下。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.2建立數(shù)據(jù)庫表(1)單擊工具欄上的“新建查詢”按4.2.3表的維護表4.5的表結構中對于每個字段都有描述,此描述是對該字段的中文描述。給表中添加字段描述的方法如下。1.添加字段描述信息圖4.6打開表設計器窗口(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口,如圖4.6所示。(2)選中第二個字段Name,在表設計器下面的列屬性標簽中找到“說明”項,在“說明”項右邊的單元格中輸入“用戶名、網(wǎng)名或昵稱”,如圖4.7所示。圖4.7在列屬性中添加說明(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護表4.5的表結構中對于每個字段都有描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。2.添加主鍵約束圖4.8設置ID字段為主鍵(2)右擊ID字段,在彈出的快捷菜單中選擇“設置主鍵”選項,如圖4.8所示。(3)結果在ID主鍵名字的旁邊出現(xiàn)一個像鑰匙的圖標,然后單擊工具欄的“保存”按鈕。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。3.添加標識列圖4.9設置字段的標識列(2)選中第一個字段ID,在表設計器下面的列屬性標簽中找“標識和規(guī)范”節(jié)點,展開該節(jié)點,在“是標識”右邊的單元格中選擇“是”,在“標志增量”右邊的單元格中輸入“1”,在“標識種子”右邊的單元格中輸入“1”即可,結果如圖4.9所示。(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。4.添加默認值圖4.10設置字段的默認值(2)選中Password字段,在表設計器下面的列屬性標簽中找“默認值或綁定”選項,在該選項的右邊單元格中輸入“888888”,如圖4.10所示。(3)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)打開“表設計器”窗口,和添加描述中的步驟(1)一樣,不再贅述。5.添加檢查約束圖4.11設置CHECK約束選項(2)右擊E-mail字段,在彈出的快捷菜單中選擇“CHECK約束”選項,如圖4.11所示。(3)打開“CHECK約束”對話框,如圖4.12所示,單擊左下角的“添加”按鈕,展開右半邊的常規(guī)節(jié)點,找到表達式選項,單擊右邊單元格后的“折疊”按鈕,如圖4.13所示。圖4.12CHECK約束對話框圖4.13添加約束的對話框圖4.14設置E-mail字段的格式中包含@字符(5)單擊工具欄上的“保存”按鈕將當前的設置保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理(4)打開“CHENK約束表達式”對話框,在其中輸入如下內容:([E-mail]like‘%@%’),然后單擊“確定”按鈕,如圖4.14所示。再單擊“關閉”按鈕,關閉“CHECK約束表達式”對話框。4.2.3表的維護(1)打開“表設計器”窗口,和添加描述4.2.3表的維護(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Section表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。6.添加外鍵圖4.15設置關系約束選項(2)右擊表設計器中的任意一個字段,在彈出的快鍵菜單中選擇“關系”子菜單,如圖4.15所示。(3)在打開的“外鍵對話框”的左下角單擊“添加”按鈕,在“外鍵關系”對話框的右邊的“表和規(guī)范”選項右邊再單擊“折疊”按鈕,如圖4.16所示。圖4.16設置外鍵關系的表和規(guī)范(4)在彈出的“表和列”對話框的主鍵表下面選擇Users表,然后選擇Users表中的主鍵ID,再在表和列對話框的外鍵表下面選擇Section表,在Section的下面選擇外鍵UID,如圖4.17所示。圖4.17設置主鍵和外鍵關系(5)單擊“確定”按鈕,退出“表和列”對話框,再單擊“關閉”按鈕,關閉“外鍵關系”對話框,最后單擊工具欄上的“保存”按鈕,會彈出一個對話框。單擊“是”按鈕,關閉該對話框。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護(1)展開已經建立的數(shù)據(jù)庫BookBB4.2.3表的維護下面開始給第一張表Users里面錄入數(shù)據(jù),因為在Users表中沒有外鍵。7.錄入表記錄圖4.18給數(shù)據(jù)表中輸入內容(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到以前創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“編輯前200行”選項。(2)打開“表編輯”標簽頁,在其中輸入數(shù)據(jù),如圖4.18所示。(3)改正好數(shù)據(jù)后將輸入的表格保存。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.3表的維護下面開始給第一張表Users里面錄入數(shù)4.2.4增加列圖4.19選擇插入列選項(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到剛才創(chuàng)建的Users表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。(2)假如QQ列要在E-mail的后邊,那就在E-mail字段后面的Birthday字段上單擊右鍵,在彈出的快捷菜單中選擇“插入列”選項,如圖4.19所示。(3)然后在相應的單元格中輸入字段名、數(shù)據(jù)類型和是否允許空。如有需要,還可以加上約束關系。例如,需要在Users表中增加一個QQ號碼列,那就用如下的方法。(4)保存表結構即可。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.4增加列圖4.19選擇插入列選項(1)展開4.2.5修改列(2)像創(chuàng)建表一樣,可以在表設計器中修改字段的數(shù)據(jù)類型和允許空操作,字段名盡可能不要修改,以免在使用表中數(shù)據(jù)的時候找不到表記錄。(3)保存表結構即可。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要修改的表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.5修改列(2)像創(chuàng)建表一樣,可以在表設計器中修改4.2.6刪除列(2)在打開的“表設計器”標簽中,右擊不需要的字段,在彈出的快捷菜單中選擇“刪除列”,完成無用列的刪除。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要修改的表,右擊該表,在彈出的快捷菜單中選擇“設計”選項,打開“表設計器”窗口。任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.6刪除列(2)在打開的“表設計器”標簽中,右擊不4.2.7從數(shù)據(jù)庫中刪除表(2)在彈出的“刪除對象”對話框中單擊“確定”按鈕即可。(1)展開已經建立的數(shù)據(jù)庫BookBBSDB,再展開表節(jié)點,找到要刪除的表,右擊該表,在彈出的快捷菜單中選擇“刪除”選項,如圖4.20所示。圖4.20刪除Users表任務4.2“網(wǎng)絡論壇”數(shù)據(jù)庫表的
創(chuàng)建和管理4.2.7從數(shù)據(jù)庫中刪除表(2)在彈出的“刪除對象”對話4.3.1規(guī)則任務4.3知識與技能擴展1.規(guī)則的含義規(guī)則是一種數(shù)據(jù)庫對象,作用與檢查約束類似,可以用來限制輸入值的取值范圍,從而實現(xiàn)數(shù)據(jù)的完整性。4.3.1規(guī)則任務4.3知識與技能擴展1.規(guī)則的含義4.3.1規(guī)則任務4.3知識與技能擴展2.規(guī)則的創(chuàng)建建立規(guī)則xb_rule,將其綁定到表Users的Sex字段,保證輸入的數(shù)據(jù)只能為“男”或“女”。程序代碼如下:4.3.1規(guī)則任務4.3知識與技能擴展2.規(guī)則的創(chuàng)建4.3.1規(guī)則任務4.3知識與技能擴展3.規(guī)則與檢查約束的區(qū)別規(guī)則是一個獨立的數(shù)據(jù)庫對象,使用CREATERULE創(chuàng)建規(guī)則;而檢查約束是依附于表的,是數(shù)據(jù)表的一部分,它可以在創(chuàng)建表時指定。一個數(shù)據(jù)列上只能使用一個規(guī)則,而一個數(shù)據(jù)列上可以使用多個檢查約束。一個規(guī)則定義一次可以多次用于不同的列上,而一個檢查約束是針對某個列而定義的,不能對其他列發(fā)生作用。4.3.1規(guī)則任務4.3知識與技能擴展3.規(guī)則與檢查4.3.2默認任務4.3知識與技能擴展1.定義默認是一種數(shù)據(jù)庫對象,作用與默認約束類似,可以用來為列綁定設定的默認值。4.3.2默認任務4.3知識與技能擴展1.定義默認是4.3.2默認任務4.3知識與技能擴展2.默認的創(chuàng)建使用CREATEDEFAULT語句創(chuàng)建默認。建立默認mr_xb,將其綁定到表Users的Sex字段,使輸入的數(shù)據(jù)的默認值為“男”。程序代碼為:4.3.2默認任務4.3知識與技能擴展2.默認的創(chuàng)建4.3.2默認任務4.3知識與技能擴展3.默認與默認約束的區(qū)別與聯(lián)系默認是一個獨立的數(shù)據(jù)庫對象,使用CREATEDEFAULT語句創(chuàng)建;而默認約束是依附于表的,是數(shù)據(jù)表的一部分,它可以在創(chuàng)建表時指定。一個數(shù)據(jù)列上要么使用默認約束,要么綁定默認值,兩者不可同時存在。一個默認定義一次可以多次使用在不同的列上,而一個默認約束是針對某個列而定義的,不能對其他列發(fā)生作用。4.3.2默認任務4.3知識與技能擴展3.默認與默認項目實訓實訓1SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建用戶和角色數(shù)據(jù)表分析根據(jù)項目1實訓內容中的E-R圖可以得到的用戶和角色的數(shù)據(jù)表結構見表4.9、表4.10和表4.11。表4.9網(wǎng)上書店數(shù)據(jù)庫的用戶表結構表4.10網(wǎng)上書店數(shù)據(jù)庫的用戶角色數(shù)據(jù)庫表4.11用戶狀態(tài)表結構項目實訓實訓1SQLServerManagemen項目實訓實訓1SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫創(chuàng)建用戶和角色數(shù)據(jù)表實現(xiàn)思路及關鍵步驟按照以下步驟進行:(1)打開“對象資源管理器”,再展開“數(shù)據(jù)庫”節(jié)點,找到在項目3中創(chuàng)建的數(shù)據(jù)庫BookSaleDB,再展開該數(shù)據(jù)庫節(jié)點,找到“表”節(jié)點。(2)右擊該“表”節(jié)點,在彈出的快捷菜單中選擇“新建表”選項,在右邊會彈出“表設計器”標簽,然后根據(jù)表49的結構添加表的字段名,數(shù)據(jù)類型和是否允許空。(3)單擊工具欄上“保存”項,彈出“選擇保存”對話框,在對話框中輸入表的名字Users。(4)同樣的方法可以創(chuàng)建BookSaleDB數(shù)據(jù)庫的數(shù)據(jù)表UserRoles(用戶角色)。(5)同樣的方法可以創(chuàng)建BookSaleDB數(shù)據(jù)庫的數(shù)據(jù)表UserStates(用戶狀態(tài)表)。項目實訓實訓1SQLServerManagemen項目實訓實訓2SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫用戶和角色表添加約束分析根據(jù)實訓1中創(chuàng)建的兩個數(shù)據(jù)庫表,再結合Users表的結構,要設置的約束如下:(1)設置ID字段為標識列,自動增長步長值為1,基礎值為1,并添加為主鍵。(2)設置LoginPwd字段的默認值為666666。(3)設置Mail字段的默認值為P@P.COM。(4)設置UserRoleId的默認值為1,為角色表中ID的外鍵。項目實訓實訓2SQLServerManagemen項目實訓實訓2SQLServerManagementStudio工具管理
為網(wǎng)上書店數(shù)據(jù)庫用戶和角色表添加約束實現(xiàn)思路及關鍵步驟(1)右擊BookSaleDB數(shù)據(jù)庫下面的Users表節(jié)點,選擇“設計”選項,會打開“表結構”設計標簽。選中字段ID,在表設計器下面的“列屬性”標簽中找“標識和規(guī)范”節(jié)點,展開該節(jié)點,在“是標識”右邊的單元格中選擇“是”,在“標志增量”右邊的單元格中輸入“1”,在“標識種子”右邊的單元格中輸入“1”即可,把結果保存。(2)在Users的表設計器中選中“LoginPwd”字段,在表設計器下面的“列屬性”標簽中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國開槽機行業(yè)市場深度研究及發(fā)展趨勢預測報告
- 2025年度能源項目資料承包合同
- 2誰的植物長得好 教學設計-2024-2025學年科學二年級上冊人教鄂教版
- 2025年金屬器具合作協(xié)議書
- 2025年度體育場館地坪鋪設及運動性能提升分包協(xié)議
- 專題17 語言文字運用(標點類)- 2025年高考復習近十年之語文真題分項匯編 (解析卷)
- 03 2 首屆諾貝爾獎頒發(fā)2024-2025學年八年級語文上冊同步教學設計(河北專版)
- 2025年寵物臨時寄養(yǎng)服務合同范本
- 7聽聽秋的聲音 教學設計-2024-2025學年語文三年級上冊統(tǒng)編版
- 2025年度金融信息服務保密競業(yè)限制及知識產權歸屬共享協(xié)議
- 可下載打印的公司章程
- 不吃路邊攤精品課件
- 《網(wǎng)絡服務器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊電子教案
- 心理評估與診斷簡介
- 無痛病房管理課件
- 讓孩子變成學習的天使——由《第56號教室的奇跡》讀書分享
- 球泡檢驗標準
- 公安筆錄模板之詢問嫌疑人(書面?zhèn)鲉局伟舶讣?
- 振動分析基礎講義1
- 記賬憑證匯總表excel模板
- 鄧麗君經典歌曲30首簡譜(共33頁)
評論
0/150
提交評論