版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
SQLServer2012實用教程
20-9月-241第1章系統(tǒng)認(rèn)識數(shù)據(jù)庫20-9月-242學(xué)習(xí)目標(biāo)掌握數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念了解數(shù)據(jù)庫管理技術(shù)發(fā)展的幾個階段掌握數(shù)據(jù)庫的體系結(jié)構(gòu)熟練掌握數(shù)據(jù)模型熟悉關(guān)系型數(shù)據(jù)庫20-9月-243學(xué)習(xí)內(nèi)容1.1數(shù)據(jù)庫系統(tǒng)介紹1.2數(shù)據(jù)模型1.3關(guān)系數(shù)據(jù)庫9/20/202441.1數(shù)據(jù)庫系統(tǒng)簡介1.1.1數(shù)據(jù)庫的基本概念1.1.2數(shù)據(jù)庫的體系結(jié)構(gòu)1.1.3數(shù)據(jù)庫的產(chǎn)生與發(fā)展9/20/202451.1.1數(shù)據(jù)庫的基本概念1.數(shù)據(jù)2.信息3.數(shù)據(jù)處理4.數(shù)據(jù)庫5.數(shù)據(jù)庫管理系統(tǒng)6.數(shù)據(jù)庫系統(tǒng)9/20/20246數(shù)據(jù)和信息數(shù)據(jù)(Data)是指對客觀事件進(jìn)行記錄并可以鑒別的符號,是對客觀事物的性質(zhì)、狀態(tài)以及相互關(guān)系等進(jìn)行記載的物理符號或這些物理符號的組合。信息(Information)是對客觀世界中各種事物的運(yùn)動狀態(tài)和變化的反映,是客觀事物之間相互聯(lián)系和相互作用的表征,表現(xiàn)的是客觀事物運(yùn)動狀態(tài)和變化的實質(zhì)內(nèi)容。9/20/2024
7數(shù)據(jù)處理數(shù)據(jù)處理(DataProcessing)是對數(shù)據(jù)的采集、存儲、檢索、加工、變換和傳輸。數(shù)據(jù)處理的基本目的是從大量的、可能是雜亂無章的、難以理解的數(shù)據(jù)中抽取并推導(dǎo)出對于某些特定的人們來說是有價值、有意義的信息,即數(shù)據(jù)轉(zhuǎn)換成信息的過程。9/20/2024
8數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫(Database,DB)是長期儲存在計算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來的一種較為理想的數(shù)據(jù)處理系統(tǒng)。。9/20/2024
91.1.2數(shù)據(jù)庫的體系結(jié)構(gòu)1.數(shù)據(jù)庫的三級模式結(jié)構(gòu)2.數(shù)據(jù)庫的二級存儲映射9/20/2024
101.數(shù)據(jù)庫的三級模式結(jié)構(gòu)數(shù)據(jù)庫的三級模式是數(shù)據(jù)庫在三個級別(層次)上的抽象,使用戶能夠邏輯地、抽象地處理數(shù)據(jù)而不必關(guān)心數(shù)據(jù)在計算機(jī)中的物理表示和存儲。數(shù)據(jù)庫的三級模式結(jié)構(gòu)是指內(nèi)模式、模式和外模式。內(nèi)模式:內(nèi)模式也稱存儲模式,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,對應(yīng)著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。一個數(shù)據(jù)庫只有唯一的一個內(nèi)模式。模式:模式也稱概念模式或邏輯模式。它是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖。一個數(shù)據(jù)庫只有一個模式,模式處于三級結(jié)構(gòu)的中間層。外模式:外模式也稱子模式或用戶模式。它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。一個數(shù)據(jù)庫可以有多個外模式。9/20/2024
112.數(shù)據(jù)庫的二級存儲映射為了能夠在內(nèi)部實現(xiàn)數(shù)據(jù)庫的三個抽象模式的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了兩層映射模式/內(nèi)模式映射模式/內(nèi)模式映射之唯一的,它定義了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系,實現(xiàn)數(shù)據(jù)的物理獨立性。外模式/模式映射對于每一個外模式,都有一個外模式/模式的映射。當(dāng)模式改變時,通過調(diào)整外模式/模式映射做相應(yīng)的改變,從而使外模式保持不變,從而實現(xiàn)了數(shù)據(jù)的邏輯獨立性。9/20/2024
121.1.3數(shù)據(jù)庫的產(chǎn)生與發(fā)展人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段高級數(shù)據(jù)庫階段9/20/2024
131.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的概念1.2.2常見的數(shù)據(jù)模型9/20/2024
141.2.1數(shù)據(jù)模型的概念數(shù)據(jù)模型(DataModel)是數(shù)據(jù)庫系統(tǒng)的核心與基礎(chǔ),是現(xiàn)實世界數(shù)據(jù)特征的抽象,是站在計算機(jī)的角度,用模型的方法來描述數(shù)據(jù)、組織數(shù)據(jù)、處理數(shù)據(jù)的方法。數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)約束3部分組成。9/20/2024
151.2.2常見的數(shù)據(jù)模型常見的數(shù)據(jù)庫模型主要有層次模型、網(wǎng)狀模型和關(guān)系模型層次模型是指用一顆“有向樹”的數(shù)據(jù)結(jié)構(gòu)來表示表示各類實體以及實體間的聯(lián)系,樹中每一個節(jié)點代表一個記錄類型,樹狀結(jié)構(gòu)表示實體型之間的聯(lián)系。網(wǎng)狀模型是用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)結(jié)構(gòu)模型。關(guān)系模型是指用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型。9/20/2024
161.3關(guān)系數(shù)據(jù)庫1.3.1關(guān)系數(shù)據(jù)庫的概念1.3.2關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL1.3.3常見的關(guān)系數(shù)據(jù)庫9/20/2024
171.3.1關(guān)系數(shù)據(jù)庫的概念關(guān)系數(shù)據(jù)庫是指建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫。關(guān)系模型是在1970年由IBM公司有“關(guān)系數(shù)據(jù)庫之父”之稱的埃德加·弗蘭克·科德博士首先提出,一經(jīng)推出就受到了學(xué)術(shù)界和產(chǎn)業(yè)界的高度重視和廣泛響應(yīng),并在隨后的發(fā)展中得到了充分的發(fā)展并成為數(shù)據(jù)庫架構(gòu)的主流模型。9/20/2024
181.3.2關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,SQL)語言是關(guān)系式數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。SQL語言包括以下3種:數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL):DROP、CREATE、ALTER等語句。數(shù)據(jù)操縱語言(DataManipulationLanguage,DML):SELECT、INSERT、UPDATE、DELETE等語句。數(shù)據(jù)控制語言(DataControlLanguage,DCL):GRANT、REVOKE、COMMIT、ROLLBACK等語句。9/20/2024
191.3.3常見的關(guān)系數(shù)據(jù)庫ACCESS數(shù)據(jù)庫MySQL數(shù)據(jù)庫SQLServer數(shù)據(jù)庫Oracle數(shù)據(jù)庫9/20/2024
20學(xué)習(xí)總結(jié)本章主要介紹了數(shù)據(jù)庫系統(tǒng)的組成及其體系結(jié)構(gòu),包括數(shù)據(jù)庫的基本概念、數(shù)據(jù)與信息的聯(lián)系、數(shù)據(jù)庫的三模式兩映射的體系結(jié)構(gòu);常見的數(shù)據(jù)模型,包括層次模型、網(wǎng)狀模型和關(guān)系模型;關(guān)系型數(shù)據(jù)庫,關(guān)系模型的概念以及常見的關(guān)系數(shù)據(jù)9/20/2024
21Theend9/20/2024
22第2章初識SQLServer201220-9月-2423學(xué)習(xí)目標(biāo)了解SQLServer2012的性能和優(yōu)點掌握SQLServer2012的各個版本的特點以及安裝環(huán)境要求熟練掌握SQLServer2012的安裝方法能夠使用SQLServer2012連接數(shù)據(jù)庫服務(wù)器掌握SSMS的基本工作環(huán)境20-9月-2424學(xué)習(xí)內(nèi)容2.1SQLServer2012數(shù)據(jù)庫簡介2.2SQLServer2012的安裝2.3SSMS的基本操作9/20/2024252.1SQLServer2012數(shù)據(jù)庫簡介2.1.1SQLServer2012簡介2.1.2SQLServer2012的新功能2.1.3SQLServer2012的版本9/20/2024262.1.1SQLServer2012簡介SQLServer2012是微軟發(fā)布的重要數(shù)據(jù)平臺產(chǎn)品。SQLServer2012不僅延續(xù)現(xiàn)有數(shù)據(jù)平臺的強(qiáng)大能力,還支持云技術(shù)平臺,提供了一個全面的、靈活的、可擴(kuò)展的數(shù)據(jù)庫管理平臺,可以滿足成千上萬用戶的海量數(shù)據(jù)管理需求,能夠快速構(gòu)建相應(yīng)的解決方法,以實現(xiàn)私有云和共有云之間的數(shù)據(jù)擴(kuò)展和應(yīng)用的遷移。9/20/2024272.1.2SQLServer2012的新功能AlwaysOnColumnstore索引大數(shù)據(jù)支持DBA自定義服務(wù)器權(quán)限增強(qiáng)的審計功能BI語義模型SequenceObjects增強(qiáng)的PowerShell支持分布式回放(DistributedReplay)WindowsServerCore支持PowerViewSQLAzure增強(qiáng)9/20/2024
282.1.3SQLServer2012的版本根據(jù)數(shù)據(jù)庫應(yīng)用環(huán)境的不同,SQLServer2012發(fā)行了不同的版本以滿足不同的需求。SQLServer2012的版本有:企業(yè)版(SQLServer2012EnterpriseEdition)、標(biāo)準(zhǔn)版(SQLServer2012StandardEdition)、商業(yè)智能版(SQLServer2012BusinessIntelligenceEdition)、學(xué)習(xí)版(SQLServer2012ExpressEdition)、開發(fā)版(SQLServer2012DevelopEdition)和web版(SQLServer2012WebEdition)。9/20/2024
292.2SQLServer2012的安裝2.2.1SQLServer2012安裝環(huán)境要求2.2.2SQLServer2012安裝過程2.2.3SQLServer2012常用實用工具9/20/2024
302.2.1SQLServer2012安裝環(huán)境要求9/20/2024
312.2.2SQLServer2012安裝過程安裝SQLServer2012時,可以根據(jù)自己的實際需求和計算機(jī)的軟硬件環(huán)境,選擇一個合適的版本進(jìn)行安裝。9/20/2024
322.2.3SQLServer2012常用實用工具SQLServer2012提供了大量的管理工具,包括SQLServer管理平臺(SQLServerManagementStudio)、商業(yè)智能開發(fā)平臺(BusinessIntelligenceDevelopmentStudio)、SQLServer管理平臺(SQLServerManagementStudio)、性能工具(SQLServerProfiler)、配置管理工具(SQLServerConfigurationManager)和數(shù)據(jù)庫引擎優(yōu)化顧問工具(DatabaseEngineTuningAdvisor)等等。9/20/2024
332.3SSMS的基本操作2.3.1SSMS的啟動與連接2.3.2在SSMS中配置服務(wù)器屬性2.3.3查詢設(shè)計器9/20/2024
342.3.1SSMS的啟動與連接9/20/2024
352.3.2在SSMS中配置服務(wù)器屬性9/20/2024
362.3.3查詢設(shè)計器9/20/2024
37學(xué)習(xí)總結(jié)本章主要介紹了SQLServer2012的特點,新功能和常見版本;詳細(xì)講解了SQLServer2012企業(yè)版的安裝過程;講解SSMS(SQLServerManagementStudio)的基本操作,包括SSMS的啟動和連接、服務(wù)器屬性的配置和查詢設(shè)計器的使用。9/20/2024
38Theend9/20/2024
39第3章數(shù)據(jù)庫的創(chuàng)建和管理20-9月-2440學(xué)習(xí)目標(biāo)初步認(rèn)識SQLServer數(shù)據(jù)庫對象了解SQLServer系統(tǒng)數(shù)據(jù)庫能夠使用SSMS創(chuàng)建、修改、重命名、刪除、收縮、分離與附加數(shù)據(jù)庫熟練掌握使用Transact-SQL創(chuàng)建、修改、重命名和刪除數(shù)據(jù)庫20-9月-2441學(xué)習(xí)內(nèi)容3.1數(shù)據(jù)庫概述3.2使用SSMS創(chuàng)建和管理數(shù)據(jù)庫3.3使用Transact-SQL創(chuàng)建和管理數(shù)據(jù)庫9/20/2024423.1數(shù)據(jù)庫概述3.1.1系統(tǒng)數(shù)據(jù)庫3.1.2數(shù)據(jù)庫對象3.1.3數(shù)據(jù)庫文件和文件組9/20/2024433.1.1系統(tǒng)數(shù)據(jù)庫SQLServer數(shù)據(jù)庫分成系統(tǒng)數(shù)據(jù)庫、示例數(shù)據(jù)庫和用戶數(shù)據(jù)庫三類。其中系統(tǒng)數(shù)據(jù)庫和示例數(shù)據(jù)庫都是SQLServer安裝成功后默認(rèn)建立的,系統(tǒng)數(shù)據(jù)庫是記錄數(shù)據(jù)庫必須的信息,用戶不能直接更新其中系統(tǒng)對象(如系統(tǒng)表、系統(tǒng)存儲過程和目錄視圖)中的信息。示例數(shù)據(jù)庫是為了讓用戶學(xué)習(xí)SQLServer而設(shè)計的,例如ReportServer數(shù)據(jù)庫,用戶可以在該數(shù)據(jù)庫上進(jìn)行任意操作。用戶數(shù)據(jù)庫是用戶根據(jù)實際需求創(chuàng)建的數(shù)據(jù)庫。SQLServer2012主要有4個系統(tǒng)數(shù)據(jù)庫,master數(shù)據(jù)庫、model數(shù)據(jù)庫、msdb數(shù)據(jù)庫和tempdb數(shù)據(jù)庫。9/20/2024443.1.2數(shù)據(jù)庫對象數(shù)據(jù)庫對象是存儲、管理和使用數(shù)據(jù)庫的不同結(jié)構(gòu)形式,在SQLServer012的數(shù)據(jù)庫中,主要的數(shù)據(jù)庫對象包括表、視圖、索引、存儲過程、觸發(fā)器、用戶自定義函數(shù)、用戶和角色等等9/20/2024
453.1.3數(shù)據(jù)庫文件和文件組1.數(shù)據(jù)庫文件9/20/2024
463.1.3數(shù)據(jù)庫文件和文件組2.數(shù)據(jù)庫文件組9/20/2024
473.2使用SSMS創(chuàng)建和管理數(shù)據(jù)庫3.2.1使用SSMS創(chuàng)建數(shù)據(jù)庫3.2.2使用SSMS修改數(shù)據(jù)庫3.2.3使用SSMS重命名數(shù)據(jù)庫3.2.4使用SSMS收縮數(shù)據(jù)庫3.2.5使用SSMS分離和附加數(shù)據(jù)庫3.2.6使用SSMS刪除數(shù)據(jù)庫9/20/2024
483.2.1使用SSMS創(chuàng)建數(shù)據(jù)庫【例3.1】創(chuàng)建MX公司數(shù)據(jù)庫MXDB_New。其中主數(shù)據(jù)文件為MXDB_New.mdf.初始大小是5MB,最大文件大小為100MB,增長大小是15MB,存放在D:\data文件夾。日志文件為MXDB_New_log.ldf,初始大小為2MB,最大文件大小為80MB,增長大小為10%,存放在E:\log文件夾。9/20/2024
493.2.2使用SSMS修改數(shù)據(jù)庫【例3.2】修改MX公司的MXDB_New數(shù)據(jù)庫。首先將日志文件“MXDB_New_log”的最大文件大小修改為無限大,然后給數(shù)據(jù)庫增加次要數(shù)據(jù)文件MXDB_New1.ndf,初始大小是10MB,最大文件大小為100MB,增長大小是5%,存放在D:\data文件夾。9/20/2024
503.2.3使用SSMS重命名數(shù)據(jù)庫【例3.3】將MX公司的MXDB_New數(shù)據(jù)庫重命名為“MXDB”。9/20/2024
513.2.4使用SSMS收縮數(shù)據(jù)庫【例3.4】為了避免存儲空間的浪費(fèi),現(xiàn)在對MX公司的MXDB數(shù)據(jù)庫進(jìn)行收縮操作,先進(jìn)行手動收縮“MXDB”為60%,為了避免以后使用過程中的自動增長帶來的進(jìn)一步浪費(fèi),再設(shè)置“MXDB”數(shù)據(jù)庫為自動收縮。9/20/2024
523.2.5使用SSMS分離和附加數(shù)據(jù)庫【例3.5】現(xiàn)在需要將該數(shù)據(jù)庫轉(zhuǎn)移到其他服務(wù)器中,必須進(jìn)行數(shù)據(jù)庫MXDB的分離與附加。9/20/2024
533.2.6使用SSMS刪除數(shù)據(jù)庫【例3.6】MX公司的數(shù)據(jù)庫服務(wù)器升級結(jié)束后,備份數(shù)據(jù)庫服務(wù)器上的MXDB數(shù)據(jù)庫已經(jīng)沒有用了,為了統(tǒng)一將其進(jìn)行刪除。1.在“對象資源管理器”中,連接到SQLServer數(shù)據(jù)庫引擎的實例,然后展開該實例。2.展開“數(shù)據(jù)庫”,右鍵單擊MXDB的數(shù)據(jù)庫,在彈出的快捷菜單中選擇“刪除”,在打開的“刪除對象”對話框中,單擊“確定”按鈕,完成MXDB數(shù)據(jù)庫的刪除。9/20/2024
543.3使用Transact-SQL創(chuàng)建和管理數(shù)據(jù)庫3.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫3.3.2使用Transact-SQL修改數(shù)據(jù)庫3.3.3使用Transact-SQL重命名數(shù)據(jù)庫3.3.4使用Transact-SQL刪除數(shù)據(jù)庫9/20/2024
553.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫的Transact-SQL語句是CREATEDATABASE語句,其基本語法如下:CREATEDATABASEdatabase_name[CONTAINMENT={NONE|PARTIAL}][ON[PRIMARY]<filespec>[,...n][,<filegroup>[,...n]][LOGON<filespec>[,...n]]][COLLATEcollation_name][WITH<option>[,...n]][;]<filespec>::={(NAME=logical_file_name,FILENAME={'os_file_name'|'filestream_path'}[,SIZE=size[KB|MB|GB|TB]][,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}][,FILEGROWTH=growth_increment[KB|MB|GB|TB|%]])}9/20/2024
563.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫【例3.7】AIX學(xué)校要建立一個學(xué)籍管理數(shù)據(jù)庫“AIXstatus”。其中主數(shù)據(jù)文件為AIXstatus.mdf,初始大小是10MB,最大文件大小為10GB,增長大小是10%,次要數(shù)據(jù)文件AIXstatus1.ndf和AIXstatus2.ndf,初始大小都是5MB,增長大小是10MB,最大文件大小為無限大,所有數(shù)據(jù)文件存放在D:\data文件夾。日志文件為AIXstatus_log.ldf,初始大小為2MB,增長大小為5MB,存放在E:\log文件夾。9/20/2024
573.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫具體操作步驟如下:1.在操作系統(tǒng)下分別創(chuàng)建“D:\data”和“E:\log”兩個文件夾。2.在SSMS中,單擊工具欄上的“新建查詢”按鈕,打開“查詢設(shè)計器”。輸入如下代碼:9/20/2024
583.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫9/20/2024
593.3.1使用Transact-SQL創(chuàng)建數(shù)據(jù)庫9/20/2024
603.3.2使用Transact-SQL修改數(shù)據(jù)庫9/20/2024
61創(chuàng)建數(shù)據(jù)庫的Transact-SQL語句是ALTERDATABASE語句,其基本語法如下:ALTERDATABASEdatabase_name{MODIFYNAME=new_database_name|ADDFILE<filespec>[,...n][TOFILEGROUP{filegroup_name}]|ADDLOGFILE<filespec>[,...n]|REMOVEFILElogical_file_name|MODIFYFILE<filespec>}[;]3.3.2使用Transact-SQL修改數(shù)據(jù)庫【例3.8】修改學(xué)籍管理數(shù)據(jù)庫“AIXstatus”。首先將日志文件AIXstatus_log.ldf的初始大小改為20MB;然后添加新的日志文件AIXstatus_log2.ldf,初始大小是10MB,增長大小是15MB,存放在E:\log文件夾;最后將次要數(shù)據(jù)庫文件AIXstatus1.ndf刪除。具體操作步驟如下:9/20/2024
623.3.2使用Transact-SQL修改數(shù)據(jù)庫9/20/2024
633.3.3使用Transact-SQL重命名數(shù)據(jù)庫9/20/2024
64數(shù)據(jù)庫重命名除了可以用ALTERDATABASE語句外,還可以采用系統(tǒng)存儲過程sp_renamedb,其基本語法如下:sp_renamedb[@dbname=]'old_name',[@newname=]'new_name'3.2.3使用SSMS重命名數(shù)據(jù)庫【例3.9】AIX學(xué)校又創(chuàng)建了新的學(xué)籍管理數(shù)據(jù)庫,為了不產(chǎn)生混淆,現(xiàn)在數(shù)據(jù)庫“AIXstatus”更名為“AIXstatus_old”。9/20/2024
653.3.4使用Transact-SQL刪除數(shù)據(jù)庫9/20/2024
66刪除數(shù)據(jù)庫的Transact-SQL語句是DROPDATABASE語句,其基本語法如下:DROPDATABASEdatabase_name3.3.4使用Transact-SQL刪除數(shù)據(jù)庫【例3.10】使用DROPDATABASE語句刪除“AIXstatus_old”數(shù)據(jù)庫。9/20/2024
67學(xué)習(xí)總結(jié)本章主要介紹了數(shù)據(jù)庫的創(chuàng)建和管理,包括主要的四個系統(tǒng)數(shù)據(jù)庫:master數(shù)據(jù)庫、model數(shù)據(jù)庫、msdb數(shù)據(jù)庫和tempdb數(shù)據(jù)庫;常見的數(shù)據(jù)庫對象,數(shù)據(jù)庫文件和文件組;重點講解了如何利用SSMS和Transact-SQL語句創(chuàng)建、修改、重命名、刪除數(shù)據(jù)庫;數(shù)據(jù)庫的分離與附加等。9/20/2024
68Theend9/20/2024
69第4章表的創(chuàng)建和管理20-9月-2470學(xué)習(xí)目標(biāo)了解SQLServer中表的基本結(jié)構(gòu)熟悉SQLServer中的各種數(shù)據(jù)類型的特點和用途理解主鍵約束、外鍵約束、檢查約束等等的作用熟練掌握表的創(chuàng)建和管理的方法熟練掌握表中字段的增加、修改和刪除的方法熟練掌握表中各種約束的設(shè)置和管理的方法熟練掌握創(chuàng)建和管理數(shù)據(jù)庫關(guān)系圖的方法20-9月-2471學(xué)習(xí)內(nèi)容4.1表的概述4.2使用SSMS創(chuàng)建和修改表4.3使用Transact-SQL創(chuàng)建和管理表4.4數(shù)據(jù)庫關(guān)系圖的創(chuàng)建和管理4.5使用SSMS進(jìn)行表中數(shù)據(jù)更新4.6使用Transact-SQL進(jìn)行表中數(shù)據(jù)更新9/20/2024724.1表的概述4.1.1表的基本結(jié)構(gòu)4.1.2表的類型4.1.3數(shù)據(jù)類型4.1.4表的完整性規(guī)則4.1.5表的約束9/20/2024734.1.1表的基本結(jié)構(gòu)表是組成數(shù)據(jù)庫的基本元素,是SQLServer中一個很重要的數(shù)據(jù)庫對象,用于存儲數(shù)據(jù)庫中所有數(shù)據(jù)。數(shù)據(jù)在表中的邏輯組織方式與在電子表格中相似,都是按行和列的格式組織的。行被稱為記錄,是組織數(shù)據(jù)的單位,列被稱為字段。每一列代表記錄的一個屬性。9/20/2024744.1.2表的類型1.系統(tǒng)表SQLServer
將定義服務(wù)器配置及其所有表的數(shù)據(jù)存儲在一組特殊的表中,這組表稱為系統(tǒng)表。2.臨時表臨時表有兩種類型:本地表和全局表。3.已分區(qū)表已分區(qū)表是將數(shù)據(jù)水平劃分為多個單元的表,這些單元可以分布到數(shù)據(jù)庫中的多個文件組中。
在維護(hù)整個集合的完整性時,使用分區(qū)可以快速而有效地訪問或管理數(shù)據(jù)子集,從而使大型表或索引更易于管理。4.寬表
9/20/2024
754.1.3數(shù)據(jù)類型SQLServer中的數(shù)據(jù)類型分為兩種,基本數(shù)據(jù)類型(系統(tǒng)數(shù)據(jù)類型)和用戶定義數(shù)據(jù)類型。9/20/2024
76基本數(shù)據(jù)類型9/20/2024
77基本數(shù)據(jù)類型9/20/2024
78用戶定義數(shù)據(jù)類型SQLServer除了基本數(shù)據(jù)類型外,還允許用戶定義數(shù)據(jù)類型,用戶定義數(shù)據(jù)類型是數(shù)據(jù)庫開發(fā)人員建立在基本數(shù)據(jù)類型基礎(chǔ)上的,根據(jù)自己的實際需求定義符合自己開發(fā)需要的數(shù)據(jù)類型。在SQLServer中,用戶定義數(shù)據(jù)類型可以使用SSMS創(chuàng)建和Transact-SQL語句創(chuàng)建。9/20/2024
791.使用SSMS創(chuàng)建用戶定義數(shù)據(jù)類型【例4.1】在ReportServer數(shù)據(jù)庫中,創(chuàng)建用來存儲收集號碼信息的mobile-number用戶定義數(shù)據(jù)類型,數(shù)據(jù)類型為varchar,長度為11,允許為空。9/20/2024
802.使用Transact-SQL創(chuàng)建用戶定義數(shù)據(jù)類型【例4.2】在ReportServer數(shù)據(jù)庫中,創(chuàng)建用來存儲郵政編碼信息的postcode用戶定義數(shù)據(jù)類型,數(shù)據(jù)類型為varchar,長度為6,允許為空。9/20/2024
814.1.4表的完整性規(guī)則SQLServer數(shù)據(jù)庫提供了三種數(shù)據(jù)完整性規(guī)則:實體完整性規(guī)則、參照完整性規(guī)則和用戶自定義的完整性規(guī)則。實體完整性要求每一個表中的主鍵字段都不能為空或者重復(fù)的值。參照完整性要求參照的關(guān)系表中的屬性值必須能夠在被參照關(guān)系表找到或者取空值??梢栽诒粎⒄毡磉M(jìn)行更新、插入或刪除記錄時,自動在參照表中執(zhí)行對應(yīng)的操作。用戶定義完整性是是對數(shù)據(jù)表中字段屬性的約束,包括字段的值域、字段的類型和字段的有效規(guī)則(如小數(shù)位數(shù))等約束,是由確定關(guān)系結(jié)構(gòu)時所定義的字段的屬性決定的。9/20/2024
824.1.5表的約束約束定義了必須遵循的用戶維護(hù)數(shù)據(jù)一致性和正確性的規(guī)則,是實現(xiàn)數(shù)據(jù)完整性的重要手段,在SQLServer2012中的約束主要有:主鍵約束(PRIMARYKEYconstraint)唯一性約束(UNIQUEconstraint)檢查約束(CHECKconstraint)默認(rèn)約束(DEFAULTconstraint)外鍵約束(FOREIGNKEYconstraint)。9/20/2024
834.2使用SSMS創(chuàng)建和修改表4.2.1使用SSMS創(chuàng)建表4.2.2使用SSMS修改表字段4.2.3使用SSMS設(shè)置表約束4.2.4使用SSMS重命名表4.2.5使用SSMS刪除表9/20/2024844.2.1使用SSMS創(chuàng)建表【例4.3】ABI學(xué)校為了管理學(xué)生成績,建立了一個成績管理數(shù)據(jù)庫AMDB,現(xiàn)在在該數(shù)據(jù)庫重要添加適當(dāng)?shù)谋恚⑦M(jìn)行優(yōu)化。首先,我們創(chuàng)建學(xué)生(student)表和班級(class)表。9/20/2024
854.2.1使用SSMS創(chuàng)建表具體操作步驟如下:1.在“對象資源管理器”中,連接到SQLServer數(shù)據(jù)庫引擎的實例,然后展開該實例。2.依次展開“數(shù)據(jù)庫”→“AMDB”,右鍵單擊數(shù)據(jù)庫的“表”節(jié)點,在彈出的快捷菜單中選擇“新建表”。9/20/2024
864.2.2使用SSMS修改表字段【例4.4】現(xiàn)在要對成績管理數(shù)據(jù)庫AMDB中的學(xué)生(student)表進(jìn)行字段修改,修改的內(nèi)容包括:將學(xué)生姓名stu_name字段的數(shù)據(jù)類型修改為varchar(10),然后刪除手機(jī)號碼phonenumber字段,最后為了建立參照完整性,增加班級編號Class_no字段。9/20/2024
874.2.3使用SSMS設(shè)置表約束【例4.5】現(xiàn)在要對成績管理數(shù)據(jù)庫AMDB中的學(xué)生(student)表和班級(class)表進(jìn)行各種約束的設(shè)置,設(shè)置的內(nèi)容包括:設(shè)置學(xué)生(student)表的學(xué)號stu_no字段和班級(class)表的班級編號class_no字段為2個表的主鍵;給學(xué)生(student)表的學(xué)生性別Stu_sex字段設(shè)置檢查約束,設(shè)置只能輸入“男”或者“女”;給學(xué)生(student)表的年齡age字段設(shè)置默認(rèn)約束,默認(rèn)值為“18”;給班級(class)表的班級名稱Class_name字段設(shè)置不允許重復(fù)的唯一性約束;在兩個表之間建立外鍵約束,主鍵為班級(class)表的班級編號class_no字段,外鍵為學(xué)生(student)表的班級編號class_no字段。9/20/2024
884.2.4使用SSMS重命名表【例4.6】將ReportServer數(shù)據(jù)庫中的“Batch”表重命名為“Batch_new”。9/20/2024
894.2.5使用SSMS刪除表【例4.7】刪除ReportServer數(shù)據(jù)庫中的“Batch_new”表。具體操作步驟如下:1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→“ReportServer”→“表”→“Batch_new”2.右鍵單擊“Batch_new”表,在彈出的快捷菜單中選擇“刪除”,在打開的“刪除對象”對話框中,單擊“確定”按鈕,完成Batch_new表的刪除。9/20/2024
904.3使用Transact-SQL創(chuàng)建和管理表4.3.1使用Transact-SQL創(chuàng)建表4.3.2使用Transact-SQL修改表字段4.3.3使用Transact-SQL設(shè)置表約束4.3.4使用Transact-SQL重命名表4.3.5使用Transact-SQL刪除表9/20/2024914.3.1使用Transact-SQL創(chuàng)建表9/20/2024
92創(chuàng)建表的Transact-SQL語句是CREATETABLE語句,其基本語法如下:CREATETABLE[database_name.[schema_name].|schema_name.]table_name[column_name<data_type>[NULL|NOTNULL]|[DEFAULTconstraint_expression]|{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED][ASC|DESC]][,...n]4.3.1使用Transact-SQL創(chuàng)建表【例4.8】成績管理數(shù)AMDB中要繼續(xù)增加新表,現(xiàn)在要增加的表是教師(teacher)表課程(course)表。9/20/2024
934.3.1使用Transact-SQL創(chuàng)建表9/20/2024
944.3.2使用Transact-SQL修改表字段9/20/2024
95修改表字段的Transact-SQL語句是ALTERTABLE語句,其基本語法如下:ALTERTABLE[database_name.[schema_name].|schema_name.]table_name{ALTERCOLUMNcolumn_name<data_type>|ADDnew_column_name<data_type>|DROPCOLUMNcolumn_name}4.3.2使用Transact-SQL修改表字段【例4.9】現(xiàn)在要對成績管理數(shù)據(jù)庫AMDB中的教師(teacher)表進(jìn)行字段修改,修改的內(nèi)容包括:將職稱proTitle字段的數(shù)據(jù)類型修改為varchar(5);增加政治面貌polity字段,數(shù)據(jù)類型char(2),不允許為空。此外前面創(chuàng)建的學(xué)生(student)表中的年齡age字段可以由出生日期birthday字段計算獲得,因此將學(xué)生(student)表中的年齡age字段刪除。9/20/2024
964.3.3使用Transact-SQL設(shè)置表約束9/20/2024
97創(chuàng)建約束的Transact-SQL語句有兩種,一種是CREATETABLE語句,在創(chuàng)建表的時候就指定約束,另一種是ALTERTABLE語句在已建立表上進(jìn)行約束的設(shè)置,其基本語法如下:ALTERTABLE[database_name.[schema_name].|schema_name.]table_name{ADDCONSTRAINTconstraint_name<constraint_express>|DROPCONSTRAINTconstraint_name}4.3.3使用Transact-SQL設(shè)置表約束【例4.10】成績管理數(shù)據(jù)庫AMDB中要繼續(xù)增加新表,現(xiàn)在要增加的表是成績(grade)表,具體結(jié)構(gòu)如表4.9所示,然后繼續(xù)給greade表中的score字段追加檢查約束,設(shè)置條件為成績?nèi)≈禐?到100分之間。9/20/2024
984.3.4使用Transact-SQL重命名表9/20/2024
99重命名表的Transact-SQL是采用系統(tǒng)存儲過程sp_rename,它的功能是在當(dāng)前數(shù)據(jù)庫中更改用戶創(chuàng)建對象的名稱。此對象可以是表、索引、列、別名數(shù)據(jù)類型或Microsoft.NETFramework公共語言運(yùn)行時(CLR)用戶定義類型。其基本語法如下:sp_rename[@objname=]'object_name',[@newname=]'new_name'[,[@objtype=]'object_type']4.3.4使用Transact-SQL重命名表【例4.11】將成績管理數(shù)據(jù)庫AMDB中g(shù)rade表更名為score。9/20/2024
1004.3.5使用Transact-SQL刪除表9/20/2024
101刪除表的Transact-SQL語句是DROPDATABASE語句,其基本語法如下:DROPTABLE[database_name.[schema_name].|schema_name.]table_name[,...n][;]4.3.4使用Transact-SQL重命名表【例4.12】使用DROPTABLE語句刪除ReportServer數(shù)據(jù)庫上的DataSets和ConfigurationInfo表。9/20/2024
1024.4數(shù)據(jù)庫關(guān)系圖的創(chuàng)建和管理4.4.1使用SSMS創(chuàng)建數(shù)據(jù)庫關(guān)系圖4.4.2使用SSMS修改數(shù)據(jù)庫關(guān)系圖4.4.3使用SSMS刪除數(shù)據(jù)庫關(guān)系圖9/20/20241034.4.1使用SSMS創(chuàng)建數(shù)據(jù)庫關(guān)系圖【例4.13】創(chuàng)建成績管理數(shù)據(jù)庫AMDB中student和class兩個參照表之間的數(shù)據(jù)庫關(guān)系圖。9/20/2024
1044.4.2使用SSMS修改數(shù)據(jù)庫關(guān)系圖【例4.14】修改成績管理數(shù)據(jù)庫AMDB中數(shù)據(jù)庫關(guān)系圖gx-1,將其他三個表也加入進(jìn)來,并添加合適的關(guān)聯(lián)。9/20/2024
1054.4.3使用SSMS刪除數(shù)據(jù)庫關(guān)系圖1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→進(jìn)行關(guān)系圖刪除的數(shù)據(jù)庫→“數(shù)據(jù)庫關(guān)系圖”。2.右鍵單擊要刪除的數(shù)據(jù)庫關(guān)系圖,在彈出的快捷菜單中選擇“刪除”。3.此時會顯示一條信息,提示用戶確認(rèn)刪除,選擇“是”,則刪除此數(shù)據(jù)庫關(guān)系圖。在刪除數(shù)據(jù)庫關(guān)系圖時,關(guān)系圖中的數(shù)據(jù)表以及表之間的關(guān)聯(lián)并不會被刪除。9/20/2024
1064.5使用SSMS進(jìn)行表中數(shù)據(jù)更新4.5.1使用SSMS插入數(shù)據(jù)4.5.2使用SSMS更新數(shù)據(jù)4.5.3使用SSMS刪除數(shù)據(jù)9/20/20241074.5.1使用SSMS插入數(shù)據(jù)【例4.15】為成績管理數(shù)據(jù)庫AMDB中student表、class表和course表添加數(shù)據(jù)。9/20/2024
1084.5.1使用SSMS插入數(shù)據(jù)具體操作步驟如下:1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→“AMDB”→“表”。2.這三個表中student和class兩個表之間通過外鍵約束有參照完整性約束,主鍵字段是class表的class_no字段參,外鍵是student表的class_no字段,因此字輸入的時候,必須先輸入主鍵表class,然后再輸入外鍵表student,而且外鍵字段的取值范圍不能超過主鍵字段的取值范圍。因此我們決定先輸入class表的數(shù)據(jù),然后再輸入student表和course表的數(shù)據(jù)。3.右鍵單擊“class”表,在彈出的快捷菜單中選擇“編輯前200行”,,在打開的“表編輯器”中錄入數(shù)據(jù)即可。4.參照步驟3,向student表和course表添加對應(yīng)的數(shù)據(jù)。5.錄入完數(shù)據(jù)后,單擊工具欄上的“運(yùn)行”按鈕,然后關(guān)閉對應(yīng)窗口即可完成數(shù)據(jù)的添加。6.需要查看表中數(shù)據(jù)的時候,找到要查看的表,在右鍵快捷菜單中選擇“編輯前200行”即可在“表編輯器”中查看。9/20/2024
1094.5.2使用SSMS更新數(shù)據(jù)表中數(shù)據(jù)錄入后如果需要修改,可以在SSMS中進(jìn)行數(shù)據(jù)修改,具體方法如下:1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→修改表所在的數(shù)據(jù)庫→“表”。2.右鍵單擊需要進(jìn)行數(shù)據(jù)更新的表,在彈出的快捷菜單中選擇“編輯前200行”,在打開的“表編輯器”中選中要進(jìn)行更新的數(shù)據(jù)行,進(jìn)行修改即可。9/20/2024
1104.5.3使用SSMS刪除數(shù)據(jù)表中數(shù)據(jù)在使用一段時間后如果失效了就要及時刪除,可以在SSMS中進(jìn)行數(shù)據(jù)刪除,具體方法如下:1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→修改表所在的數(shù)據(jù)庫→“表”。2.右鍵單擊需要進(jìn)行數(shù)據(jù)更新的表,在彈出的快捷菜單中選擇“編輯前200行”。3.在打開的“表編輯器”中,右鍵單擊要進(jìn)行刪除的數(shù)據(jù)行,在彈出的快捷菜單中選擇“刪除”即可。9/20/2024
1114.6使用Transact-SQL進(jìn)行表中數(shù)據(jù)更新4.6.1使用Transact-SQL插入數(shù)據(jù)4.6.2使用Transact-SQL更新數(shù)據(jù)4.6.3使用Transact-SQL刪除數(shù)據(jù)9/20/20241124.6.1使用Transact-SQL插入數(shù)據(jù)9/20/2024
113向表中插入數(shù)據(jù)記錄Transact-SQL語句是INSERT語句,其基本語法如下:INSERT[INTO]table_name|view_name[(column_list)]VALUES({expression|DEFAULT|NULL}[,...n])4.6.1使用Transact-SQL插入數(shù)據(jù)【例4.16】為成績管理數(shù)據(jù)庫AMDB中teacher表添加數(shù)據(jù)。9/20/2024
1144.6.1使用Transact-SQL插入數(shù)據(jù)9/20/2024
1154.6.2使用Transact-SQL更新數(shù)據(jù)9/20/2024
116向表中更新數(shù)據(jù)記錄Transact-SQL語句是UPDATE語句,其基本語法如下:UPDATEtable_name|view_nameSETcolumn_name={expression|DEFAULT|NULL[,...n][WHERE<search_condition>]4.6.2使用Transact-SQL更新數(shù)據(jù)【例4.17】將教師teacher表中“趙琉球”教師的職稱更新為“教授”。9/20/2024
1174.6.3使用Transact-SQL刪除數(shù)據(jù)9/20/2024
118表中刪除數(shù)據(jù)記錄Transact-SQL語句是DELETE語句,其基本語法如下:DELETE[FROM]table_name|view_name[WHERE<search_condition>]4.6.3使用Transact-SQL刪除數(shù)據(jù)【例4.18】將教師teacher表中教師編號為6的記錄刪除。9/20/2024
119學(xué)習(xí)總結(jié)本章主要介紹了表的創(chuàng)建和管理,包括表的基本結(jié)構(gòu)、表的類型。數(shù)據(jù)類型、表的完整性和表的約束;使用SSMS和Transact-SQL語句創(chuàng)建表、修改表、重命名表和刪除表;創(chuàng)建和管理數(shù)據(jù)庫關(guān)系圖;在表中進(jìn)行數(shù)據(jù)更新等操作。9/20/2024
120Theend9/20/2024
121第5章索引的創(chuàng)建和管理20-9月-24122學(xué)習(xí)目標(biāo)了解索引的作用掌握索引的優(yōu)缺點能夠熟練利用SSMS創(chuàng)建和管理索引掌握利用Transact-SQL創(chuàng)建和管理索引20-9月-24123學(xué)習(xí)內(nèi)容5.1索引的概念5.2索引的分類5.3索引的設(shè)計原則5.4使用SSMS創(chuàng)建和管理索引9/20/20241245.1索引的概念索引是一種單獨的、存儲在磁盤上的數(shù)據(jù)庫結(jié)構(gòu),它包含從表或視圖中一個或多個列生成的鍵,以及映射到指定數(shù)據(jù)的存儲位置的指針。通過創(chuàng)建設(shè)計良好的索引以支持查詢,可以顯著提高數(shù)據(jù)庫查詢和應(yīng)用程序的性能。索引可以減少為返回查詢結(jié)果集而必須讀取的數(shù)據(jù)量。索引可以強(qiáng)制表中的行具有唯一性,從而確保表數(shù)據(jù)的數(shù)據(jù)完整性。9/20/2024
1255.2索引的分類SQLServer2012提供的索引有10種,包括聚集索引、非聚集索引、唯一索引、列存儲索引、帶有包含列的索引、計算列上的索引、篩選索引、空間索引、XML索引和全文索引。聚集索引非聚集索引唯一索引篩選索引全文索引9/20/2024
1265.3索引的設(shè)計原則在創(chuàng)建索引之前應(yīng)仔細(xì)計劃,這樣才不會設(shè)計不佳索引影響數(shù)據(jù)庫性能,在索引設(shè)計前要完成以下任務(wù):1.了解數(shù)據(jù)庫本身的特征。2.了解最常用的查詢的特征。3.了解查詢中使用的列的特征。4.確定哪些索引選項可在創(chuàng)建或維護(hù)索引時提高性能。5.確定索引的最佳存儲位置。9/20/2024
1275.3索引的設(shè)計原則在設(shè)計索引時,應(yīng)考慮以下原則:1.索引并非越多越好。2.避免對經(jīng)常更新的表進(jìn)行過多的索引,并且索引中的列盡可能少。3.數(shù)據(jù)量小的表最好不要使用索引。4.在條件表達(dá)式中經(jīng)常用到的不同值較多的列上建立索引。5.當(dāng)唯一性是某種數(shù)據(jù)本身的特性時,指定唯一索引。6.在頻繁進(jìn)行排序或分組的列上建立索引。9/20/2024
1285.4使用SSMS創(chuàng)建和管理索引5.4.1使用SSMS創(chuàng)建索引5.4.2使用SSMS查看和修改索引5.4.3使用SSMS重命名索引5.4.4使用SSMS刪除索引9/20/2024
1295.4.1使用SSMS創(chuàng)建索引【例5.1】現(xiàn)在要對成績管理數(shù)據(jù)庫AMDB中的學(xué)生(student)表進(jìn)行繼續(xù)完善,考慮到查詢學(xué)生信息的時候,要經(jīng)常通過姓名來查詢,所以在姓名stu_name字段上建立索引。9/20/2024
1305.4.2使用SSMS查看和修改索引索引創(chuàng)建之后可以根據(jù)需要對進(jìn)行查看和修改,具體過程如下:1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→索引所在數(shù)據(jù)庫→表→索引所在的表→“索引”,在“索引”節(jié)點下可以看到要查看或者修改的索引。2.右鍵單擊要查看或修改的索引,在彈出的快捷菜單中選擇“屬性”,也可以直接雙擊該索引,打開“索引屬性”對話框,在該對話框可以查看到表中的所有索引,也可以增加、刪除或者修改索引字段。9/20/2024
1315.4.3使用SSMS重命名索引1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→索引所在數(shù)據(jù)庫→表→索引所在的表→“索引”,在“索引”節(jié)點下可以看到要查看或者修改的索引。2.右鍵單擊要查看或修改的索引,在彈出的快捷菜單中選擇“重命名”,輸入新的索引名字即可。9/20/2024
1325.4.4使用SSMS刪除索引1.在“對象資源管理器”中,依次展開“服務(wù)器實例”→“數(shù)據(jù)庫”→索引所在數(shù)據(jù)庫→表→索引所在的表→“索引”,在“索引”節(jié)點下可以看到要查看或者修改的索引。2.右鍵單擊要查看或修改的索引,在彈出的快捷菜單中選擇“刪除”,在打開的“刪除對象”對話框中,單擊“確定”,即可完成索引的刪除。9/20/2024
1335.5使用Transact-SQL創(chuàng)建和管理索引5.5.1使用Transact-SQL創(chuàng)建索引5.5.2使用Transact-SQL查看索引5.5.3使用Transact-SQL修改索引5.5.4使用Transact-SQL重命名索引5.5.5使用Transact-SQL刪除索引9/20/20241345.5.1使用Transact-SQL創(chuàng)建索引9/20/2024
135創(chuàng)建索引的Transact-SQL語句是CREATEINDEX語句,其基本語法如下:CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_nameON<object>(column[ASC|DESC][,...n])[INCLUDE(column_name[,...n])][WHERE<filter_predicate>][WITH(<relational_index_option>[,...n])][ON{partition_scheme_name(column_name)|filegroup_name|default}][;]5.5.1使用Transact-SQL創(chuàng)建索引【例5.2】為成績管理數(shù)據(jù)庫AMDB的course表中的course_name設(shè)置唯一性非聚集索引。9/20/2024
1365.5.2使用Transact-SQL查看索引9/20/2024
137查看索引的Transact-SQL是采用的是系統(tǒng)存儲過程sp_helptext,其基本語法如下:sp_helptext[@objname=]'name'[,[@columnname=]computed_column_name]5.5.2使用Transact-SQL查看索引【例5.3】用系統(tǒng)存儲過程sp_helpindex,查看成績管理數(shù)據(jù)庫AMDB中的course表的索引信息。9/20/2024
1385.5.3使用Transact-SQL修改索引9/20/2024
139修改索引的Transact-SQL語句是ALTERINDEX語句,其基本語法如下:ALTERINDEX{index_name|ALL}ON<object>{REBUILD[PARTITION=ALL][WITH(<rebuild_index_option>[,...n])]|[PARTITION=partition_number[WITH(<single_partition_rebuild_index_option>)[,...n]]]|DISABLE|REORGANIZE[PARTITION=partition_number][WITH(LOB_COMPACTION={ON|OFF})]|SET(<set_index_option>[,...n])}[;]5.5.3使用Transact-SQL修改索引【例5.4】修改成績管理數(shù)據(jù)庫AMDB的course表中的索引idx_course_1,將其重新生成單個索引。9/20/2024
1405.5.4使用Transact-SQL重命名索引9/20/2024
141重命名索引的Transact-SQL采用的是系統(tǒng)存儲過程sp_rename,其基本語法如下:sp_rename[@objname=]'object_name',[@newname=]'new_name'[,[@objtype=]'object_type']【例5.5】用系統(tǒng)存儲過程sp_reanme,將成績管理數(shù)據(jù)庫AMDB中的course表的索引“idx_course_1”更名為“idx_course_wy”。9/20/2024
1425.5.5使用Transact-SQL刪除索引9/20/2024
143刪除索引的Transact-SQL語句是DROPINDEX語句,其基本語法如下:DROPINDEX[database_name.[schema_name].|schema_name.]table_or_view_name.index[,...n][;]或者DROPINDEXindexONtable_or_view_name5.5.5使用Transact-SQL刪除索引【例5.6】用Transact-SQL語句刪除成績管理數(shù)據(jù)庫AMDB中的course表的索引“idx_course_wy”。9/20/2024
144學(xué)習(xí)總結(jié)本章主要介紹了索引的創(chuàng)建和管理,包括索引的概念、索引的分類、索引的設(shè)計原則;使用SSMS和Transact-SQL語句創(chuàng)建索引、查看和修改索引、重命名索引以及刪除索引等。9/20/2024
145Theend9/20/2024
146第6章表中數(shù)據(jù)的查詢20-9月-24147學(xué)習(xí)目標(biāo)了解SELECT語句的基本結(jié)構(gòu)熟練使用SELECT語句中各子句來檢索數(shù)據(jù)熟練使用子查詢來檢索數(shù)據(jù)掌握使用連接查詢來檢索數(shù)據(jù)20-9月-24148學(xué)習(xí)內(nèi)容6.1SELECT檢索數(shù)據(jù)6.2子查詢6.3連接查詢9/20/20241496.1SELECT檢索數(shù)據(jù)6.1.1SELECT語句的基本結(jié)構(gòu)6.1.2WITH子句6.1.3SELECT子句6.1.4FROM子句6.1.5INTO子句6.1.6WHERE子句6.1.7GROUPBY子句6.1.8HAVING子句6.1.9ORDERBY子句9/20/20241506.1.1SELECT語句的基本結(jié)構(gòu)9/20/2024
151SELECT語句主要是從數(shù)據(jù)庫中檢索行,并允許從SQLServer2012中的一個或多個表中選擇一個或多個行或列?;窘Y(jié)構(gòu)可歸納如下:[WITH<common_table_expression>]SELECTselect_list[INTOnew_table][FROMtable_source][WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]6.1.2WITH子句WITH子句指定臨時命名的結(jié)果集,這些結(jié)果集稱為公用表表達(dá)式(CTE)。該表達(dá)式源自簡單查詢,并且在單條SELECT、INSERT、UPDATE或DELETE語句的執(zhí)行范圍內(nèi)定義。該子句也可用在CREATEVIEW語句中,作為該語句的SELECT定義語句的一部分。9/20/20241526.1.2WITH子句9/20/2024
153WITH語句基本語法格式如下:[WITH<common_table_expression>[,...n]]<common_table_expression>::=expression_name[(column_name[,...n])]AS(CTE_query_definition)6.1.2WITH子句【例6.1】利用成績管理數(shù)據(jù)庫AMDB中的teacher表的教師職稱和對應(yīng)人數(shù)來創(chuàng)建公用表表達(dá)式COUNTNUM。9/20/2024
1546.1.3SELECT子句9/20/2024
155SELECT子句指定查詢返回的列。其基本語法格式如下:SELECT[ALL|DISTINCT][TOP(expression)[PERCENT][WITHTIES]]<select_list><select_list>::={*|{table_name|view_name|table_alias}.*|{[{table_name|view_name|table_alias}.]{column_name|$IDENTITY|$ROWGUID}|udt_column_name[{.|::}{{property_name|field_name}|method_name(argument[,...n])}]|expression[[AS]column_alias]}|column_alias=expression}[,...n]6.1.3SELECT子句1.使用*和列名通配符“*”:所有字段名。查詢特定字段時,要給出要查找的字段的名稱,不同字段名稱之間用“,”分隔開,最后一個字段后面不需要加逗號?!纠?.2】查詢成績管理數(shù)據(jù)庫AMDB中的student表的所有數(shù)據(jù)。9/20/2024
1566.1.3SELECT子句【例6.3】查詢成績管理數(shù)據(jù)庫AMDB中的student表中學(xué)生的學(xué)號,姓名,性別和政治面貌。9/20/2024
1576.1.3SELECT子句2.使用TOP關(guān)鍵字返回前n行使用TOPn關(guān)鍵字,n為返回的行數(shù),如果指定了TOPnPERCENT,則返回表中的前n%行。【例6.4】查詢成績管理數(shù)據(jù)庫AMDB中的student表中前三行記錄的學(xué)號,姓名,性別和政治面貌。9/20/2024
1586.1.3SELECT子句【例6.5】查詢成績管理數(shù)據(jù)庫AMDB中的student表中前50%行記錄的學(xué)號,姓名,性別和政治面貌。9/20/2024
1596.1.3SELECT子句3.使用DISTINCT關(guān)鍵字取消重復(fù)SELECT語句默認(rèn)是返回所有匹配的行,即使重復(fù)數(shù)據(jù)也會被返回,為了避免重復(fù),可以使用DISTINCT關(guān)鍵字消除重復(fù)的記錄?!纠?.6】查詢成績管理數(shù)據(jù)庫AMDB中的student表中有幾種性別。9/20/2024
1606.1.3SELECT子句4.使用列別名SELECT語句默認(rèn)是返回的字段名稱,如果是表中原有字段則按照定義的名稱,如果是計算列,則顯示為無列名,可以給字段取一個別名來解決。別名的定義方式有以下三種: 列別名=列名 列名列別名 列名AS列別名【例6.7】查詢成績管理數(shù)據(jù)庫AMDB中的student表中前五行記錄的學(xué)號,姓名,性別和政治面貌,并且以中文別名顯示各字段。9/20/2024
1616.1.4FROM子句9/20/2024
162FROM子句是指定使用的表、視圖、派生表和聯(lián)接表。其基本語法格式如下:[FROM{<table_source>}[,...n]]<table_source>::={table_or_view_name[[AS]table_alias][<tablesample_clause>][WITH(<table_hint>[[,]...n])]|rowset_function[[AS]table_alias][(bulk_column_alias[,...n])]|user_defined_function[[AS]table_alias]]|OPENXML<openxml_clause>}6.1.4FROM子句【例6.8】查詢成績管理數(shù)據(jù)庫AMDB中的學(xué)生的學(xué)號、姓名、性別、班級名稱和政治面貌,其中姓名、班級、性別和政治面貌保存在學(xué)生表,班級名稱保持在班級表,兩個表都有班級編號字段。9/20/2024
1636.1.5INTO子句9/20/2024
164INTO子句是創(chuàng)建新表并將并將來自查詢的結(jié)果行插入該表中。其基本語法格式如下:[INTOnew_table]6.1.5INTO子句【例6.9】使用INTO子句創(chuàng)建一個新表,student_new,表中包含student表中所有女生的學(xué)號、姓名、性別和政治面貌。9/20/2024
1656.1.6WHERE子句9/20/2024
166WHERE子句是指定查詢返回的行的搜索條件。其基本語法格式如下:[WHERE<search_condition>]<search_condition>::={[NOT]<predicate>|(<search_condition>)}[{AND|OR}[NOT]{<predicate>|(<search_condition>)}][,...n]<predicate>::={expression{=|<>|!=|>|>=|!>|<|<=|!<}expression|string_expression[NOT]LIKEstring_expression[ESCAPE'escape_character']|expression[NOT]BETWEENexpressionANDexpression|expressionIS[NOT]NULL|CONTAINS({column|*},'<contains_search_condition>')|FREETEXT({column|*},'freetext_string')|expression[NOT]IN(subquery|expression[,...n])|expression{=|<>|!=|>|>=|!>|<|<=|!<}{ALL|SOME|ANY}(subquery)|EXISTS(subquery)}6.1.6WHERE子句1.使用關(guān)系表達(dá)式WHERE子句中,關(guān)系表達(dá)式由運(yùn)算符和列組成,可用于列值的大小關(guān)系的判斷?!纠?.10】查詢成績管理數(shù)據(jù)庫AMDB中的student表中班號是5602的同學(xué)記錄。9/20/2024
1676.1.6WHERE子句2.使用邏輯運(yùn)算符WHERE子句中,如果想把幾個單一條件組成一個復(fù)合條件,這就需要使用邏輯運(yùn)算符AND、OR和NOT。【例6.11】查詢成績管理數(shù)據(jù)庫AMDB中的student表中男團(tuán)員同學(xué)記錄。9/20/2024
1686.1.6WHERE子句【例6.12】查詢成績管理數(shù)據(jù)庫AMD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新舞蹈工作室舞蹈課程開發(fā)合同協(xié)議3篇
- 6觀察云(說課稿)-2024-2025學(xué)年三年級上冊科學(xué)教科版
- 2024水電預(yù)埋施工與運(yùn)維一體化承包合同3篇
- 2024抖音平臺年度品牌合作宣傳合同范本3篇
- 泵車承包給司機(jī)合同
- 2024汽配企業(yè)員工培訓(xùn)及勞務(wù)派遣合同范本3篇
- 中學(xué)生體育比賽報道征文
- 保溫管購銷合同范本
- 專業(yè)個人協(xié)作協(xié)議2024年版版
- 2《祖父的園子》(說課稿)2023-2024學(xué)年部編版語文五年級下冊
- 外研版八年級英語上冊期末單詞詞性分類測試表(漢譯英)
- 公路路基路面現(xiàn)場測試隨機(jī)選點記錄
- 一氧化氮讓你遠(yuǎn)離心腦血管病第(全書回顧綜合版)
- 2022年天津三源電力集團(tuán)限公司社會招聘33人上岸筆試歷年難、易錯點考題附帶參考答案與詳解
- 2023-2024學(xué)年廣東廣州番禺區(qū)四年級數(shù)學(xué)第一學(xué)期期末綜合測試試題含答案
- 尿崩癥診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 壓縮語段之語段要點概括公開課一等獎市優(yōu)質(zhì)課賽課獲獎?wù)n件
- 零售藥店醫(yī)保培訓(xùn)試題及答案,零售藥店醫(yī)保培
- 軍營防襲擊應(yīng)急預(yù)案方案
- 2023年浙江夏季世界少年思維研學(xué)“丁一杯”二年級數(shù)學(xué)模擬卷(一)含答案
- 職業(yè)病危害風(fēng)險管理
評論
0/150
提交評論