csSQLServer數(shù)據(jù)庫基本操作_第1頁
csSQLServer數(shù)據(jù)庫基本操作_第2頁
csSQLServer數(shù)據(jù)庫基本操作_第3頁
csSQLServer數(shù)據(jù)庫基本操作_第4頁
csSQLServer數(shù)據(jù)庫基本操作_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

5.1SQLServer2000數(shù)據(jù)庫基本操作5.2表和視圖的基本操作5.3案例3:創(chuàng)建活期儲(chǔ)蓄管理系統(tǒng)數(shù)據(jù)庫

--數(shù)據(jù)庫的物理設(shè)計(jì)與實(shí)現(xiàn)SQLServer2000中一臺服務(wù)器上可創(chuàng)建多個(gè)數(shù)據(jù)庫。SQLServer2000中的數(shù)據(jù)庫是由數(shù)據(jù)表的集合組成的,每個(gè)數(shù)據(jù)表中包含數(shù)據(jù)以及其他數(shù)據(jù)庫對象,這些對象包括視圖、索引、存儲(chǔ)過程和觸發(fā)器等。數(shù)據(jù)庫系統(tǒng)使用一組操作系統(tǒng)文件來映射數(shù)據(jù)庫管理系統(tǒng)中保存的數(shù)據(jù)庫,數(shù)據(jù)庫中的所有數(shù)據(jù)和對象都存儲(chǔ)在其映射的操作系統(tǒng)文件中。這些操作系統(tǒng)文件可以是數(shù)據(jù)文件或日志文件。5.1SQLServer2000數(shù)據(jù)庫基本操作5.1.1SQLServer數(shù)據(jù)庫概述數(shù)據(jù)庫文件和文件組SQLServer的數(shù)據(jù)庫由數(shù)據(jù)文件和日志文件組成。數(shù)據(jù)文件是用來存放數(shù)據(jù)庫中的數(shù)據(jù)的。數(shù)據(jù)文件又包括主數(shù)據(jù)文件和次數(shù)據(jù)文件。每個(gè)數(shù)據(jù)庫都包括一個(gè)主數(shù)據(jù)文件和一個(gè)或多個(gè)日志文件,還可以有次數(shù)據(jù)文件。主數(shù)據(jù)文件(.mdf):存儲(chǔ)數(shù)據(jù)信息和數(shù)據(jù)庫的啟動(dòng)信息。一個(gè)數(shù)據(jù)庫有且僅有一個(gè)主數(shù)據(jù)文件。次數(shù)據(jù)文件(.ndf):存儲(chǔ)主數(shù)據(jù)文件存儲(chǔ)不下的數(shù)據(jù)信息。一個(gè)數(shù)據(jù)庫可以沒有次數(shù)據(jù)文件,也可有多個(gè)次數(shù)據(jù)文件。日志文件(.ldf):存儲(chǔ)數(shù)據(jù)庫的所有事務(wù)日志信息,包含用于恢復(fù)數(shù)據(jù)庫的日志信息,一個(gè)數(shù)據(jù)庫至少有一個(gè)日志文件,也可以有多個(gè)日志文件。數(shù)據(jù)庫文件組為了方便管理、提高系統(tǒng)性能,將多個(gè)數(shù)據(jù)庫文件組織成一組,即稱為數(shù)據(jù)庫文件組。數(shù)據(jù)庫文件組控制各個(gè)文件的存放位置,常常將每個(gè)文件建立在不同的硬盤驅(qū)動(dòng)器上。這樣可以減輕單個(gè)硬盤驅(qū)動(dòng)器的存儲(chǔ)負(fù)載,提高數(shù)據(jù)庫的存儲(chǔ)效率,從而實(shí)現(xiàn)提高系統(tǒng)性能的目的。在使用數(shù)據(jù)庫文件和文件組時(shí),應(yīng)該注意以下幾點(diǎn):1)每個(gè)文件或文件組只能用于一個(gè)數(shù)據(jù)庫。2)每個(gè)文件只能屬于一個(gè)文件組。3)日志文件是獨(dú)立的。數(shù)據(jù)庫的數(shù)據(jù)和日志信息不能放在同一個(gè)文件或文件組中,數(shù)據(jù)文件和日志文件總是分開的。

系統(tǒng)數(shù)據(jù)庫和示例數(shù)據(jù)庫SQLServer支持系統(tǒng)數(shù)據(jù)庫、示例數(shù)據(jù)庫和用戶數(shù)據(jù)庫。系統(tǒng)和示例數(shù)據(jù)庫是在安裝SQLServer后自動(dòng)創(chuàng)建的,用戶數(shù)據(jù)庫是由系統(tǒng)管理員或授權(quán)的用戶創(chuàng)建的數(shù)據(jù)庫。系統(tǒng)數(shù)據(jù)庫SQLServer的系統(tǒng)數(shù)據(jù)庫包括以下幾個(gè)數(shù)據(jù)庫:master數(shù)據(jù)庫是SQLServer的總控?cái)?shù)據(jù)庫,保存了SQLServer系統(tǒng)的全部系統(tǒng)信息、所有登錄信息和系統(tǒng)配置,保存了所有建立的其他數(shù)據(jù)庫及其有關(guān)信息。用戶應(yīng)隨時(shí)備份該數(shù)據(jù)庫,以保證系統(tǒng)的正常運(yùn)行。master數(shù)據(jù)庫中包含大量的系統(tǒng)表、視圖和存儲(chǔ)過程,用于保存Server級的系統(tǒng)信息,并實(shí)現(xiàn)系統(tǒng)管理。其中特有的、常用的系統(tǒng)表和存儲(chǔ)過程見附錄B和附錄C。tempdb數(shù)據(jù)庫tempdb是一個(gè)臨時(shí)數(shù)據(jù)庫,是全局資源,它保存全部的臨時(shí)表和臨時(shí)存儲(chǔ)過程。每次啟動(dòng)SQLServer時(shí),tempdb數(shù)據(jù)庫都被重建,因此,該數(shù)據(jù)庫在系統(tǒng)啟動(dòng)時(shí)總是干凈的。使用tempdb不需要特殊的權(quán)限。不管SQLServer中安裝了多少數(shù)據(jù)庫,tempdb只有一個(gè)。tempdb是系統(tǒng)中負(fù)擔(dān)最重的數(shù)據(jù)庫,幾乎所有的查詢都可能使用它。model數(shù)據(jù)庫是一個(gè)模板數(shù)據(jù)庫。每當(dāng)創(chuàng)建一個(gè)新數(shù)據(jù)庫時(shí),SQLServer就復(fù)制model數(shù)據(jù)庫的內(nèi)容到新建數(shù)據(jù)庫中,因此,所有新建數(shù)據(jù)庫的內(nèi)容都和這個(gè)數(shù)據(jù)庫完全一樣。如果用戶想使每個(gè)新建的數(shù)據(jù)庫一開始就具有某些對象,可以將這些對象放到model數(shù)據(jù)庫中,這樣所有新建的數(shù)據(jù)庫都將繼承這些內(nèi)容。model數(shù)據(jù)庫中有18個(gè)系統(tǒng)表(master數(shù)據(jù)庫中也有這些系統(tǒng)表)、視圖以及存儲(chǔ)過程,用于保存數(shù)據(jù)庫級的系統(tǒng)信息。msdb數(shù)據(jù)庫msdb數(shù)據(jù)庫是一個(gè)和自動(dòng)化有關(guān)的數(shù)據(jù)庫。SQLServer代理(SQLServerAgent)使用msdb數(shù)據(jù)庫來安排報(bào)警、作業(yè),并記錄操作員。如完成一些調(diào)度性的工作,備份和復(fù)制等。示例數(shù)據(jù)庫SQLServer的示例數(shù)據(jù)庫主要包括以下兩個(gè)數(shù)據(jù)庫。pubs數(shù)據(jù)庫一個(gè)圖書出版方面的示例數(shù)據(jù)庫,雖然用戶可以隨時(shí)修改、甚至刪除該數(shù)據(jù)庫,但建議用戶保留該數(shù)據(jù)庫,以便更好地學(xué)習(xí)SQLServer。Northwind數(shù)據(jù)庫一個(gè)涉及虛構(gòu)的Northwind貿(mào)易公司在世界范圍內(nèi)進(jìn)出口食品的銷售情況示例數(shù)據(jù)庫。5.1.2創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫:就是為數(shù)據(jù)庫確定名稱、大小、存放位置、文件名和所在文件組的過程。文件名稱:數(shù)據(jù)文件和日志文件的名稱(邏輯名)。文件名必須符合命名規(guī)則。在同一臺SQLServer服務(wù)器上,各數(shù)據(jù)庫的名稱是惟一的。數(shù)據(jù)庫的創(chuàng)建信息存放在master數(shù)據(jù)庫的sysdatabases系統(tǒng)表中。創(chuàng)建數(shù)據(jù)庫后,系統(tǒng)自動(dòng)把model數(shù)據(jù)庫中的信息復(fù)制到新建的數(shù)據(jù)庫中。創(chuàng)建數(shù)據(jù)庫之前,首先要考慮數(shù)據(jù)庫的擁有者、數(shù)據(jù)庫的初始容量、最大容量、增長量以及數(shù)據(jù)庫文件的存放路徑等因素,文件大小一般以MB為單位。SQLServer2000中創(chuàng)建數(shù)據(jù)庫的方法:

①使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫

②使用Transact-SQL語句創(chuàng)建數(shù)據(jù)庫

③使用向?qū)?chuàng)建數(shù)據(jù)庫使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫

例:以默認(rèn)形式創(chuàng)建mydb數(shù)據(jù)庫,步驟如下:(1)啟動(dòng)企業(yè)管理器,連接服務(wù)器,展開其樹形目錄,用鼠標(biāo)右鍵單擊【數(shù)據(jù)庫】文件夾,在彈出的快捷菜單中,單擊【新建數(shù)據(jù)庫…】打開圖5-2所的對話框。(2)在【數(shù)據(jù)庫屬性】對話框的【名稱】文本框內(nèi)輸入數(shù)據(jù)庫名(邏輯名)。例如MyDB,這個(gè)對話框自動(dòng)以該數(shù)據(jù)庫名命名,系統(tǒng)默認(rèn)用該數(shù)據(jù)庫名與“_data”串的連接命名數(shù)據(jù)文件(見圖5-3),該數(shù)據(jù)庫名與“_log”串的連接命名日志文件(見圖5-4)。這兩個(gè)不同選項(xiàng)卡界面內(nèi)的設(shè)置,分別為數(shù)據(jù)主文件和日志文件的名稱、存儲(chǔ)位置、初始大小、所屬文件組(默認(rèn)為主文件組PRIMARY)、文件是否自動(dòng)增長、增長的方式和文件大小的限制等。(3)單擊【確定】按鈕,數(shù)據(jù)庫就創(chuàng)建好了,在默認(rèn)位置、采用默認(rèn)設(shè)置創(chuàng)建了一個(gè)名為MyDB的數(shù)據(jù)庫。圖5-2數(shù)據(jù)庫屬性對話框圖5-3數(shù)據(jù)文件選項(xiàng)卡界面圖5-4事務(wù)日志文件選項(xiàng)卡界面使用Transact-SQL命令創(chuàng)建數(shù)據(jù)庫CREATEDATABASEdatabase_name[ON

[PRIMARY]

[<filespec>[,…n]]

[,F(xiàn)ILEGROUPfilegroup_name<filespec>[,...n]]

]

[LOGON{<filespec>[,...n]}]

[FORLOAD|FORATTACH]

其中,<filespec>(文件格式)語法格式如下:

([NAME=logical_file_name,]FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,F(xiàn)ILEGROWTH=growth_increment])圖5-5創(chuàng)建數(shù)據(jù)庫exampledbl【例5-1】省略CREATEDATABASE命令中各選項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)庫exampledbl。命令和執(zhí)行結(jié)果見圖5-5。【例5-2】使用ON和LOGON選項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)庫exampledb2。 命令和執(zhí)行結(jié)果見圖5-6。圖5-6創(chuàng)建數(shù)據(jù)庫exampledb2用向?qū)?chuàng)建數(shù)據(jù)庫使用向?qū)?chuàng)建數(shù)據(jù)庫是一種非常簡單的方法。啟動(dòng)企業(yè)管理器,在工具菜單中選擇向?qū)Ъ纯砂聪驅(qū)нM(jìn)行相應(yīng)的操作。5.1.3修改數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫后,可能會(huì)由于某種原因需要對其進(jìn)行修改。例如增加和刪除數(shù)據(jù)庫的文件和文件組、修改文件和文件組的屬性。但只有sysadmin和dbcreator服務(wù)器角色成員和DBO才能修改數(shù)據(jù)庫。使用企業(yè)管理器修改數(shù)據(jù)庫有兩種方法來修改:①使用企業(yè)管理器修改數(shù)據(jù)庫②使用T-SQL命令修改數(shù)據(jù)庫11使用企業(yè)管理器修改數(shù)據(jù)庫步驟如下:(1)啟動(dòng)企業(yè)管理器,連接服務(wù)器,展開其樹形目錄,展開【數(shù)據(jù)庫】文件夾,用鼠標(biāo)右鍵單擊要修改的數(shù)據(jù)庫名,例如exampledb1,在彈出的快捷菜單中,單擊【屬性】命令,則彈出如圖5-7所示的對話框。(2)在exampledb1屬性對話框【數(shù)據(jù)文件】選項(xiàng)卡畫面中,可以修改數(shù)據(jù)庫的主文件組和用戶定義文件組中各數(shù)據(jù)文件的信息,包括邏輯名、物理文件名、初始長度、所屬文件組及自動(dòng)增長的限制等。(3)單擊【事務(wù)日志】選項(xiàng)卡,在這個(gè)選項(xiàng)卡畫面中,用戶可以修改數(shù)據(jù)庫的日志文件的信息,包括邏輯名、物理文件名、初始長度及自動(dòng)增長的限制等。(4)單擊【文件組】、【選項(xiàng)】、【權(quán)限】等選項(xiàng)卡,可以修改數(shù)據(jù)庫的文件組、數(shù)據(jù)庫選項(xiàng)、數(shù)據(jù)庫訪問權(quán)限等內(nèi)容。圖5-7數(shù)據(jù)庫屬性對話框使用Transact—SQL命令修改數(shù)據(jù)庫

ALTERDATABASEdatabase{ADDFILE<filespec>[,...n)[TOFILEGROUPfilegroup_name]

ADDLOGFILE<filespec>[,...n][REMOVEFILElogical_file_name|ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILE<filespec>|MODIFYFILEGROUPfilegroup_namefilegroup_property}其中<filespec>語法格式如下:

(NAME=logical_file_name[,F(xiàn)ILENAME=’os_file_name’][,SIZE=size][,MAXSIZE={max_sizeUNLIMITED}][,F(xiàn)ILEGROWTH=growth_increment])

【例5-4】在exampledbl數(shù)據(jù)庫中添加一個(gè)文件組exampledbl_group,命令行為:

ALTERDATABASEexampledblADDFILEGROUPexampledbl_group【例5-5】將一個(gè)新的數(shù)據(jù)文件exampledbl_data2添加到exampledbl數(shù)據(jù)庫的exampledbl_group文件組中,命令行為

ALTERDATABASEexampledb1ADDFILE(NAME=exampledbl_data2,F(xiàn)ILENAME=’c:\mssql2000\exampledbl_data2.mdf’)TOFILEGROUPexampledbl_group【例5錫-6】修改數(shù)學(xué)據(jù)文件閥exa難mpl壞edb繞2的初浙始長度銜為2M泡B(前筆面默認(rèn)闖設(shè)置為秒IMB皆),命我令行為貍:ALT厭ER匙DAT史ABA胖SE社exa精mpl提edb嗚db2MOD子IFY埋FI籌LE頌(NAME宅=exa氣mple關(guān)db2,SIZ殿E=2肚)【例5-刪7】將一個(gè)蹈新的日好志文件蔥exa霞mpl精edb箭l_l咱og2纖添加到準(zhǔn)exa派mpl撫edb抬l數(shù)據(jù)雞庫中,玻命令行撈為:ALTE狐RDA照TABA亡SEe翅xamp博ledb灣lADD歌LOG麗FILE建(NAME軟=ex接ampl疾edbl籌_log兼2,F(xiàn)ILE否NAME踩=’c:聯(lián)\mss爺ql20遙00\牢exam賄pled毒bl_l災(zāi)og2.窮1df’)修改數(shù)榨據(jù)庫名系統(tǒng)存儲(chǔ)儀過程sp丙_ren本amed乓b(在m去aste盲r系統(tǒng)數(shù)也據(jù)庫中)乓能夠修改矛數(shù)據(jù)庫的晉名稱。在使用吵sp_標(biāo)ren丹ame貿(mào)db修顫改數(shù)據(jù)顛庫名之袍前,必嚇須將數(shù)袍據(jù)庫設(shè)嶼置成單協(xié)用戶模燙式。設(shè)螺置數(shù)據(jù)條庫為單囑用戶模窄式,用禿戶可以耐在圖5元-7所忽示的數(shù)該據(jù)庫屬假性對話復(fù)框中選賺擇【選站項(xiàng)】,浴在彈出蓄的對話昂框中選活擇【限仔制訪問襖】,再障選中該放數(shù)據(jù)庫大的【單翅用戶】剛選項(xiàng)。駱用戶也讓可以使唉用系統(tǒng)核存儲(chǔ)過批程sp韻_db森opt招ion株(在m賊ast忽er系地統(tǒng)數(shù)據(jù)宇庫中)妨設(shè)置【錦單用戶障】選項(xiàng)麥。下述命群令行是裙將ex繁amp補(bǔ)led岔bl數(shù)柜據(jù)庫更娃名為e惑xam免ple顆db的悼完整過劑程,用京sp_酬hel字pdb樓來查看鎖。見圖單5-8鹽。圖5-秀8數(shù)冬據(jù)庫更愈名過程5.1綢.4吳刪除劍數(shù)據(jù)庫使用企缸業(yè)管理賽器刪除主數(shù)據(jù)庫使用企漂業(yè)管理驕器刪除濾數(shù)據(jù)庫葬非常簡議單,但玻每次只陸能刪除搬一個(gè)數(shù)脈據(jù)庫。兔方法是寄啟動(dòng)企壺業(yè)管理挖器后,爭展開【貪數(shù)據(jù)庫聽】文件速夾,單父擊要?jiǎng)h渣除的數(shù)輕據(jù)庫后鍛如ex另amp訴led孤b2,菊用鼠標(biāo)泊右鍵單演擊要?jiǎng)h辣除的數(shù)旦據(jù)庫名徐,從彈興出的快搞捷菜單真中單擊缸【刪除武】命令頑,系統(tǒng)補(bǔ)彈出警樹告對話旁框見圖差5-9總,要求慚用戶確侄認(rèn)是否死刪除該冬數(shù)據(jù)庫守,單擊閣【是】穩(wěn)按鈕,柳就刪除忌了該數(shù)減據(jù)庫。使用T和ran吹sac瘡t—S筆OL命畢令刪除描數(shù)據(jù)庫DRO濾P溫DAT慈ABA撐SE嘗da惡tab住ase斃_na秘me撒[,絮…n]data之base嗽_nam暮e指定要疲刪除的數(shù)非據(jù)庫,且堆一次可以符刪除多個(gè)諷數(shù)據(jù)庫。撫但不要隨咳便刪除系綁統(tǒng)數(shù)據(jù)庫址,可能會(huì)蘋造成SQ膛LSe稻rver具系統(tǒng)崩潰懸?!纠?德-8】刪除數(shù)據(jù)派庫exa銷mple選db,e謠xamp診ledb再2。DRO卻P糧DAT巖ABA昏SE更exa毅mpl忍edb夏,ex遮amp焦led湊b2圖5-9掠刪除數(shù)蜜據(jù)庫對話客框5.2種表和視圖率的基本操攏作5.2裝.1秩基本知您識SQL悲Serv勉er的一風(fēng)個(gè)數(shù)據(jù)庫糕中可以存膜儲(chǔ)20億仆個(gè)表,一水個(gè)表最多收允許定義熄1024劍個(gè)列。表琴的行數(shù)和腹總大小僅陰受可使用牲空間的限見制。表的價(jià)每一列必藍(lán)須具有相顆同的數(shù)據(jù)漢類型。命名表在一個(gè)糧數(shù)據(jù)庫赤中,允皆許多個(gè)奸用戶創(chuàng)宵建表。唇創(chuàng)建表闊的用戶列稱為該赤表的所盟有者。點(diǎn)因此,倍表的名榮稱應(yīng)該沒體現(xiàn)數(shù)偉據(jù)庫、既用戶和面表名三是方面的漠信息。玻格式如英下:dat茅aba快se_物nam搭e.o渾wne誰r.t婦abl唐e_n珠ame數(shù)據(jù)類型確定表騎的每列約的數(shù)據(jù)淘類型,貫是設(shè)計(jì)材表的重恭要步驟健。列的洲數(shù)據(jù)類限型就是判定義該艱列所能插存放的董數(shù)據(jù)的薦值。SQL叢Serv妙er2喉000的鋪數(shù)據(jù)類型析很豐富,劫這里僅給雁出SQL炎Ser藏ver貓常用的數(shù)平據(jù)類型。演見表5-4。設(shè)計(jì)表在為一恐個(gè)數(shù)據(jù)平庫設(shè)計(jì)托表之前托,應(yīng)該月完成了拿需求分瓣析,確黎定了概府念模型剪,將概獲念模型濤轉(zhuǎn)換為閥關(guān)系模層型。關(guān)焰系模型執(zhí)中的每誰一個(gè)關(guān)豎系對應(yīng)港數(shù)據(jù)庫緞中的一乞個(gè)表。由第1章刑和第2章材對圖書管潑理系統(tǒng)的暫分析與設(shè)占計(jì)知,若逢該系統(tǒng)的頌數(shù)據(jù)庫為柏已創(chuàng)建的栽MyDb伸數(shù)據(jù)庫,翁則需要為尺該數(shù)據(jù)庫電創(chuàng)建讀者逢信息表(烈Read芳ers)冊、圖書信漂息表(B剝ooks勸)、借閱襯信息表(霜Borr止owin膨f)、讀雷者類型表溫(typ黨e)。創(chuàng)建表進(jìn)的過程遇,就是匹將一種恐具體的心關(guān)系D柳BMS桂(例如逃SQL宴Se步rve撤r2秧000車)作為誤工具,除實(shí)現(xiàn)關(guān)誦系模型熊(邏輯改模型)菌到物理炕模型的苦轉(zhuǎn)換,就即關(guān)系隸模型的蹦物理實(shí)兼現(xiàn)。因金此,以猾下稱關(guān)灰系為表剩,稱元厘組為行撞(或記誓錄),御稱屬性義為列(妨或字段妨)。設(shè)計(jì)表乒時(shí)需要跨確定如擇下內(nèi)容意:1)表粥中需要是的列以群及每一慶列的類炸型(必厭要時(shí)還謹(jǐn)要有長鑰度)。2)列婦是否可客以為空范。3)是否商需要在列薦上使用約兔束、默認(rèn)冰值和規(guī)則封。4)需此要使用安什么樣岸的索引船。5)哪些朝列作為主儀鍵。表的設(shè)計(jì)駕要體現(xiàn)完運(yùn)整性約束猜的實(shí)現(xiàn)。報(bào)實(shí)體完整公性約束的置體現(xiàn)是主蓋鍵約束,附即主鍵的盟各列不能窯為空,且席主鍵作為雕行的惟一子標(biāo)識;外刷鍵約束是沿參照完整肺性約束的勾體現(xiàn);默河認(rèn)值和規(guī)鉛則等是用趨戶定義的孕完整性約夫束的體現(xiàn)舟。下面對梳SQL糖Se孝rve疲r2環(huán)000湯中實(shí)耕現(xiàn)用戶飯定義完拍整性的避方法予捕以介紹信:。檢查遠(yuǎn)(CH稈ECK豬)檢查約束潑使用邏輯謠表達(dá)式來輕限制列上昂可以接受抄的數(shù)據(jù)。鐵比如,可揮以指定B點(diǎn)ooks備表中的定襪價(jià)必須大多于零,這延樣當(dāng)插入掩表中的圖蝕書記錄的律定價(jià)為0烈或負(fù)數(shù)時(shí)恭,插入操販作不能成稅功執(zhí)行,授從而保證揉了表中數(shù)婦據(jù)的正確揭性。可以在一梁列上使用交多個(gè)檢查箏約束,在頌表上建立席的一個(gè)檢羞查約束也檢可以在多省個(gè)列上使弊用。默認(rèn)值(身DEFA色ULT)數(shù)據(jù)庫中終每一行中屢的每一列銷都應(yīng)該有威一個(gè)值,熱當(dāng)然這個(gè)體值也可以迅是空值。屑但有時(shí)向幼一個(gè)表中水添加數(shù)據(jù)戀(添加一儉行記錄)尖時(shí),某列滾的值不能遵確定,或冒該列的值鹿大量重復(fù)怕的取同一牌個(gè)值,這艇時(shí)可以將光該列定義瞎為允許接粗受空值或裹給該列定祝義一個(gè)默必認(rèn)值??罩?巧NUL總L)空值(N槽ULL)甲意味著數(shù)扁據(jù)的值不閃確定。比煉如,Bo鄭oks表遣中某一行其的“出版哄社”列為箱空值,并覽不表示該過書沒有出求版社,而蕉是表示目瓦前還不知鴨道它的出始版社。又如,表Bo甲o(hù)ks中母的書名列克設(shè)置為不森允許取空隨值,則輸買入數(shù)據(jù)時(shí)撥,必須給幣該列指定三非空值,匹否則輸入慨失敗。使用以劇上這些鏡約束實(shí)于施的完臣整性被取稱為聲藝明型數(shù)洞據(jù)完整袍性,它連們是作截為表和姓列定義借的一部安分在語客法中實(shí)說現(xiàn)的,揭可以在橡CRE蛙ATE緊TA價(jià)BLE忘語句或營ALT吊ER膨TAB夜LE語鉛句中定遠(yuǎn)義或修乞改。5.2.垃2創(chuàng)悟建表使用企業(yè)閘管理器創(chuàng)僚建表利用企抓業(yè)管理非器提供孟的圖形棉界面來豆創(chuàng)建表朋,步驟鵝如下:(1)追在樹形遼目錄中費(fèi)展開【借服務(wù)器顧組】→翅【服務(wù)售器】→辦【數(shù)據(jù)升庫】→耐【My沿Db】禾。(2)近選擇【炕表】,獄單擊鼠綱標(biāo)右鍵饞,在彈補(bǔ)出的快瀉捷菜單穴中選擇景【新建鎖表..許.】命瓶令,打襪開設(shè)計(jì)懼表對話慢框。(3)好如圖5-10所示,竿設(shè)計(jì)表保對話框螞的上半嫁部分有就一個(gè)表塘格,在踏這個(gè)表狡格中輸漆入列的讓列名、穴數(shù)據(jù)類粥型、長翼度(有弓的數(shù)據(jù)徹類型不竹需要指貸定長度特,如d植ate酒tim卵e類型戚的長度商為固定帥值8)繩、是否痰可以為喝空,在黎允許空京域中單鎮(zhèn)擊鼠標(biāo)圖左鍵,漲可以切叮換是否撐允許為終空值的柄狀態(tài),賭打勾說敏明允許俗為空值似,空白染說明不令允許為菜空值,你默認(rèn)狀慈態(tài)是允是許為空卷值的。(4)懼圖5餡-10擾所示的磚設(shè)計(jì)表絮對話框來的下半興部分是筍特定列崗的詳細(xì)徹屬性,捆包括是咳否是標(biāo)訪識列、梅是否使尸用默認(rèn)戲值等。(5)宇用圖5亞-10翁所示的燒方法逐牢個(gè)定義館好表中授的列。(6)設(shè)嘗置主鍵約季束:選中缸要作為主衣鍵的列,葬單擊工具盤條上的【貌設(shè)置主鍵板】按鈕,煙主鍵列的州前上方將拔顯示鑰匙迷標(biāo)記,如悲圖5-1暮1所示。(7)革鼠標(biāo)右倦鍵單擊坑表中的堡任意一脊行(即革任意一督個(gè)列的匪定義)喂,在彈到出的快哪捷菜單秩中選擇經(jīng)【屬性沙】命令鉤,可以竟打開如短圖5-汗12所笑示的表妻屬性對擾話框,鑼在該對鬼話框中伶選擇表媽選項(xiàng)卡畜,可以矛指定表久的屬性計(jì),比如雪表名、職所有者夢、表的燈標(biāo)識列仍等。圖術(shù)5-1皆2中將輕表的名拿稱設(shè)置梁為Re收ade糟rs,族所有卷者設(shè)置勁為db漫o。(8)汗在屬性繳對話框裙中選擇繞【關(guān)系牢】選項(xiàng)兵卡,可權(quán)以設(shè)置車列上的歐外鍵約象束。選醋擇【索槍引/鍵脅】選項(xiàng)于卡,可芬以設(shè)置己列上的頓索引,倒以及主啊鍵約束色和惟一擾性約束掏。選擇猾【ch應(yīng)eck叢約束】取選項(xiàng)卡灘,可以夕設(shè)置列甘上的檢銜查約束片。(9)定族義好所有拉列后,單憤擊圖5-凝11工具春欄上的羅按鈕,表技就創(chuàng)建完馳成了。圖5-代10幅創(chuàng)建表書對話框圖5-1傍1將編眠號設(shè)為主蹤蝶鍵圖5-處12娃指定表腿的屬性創(chuàng)建惟一兩性約束的迫步驟如下束:(1)挺在如圖驢5-1甚2所示扮的屬性谷對話框鳳的【索反引/鍵拿】選項(xiàng)原卡中,廚單擊【貫新建】鏟按鈕。(2)在圾列名列表喝中選擇要庫定義惟一縮慧性約束。(3)選圾中【創(chuàng)建秋UNIQ挪UE】復(fù)察選框,表音示創(chuàng)建惟犧一性約束飄。(4)在艱索引名框切中輸入約飯束名,或諸接受默認(rèn)逢的名字。創(chuàng)建外鍵擴(kuò)約束的步趣驟如下:(1)壇在圖5渣-12黎所示的閃屬性對講話框的池【關(guān)系骨】選項(xiàng)纏卡中,儀單擊【拋新建】棋按鈕。(2)析在【外月鍵表】靜下拉列鎖表框中犧選擇要近定義外揚(yáng)健約束鄙的表,損并在其以下的列搶表中選但擇表中扯要定義喇外鍵約洋束的列走。(3)在紗【主鍵表默】下拉列戚表框中選御擇外鍵引山用的表,混并在其下殿的列表中腔選擇表中嶄外鍵引用顛的列。(4)妄在【關(guān)萄系名】儲(chǔ)框中輸避入約束配的名稱眼,或接錯(cuò)受默認(rèn)挽的名稱效。(5)售選擇【瓜級聯(lián)更航新相關(guān)死的字段聚】復(fù)選呀框指定謠使用級早聯(lián)修改神。(6)選身擇【級聯(lián)位刪除相關(guān)劣的記錄】賢復(fù)選框指后定使用級墨聯(lián)刪除。創(chuàng)建檢查享約束的步遵驟如下:(1)妨在如圖蛙5-1塔2所示憂的屬性聾對話框襲的【c隔hec茂k約束還】選項(xiàng)睬卡中,酒單擊【汁新建】秒按鈕。(2)密在【約餅束表達(dá)猜式】框雀中輸入搖檢查表營達(dá)式。(3)侍在【約受束名】重框中輸叫入約束推的名稱聚,或接肺受默認(rèn)熔的名稱杯。使用Tr鈴ansa本ct-S搭QL命令嚴(yán)創(chuàng)建表在Tr碧ans壞act諒-SQ羨L中,篩使用C揀REA歌TE呼TAB紅LE命楊令創(chuàng)建隙表。語丑法格式父如下:CRE冤ATE康TA繡BLE[dat例abas上e_na仙me.[汪owne斷r].情|own呆er.]儲(chǔ)Tab祖le_n潑ame({披<c徹olu些mn_掘def豪ini虧tio蒼n>淡-秘-列定散義|col跳umn_旨name禽AS腿comp究uted爸_col當(dāng)umn_難expr爭essi扛on--計(jì)懇算列定蠅義|<t逆abl地e_c憶ont嗽rai偏nt>}[,葡…n])[ON投{f宵ile丹gro密up|嫌DEF奸AUL氏T}][TE握XTI僻MAG生E_O爆N{格fil射egr傭oup囑|DE形FAU劍LT}音]【例5蔽-9】創(chuàng)建圖憶書信息辣表Bo亂oks都。CREA惜TET謠ABLE刑boo專ks(編號形char必(15)害PRI伐MARY太KEY鏡NOT常NUL釋LCON帆TRA勾INT垂PK財(cái)_Bo性oks敢PR弟IMA今RY塞KEY幻玉,書名累va飲rch喚ar(賊42)痰NU尊LL廣,作者拆varc糖har(寺8)N繩ULL緣瑞,出版社化varc乏har(個(gè)28)N挺ULL層,定價(jià)炭real達(dá)NUL寒LCO弱NTRA斯INT欠CK_B象ooks偉CHE割CK(定窯價(jià)>0))【例5賭-10就】創(chuàng)建圖書此借閱信息鞭表Bor坦rowi填nf。CRE醫(yī)ATE紡TA供BLE餅bo意rro窯win棄f(爛讀者編號晉cha娘r(8)聾NOT笨NUL循LREFE瘋RENC謹(jǐn)ERe般ader樂s(編號耗)ON埋DEL壩ETE愉CASC尿ADE益,圖書編脈號ch筆ar乏(15沉)N胡OT摘NUL繳LFORE聚IGN妹KEY碰(圖書編強(qiáng)號)REFE然RENC夫ESB例ooks示(編號)眠ON悲DELE凡TE尋NOA織CTIO酷N,借期她dat摔eti救me急NUL能LD趕EFA烏ULT蘇(g雀etd限ate徹())治,還期乏dat灘eti豎me甩NUL糕L)OND改ELET惰E子句有片兩個(gè)選項(xiàng)架。NOA善CTIO具N:被其爬他表外鍵呢引用的行蜜不能被刪屋除,這是巴SQL止Serv適er7學(xué).0以前芽版本的做北法。CAS廁CAD坐E:被蔬其他表分外鍵引蕩用的行折可以被芹刪除,踐而且其無他表中天通過外旁鍵引用挑了該行幫的行都妥將被刪轉(zhuǎn)除?!纠?-左11】創(chuàng)建讀者烈信息表r戶eade莫rs。CREA佩TET魄ABLE嘗rea雄ders(編號c慰har臟(1澡0)勸NO卷TN既ULL磚PR目IMA竹RY耽KEY蛇,姓名ch帆ar(軍8)杠NULL吩,讀者類型呈in臥tN坑ULL兩,限借閱數(shù)睜量i獵nt膨NULL男,借閱期艘限溝int重N耳ULL)5.2湊.3莊修改表可以使完用AL狂TER跌TA黎BLE扇語句聾或企業(yè)援管理器版進(jìn)行表技的修改壯。ALTE發(fā)RTA澇BLE命昏令格式ALT喊ER甲TAB膨LEtabl帝e_na杜me{[境AL盞TER道CO鑄LUM遮Ncolu鋪mn_n淹ame{new_叛data欺_typ皇e[(prec魔isio關(guān)n[,sca惰le])]妖[NU察LL|附NOT產(chǎn)NU伸LL]|{AD悲D|DR該OP}R股OWGU震IDCO播L}]漏|A侮DD接{[<禽colu洋mn_d襯efin擇itio鳥n>]|col午umn山_na赤meAScom庸put治ed_索col摘umn介_ex芒pre絞ssi往on}[,.飛..n]|[皺WITH覆CHE錯(cuò)CK|浩WIT療HNO胃CHEC嬌K]|A編DD閘{召<ta咳ble首_co濁nst籮rai旁nt>株}[,抬...n]|DR攜OP

{李[CO蛾NSTR凈AINT共]cons朽trai穗nt_n龍ame|C渠OLU晃MNcol喇umn}[耍,...n]|{剩CH枯ECK幅|紛NOC行HEC較K}宜CO領(lǐng)NST達(dá)RAI析NT{ALL做|cons章trai餐nt_n此ame[,.彈..n]}}修改列拖屬性表中的興每一列幼都有列糞名、數(shù)眨據(jù)類型悼、數(shù)據(jù)疼長度以增及是否誕允許為剖空值等滴屬性,蔬這些屬貝性可以塞在表創(chuàng)均建后修院改。修改列銳屬性使慘用子句完ALT清ER腿COL析UMN浴。比如賢,以下求的語句侮將ro坊oks認(rèn)表的出逆版社列立改為最括大長度濱為30罪的va雜rch剛ar型稅數(shù)據(jù),虹且不允盞許空值榮。ALTE嚇RTA高BLE方Book穿sAL范TER州COLU游MN出版社顛va炸rch挺ar(描30)瓜NO半TN剝ULL默認(rèn)狀涂態(tài)下,曬列是被全設(shè)置為腥允許空橫值的,震將一個(gè)宵原來允養(yǎng)許空退值的列扇改為不養(yǎng)允許空珠值,必耕須滿足格以下兩盞個(gè)條件旺:·表中帖記錄在該陡列上均不豬為空值。·該言列上沒讀有創(chuàng)建騾索引。添加和刪拳除列向表中增妥加—列時(shí)采,應(yīng)使新值增加的列趙有默認(rèn)值續(xù)或允許為嶄空值,如釘果既沒有剖提供默認(rèn)站值也不允紛許為空值廚,那么新垂增列的操灑作將出錯(cuò)隆。向表中瓣添加列利需要使鐮用AL欲TER悄TA聲BLE羊的AD達(dá)D子句爆。例如,向表b吉ooks反中添加出根版日期列綢,Dat比aTim槳e型,允樓許空值,堵可以使用劫如下語句名:ALTE爭RTA飯BLE蓋book坦sAD鋤D出版姐日期d茶atet六ime周NULL又如,向re呢ade現(xiàn)rs表黨中添加暴電子郵辰件地址雹列,且資要求輸要入的電翅子郵件演地址必辟須包含制:‘@籌’符號炭,可以馬使用以她下語句稿:ALT葡ER餐TAB懂LE拉rea傾der比sA魯DD圣郵件地磁址v撥arc漂har聾(50泛)至NUL逗LCONS滴TRAI厘NTC分K_EA僑CHE文CK(郵臉件地址l節(jié)ike,毀'%@%與')刪除—左列需要耍使用A異LTE胸RT訴ABL枕E的子鎖句。比如,刪除re產(chǎn)ader登s表的郵袖件地址列,寇可以使用蹈以下語句夏:ALTE陣RTA趨BLE化read恨ers豪DROP妨COL賠UMN郵魯件地址修改約規(guī)束如果創(chuàng)建化表bor旱rowi麻nf時(shí)沒惑有定義主駝鍵約束(拍該表的主多鍵由讀者網(wǎng)編號、圖引書編號、更借期3個(gè)棗屬性列組嶄成),則揮可以用以問下語句定斑義主鍵:ALTE疲RTA汽BLE沖Read你ers效ADD磁CONS擠TRAI殘NTP拳K_BH表中已有勿的數(shù)據(jù)在峰這幾列上五需要滿足鹿以下兩個(gè)聰條件:·不能有政重復(fù)的數(shù)宣據(jù)。·不能繞有空值敵。刪除主鍵控約束PK村_BH,找可以使用中以下語句新:ALTE部RTA否BLE辱Read巧ers站DROP拘CON交STRA套INT泛PK_B鍵HPRIM蠶ARY員KEY(句讀者編號劣,圖書編播號,借期漿)修改約倡束時(shí)幾深個(gè)子句丸的說明沈:(1)攪WITH戶NOC巖HECK綁子句添加的迅約束只拿對在以荷后改變絨或插入著的行發(fā)易生作用攝,而不很檢查已機(jī)存在的鉛行。比如,要對b恩ook占s表的俊定價(jià)列深添加約剛束,使驢定價(jià)大爹于O,招可以使寸用如下陽代碼:ALT丟ER正TAB中LE糧Boo上ks貼WIT喬HN茶OCH揉ECKADD臣CO青NST內(nèi)RAI用NT濕CK_掙Boo箏ks概(定價(jià)霞>0)(2)汗NO壯CHE浮CK鈔CON材STR啦AIN械T子句亡和CH淹ECK佳CO哲NST雁RAI塔NT子菌句可以在置ALT形ER疊TAB悄LE語裂句中使若用NO皺C(jī)HE應(yīng)CK堤CON則STR丙AIN弱T子句鉛,使表肌的指定賊列上的桿檢查約傲束無效桐,此時(shí)敘就可以版添加一照些不滿春足原來隙約束要都求的數(shù)襯據(jù)了。塘使用C抖HEC狂KC池ONS否TRA志INT塌子句可象以使檢祥查約束事重新有剩效。這縣兩個(gè)子年句后面蝴都要用恨約束名芳作為參婚數(shù)。例,為re舟ade謊rs表斬添加了丹郵件地員址列,旨并定義累了檢查瘋約束使趣郵件地湖址必須慎包含“鑒@”符場號。郵普件地址本列的定坊義如下昌:ALT秋ER伏TAB配LE販rea促der已sA自DD郵隊(duì)件地址牙var漿cha糕r(巧50)繭NU佩LLCONS超TRAI剃NTC嫂K_EA矮CHE桐CK(自郵件地址未like第'%@掩%')使用以普下語句噴使這一勝約束無膝效:ALT流ER承TAB喊LE閱Rea辣der卻sN窯OCH靜ECK凡CO鳥NST初RAI蹄NT利CK_及EA為了使阿約束重紐奉新有效肆,可使裝用如下衣語句:ALT毯ER江TAB壞LE霸Rea拌der移sC羽HEC跳KC暈ONS動(dòng)TRA無INT鐵CK舞_EA5.2溜.4槍向表中握添加數(shù)批據(jù)創(chuàng)建表只瓜是建立了輛表結(jié)構(gòu),倡之后,應(yīng)摟該向表中恢添加數(shù)據(jù)建。只有S活yste輩mAd耀mini熄stra絕tor角動(dòng)色成員、押數(shù)據(jù)庫和沙數(shù)據(jù)庫對航象所有者項(xiàng)及其授權(quán)昂用戶才能瞧向表中添瘋加數(shù)據(jù)。萌在添加數(shù)涉據(jù)時(shí),對耍于不同的眼列數(shù)據(jù)類配型,插入育數(shù)據(jù)的格洋式不一樣同,因此,夏應(yīng)嚴(yán)格遵商守它們各姻自的要求撞。添加數(shù)蒼據(jù)按輸入錦順序保存漏,條數(shù)不菌限,只受賞存儲(chǔ)空間潤的限制。使用企業(yè)絕管理器添籌加數(shù)據(jù)啟動(dòng)企昨業(yè)管理雪器后,具展開【誕數(shù)據(jù)庫堵】文件刻夾,再楊展開要份添加數(shù)席據(jù)的數(shù)縫據(jù)庫(號如My胡Db)見,可以病看到所帖有的數(shù)削據(jù)庫對證象,單詢擊【表淺】,用峰鼠標(biāo)右潔擊右邊展列表中港要操作量的表(押例如r竭ead換ers魔),運(yùn)揪行彈出泊快捷菜松單中的戶【打開象表】命喜令,在屋彈出的雹子菜單李中單擊宋【返回間所有行崖】命令洲,打開另該表的掙數(shù)據(jù)窗賭口。如培圖5-會(huì)13所訊示。在數(shù)據(jù)燈窗口中隸,用戶唯可以添宮加多行司新數(shù)據(jù)俱,同時(shí)緣瑞還可以醒修改表構(gòu)中數(shù)據(jù)殊。使用脹該窗口鞋的快捷拴菜單,百可以實(shí)臟現(xiàn)表中猜數(shù)據(jù)各夢行記錄安間跳轉(zhuǎn)義、剪貼術(shù)、復(fù)制叛和粘貼蓬等。圖5-含13零表Re悅ade繪rs的析數(shù)據(jù)窗順口使用T忘ran輪sac駝t-S沾QL命腫令添加企數(shù)據(jù)在Tra酸nsac滋t-SQ問L中,使廚用INS棉ERT命錄令添加數(shù)司據(jù),它主朋要有以下序幾種形式攜:·IN個(gè)SER往T…縮慧VAL定UES蟻:使用鄉(xiāng)豐VAL每UES雪子句為暮所添加賤的數(shù)據(jù)購行提供字列值?!NS蝕ERT…圣SELE默CT:將票SELE詞CT語句文的查詢結(jié)潑果添加到餡到表中?!NS紫ERT…珠DEFA峽ULT哭VALU績ES:將債每列的默形認(rèn)值賦予裳新添加的噴數(shù)據(jù)行。INSE云RT命令顧的主要語咽句格式如嘩下:INSE晴RT[美INTO瘋]

{tab弄le_易nam料e|view暑_nam檔e}什{升[(colu燒mn_l貼ist)]地{悄VA踐LUE翻S(堪{D址EFA艙ULT他|民NUL扯L|exp癥res連sio毅n}[,棗...n])鬧|sele撿ct_s肢tate揚(yáng)ment|DE堅(jiān)FAUL悠TVA富LUES紹}添加數(shù)據(jù)測到一行中嘩的所有列INS偶ERT段re屠ade儉rs恥VAL布UES子(‘2那004累060俊001貓’,‘絨王曉奇隊(duì)’,3泊,2)為表r殿ead縮慧ers剩添加一哀行數(shù)據(jù)喪。IN揪SER費(fèi)T語句拒中無須麗羅列表渣中的列棚名,但壤VAL全UES硬提供的激數(shù)據(jù)與擦Rea叢der品s表的蟲各列在絞數(shù)量、男順序及段數(shù)據(jù)類口型各方而面要一其一對應(yīng)伯。添加數(shù)據(jù)賠到一行中受的部分列INSE停RTR莊eade鳳rs(編紛號,姓名晚,讀者類搭型)VALU令ES(‘執(zhí)2004辭0600喚03’,輕‘李亞茜息’,3)在此情況場下,IN留SERT蚊語句中必菠須羅列表懸中的列名白,并且在騰添加數(shù)據(jù)鐘前應(yīng)該確酒認(rèn)沒有被意添加的列銅上應(yīng)設(shè)有聚默認(rèn)值或詞NULL分,否則這索條INS醋ERT語土句出錯(cuò)。階語句中的極列名的順逆序只要與怪VALU幼ES提供唱的數(shù)據(jù)一姓一對應(yīng)即鵲可使用IN患SERT彎…SEL腥ECT語返句添加數(shù)強(qiáng)據(jù)使用I登NSE愿RT子雁句可以曾將從一奶個(gè)或多俯個(gè)表或沾視圖查獵詢出的棟數(shù)據(jù)添陳加到表夠中,它淹可以添查加多行始數(shù)據(jù),效而VA陡LUE懸S子句搜只能添舟加一行獸數(shù)據(jù),飽但它們素都可以哀給數(shù)據(jù)夸行的全捕部列或耗部分列債添加數(shù)姨據(jù)。需要注意殖的是被插沖入數(shù)據(jù)的零表與SE僑LECT蒸子句的結(jié)暴果集必須孫兼容,即距列數(shù)、列世序、數(shù)據(jù)律類型都應(yīng)掉兼容。使用I越NSE利RT…翅DEF課AUL扛TV材ALU厭ES語少句添加坦數(shù)據(jù)使用I數(shù)NSE榜RT…例DEF亭AUL蹦TV差A(yù)LU辱ES子堅(jiān)句能夠終向表中距添加一欲行數(shù)據(jù)食,語句漏為:INS喜ERT戲IN藍(lán)TO透tab仆le_晴nam店eD爽EFA鹿ULT膊VA誰LUE返S添加的數(shù)綠據(jù)行各列例均為默認(rèn)千值,未設(shè)催默認(rèn)值的鏈列,列值螞為NUL園L。5.2.愿5修改烘和刪除表香中的數(shù)據(jù)修改表中啞的數(shù)據(jù)修改表體中的數(shù)詳據(jù),最譯方便的箏方法是債使用企輸業(yè)管理絞器。類辮似于添燙加數(shù)據(jù)憐,打開捉表的數(shù)尾據(jù)窗口津,如圖石5-1革3所示嚴(yán),就可惑以修改鈔表中的臺所有數(shù)嗓據(jù)了??娴恍┮\少量、司分散的魄數(shù)據(jù)修材改用企河業(yè)管理卵器較合制適,成密批數(shù)據(jù)媽的修改明用UP屢DAT紫E語句取更好。語句格灶式如下下:UPDA輝TE

{tabl凳e_na牲me|vie磨w_n替ame}SET寬{col畫umn怨_na狹me={expr帥essi府on|DE垮FAUL捧T|笑NULL[,.漠..n]}[WHE職RE

<聯(lián)sea圍rch_攪cond襯itio佳n>]殿}修改所闊有數(shù)據(jù)糞行的值【例5若-12罪】利用UP充DATE耳修改借閱帆情況表b殘orro絡(luò)winf尋的應(yīng)還日漫期為自借渴期開始后愁的30天寸之內(nèi),語非句為:UPD權(quán)ATE秤bo政oro拳win辟fS文ET捧應(yīng)還日圖期=借俯期+3鳥0修改部桐分?jǐn)?shù)據(jù)蟲行的值【例5-謊13】將讀者類聽型表ty姑pe中的殘所有學(xué)生舅讀者的限棉借閱數(shù)量士增加5、憂借閱期限足增加30堆天,所有鍵教師讀者景的限借閱旗數(shù)量增加限10、借殃閱期限增驗(yàn)加60天臨,可用以染下兩個(gè)語僑句實(shí)現(xiàn):UPDA殺TEt涌ype罷SET憂限借閱數(shù)畝量=限借飯閱數(shù)量+木5,借閱期威限=借拒閱期限御+30WHE催RE圾類型名斧稱=‘羅學(xué)生’UPD池ATE某ty娘peSET剪限借暴閱數(shù)量灣=限借輔閱數(shù)量尤+10顛,借至閱期限戒=借閱谷期限+裕60WHE搬RE欄類型名奧稱=‘均教師’刪除表樓中的數(shù)惡據(jù)刪除表盲中的數(shù)寺?lián)橇竸h除予表中某板些數(shù)據(jù)桂行。用鉆Tra專nsa姑ct-計(jì)SQL寧中的D紅ELE瞞TE命矛令來實(shí)堵現(xiàn)刪除肥操作,氏命令的滾主要語夏句格式編如下:DELE牲TE[重FROM仗]{t撓able啞_nam火e|vi陡ew_n睬ame}[WH膝ERE鞋<s義ear藍(lán)ch_希con驗(yàn)dit逗ion盟>]【例5-卻14】刪除bo種rrow續(xù)inf表劫中的讀者集編號為:炕2002猛0603購28的讀煉者的借書劃記錄。DEL用ETE盒bo華rro常win濁fWHE然RE有讀者編樓號=‘常200甜206蠢032演8’【例5著-15經(jīng)】刪除r消ead筋ers喬表中的集所有記塞錄。DELE弊TEr酸eade德rs5.2.紫6刪除欄表刪除一枕個(gè)表時(shí)脂,它的輝結(jié)構(gòu)定復(fù)義、數(shù)萬據(jù)、約桿束、索戒引都將滅被永久減地刪除緣瑞。如果一個(gè)煮表被其它沉表通過F桐OREI臨GNK貿(mào)EY約束磁引用,那議么必須先掘刪除定義扶FORE阿IGN斗KEY約付束的表,鎖或刪除其靈FORE故IGN棉KEY約雨束。當(dāng)沒候有其他表滔引用它時(shí)透,這個(gè)表籍才能被刪翼除,否則養(yǎng),刪除操還作就會(huì)失釣敗。刪除一個(gè)摟表可以使詞用企業(yè)管辦理器或T杠rans吊act-轉(zhuǎn)SQL語開句。使用企系業(yè)管理旗器使用企副業(yè)管理爬器刪除僻一個(gè)表泉非常簡蓄單,只焰需展開憶【服務(wù)推器組】健→【服細(xì)務(wù)器】少→【數(shù)設(shè)據(jù)庫】甜→【表煮】,在供右邊的匙窗口中搞用鼠標(biāo)童右擊要熄刪除的雹表,在途彈出的塔快捷菜摩單中選嘗擇【刪廳除】選助項(xiàng),如腹果確定滋要?jiǎng)h除包該表,家則在彈爆出的“耗除去對閘象”對頑話框中雖單擊【晃全部除誘去】按糞鈕,便訪完成對鼻表的刪慣除。使用T冶ran風(fēng)sac北t-S煉QL語竭句使用DR嫌OPT投ABLE灰語句可以姐刪除表,定其語法為吉:DROP偉TAB答LEt哲able側(cè)_nam血e需要注標(biāo)意的是修D(zhuǎn)RO手PT屆ABL華E語句床不能用秩來刪除茂系統(tǒng)表蔽?!纠?鐘-17赴】刪除讀者疼類型表t派ype。DROP鎮(zhèn)TAB箱LEt鉗ype5.2.凡7視圖滋的創(chuàng)建、蝦修改和刪直除基本知鈴識視圖常用宅于集中、大簡化和定泉制顯示數(shù)跑據(jù)庫中的忍信息。視菊圖象是一干個(gè)過濾器研,對于一到個(gè)或多個(gè)螺基表中的諸數(shù)據(jù)進(jìn)行裂篩選、引歡用。每個(gè)數(shù)據(jù)循庫中的s焰ysob籃ject濁s系統(tǒng)表果都保存了到視圖的有牛關(guān)信息。萌這個(gè)系統(tǒng)尼表的xt純ype列臥描述數(shù)據(jù)府庫對象的慕類型,如進(jìn)字符V表黨示視圖、踢S表示系顯統(tǒng)表、U起表示用戶集表;na佛me和i狂d列分別甲為對象名兇和對象標(biāo)充識符,這璃些標(biāo)識符礙在整個(gè)數(shù)量據(jù)庫中是炒惟一的。煮另一個(gè)保講存視圖信泥息的系統(tǒng)矛表是sy勇scom語ment切s,表中旬text禮列包含了鋪視圖的定高義。另外粱,兩個(gè)與栽視圖有關(guān)簡的系統(tǒng)存綢儲(chǔ)過程s胖p_he失lpte貼xt能夠銳顯示某個(gè)當(dāng)視圖的定稈義,sp防_re譯name媽能夠在必軋要時(shí)更改毛視圖的名據(jù)(或任何費(fèi)其它的數(shù)慣據(jù)庫對象膊名)。一般對仿于視圖及的查詢傻不受任慈何限制濾,但要笑通過視說圖來修鎖改基表皇的數(shù)據(jù)填則有一魯些限制相。創(chuàng)建視既圖在SQ瞇LS逃erv級er中服創(chuàng)建視赤圖主要宴有以下證3種方予法:使胳用向?qū)?、使用巖企業(yè)管皂理器、久使用T生ran完sac素t-S嗎QL命撤令。使用向?qū)д垊?chuàng)建視圖(1)宇啟動(dòng)企業(yè)盆管理器,糟展開要禾操作的數(shù)堡據(jù)庫服務(wù)慰器。在企藝業(yè)管理器瞞的【工具稀】菜單中秧選擇【向?qū)賹?dǎo)】項(xiàng)??棿蜷_【選飲擇向?qū)А康K對話框,穗展開【數(shù)釀?chuàng)臁课鸟樇A,單盼擊【創(chuàng)建伴視圖向?qū)Ц唷宽?xiàng),如匪圖5-1泄4所示。嶺單擊【確它定】按鈕斷,打開創(chuàng)沙建視圖的燭歡迎對話糠框,這個(gè)匹對話框向卻用戶介紹漏了利用創(chuàng)魄建向?qū)?chuàng)殿建視圖的狠主要步驟攏。(2)刃單擊神【下一對步】按盟鈕,打帆開數(shù)據(jù)眾庫選擇冒對話框須(視圖極必須創(chuàng)疏建在一但個(gè)數(shù)據(jù)席庫中)煌,在數(shù)幕據(jù)庫下重拉列表溪中選擇霜所需要迎的數(shù)據(jù)膊庫,如闖MyD樓b。(3)臨單擊【下復(fù)一步】按莊鈕,打開段數(shù)據(jù)表選缸擇對話框診,此對話該框中可以香選擇一個(gè)舌或多個(gè)創(chuàng)勸建視圖時(shí)曾被引用的姑數(shù)據(jù)表,熊單擊數(shù)據(jù)踩表右側(cè)的蛙復(fù)選框,服選中所需雄的數(shù)據(jù)表貞如Bor蹄rowi堡nf。(4)饑單擊【下厲一步】按隆鈕,打開育選擇列對劇話框顯示月上一步選口擇的所有端表中的列善名、列的導(dǎo)數(shù)據(jù)類型巴和選擇狀測態(tài)(選擇柴列),單否擊選擇狀賠態(tài)欄的復(fù)蝦選框中選個(gè)擇視圖中炮需要顯示序的列,如飽圖5-1攀5所示。(5)汪單擊衫【下一競步】按己鈕,打課開限制則條件輸輛入對話似框,在寫這個(gè)對英話框的聚文本框廚中輸入鈔Tr絨ans堆a(bǔ)ct伸-SQ邪L命令礦(即W托HER按E子句南的內(nèi)容艘)用于亡限制視蹲圖的輸何出結(jié)果忽,這里衛(wèi)不輸入俗內(nèi)容,兩如圖5務(wù)-16港所示。摧如果不礎(chǔ)輸入任拋何內(nèi)容笛,則視忽圖將所迎有選中壇表中選愿中列的衫所有數(shù)翼據(jù)行全趕部顯示拿。(6)循單擊【下荷一步】按滿鈕,打開千視圖名輸杜入對話框辭,在輸入稿文本框中盆輸入創(chuàng)建湯的視圖名尖,如bo曉rrow狡inf_鵲view臂。(7)瀉單擊【下純一步】按仍鈕,打開孩對話框如局圖5-1開7所示,村在這個(gè)對獅話框中系孤統(tǒng)根據(jù)上民面幾步用酒戶定義視五圖時(shí)的所慢有選擇,真形成定義慶視圖的T則rans如act-流SQL語坑句,用戶老可以直接姐在這個(gè)對諷話框中修綠改視圖定構(gòu)義,最后段單擊【完掛成】按鈕疾,視圖在蓋所選的數(shù)周據(jù)庫中創(chuàng)屑建完成。圖5-怒14鑼選擇創(chuàng)樓建視圖航圖逗5-1載5選徒擇列對虧話框圖5-1叛6限制條喪件輸入敗對話框圖5-17完成定薯義視圖似對話框使用企中業(yè)管理撐器創(chuàng)建逼視圖創(chuàng)殺建視圖(1)開啟動(dòng)語企業(yè)管曲理器,經(jīng)展開要德使用的曲數(shù)據(jù)庫描(如M忠yDB酸)。(2)映鼠標(biāo)造右擊該使數(shù)據(jù)庫拔中的【撲視圖】爸圖標(biāo),水在彈出替的菜單縱中選擇剖【新建變視圖】莖命令,秒打開的韻窗口如唇圖5-截18所許示,右時(shí)鍵單擊亮圖標(biāo)窗通格打開犬【添加周表】對乓話框,鳥如圖5勇-19船所示。(3)壩基表孝或視圖脈選擇完悟成之后薯,表b撇ook筆s的結(jié)凳構(gòu)出現(xiàn)潑在視圖辜創(chuàng)建/峰修改窗腫口的數(shù)公據(jù)表顯醋示區(qū)。滋在表中戰(zhàn)選擇需朱要在視受圖中顯拜示的列不,此時(shí)撇在窗口合下邊的傅視圖定卡義列顯前示表格跑中和懂SQL其語句區(qū)疾中也會(huì)湖相應(yīng)地蹲出現(xiàn)所鞭選擇的筍列和S急QL語在句,如綁需加入團(tuán)限制條森件、函嗓數(shù)或計(jì)忽算列,茅可以手表動(dòng)在S晴QL語辰句區(qū)輸?shù)溔?,如某圖5-喪20所拆示。(4)熊單擊工具愈欄鞋按鈕運(yùn)行多所定義的餅視圖,在典視圖執(zhí)行凳結(jié)果顯示頃區(qū)顯示出繞這個(gè)視圖鴿的查詢結(jié)防果。如圖諒5-20淋下部分所弱示。用戶可以箭發(fā)現(xiàn)當(dāng)定蝕義了WH培ERE子矛句時(shí),視靈圖執(zhí)行之葡后,在基計(jì)表相應(yīng)列鄰的右邊會(huì)朽出現(xiàn)一個(gè)違圖標(biāo),并迫且在視圖剃定義列的煎表格中出屆現(xiàn)相應(yīng)的院列名與準(zhǔn)島則,即視研圖的查詢浮條件。圖5-擦18儉新打開材的創(chuàng)建通視圖對備話框圖5-籠19狹添加表桃對話框圖5-2錯(cuò)0創(chuàng)建頓視圖對話并框使用Tr尾ansa昏ct-S亡QL命令盜創(chuàng)建視圖在T-S愉QL中,雁使用CR桑EATE宮VIE泉W命令創(chuàng)簽建視圖,箱格式為:CRE構(gòu)ATE漠VI氏EW據(jù)vie飽w_n化ame員[(干col掠umn勝[,…傘n])[WI弓TH航ENC瞧RYP躬TIO帆N]AS緩Sel警ect萍_st木ate露men棕t[WI它TH捷CHE中CK霜OPT辦ION音]命令中的委參數(shù)含義謀如下:WITH冊ENC尋RYPT圍ION:烤給系統(tǒng)表好sysc貓omme育nts中京視圖定義徑的SEL槳ECT命替令加密。AS:掘說明視用圖要完獄成的操輪作。Sel番ect毀_st新ate扣men鍬t:定煙義視圖業(yè)的SE愈LEC酬T命令錄。需要特鋪別注意,CRE朝ATE勿VIEW刊必須是批哭中的惟一泊語句。而密且視圖中遇的SEL蘆ECT命們令不能包適括INT少O、OR切DER謎BY等子茄句。另外攔,臨時(shí)表攝也不能在盜查詢中引恭用。WIT障HC認(rèn)HEC瓦KO鍬PTI挎ON:軋強(qiáng)制所榆有通過顯視圖修堂改的數(shù)收據(jù)滿足獵sel素ect博_St蠢ate磚men藍(lán)t語句芳中指定跑的選擇色條件。【例5揚(yáng)-15惱】利用表岔boo代ks定容義視圖騰v1_龍boo柔ks,你查詢b尖ook層s表中疤的作者艷,書名果的情況丘。CRE皇ATE最VI窗EW魚v1-睜--_找boo從ksASSELE是CT作卻者,書名FROM則Boo貪ks可利用s趨p_he驅(qū)lpte顏xt來查仁看視圖的鴨定義。例胖如命令:sp_典hel惰pte含xt廈v1-宅--_協(xié)boo滅ks的執(zhí)行北結(jié)果是只視圖v激1_b略ook冒s的定婚義,見睛圖5-半21。圖5-2渡1查看艘視圖【例5-查16】帶條件的搖視圖定義結(jié)。定義視青圖v_o參verd體ue,查薪詢所有借榨閱超期的喘讀者的讀佛者編號、圍姓名、書點(diǎn)名和應(yīng)還唇日期。該視圖的佛定義涉及山到了bo武rrow在inf表搭、boo希ks表和從read算ers表讀。CREA變TEV唉IEW太v_ov愧erdu社eASSELE納CT讀妥者編號,誰姓名,書云名,應(yīng)還盜日期FRO旋Mb仿orr連owi弄nf腦b,re獨(dú)ade威rs乎r,b腿ook趴sWHER便Eb犬.讀者編蕩號=r.效編號a挽ndb陜.圖書編按號=bo津oks.芝編號and置b.應(yīng)還兔日期<g石etda泥te()視圖定咬義后,乞可以向榮基本表抹一樣查丹詢。例如,若要查侄詢視圖v拿_ove隱rdue污,可以使賢用如下命見令:SEL漸ECT圾*告F也ROM不v煩_ov握erd曠ue【例5-無17】定義視素圖v_歉ove昌rdu曉e1,民查詢借沸書超期必的讀者酒姓名等終情況,擁要求絞加密視袍圖定義爹。該視圖膊定義涉槽及到了天bor泉row繁inf斬表及r宿ead辜ers桂表。CRE欠ATE愁VI懇EW原v_隙ove耗rdu己e1景WIT鹿HE娘NCR賞YPT謹(jǐn)IONASSEL篩ECT餡讀者梯編號,月r.姓嚼名,圖饑書編號品,應(yīng)還叨日期FRO竊Mb騎orr法owi軌nf籍bi滔nne咬rj鋼oin廉re卷ade誼rs外rOnb匹.讀者編巾號=r.檔編號WHER恥E應(yīng)還哭日期<g池etda組te()在安裝指系統(tǒng)和半創(chuàng)建數(shù)亭據(jù)庫之盒后,只筐有系統(tǒng)億管理員限sa和濤數(shù)據(jù)庫傅所有者集DBO帥具有創(chuàng)例建視圖案的特權(quán)餃,此后間他們可冠以使用飯GRA蓄NT渡CRE獲ATE司VI返EW命某令將這奏個(gè)特權(quán)淺授予其副他用戶夢。此外狹,視圖韻創(chuàng)建者刷必須具愈有在視爐圖查詢演中包括協(xié)的每一內(nèi)列的訪訊問權(quán)。使用企親業(yè)管理煩器修改午視圖視圖建蝕立之后惱,由于擱某種原淺因(如喚基表中釀的列發(fā)錄生了改恨變或需凳要在視棚圖中增榆/刪若融干列等行),需洲要對視果圖進(jìn)行輸修改。利用企業(yè)賓管理器修翁改視圖的校步驟如下野:(1)展堤開服務(wù)器淹,展開數(shù)驕據(jù)庫。(2)風(fēng)單擊【捐視圖】爐圖標(biāo),占在窗口桐右邊顯牛示出當(dāng)鈔前數(shù)據(jù)健庫中的制所有視于圖。(3)右許鍵單擊要?jiǎng)有薷牡囊曇鄨D名,在肝彈出的快轟捷菜單中境選擇【設(shè)僵計(jì)視圖】豎命令,便剃可進(jìn)入視姓圖設(shè)計(jì)窗這口,用戶吊可以在這時(shí)個(gè)窗口中悟?qū)σ晥D進(jìn)媽行修改。這種方屢法不能牧修改加指密過的匆視圖定海義,即令使是管拆理員或拋數(shù)據(jù)庫源的所有攜者也不奪可以。還有一種嘉利用視圖沒屬性對話上框修改視津圖的方法呼,用鼠標(biāo)盤雙擊要修批改的視圖樸名,彈出決視圖屬性攔對話框,哥在這個(gè)對筆話框中顯圣示出定義剖視圖的T醉rans痛act-肥SQL命念令,用戶里可以直接頁在這個(gè)對防話框中修失改。但這款種方法同研樣只適用菊于未被加朗密的視圖送。使用T袍ran孔sac控t-S晶QL命硬令修改蛛視圖在Tr曲ans殲act呢-SQ蠟L中,盲使用A抖LTE睜RV蓮IEW戀命令修亡改視圖施語法格禽式為ALT羽ER剛VIE憶Wv士iew犁_na清me家[(c殃olu斥mn[運(yùn),…n全])]

溫馨提示

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

最新文檔

評論

0/150

提交評論