數(shù)據(jù)庫第章數(shù)據(jù)表的管理與維護教學課件_第1頁
數(shù)據(jù)庫第章數(shù)據(jù)表的管理與維護教學課件_第2頁
數(shù)據(jù)庫第章數(shù)據(jù)表的管理與維護教學課件_第3頁
數(shù)據(jù)庫第章數(shù)據(jù)表的管理與維護教學課件_第4頁
數(shù)據(jù)庫第章數(shù)據(jù)表的管理與維護教學課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第3章數(shù)據(jù)表的管理與維護數(shù)據(jù)表的創(chuàng)建和管理、表數(shù)據(jù)的管理、數(shù)據(jù)完整性管理創(chuàng)建與管理數(shù)據(jù)表的方法、數(shù)據(jù)完整性約束2學習目標了解:數(shù)據(jù)完整性的類型。理解:使用企業(yè)管理器和T-SQL命令管理表中內(nèi)容;使用企業(yè)管理器管理和維護表結(jié)構(gòu);數(shù)據(jù)庫完整性的概念。掌握:使用企業(yè)管理器和T-SQL命令創(chuàng)建表;使用T-SQL命令管理和維護表結(jié)構(gòu);數(shù)據(jù)完整性的操作。33.1數(shù)據(jù)表的創(chuàng)建和管理3.1.1使用企業(yè)管理器創(chuàng)建數(shù)據(jù)表3.1.2使用T-SQL語言創(chuàng)建數(shù)據(jù)表3.1.3使用企業(yè)管理器對數(shù)據(jù)表進行維護3.1.4使用T-SQL語言對數(shù)據(jù)表進行維護43.1.1使用企業(yè)管理器創(chuàng)建數(shù)據(jù)表

數(shù)據(jù)庫技術與應用基礎教材編寫組演示操作53.1.2使用T-SQL語言創(chuàng)建數(shù)據(jù)表CREATETABLE [database_name.[owner.]|owner.]table_name ({<column_definition> |column_nameAScomputed_column_expression |<table_constraint>∷=[CONSTRAINTconstraint_name]} |[{PRIMARYKEY|UNIQUE}]) [ON{filegroup|DEFAULT}] [TEXTIMAGE_ON{filegroup|DEFAULT}] <column_definition>∷={column_namedata_type} [COLLATE<collation_name>] [DEFAULTconstant_expression]63.1.2使用T-SQL語言創(chuàng)建數(shù)據(jù)表——舉例【例3.1】使用查詢分析器在數(shù)據(jù)庫Student_db中創(chuàng)建Student學生信息表,要求包含S_NO(學號)、NAME(姓名)、AGE(年齡)、SEX(性別)信息,其中學號不能為空。操作方法:73.1.2使用T-SQL語言創(chuàng)建數(shù)據(jù)表——舉例【例3.5】建立一個供貨商和貨物的數(shù)據(jù)庫S_P_DB,此數(shù)據(jù)庫存在以下關系。(1)供貨商S(S_NO,S_NAME,STATUS,CITY)。分別表示供貨商代碼、名稱、身份、所在城市。(2)貨物P(P_NO,P_NAME,WEIGHT,CITY)。分別表示貨物的編號、名稱、重量和產(chǎn)地。要求如下:(1)供貨商代碼不能為空,且值是惟一的,供貨商的名稱也是惟一的。(2)貨物編號不能為空,且值惟一,貨物的名稱也不能為空。(3)使用以下T-SQL語句創(chuàng)建數(shù)據(jù)庫S_P_DB,創(chuàng)建關系S和關系P為表S和P:/*創(chuàng)建數(shù)據(jù)庫S_P_DB*/CREATEDATABASES_P_DB/*創(chuàng)建供貨商信息表*/CREATETABLES (S_NOCHAR(9)NOTNULLUNIQUE, S_NAMECHAR(20)UNIQUE, STATUSCHAR(9), CITYCHAR(10), PRIMARYKEY(S_NO))/*創(chuàng)建貨物信息表*/CREATETABLEP (P_NOCHAR(9)NOTNULLUNIQUE, P_NAMECHAR(20)UNIQUE, WEIGHTCHAR(9), CITYCHAR(10),PRIMARYKEY(P_NO))83.1.3使用企業(yè)管理器對數(shù)據(jù)表進行維護使用企業(yè)管理器查看數(shù)據(jù)表的相關設置93.1.3使用企業(yè)管理器對數(shù)據(jù)表進行維護使用企業(yè)管理器更改數(shù)據(jù)表名稱103.1.3使用企業(yè)管理器對數(shù)據(jù)表進行維護使用企業(yè)管理器刪除數(shù)據(jù)表113.1.4使用T-SQL語言對數(shù)據(jù)表進行維護修改數(shù)據(jù)表ALTERTABLEtable{[ALTERCOLUMNcolumn_name{new_data_type[(precision[,scale])][COLLATE<collation_name>][NULL|NOTNULL]|{ADD|DROP}ROWGUIDCOL}]|ADD{[<column_definition>]|column_nameAScomputed_column_expression}[,...n]|[WITHCHECK|WITHNOCHECK]ADD{<table_constraint>}[,...n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn}[,...n]|{CHECK|NOCHECK}CONSTRAINT{ALL|constraint_name[,...n]}|{ENABLE|DISABLE}TRIGGER{ALL|trigger_name[,...n]}}123.1.4使用T-SQL語言對數(shù)據(jù)表進行維護【例3.6】在【例3.1】的Student學生信息表中增加聯(lián)系住址ADDRESS字段。增加該字段的語句如下:ALTERTABLEStudentADDADDRESSvarchar(30)【例3.7】對【例3.6】中增加的字段ADDRESS的寬度由30修改為50。修改該字段的語句如下:ALTERTABLEStudentAltercolumnADDRESSvarchar(50)注意:在新增加字段時,不管原來的表中是否有數(shù)據(jù),新增加的字段值一律為空。【例3.8】刪除【例3.6】中增加的ADDRESS字段。刪除該字段的語句如下:ALTERTABLEStudentdropcolumnADDRESS133.1.4使用T-SQL語言對數(shù)據(jù)表進行維護刪除數(shù)據(jù)表語法格式如下:DROPTABLEtable_name【例3.9】刪除當前數(shù)據(jù)庫中的Student_1學生信息表。刪除該表的語句如下:DropTABLEStudent_1【例3.11】刪除指定數(shù)據(jù)庫中的表。假設stu數(shù)據(jù)庫內(nèi)有temp1表,可以在任何數(shù)據(jù)庫內(nèi)執(zhí)行如下語句,完成刪除temp1表的操作。刪除該表的語句如下:DROPTABLEstu.dbo.temp1143.2表數(shù)據(jù)的維護3.2.1使用企業(yè)管理器管理表數(shù)據(jù)3.2.2使用T-SQL語言管理表數(shù)據(jù)153.2.1使用企業(yè)管理器管理表數(shù)據(jù)使用表設計器瀏覽、添加、修改、刪除數(shù)據(jù)163.2.1使用企業(yè)管理器管理表數(shù)據(jù)使用數(shù)據(jù)庫關系圖創(chuàng)建關系數(shù)據(jù)庫關系圖是以圖形方式顯示部分或全部數(shù)據(jù)庫結(jié)構(gòu)的關系圖。關系圖可用來創(chuàng)建和修改表、列、關系、鍵、索引和約束。173.2.2使用T-SQL語言管理表數(shù)據(jù)表數(shù)據(jù)的添加INSERT[INTO]table_or_view[(column_list)]data_values【例3.13】假設數(shù)據(jù)庫Student_db中已經(jīng)創(chuàng)建好了課程信息數(shù)據(jù)表C_Info。試將新課程記錄(9720044,網(wǎng)絡技術與應用,選修,3)添加到課程信息數(shù)據(jù)表C_Info中。添加新課程記錄的語句如下:INSERTINTOC_Info VALUES('9720044','網(wǎng)絡技術與應用','選修',3,null)183.2.2使用T-SQL語言管理表數(shù)據(jù)表數(shù)據(jù)的修改UPDATE{table_name|view_name}SET{column_name={expression|DEFAULT|NULL}|@variable=expression|@variable=column=expression}[,...n][FROM{<table_source>}[,...n]]193.2.2使用T-SQL語言管理表數(shù)據(jù)【例3.15】將數(shù)據(jù)表C_Info中所有學分加1。這是無條件的修改數(shù)據(jù),使用語句如下:UPDATEC_InfoSETC_Credit=C_Credit+1【例3.16】將數(shù)據(jù)表C_Info中課程號為“9710011”的學分減1。這是有條件的修改數(shù)據(jù),使用語句如下:UPDATEC_InfoSETC_Credit=C_Credit-1WHEREC_NO='9710011'203.2.2使用T-SQL語言管理表數(shù)據(jù)表數(shù)據(jù)的刪除DELETE[FROM]{table_name|view_name}[FROM{<table_source>}[,...n]]【例3.17】在student表中刪除所有學生記錄,但保留數(shù)據(jù)表結(jié)構(gòu)。這是無條件全部刪除記錄,使用語句如下:DELETEFROMstudent【例3.18】在C_Info表中刪除課程號為“9720045”的記錄。這是有條件刪除記錄。使用語句如下:DELETEFROMC_InfoWHEREC_NO='9720045'213.3數(shù)據(jù)完整性管理3.3.1數(shù)據(jù)完整性概述3.3.2數(shù)據(jù)完整性的類型3.3.3使用企業(yè)管理器實現(xiàn)數(shù)據(jù)完整性的設置223.3.1數(shù)據(jù)完整性概述數(shù)據(jù)的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和一致性。(1)正確性是指數(shù)據(jù)的合法性,例如數(shù)值型數(shù)據(jù)只能包含數(shù)字不能包含字母;(2)有效性是指數(shù)據(jù)是否處在所定義域的有效范圍之內(nèi);(3)一致性是指同一事實的兩個數(shù)據(jù)應該一致,不一致即是不相容的。233.3.2數(shù)據(jù)完整性的類型數(shù)據(jù)完整性類型(4種)實體完整性一般用主碼約束實現(xiàn)。域完整性域完整性是指給定列的輸入有效性。如年齡0~150,一般用check等實現(xiàn)。引用完整性一般用外碼實現(xiàn)。用戶定義完整性針對某個特定關系數(shù)據(jù)庫的約束條件。數(shù)據(jù)完整性的實現(xiàn)通過規(guī)則、默認、約束和觸發(fā)器等數(shù)據(jù)庫對象。243.3.3用企業(yè)管理器實現(xiàn)數(shù)據(jù)完整性設置【例3.19】使用企業(yè)管理器,將“課程編號”設置成“課程信息表”的主關鍵字,并嘗試輸入已存在的某個課程編號,驗證數(shù)據(jù)庫系統(tǒng)如何實現(xiàn)對實體完整性的保護?!纠?/p>

溫馨提示

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

最新文檔

評論

0/150

提交評論