




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章
SQLServer2005關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)本章要點(diǎn):SQLServer2005簡(jiǎn)介SQLServer2005的安裝SQLServerManagementStudioSQLServer2005數(shù)據(jù)庫(kù)表的操作數(shù)據(jù)庫(kù)的導(dǎo)入/導(dǎo)出7.1SQLServer2005簡(jiǎn)介SQLServer是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。最初由Microsoft、Sybase和Ashton-Tate三家公司共同開(kāi)發(fā)的,于1988年推出了第一個(gè)OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開(kāi)發(fā)上分道揚(yáng)鑣,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開(kāi)發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)用。通常把MicrosoftSQLServer簡(jiǎn)稱為SQLServer。SQLServer2005是在SQLServe2000的基礎(chǔ)上開(kāi)發(fā)出來(lái)的。SQLServer2005擴(kuò)展了SQLServer2000的性能,如可靠性、可用性、可編程性和易用性。提供了一個(gè)集成的開(kāi)發(fā)環(huán)境,并包含了應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。SQLServer特性技術(shù)性能高可用性SQLServer2005的失敗轉(zhuǎn)移集群和數(shù)據(jù)庫(kù)鏡像技術(shù)確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應(yīng)用系統(tǒng)。管理工具SQLServer2005引進(jìn)了一套集成的管理工具和管理應(yīng)用編程接口(APIs),以提供易用性、可管理性、及對(duì)大型SQLServer配置的支持。安全性增強(qiáng)SQLServer2005旨在通過(guò)數(shù)據(jù)庫(kù)加密、更加安全的默認(rèn)設(shè)置、加強(qiáng)的密碼政策和細(xì)化許可控制、及加強(qiáng)的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級(jí)別的安全性??缮炜s性SQLServer2005可伸縮性的先進(jìn)性包括表格分區(qū)、復(fù)制能力的增強(qiáng)和64位支持。企業(yè)數(shù)據(jù)管理SQLServer特性技術(shù)性能CommonLanguageRuntime(CLR)集成SQLServer2005引入了使用Microsoft.NET語(yǔ)言來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)目標(biāo)的性能。深入的XML集成SQLServer2005提供一種新的XML數(shù)據(jù)類型,使在SQLServer數(shù)據(jù)庫(kù)中存儲(chǔ)XML片段或文件成為可能。Transact-SQL增強(qiáng)新的查詢類型和在交易過(guò)程中使用錯(cuò)誤處理的功能,為開(kāi)發(fā)人員在SQLServer查詢開(kāi)發(fā)方面提供了更高的靈活性和控制力。SQL服務(wù)代理SQL服務(wù)代理為各個(gè)級(jí)別的可伸縮性提供一種創(chuàng)新的、分發(fā)的、異步的應(yīng)用系統(tǒng)體系結(jié)構(gòu)。開(kāi)發(fā)人員生產(chǎn)力SQLServer特性技術(shù)性能分析服務(wù)分析服務(wù)對(duì)數(shù)據(jù)倉(cāng)庫(kù)、商務(wù)智能和line-of-business解決方案的可伸縮性、可管理性、可靠性、可用性和可規(guī)劃性提供擴(kuò)展。數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)對(duì)DTS結(jié)構(gòu)合工具的全部重新設(shè)計(jì)為開(kāi)發(fā)人員和數(shù)據(jù)庫(kù)管理員提供了增強(qiáng)的靈活性和可管理性。報(bào)表服務(wù)報(bào)表服務(wù)是一種新的報(bào)表服務(wù)器和工具箱,用于創(chuàng)建、管理和配置企業(yè)報(bào)告。數(shù)據(jù)挖掘數(shù)據(jù)挖掘的功能得以增強(qiáng),主要?dú)w功于四種新的運(yùn)算法則、改進(jìn)的數(shù)據(jù)模型和處理工具。商務(wù)智能SQLServer2005各個(gè)版本SQLServer2005EnterpriseEdition(32位和64位)
EnterpriseEdition達(dá)到了支持超大型企業(yè)進(jìn)行聯(lián)機(jī)事務(wù)處理(OLTP)、高度復(fù)雜的數(shù)據(jù)分析、數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)和網(wǎng)站所需的性能水平。EnterpriseEdition的全面商業(yè)智能和分析能力及其高可用性功能(如故障轉(zhuǎn)移群集),使它可以處理大多數(shù)關(guān)鍵業(yè)務(wù)的企業(yè)工作負(fù)荷。EnterpriseEdition是最全面的SQLServer版本,是超大型企業(yè)的理想選擇,能夠滿足最復(fù)雜的要求。SQLServer2005StandardEdition(32位和64位)
StandardEdition是適合中小型企業(yè)的數(shù)據(jù)管理和分析平臺(tái)。它包括電子商務(wù)、數(shù)據(jù)倉(cāng)庫(kù)和業(yè)務(wù)流解決方案所需的基本功能。StandardEdition的集成商業(yè)智能和高可用性功能可以為企業(yè)提供支持其運(yùn)營(yíng)所需的基本功能。SQLServer2005WorkgroupEdition(僅適用于32位)對(duì)于那些需要在大小和用戶數(shù)量上沒(méi)有限制的數(shù)據(jù)庫(kù)的小型企業(yè),WorkgroupEdition是理想的數(shù)據(jù)管理解決方案。WorkgroupEdition可以用作前端Web服務(wù)器,也可以用于部門或分支機(jī)構(gòu)的運(yùn)營(yíng)。它包括SQLServer產(chǎn)品系列的核心數(shù)據(jù)庫(kù)功能,并且可以輕松地升級(jí)至StandardEdition或EnterpriseEdition。WorkgroupEdition是理想的入門級(jí)數(shù)據(jù)庫(kù),具有可靠、功能強(qiáng)大且易于管理的特點(diǎn)。SQLServer2005DeveloperEdition(32位和64位)
DeveloperEdition使開(kāi)發(fā)人員可以在SQLServer上生成任何類型的應(yīng)用程序。它包括SQLServer2005EnterpriseEdition的所有功能,但有許可限制,只能用于開(kāi)發(fā)和測(cè)試系統(tǒng),而不能用作生產(chǎn)服務(wù)器。DeveloperEdition是獨(dú)立軟件供應(yīng)商(ISV)、咨詢?nèi)藛T、系統(tǒng)集成商、解決方案供應(yīng)商以及創(chuàng)建和測(cè)試應(yīng)用程序的企業(yè)開(kāi)發(fā)人員的理想選擇。DeveloperEdition可以根據(jù)生產(chǎn)需要升級(jí)至SQLServer2005EnterpriseEdition。SQLServer2005ExpressEdition(僅適用于32位)
SQLServerExpress是一個(gè)免費(fèi)、易用且便于管理的數(shù)據(jù)庫(kù)。SQLServerExpress與MicrosoftVisualStudio2005集成在一起,可以輕松開(kāi)發(fā)功能豐富、存儲(chǔ)安全、可快速部署的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。SQLServerExpress是免費(fèi)的,可以再分發(fā)(受制于協(xié)議),還可以起到客戶端數(shù)據(jù)庫(kù)以及基本服務(wù)器數(shù)據(jù)庫(kù)的作用。SQLServerExpress是低端ISV、低端服務(wù)器用戶、創(chuàng)建Web應(yīng)用程序的非專業(yè)開(kāi)發(fā)人員以及創(chuàng)建客戶端應(yīng)用程序的編程愛(ài)好者的理想選擇。7.2SQLServer2005的安裝7.2.1SQLServer2005的安裝
1、安裝SQLServer2005標(biāo)準(zhǔn)版之前應(yīng)注意的問(wèn)題在安裝SQLServer2005標(biāo)準(zhǔn)版之前,首先需滿足系統(tǒng)對(duì)硬件和操作系統(tǒng)的要求,然后啟動(dòng)Internet信息服務(wù)(IIS)。此外,還需安裝MicrosoftVisualStudio2005,因?yàn)榘惭b
MicrosoftVisualStudio2005之后,系統(tǒng)將安裝Microsoft.NETFrameworkSDKv2.0,SQLServer2005標(biāo)準(zhǔn)版需要它的支持。但不要安裝MicrosoftVisualStudio2005自帶的SQLServer2005,因?yàn)槠涫蔷?jiǎn)版,會(huì)影響標(biāo)準(zhǔn)版的安裝。
2、安裝SQLServer2005標(biāo)準(zhǔn)版步驟
SQLServer2005標(biāo)準(zhǔn)版有兩張安裝盤,disk1為系統(tǒng)安裝盤,disk2為工具安裝盤。1)安裝啟動(dòng)界面2)安裝必備組件3)進(jìn)入MicrosoftSQLServer安裝向?qū)?)系統(tǒng)配置檢查5)MicrosoftSQLServer準(zhǔn)備安裝6)個(gè)性化設(shè)置7)選取安裝的組件8)確定實(shí)例名9)定義使用賬戶10)身份驗(yàn)證模式11)排序規(guī)則設(shè)置12)錯(cuò)誤和使用情況設(shè)置13)開(kāi)始安裝14)安裝進(jìn)度15)完成安裝7.2.2
SQLServerManagementStudioSQLServer2005使用的圖形界面管理工具是:SQLServerManagementStudio(SSMS,SQLServer管理控制臺(tái))。這是一個(gè)集成的統(tǒng)一的管理工具組,用于訪問(wèn)、配置和管理所有SQLServer組件。SQLServerManagementStudio將以前的SQLServer2000中包括的企業(yè)管理器、查詢分析器和服務(wù)管理器的各種功能組合到一個(gè)單一環(huán)境,使用戶通過(guò)易用的圖形工具和豐富的腳本完成任務(wù)。打開(kāi)方法:「開(kāi)始」菜單\程序\MicrosoftSQLServer2005\SQLServerManagementStudio,在出現(xiàn)的“連接到服務(wù)器”對(duì)話框中,單擊“連接”按鈕,就啟動(dòng)“SQLServerManagementStudio”,并以計(jì)算機(jī)系統(tǒng)管理員身份連接到SQLServer服務(wù)器。已注冊(cè)的服務(wù)器:用于顯示注冊(cè)服務(wù)器數(shù)據(jù)庫(kù)引擎的名稱信息,用戶可通過(guò)該組件設(shè)置數(shù)據(jù)庫(kù)引擎,包括啟動(dòng)、停止、屬性等設(shè)置。對(duì)象資源管理器:用來(lái)對(duì)服務(wù)器進(jìn)行圖形化管理,用戶可以直接通過(guò)該窗口來(lái)操作數(shù)據(jù),例如查看諸如表、視圖、存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象,創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)及表等對(duì)象,還可以進(jìn)行數(shù)據(jù)庫(kù)備份與恢復(fù)、數(shù)據(jù)庫(kù)安全性管理等任務(wù)。查詢編輯器:用戶可以在分析器窗口中輸入相應(yīng)的T-SQL語(yǔ)言(Transact-SQL,是SQLServer中SQL的實(shí)現(xiàn))命令,單擊“執(zhí)行”按鈕,系統(tǒng)執(zhí)行命令后將執(zhí)行的結(jié)果自動(dòng)返回Studio的結(jié)果窗口中顯示。模板資源管理器:用來(lái)快速構(gòu)造代碼,降低編寫T-SQL腳本的難度,例如該管理器包括備份和恢復(fù)數(shù)據(jù)庫(kù)等管理任務(wù)。7.3SQLServer2005數(shù)據(jù)庫(kù)SQLServer的數(shù)據(jù)庫(kù)是有組織的數(shù)據(jù)的集合,這種數(shù)據(jù)集合具有邏輯結(jié)構(gòu)并得到數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù)。數(shù)據(jù)庫(kù)由包含數(shù)據(jù)的基本表和對(duì)象(如視圖、索引、存儲(chǔ)過(guò)程和觸發(fā)器等)組成。數(shù)據(jù)庫(kù)中最重要的對(duì)象是表,表中存儲(chǔ)了數(shù)據(jù)庫(kù)的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)和表的操作是開(kāi)發(fā)人員的一項(xiàng)重要工作。7.3.1數(shù)據(jù)庫(kù)基本概念SQLServer2005將數(shù)據(jù)存儲(chǔ)在文件中,對(duì)于這些文件賦予一定的存儲(chǔ)空間。用戶可以在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候或者在創(chuàng)建之后對(duì)這些文件進(jìn)行管理操作。物理數(shù)據(jù)庫(kù)2005中將數(shù)據(jù)庫(kù)映射到一組操作系統(tǒng)文件上,這種觀點(diǎn)將數(shù)據(jù)庫(kù)在SQLServer稱為物理數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)文件存儲(chǔ)的基本單位是頁(yè),在SQLServer2005中,頁(yè)的大小是8KB。SQLServer2005的物理數(shù)據(jù)庫(kù)架構(gòu)主要內(nèi)容包括文件及文件組,數(shù)據(jù)頁(yè)和盤區(qū)等。它們描述了如何為數(shù)據(jù)庫(kù)分配空間。了解如何存儲(chǔ)數(shù)據(jù)有助于規(guī)劃和分配給數(shù)據(jù)庫(kù)的磁盤容量。在理解SQLServer2005數(shù)據(jù)庫(kù)物理結(jié)構(gòu)時(shí),需注意區(qū)分?jǐn)?shù)據(jù)頁(yè)和擴(kuò)展盤區(qū)。數(shù)據(jù)也包含數(shù)據(jù)記錄中除text、ntext和image數(shù)據(jù)外的所有數(shù)據(jù),text、ntext和image數(shù)據(jù)存儲(chǔ)在單獨(dú)的頁(yè)中。擴(kuò)展盤區(qū)又稱盤區(qū),是為表和索引分配存儲(chǔ)空間額基本單位,一個(gè)盤區(qū)的大小為8個(gè)相鄰的頁(yè),即64KB邏輯數(shù)據(jù)庫(kù)
SQLServer2005數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的容器,即是一個(gè)存放數(shù)據(jù)的表和支持這些數(shù)據(jù)的存儲(chǔ)、檢索、安全性和完整性的邏輯成分所組成的集合。這種觀點(diǎn)將數(shù)據(jù)庫(kù)稱為邏輯數(shù)據(jù)庫(kù),組成數(shù)據(jù)庫(kù)的邏輯成分稱為數(shù)據(jù)庫(kù)對(duì)象。
SQLServer2005的數(shù)據(jù)庫(kù)對(duì)象主要包括表、視圖、索引、存儲(chǔ)過(guò)程、觸發(fā)器和約束。7.3.2數(shù)據(jù)庫(kù)文件SQLServer2005數(shù)據(jù)庫(kù)包括三種類型的文件:(1)主數(shù)據(jù)文件。簡(jiǎn)稱主文件,是數(shù)據(jù)庫(kù)的關(guān)鍵文件,包含了數(shù)據(jù)庫(kù)的啟動(dòng)信息,并且存儲(chǔ)部分或全部數(shù)據(jù)。每個(gè)數(shù)據(jù)庫(kù)有且僅有一個(gè)主文件,其默認(rèn)擴(kuò)展名為.mdf。(2)輔助數(shù)據(jù)文件。稱輔文件,用于存儲(chǔ)未包括在主文件內(nèi)的其他數(shù)據(jù)文件。默認(rèn)擴(kuò)展名為.ndf。該文件是可選的,可創(chuàng)建多個(gè)或不使用輔助文件。(3)日志文件。用于保存恢復(fù)數(shù)據(jù)庫(kù)所需的事務(wù)日志信息。每個(gè)數(shù)據(jù)庫(kù)至少有一個(gè)日志文件,也可以有多個(gè)。其擴(kuò)展名為.ldf。采用多個(gè)或多種數(shù)據(jù)庫(kù)文件存儲(chǔ)數(shù)據(jù)的優(yōu)點(diǎn)體現(xiàn)為:1)數(shù)據(jù)庫(kù)文件可以不斷擴(kuò)充,而不受操作系統(tǒng)文件大小的限制;2)可將數(shù)據(jù)庫(kù)文件存儲(chǔ)在不同的硬盤中,這樣可以同時(shí)對(duì)幾個(gè)硬盤做數(shù)據(jù)存取,提高了數(shù)據(jù)處理的效率,此點(diǎn)對(duì)于服務(wù)器型的計(jì)算機(jī)尤其重要。在SQLServer2005中,不強(qiáng)制使用.mdf、.ndf、.ldf文件擴(kuò)展名,但建議在創(chuàng)建數(shù)據(jù)庫(kù)文件時(shí)使用這些擴(kuò)展名,以便標(biāo)識(shí)文件的用途。7.3.3文件組為了便于管理和分配數(shù)據(jù)而將文件組織在一起,通??梢詾橐粋€(gè)磁盤驅(qū)動(dòng)器創(chuàng)建一個(gè)文件組,將多個(gè)數(shù)據(jù)庫(kù)文件集合起來(lái)形成一個(gè)整體。通過(guò)文件組,可以將特定的的表、索引等與該文件組相關(guān)聯(lián),對(duì)它們的操作都在該文件組中進(jìn)行。使用文件組可以提高表中數(shù)據(jù)的查詢性能。每個(gè)文件組有一個(gè)組名,文件組可分為主文件組(PrimaryFileGroup)和次文件組(SecondaryFileGroup)。一個(gè)文件只能存在于一個(gè)文件組中,一個(gè)文件組也只能被一個(gè)數(shù)據(jù)庫(kù)使用。7.3.4系統(tǒng)數(shù)據(jù)庫(kù)與用戶數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)有關(guān)SQLServer的系統(tǒng)信息,是其管理數(shù)據(jù)庫(kù)的依據(jù)。若系統(tǒng)數(shù)據(jù)庫(kù)遭到破壞,SQLServer將不能正常啟動(dòng)。系統(tǒng)數(shù)據(jù)庫(kù)在安裝SQLServer2005時(shí)創(chuàng)建:master、model、msdb、tempdb。master中包含諸如登錄帳戶、系統(tǒng)配置、數(shù)據(jù)庫(kù)位置及數(shù)據(jù)庫(kù)錯(cuò)誤等信息,用于控制用戶數(shù)據(jù)庫(kù)和SQLServer的運(yùn)行;model為新創(chuàng)建的數(shù)據(jù)庫(kù)提供模板;msdb為“SQLServerAgent”調(diào)度信息和作業(yè)記錄存儲(chǔ)空間;tempdb為臨時(shí)表和臨時(shí)存儲(chǔ)過(guò)程提供存儲(chǔ)空間。每個(gè)系統(tǒng)數(shù)據(jù)庫(kù)都包含主數(shù)據(jù)文件和主日志文件,擴(kuò)展名為mdf和ldf。例如master數(shù)據(jù)庫(kù)的兩個(gè)文件分別為master.mdf和master.ldf。用戶數(shù)據(jù)庫(kù)是用戶創(chuàng)建的數(shù)據(jù)庫(kù)。它在結(jié)構(gòu)上和系統(tǒng)數(shù)據(jù)庫(kù)相同,文件的擴(kuò)展名也相同。7.3.5創(chuàng)建數(shù)據(jù)庫(kù)能夠創(chuàng)建數(shù)據(jù)庫(kù)的用戶必須是系統(tǒng)管理員,或是被授權(quán)使用“CREATEDATABASE”語(yǔ)句的用戶。創(chuàng)建數(shù)據(jù)庫(kù)必須要確定數(shù)據(jù)庫(kù)名、所有者(創(chuàng)建數(shù)據(jù)庫(kù)的用戶)、數(shù)據(jù)庫(kù)大?。ㄗ畛醯拇笮 ⒆畲蟮拇笮?、是否允許增長(zhǎng)及增長(zhǎng)方式)和存儲(chǔ)數(shù)據(jù)庫(kù)的文件。在SQLServer2005中,用戶可以自己創(chuàng)建數(shù)據(jù)庫(kù)即用戶數(shù)據(jù)庫(kù),并且可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改、刪除等操作。創(chuàng)建數(shù)據(jù)庫(kù)可以用兩種方法:一種是在SQLServerManagementStudio中使用向?qū)?chuàng)建數(shù)據(jù)庫(kù)另一種方式為通過(guò)查詢窗口中執(zhí)行CREATEDATABASE命令創(chuàng)建數(shù)據(jù)庫(kù)在SQLServerManagementStudio下創(chuàng)建數(shù)據(jù)庫(kù)
在“MicrosoftSQLServerManagementStudio”中創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程如下:(1)啟動(dòng)“MicrosoftSQLServerManagementStudio”,在對(duì)象資源管理器窗口的“數(shù)據(jù)庫(kù)”節(jié)點(diǎn)上右擊,選擇快捷菜單中的“新建數(shù)據(jù)庫(kù)”命令。如圖所示:
(2)彈出“新建數(shù)據(jù)庫(kù)”對(duì)話框,在“常規(guī)”數(shù)據(jù)頁(yè)的“數(shù)據(jù)庫(kù)名稱”文本框中,輸入要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)的名稱。其中:在“常規(guī)”數(shù)據(jù)頁(yè)中數(shù)據(jù)文件“初始大小”處可以設(shè)置文件的初始大?。∕B);單擊自動(dòng)增長(zhǎng)方式后的按鈕可設(shè)置自動(dòng)增長(zhǎng)方式和最大文件大??;單擊路徑后的按鈕可設(shè)置文件的存放路徑;在“選項(xiàng)”數(shù)據(jù)頁(yè)中,設(shè)置數(shù)據(jù)庫(kù)的屬性選項(xiàng)。在“文件組”數(shù)據(jù)頁(yè)中,增加或刪除文件組。
在對(duì)象資源管理器窗口中展開(kāi)“數(shù)據(jù)庫(kù)”,可以看到新建的數(shù)據(jù)庫(kù),如圖所示。7.4表的操作在數(shù)據(jù)庫(kù)中,表是由數(shù)據(jù)按一定的順序和格式構(gòu)成的數(shù)據(jù)集合,是數(shù)據(jù)庫(kù)的主要對(duì)象。每一行代表一條記錄,每一列代表記錄的一個(gè)字段。沒(méi)有記錄的表稱為空表。在SQLServer2005中,每個(gè)數(shù)據(jù)庫(kù)最多可包含20億個(gè)表,每個(gè)表可包含1,024個(gè)字段。每個(gè)表通常都有一個(gè)主關(guān)鍵字(又稱為主碼),用于唯一地確定一條記錄。在同一個(gè)表中不允許有相同名稱的字段。7.4.1創(chuàng)建表
創(chuàng)建好數(shù)據(jù)庫(kù)后,數(shù)據(jù)庫(kù)是空的,就像建造了一個(gè)空的房子,放入數(shù)據(jù)后,才成為真正的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中用于存儲(chǔ)數(shù)據(jù)的是表,所以需要在其中創(chuàng)建表。例題:使用SQLServerManagementStudio創(chuàng)建表。在數(shù)據(jù)庫(kù)“STUDENT1”中創(chuàng)建“學(xué)生表(S)”,學(xué)生表的表結(jié)構(gòu)定義如表所示。字段名字段數(shù)據(jù)類型長(zhǎng)度是否為空說(shuō)明學(xué)生號(hào)char7否主鍵姓名char8否性別char2否出生日期datetime8是入學(xué)時(shí)間datetime8是系部代號(hào)char2是專業(yè)char10是年級(jí)char9否
①打開(kāi)SQLServerManagementStudio,在對(duì)象資源管理器中,右鍵單擊數(shù)據(jù)庫(kù)的“表”節(jié)點(diǎn),選擇“新建表”命令。如圖所示。
②出現(xiàn)表設(shè)計(jì)器,在其上半部分輸入列的基本屬性。在表設(shè)計(jì)器下半部分的列屬性,指定列的詳細(xì)屬性。如圖所示。
設(shè)置主鍵③定義好表中的所有列后,單擊保存按鈕或“文件”菜單中的“保存表名”命令。如圖所示。④在彈出的“選擇名稱”對(duì)話框中,為該表鍵入一個(gè)名稱,單擊“確定”按鈕。7.4.2修改表
當(dāng)數(shù)據(jù)表的結(jié)構(gòu)創(chuàng)建完成后,用戶還可以根據(jù)實(shí)際需要隨時(shí)更改表結(jié)構(gòu)。用戶可以增加、刪除和修改字段,更改數(shù)據(jù)表名稱等。在SQLServerManagementStudio中修改表(1)在SQLServerManagementStudio的“對(duì)象資源管理器”窗口中,單擊“數(shù)據(jù)庫(kù)”節(jié)點(diǎn)前的“+”號(hào),展開(kāi)“數(shù)據(jù)庫(kù)”節(jié)點(diǎn);單擊目標(biāo)數(shù)據(jù)庫(kù)前的“+”號(hào),展開(kāi)目標(biāo)數(shù)據(jù)庫(kù)。(2)單擊“表”節(jié)點(diǎn)前的“+”號(hào),展開(kāi)“表”節(jié)點(diǎn)。在目標(biāo)表上單擊鼠標(biāo)右鍵,彈出快捷菜單,選擇“修改”命令。(3)用表設(shè)計(jì)器向表中添加列、修改列的數(shù)據(jù)類型、列的數(shù)據(jù)長(zhǎng)度、列的精度、列的小數(shù)位數(shù)、列的為空性。與創(chuàng)建表時(shí)相同。7.4.3列約束和表約束
約束是通過(guò)限制列中數(shù)據(jù)、行中數(shù)據(jù)和表之間數(shù)據(jù)來(lái)保證數(shù)據(jù)完整性的非常有效的方法。約束可以確保把有效的數(shù)據(jù)輸入到列中和維護(hù)表和表之間的特定關(guān)系。其中列約束是針對(duì)表中一個(gè)列的約束,表約束是針對(duì)表中一個(gè)或多個(gè)列的約束。
MicrosoftSQLServer2005系統(tǒng)提供了5種約束類型:PRIMARYKEY(主鍵)約束FOREIGNKEY(外鍵)約束UNIQUE約束CHECK約束DEFAULT約束
1、創(chuàng)建和刪除PRIMARYKEY(主鍵)約束主鍵約束在表中定義一個(gè)主鍵值,這是唯一確定表中每一行數(shù)據(jù)的標(biāo)識(shí)符。在所有的約束類型中,主鍵約束是最重要的一種約束類型,也是使用最廣泛的約束類型。該約束強(qiáng)制實(shí)體完整性。一個(gè)表中最多只能有一個(gè)主鍵,且主鍵列不允許空值。主鍵經(jīng)常定義在一個(gè)列上,但是也可以定義在多個(gè)列的組合上。當(dāng)主鍵定義在多個(gè)列上時(shí),雖然某一個(gè)列中的數(shù)據(jù)可能重復(fù),但是這些列的組合值不能重復(fù)。2、創(chuàng)建和刪除UNIQUE約束
UNIQUE約束指定表中某一個(gè)列或多個(gè)列不能有相同的兩行或兩行以上的數(shù)據(jù)存在。這種約束通過(guò)實(shí)現(xiàn)唯一性索引來(lái)強(qiáng)制實(shí)體完整性。當(dāng)表中已經(jīng)有了一個(gè)主鍵約束時(shí),如果需要在其他列上實(shí)現(xiàn)實(shí)體完整性,又因?yàn)楸碇胁荒苡袃蓚€(gè)或兩個(gè)以上的主鍵約束,所以只能通過(guò)創(chuàng)建UNIQUE約束來(lái)實(shí)現(xiàn)。一般地,把UNIQUE約束稱為候選的主鍵約束。
3、創(chuàng)建和刪除FOREIGNKEY約束外鍵約束定義一個(gè)或多個(gè)列,這些列可以引用同一個(gè)表或另外一個(gè)表中的主鍵約束列或UNIQUE約束列。實(shí)際上,通過(guò)創(chuàng)建外鍵約束可以實(shí)現(xiàn)表和表之間的依賴關(guān)系。一般情況下,在MicrosoftSQLServer關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中,表和表之間經(jīng)常存在著大量的關(guān)系,這些關(guān)系都是通過(guò)定義主鍵約束和外鍵約束實(shí)現(xiàn)的。①在“對(duì)象資源管理器”窗口中,展開(kāi)數(shù)據(jù)庫(kù),選擇“數(shù)據(jù)庫(kù)關(guān)系圖”,右擊鼠標(biāo),如圖所示。②在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)關(guān)系圖”,出現(xiàn)“添加表”窗口,如圖所示。③選擇要建立關(guān)聯(lián)的表,單擊“添加”按鈕,關(guān)閉“添加表”窗口,出現(xiàn)表的關(guān)聯(lián)關(guān)系,如圖所示。④關(guān)聯(lián)圖建好后再關(guān)閉時(shí)會(huì)彈出一窗口。⑤若要保存更改,單擊“是”按鈕,出現(xiàn)“選擇名稱”窗口,輸入名稱,單擊“確定”按鈕。4、創(chuàng)建和刪除CHECK約束
CHECK約束用來(lái)限制用戶輸入某一個(gè)列的數(shù)據(jù),即在該列中只能輸入指定范圍的數(shù)據(jù)。CHECK約束的作用非常類似于外鍵約束,兩者都是限制某個(gè)列的取值范圍,但是外鍵是通過(guò)其他表來(lái)限制列的取值范圍,CHECK約束是通過(guò)指定的邏輯表達(dá)式來(lái)限制列的取值范圍。一個(gè)列上可以定義多個(gè)CHECK約束;當(dāng)執(zhí)行INSERT語(yǔ)句或者UPDATE語(yǔ)句時(shí),該約束驗(yàn)證相應(yīng)的數(shù)據(jù)是否滿足CHECK約束的條件。但是,執(zhí)行DELETE語(yǔ)句時(shí)不檢查CHECK約束。
5、創(chuàng)建和刪除DEFAULT約束
當(dāng)使用INSERT語(yǔ)句插入數(shù)據(jù)時(shí),如果沒(méi)有為某一個(gè)列指定數(shù)據(jù),那么DEFAULT約束就在該列中輸入一個(gè)值。
例如,在學(xué)生表的性別列中定義了一個(gè)DEFAULT約束為“男”。當(dāng)向該表中輸入數(shù)據(jù)時(shí),如果沒(méi)有為性別列提供數(shù)據(jù),那么DEFAULT約束把缺省值“男”自動(dòng)插入到該列中。因此,DEFAULT約束可以實(shí)現(xiàn)保證域完整性。7.4.4表數(shù)據(jù)操作
表的基本結(jié)構(gòu)建好后,表內(nèi)沒(méi)有數(shù)據(jù),我們可以在SQLServer管理控制臺(tái)中非常方便地對(duì)數(shù)據(jù)執(zhí)行各種操作,也可以利用Transact-SQL中的命令完成相應(yīng)的功能。1、輸入數(shù)據(jù)利用SQLServer管理控制臺(tái)輸入數(shù)據(jù):①在“對(duì)象資源管理器”窗口中,展開(kāi)數(shù)據(jù)庫(kù)和表,右鍵單擊表名,彈出快捷菜單,選擇“打開(kāi)表”如圖所示。②出現(xiàn)一個(gè)空表,如左圖所示。輸入數(shù)據(jù),如右圖所示。
2、修改表中的數(shù)據(jù)
使用SQLServerManagementStudio修改數(shù)據(jù)
在SQLServerManagementStudio中,選擇相應(yīng)的表,鼠標(biāo)右擊后,在彈出的快捷菜單中選擇“打開(kāi)表”命令,出現(xiàn)表數(shù)據(jù)窗口,在該窗口中,可以直接對(duì)數(shù)據(jù)進(jìn)行修改操作。
3、刪除數(shù)據(jù)
使用SQLServerManagementStudio刪除數(shù)據(jù)
在SQLServerManagementStudio中,選擇相應(yīng)的表,鼠標(biāo)右擊后,在彈出的快捷菜單中選擇“打開(kāi)表”命令,出現(xiàn)表數(shù)據(jù)窗口,在該窗口中選擇要?jiǎng)h除的記錄,右擊后,在彈出的快捷菜單中選擇“刪除”命令。7.4.5刪除表
刪除表就是將表中數(shù)據(jù)和表的結(jié)構(gòu)從數(shù)據(jù)庫(kù)中永久性地去除。表被刪除之后,就不能再恢復(fù)該表的定義。使用SQLServerManagementStudio刪除表:打開(kāi)
SQLServerManagementStudio,展開(kāi)“數(shù)據(jù)庫(kù)”,再展開(kāi)“表”,右擊要?jiǎng)h除的表,在彈出的快捷菜單中選擇“刪除”命令,在隨后出現(xiàn)的“刪除對(duì)象”對(duì)話框中單擊“確定”按鈕,即可完成指定表的刪除操作。7.5數(shù)據(jù)庫(kù)的導(dǎo)入/導(dǎo)出
通過(guò)導(dǎo)入和導(dǎo)出數(shù)據(jù)的操作可以在SQLServer2005和其他異類數(shù)據(jù)源(例如Excel
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆河北省張家口市高三上學(xué)期期末質(zhì)量檢測(cè)地理試題及答案
- 2025年度專業(yè)車庫(kù)租賃權(quán)轉(zhuǎn)讓合同
- 2025年度農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)與農(nóng)業(yè)文化遺產(chǎn)保護(hù)合同
- 2025年度中小企業(yè)流動(dòng)資金授信借款合同
- 2025年度城市河道治理房屋拆遷補(bǔ)償合同
- 2025年度人才共享與借用項(xiàng)目合作協(xié)議
- 2025年度協(xié)商解除勞動(dòng)合同與員工住房安置合同
- 2025年度公司銷售業(yè)務(wù)員協(xié)議書:人工智能賦能下的銷售代理合同
- 2025年度子女對(duì)父母贍養(yǎng)及社區(qū)互助保障協(xié)議
- 化妝品店裝修合同
- 小學(xué)奧數(shù)七大模塊思維導(dǎo)圖課件
- 火力發(fā)電廠OVATION 與西門子控制系統(tǒng)之間通訊實(shí)現(xiàn)
- 2022公務(wù)員錄用體檢操作手冊(cè)(試行)
- 我長(zhǎng)大以后【經(jīng)典繪本】
- 2023學(xué)年完整公開(kāi)課版閘閥
- 中國(guó)濕疹診療指南
- 國(guó)家電網(wǎng)有限公司電網(wǎng)數(shù)字化項(xiàng)目工作量度量規(guī)范應(yīng)用指南(2020版)
- 電子商務(wù)文案寫作教學(xué)ppt課件(完整版)
- JJF 1445-2014落錘式?jīng)_擊試驗(yàn)機(jī)校準(zhǔn)規(guī)范
- GB/T 36663-2018船舶和海上技術(shù)船舶系泊和拖帶設(shè)備閉式導(dǎo)纜孔
- GB/T 3077-2015合金結(jié)構(gòu)鋼
評(píng)論
0/150
提交評(píng)論