《數(shù)據(jù)庫原理與應(yīng)用》課件ch5 數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019_第1頁
《數(shù)據(jù)庫原理與應(yīng)用》課件ch5 數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019_第2頁
《數(shù)據(jù)庫原理與應(yīng)用》課件ch5 數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019_第3頁
《數(shù)據(jù)庫原理與應(yīng)用》課件ch5 數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019_第4頁
《數(shù)據(jù)庫原理與應(yīng)用》課件ch5 數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章數(shù)據(jù)庫管理系統(tǒng)SQLServer2019

本章內(nèi)容

5.1SQLServer2019簡介5.2SQLServer2019常用管理工具5.3SQLServer2019服務(wù)器的管理5.4SQLServer2019數(shù)據(jù)庫的創(chuàng)建與管理5.5SQLServer2019數(shù)據(jù)庫基本對象操作

第5章數(shù)據(jù)庫管理系統(tǒng)SQLServer2019

學(xué)習(xí)目標(biāo)理解SQLServer2019體系結(jié)構(gòu)和數(shù)據(jù)庫引擎的作用;掌握服務(wù)器的配置和連接方法;掌握SQLServer2019組成數(shù)據(jù)庫的各種對象的類型和作用;掌握SQLServer2019的各種數(shù)據(jù)類型;熟練掌握使用SQLServerManagementStudio圖形化工具的對象資源管理器創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫基本對象的方法。第5章數(shù)據(jù)庫管理系統(tǒng)SQLServer2019

重點與難點重點:掌握表、視圖、索引的創(chuàng)建和維護,特別是數(shù)據(jù)完

整性約束的定義。難點:完整性約束的定義。

5.1SQLServer2019簡介5.1.1SQLServer2019的體系結(jié)構(gòu)數(shù)據(jù)庫模塊

數(shù)據(jù)庫引擎、服務(wù)代理、復(fù)制服務(wù)、全文搜索等功能組件;商務(wù)智能模塊

分析服務(wù)、報表服務(wù)和集成服務(wù)。SQLServer2019的體系結(jié)構(gòu)

5.1SQLServer2019簡介數(shù)據(jù)庫引擎(SQLServerdatabaseengine,簡稱SSDE)數(shù)據(jù)庫引擎是SQLServer2019用于存儲、處理和保護數(shù)據(jù)的核心服務(wù),也是傳統(tǒng)意義上的數(shù)據(jù)庫管理系統(tǒng)??梢詣?chuàng)建用于OLTP或OLAP的關(guān)系數(shù)據(jù)庫。如,查詢數(shù)據(jù)、創(chuàng)建數(shù)據(jù)庫等操作,都是由數(shù)據(jù)庫引擎完成的。在大多數(shù)情況下,使用數(shù)據(jù)庫系統(tǒng),實際上就是使用數(shù)據(jù)庫引擎。5.1SQLServer2019簡介5.1.2SQLServer2019的主要亮點

SQLServer2019已成為數(shù)據(jù)庫領(lǐng)域穩(wěn)定性、可靠性、安全性最高和應(yīng)用性最廣泛的數(shù)據(jù)庫管理系統(tǒng)。其主要亮點如下:1.分析所有類型的數(shù)據(jù)2.靈活選擇語言和平臺3.依靠行業(yè)領(lǐng)先的性能4.安全性持續(xù)領(lǐng)先,值得信賴5.更快速地做出更好的決策5.1SQLServer2019簡介5.1.3SQLServer2019的配置

SQLServer的配置管理器SQLServerConfigurationManager)用于管理SQLServer的服務(wù)、網(wǎng)絡(luò)配置和客戶端配置。

執(zhí)行“開始”→MicrosoftSQLServer2019→“配置工具”→“SQLServer配置管理器”命令,啟動SQLServer配置管理器。

1)SQLServer2019的服務(wù)配置2)SQLServer2019的網(wǎng)絡(luò)配置3)SQLNativeClient配置5.2SQLServer2019常用管理工具5.2.1SQLServerManagementStudioSQLServerManagementStudio(SSMS)是SQLServer2019中最重要的一個集成環(huán)境管理工具,用于訪問、配置、控制、管理和開發(fā)SQLServer的所有組件。

SSMS的主要窗口:

1)已注冊服務(wù)器窗口

2)對象資源管理器窗口

3)查詢編輯器窗口

5.2SQLServer2019常用管理工具5.2.2SQLServer2019的配置工具

SQLServer2019的配置工具包括:

1)SQLServerConfigurationManager

2)ReportingServices配置

3)SQLServer錯誤和使用情況報告

5.2SQLServer2019常用管理工具

5.2.3SQLServerProfiler

SQLServerProfiler是用于從服務(wù)器上跟蹤和記錄SQLServer2019事件的工具。

啟動SQLServerProfiler的方法如下:方法一:在SSMS窗口,選擇菜單命令“工具”→“SQLServerProfiler”命令。方法二:執(zhí)行“開始”→“程序”→“MicrosoftSQLServerTooLS18”→“SQLServerProfiler18”命令。

5.2.4數(shù)據(jù)庫引擎優(yōu)化顧問數(shù)據(jù)庫引擎是用于存儲、處理和保護數(shù)據(jù)的核心服務(wù)。數(shù)據(jù)庫引擎優(yōu)化顧問是對SQLServer服務(wù)器應(yīng)用過程中承受的工作負(fù)荷進(jìn)行分析、提出優(yōu)化方案的工具。數(shù)據(jù)庫引擎優(yōu)化顧問可以讓數(shù)據(jù)庫管理員不必精通數(shù)據(jù)結(jié)構(gòu)、不必精通T-SQL語言,也可以完成對數(shù)據(jù)庫的優(yōu)化。5.2SQLServer2019常用管理工具

5.3創(chuàng)建服務(wù)器組和注冊服務(wù)器5.3.1服務(wù)器組的創(chuàng)建與刪除5.3.2服務(wù)器的注冊、刪除和連接5.3.3啟動和關(guān)閉SQLServer2019服務(wù)器

1.在SSMS中關(guān)閉、啟動服務(wù)器

2.在SQLServerConfigurationManager中關(guān)閉和啟動

3.通過后臺啟動和關(guān)閉服務(wù)器5.3SQLServer2019服務(wù)器的管理

5.4SQLServer2019數(shù)據(jù)庫操作5.4.1SQLServer2019的數(shù)據(jù)庫與架構(gòu)1.系統(tǒng)數(shù)據(jù)庫

5.4SQLServer2019數(shù)據(jù)庫的創(chuàng)建與管理1)master數(shù)據(jù)庫(最重要)

記錄了所有系統(tǒng)信息,由一些系統(tǒng)表組成,這些系統(tǒng)表負(fù)責(zé)跟蹤整個數(shù)據(jù)庫系統(tǒng)安裝和隨后創(chuàng)建的其他數(shù)據(jù)庫,對其他的數(shù)據(jù)庫實施管理和控制。2)model數(shù)據(jù)庫model(模板)是SQLServer為用戶創(chuàng)建數(shù)據(jù)庫提供的模板,新建的數(shù)據(jù)庫中的所有內(nèi)容都是從模板數(shù)據(jù)庫中復(fù)制過來。3)tempdb數(shù)據(jù)庫(共享)tempdb數(shù)據(jù)庫是一個臨時數(shù)據(jù)庫,用于保存所有的臨時表、臨時數(shù)據(jù)以及臨時創(chuàng)建的存儲過程。4)msdb數(shù)據(jù)庫msdb數(shù)據(jù)庫是代理服務(wù)數(shù)據(jù)庫,通常由SQLServer代理用來管理警報和作業(yè)。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理2.常用的數(shù)據(jù)庫對象數(shù)據(jù)庫對象是數(shù)據(jù)庫的重要組成部分,也是數(shù)據(jù)庫編程的主要對象。指具體數(shù)據(jù)庫管理的內(nèi)容,也就是存儲、管理和使用的不同結(jié)構(gòu)形式。如:數(shù)據(jù)庫關(guān)系圖、表、視圖等。3.?dāng)?shù)據(jù)庫對象的架構(gòu)一個數(shù)據(jù)庫對象通過4個命名部分組成的結(jié)構(gòu)來引用,引用數(shù)據(jù)庫的語法格式如下所示:

<服務(wù)器名>.<數(shù)據(jù)庫名>.<架構(gòu)名>.<數(shù)據(jù)庫對象名>

默認(rèn)架構(gòu):dbo允許用戶對數(shù)據(jù)庫對象進(jìn)行分類的容器對象,形成單個命名空間的數(shù)據(jù)庫對象的一個集合

5.4SQLServer2019數(shù)據(jù)庫操作5.4.2SQLServer2019的數(shù)據(jù)庫的基本結(jié)構(gòu)數(shù)據(jù)庫主要由文件和文件組組成,數(shù)據(jù)庫中的所有數(shù)據(jù)和數(shù)據(jù)庫對象都以文件的形式存儲在磁盤中。

5.4SQLServer2019數(shù)據(jù)庫的創(chuàng)建與管理1.?dāng)?shù)據(jù)庫的組成

1)數(shù)據(jù)庫文件數(shù)據(jù)庫文件是指數(shù)據(jù)庫中用來存放數(shù)據(jù)庫數(shù)據(jù)和數(shù)據(jù)庫對象的文件,在SQLServer系統(tǒng)中,一個數(shù)據(jù)庫在磁盤上可以保存為一個或多個數(shù)據(jù)庫文件,一個數(shù)據(jù)庫文件只能屬于一個數(shù)據(jù)庫。

(1)主數(shù)據(jù)文件(primaryfile)(2)次數(shù)據(jù)文件(secondaryfile)(3)事務(wù)日志文件(transactionlogfile)

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理(1)主數(shù)據(jù)文件(primaryfile)

數(shù)據(jù)庫的起點,指向數(shù)據(jù)庫文件的其他部分。

用來存放數(shù)

據(jù)和數(shù)據(jù)庫的初始化(啟動)信息和部分或全部數(shù)據(jù),是數(shù)據(jù)庫的主體(每個數(shù)據(jù)庫不可缺少的部分)。

每個數(shù)據(jù)庫有且僅有一個,用戶數(shù)據(jù)和對象也可以存儲在此文件中,文件擴展名為.mdf。 (2)次數(shù)據(jù)文件(secondaryfile)用來存儲主數(shù)據(jù)文件沒有存儲的其他數(shù)據(jù)和對象。如果mdf文件足夠大,能夠容納數(shù)據(jù)庫中的所有數(shù)據(jù),則該數(shù)據(jù)庫不需要次數(shù)據(jù)文件。擴展名為.ndf。

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理

用來記錄數(shù)據(jù)庫更新情況的文件,用事務(wù)日志文件來記錄所有事務(wù)及每個事務(wù)對數(shù)據(jù)庫進(jìn)行的插入、刪除和更新操作。事務(wù)日志是數(shù)據(jù)庫的重要組件(恢復(fù))每個數(shù)據(jù)庫至少擁有一個事務(wù)日志文件,也可以擁有多個日志文件。文件擴展名為.ldf。

3)事務(wù)日志文件(transactionlogfile)

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理建立數(shù)據(jù)庫時,需要注意:1.SQLServer2019不強制使用.mdf、.ndf、.ldf文件擴展名,但使用,可以幫助標(biāo)識文件的用途。2.每個數(shù)據(jù)庫文件都有邏輯文件名和物理文件名兩種名稱。3.物理文件名是數(shù)據(jù)庫文件在操作系統(tǒng)中存儲的文件名,是操作系統(tǒng)文件的實際名稱,每個物理文件名都有明確的存儲位置,在SQLServer內(nèi)部訪問非常不便。4.邏輯文件名只在T-SQL語句中使用,是實際磁盤文件名的代號,比較簡單,引用起來比較方便。5.一個物理文件名對應(yīng)一個邏輯文件名。

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理2)數(shù)據(jù)庫文件組

文件組

為了方便DBA管理多個數(shù)據(jù)文件,可以將多個數(shù)據(jù)庫文件集合起來形成一個整體,稱為文件組。

文件組是SQLServer2019數(shù)據(jù)文件的一種邏輯管理單位,對文件分組的目的就是便于進(jìn)行管理和進(jìn)行數(shù)據(jù)分配。

SQLServer2019提供了3種類型的文件組:

(1)主(primary)文件組

(2)用戶自定義(user-defined)文件組

(3)默認(rèn)(default)文件組。

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理①一個數(shù)據(jù)文件只能存在于一個文件組中,不能存在于兩個或兩個以上的文件組中。②一個文件組也只能被一個數(shù)據(jù)庫使用。③日志文件不屬于任何文件組。

使用數(shù)據(jù)庫文件和文件組時,必須遵循以下規(guī)則:

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理頁是SQLServer存儲數(shù)據(jù)的基本單位。SQLServer數(shù)據(jù)文件的內(nèi)容在邏輯上是分成連續(xù)的分頁,當(dāng)數(shù)據(jù)庫配置文件的磁盤空間時,就是配置0至n頁的連續(xù)分頁。數(shù)據(jù)庫的數(shù)據(jù)表或索引就是使用這些分頁來存放數(shù)據(jù)。

3)分頁數(shù)據(jù)文件劃分為不同的頁,每個頁的大小為8KB,128頁分頁等于1MB空間。當(dāng)在數(shù)據(jù)文件新建記錄時,如果是在空數(shù)據(jù)文件新建第一筆記錄時,不論記錄大小,SQLServer一定配置一頁分頁給數(shù)據(jù)表來存儲這筆記錄,其他記錄則會按照順序存入分頁配置的可用空間中。表中每一行的數(shù)據(jù)不能跨頁存儲,分頁中的記錄一定是完整記錄,不會只有記錄的部分字段數(shù)據(jù)。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理5.4.3使用SSMS創(chuàng)建數(shù)據(jù)庫

1.?dāng)?shù)據(jù)庫的命名規(guī)則命名規(guī)則取決于數(shù)據(jù)庫的兼容級別。其命名規(guī)則如下:1、數(shù)據(jù)庫對象名稱長度為1~128,不能超過128個字符,臨時對象的名稱不能超過116個字符,不區(qū)分大小寫。2、名稱的第一個字符不可以使用數(shù)字、下劃線、@、#、$等符號。3、在中文版的SQLServer2019中,可以直接使用中文名稱。4、名稱不建議使用T-SQL關(guān)鍵詞,因為T-SQL不區(qū)分大小寫,因此不建議包含任何大小寫的關(guān)鍵詞。5、名稱中不能有空格,特殊字符開頭,否則需要使用界定標(biāo)識符“‘’”或方括號“[]”將名稱括起。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理2.創(chuàng)建數(shù)據(jù)庫1)創(chuàng)建數(shù)據(jù)庫的步驟在SQLServerManagementStudio中創(chuàng)建數(shù)據(jù)庫的具體步驟。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理2)創(chuàng)建數(shù)據(jù)庫的基本信息說明(1)“新建數(shù)據(jù)庫”窗口中的“常規(guī)”選項中“所有者”可以是任何具有創(chuàng)建數(shù)據(jù)庫權(quán)限的登錄名,對數(shù)據(jù)庫有完全操作權(quán)限的用戶。如sa。(2)數(shù)據(jù)庫文件的邏輯名稱:默認(rèn)情況下,數(shù)據(jù)文件的邏輯文件名和數(shù)據(jù)庫同名,創(chuàng)建數(shù)據(jù)庫時,系統(tǒng)會以數(shù)據(jù)庫文件名作為前綴創(chuàng)建主數(shù)據(jù)文件和日志文件,日志文件的邏輯名稱加上“_log”,也可以為數(shù)據(jù)文件和日志文件指定其他合法的邏輯名稱。

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理

(3)路徑:數(shù)據(jù)庫文件存放的物理位置。默認(rèn)情況下,SQLServer2019將數(shù)據(jù)文件保存在安裝目錄下的data文件中,可以根據(jù)需要修改。

(4)文件名:數(shù)據(jù)文件和日志文件的物理文件名,默認(rèn)時與數(shù)據(jù)庫同名,主數(shù)據(jù)文件名的擴展名是.mdf,日志文件名在主數(shù)據(jù)文件名上加上“_log”,其擴展名是.ldf。

注意:數(shù)據(jù)文件盡量不要保存在系統(tǒng)盤上,并與日志文件保存在不同的磁盤區(qū)域中。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理5.4.3數(shù)據(jù)庫的管理

1.查看和修改數(shù)據(jù)庫參數(shù)

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理

2.收縮數(shù)據(jù)庫

“任務(wù)”→“收縮”→“數(shù)據(jù)庫”命令

5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理3.重命名數(shù)據(jù)庫

4.刪除數(shù)據(jù)庫

刪除數(shù)據(jù)庫一定要慎重,因為數(shù)據(jù)庫的刪除是徹底地將相應(yīng)的數(shù)據(jù)庫文件從物理磁盤上刪除,是永久性的。

5.分離和附加數(shù)據(jù)庫

分離和附加是數(shù)據(jù)庫開發(fā)過程中的重要操作。5.4SQLServer2019數(shù)據(jù)庫創(chuàng)建與管理5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.1SQLServer2019的數(shù)據(jù)類型

1.系統(tǒng)數(shù)據(jù)類型

1)整數(shù)數(shù)據(jù)類型可以存儲整數(shù)但沒有小數(shù)的數(shù)值數(shù)據(jù)。實際應(yīng)用時,可以按照字段取值的范圍決定使用哪一種整數(shù)數(shù)據(jù)類型。5.5SQLServer2019數(shù)據(jù)庫基本對象操作

2)精確小數(shù)數(shù)據(jù)類型可以存儲包含小數(shù)的數(shù)值數(shù)據(jù),而且完全保留數(shù)值數(shù)據(jù)的精確度。其中p為精度,指定小數(shù)點左邊和右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù),s為小數(shù)位數(shù),指定小數(shù)點右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù)。5.5SQLServer2019數(shù)據(jù)庫基本對象操作3)浮點數(shù)數(shù)據(jù)類型可以用來存儲擁有小數(shù)點的數(shù)值數(shù)據(jù),此類型也稱為不精確小數(shù)數(shù)據(jù)類型,因為當(dāng)數(shù)值非常大或非常小時,其存儲的數(shù)據(jù)是一個近似值。float數(shù)據(jù)類型可以指定存儲數(shù)值數(shù)據(jù)的位數(shù)n,n的值如果是1~24,SQLServer使用24,占用4個字節(jié)數(shù);25~53使用53,占用8個字節(jié)數(shù),是默認(rèn)值。當(dāng)使用float和real數(shù)據(jù)類型來定義數(shù)據(jù)表字段時,如果數(shù)值超過精確度的位數(shù),就會四舍五入而產(chǎn)生誤差的近似值。5.5SQLServer2019數(shù)據(jù)庫基本對象操作

4)貨幣數(shù)據(jù)類型貨幣型常量可以包含小數(shù)點,都可以精確到小數(shù)點后4位。實際上,可以使用decimal數(shù)據(jù)類型來存儲貨幣數(shù)據(jù)。5.5SQLServer2019數(shù)據(jù)庫基本對象操作

5)字符串?dāng)?shù)據(jù)類型用來存儲有字母、符號和數(shù)字組成的字符串?dāng)?shù)據(jù)。在SQLServer中,字符的編碼方式有ASCII碼和Unicode碼。ASCII碼指的是不同國家或地區(qū)的編碼長度不一樣,如英文字母編碼是1個字節(jié)(8位),中文漢字的編碼是2個字節(jié)(16位)。Unicode碼用來存儲使用統(tǒng)一字碼為字碼集的字符串?dāng)?shù)據(jù),不管對哪個地區(qū)、哪種語言均使用雙字節(jié)(16位)編碼。5.5SQLServer2019數(shù)據(jù)庫基本對象操作

6)日期數(shù)據(jù)類型注意:在定義某一具體的日期時間時可以使用字符串按照日期時間的格式進(jìn)行定義,系統(tǒng)將自動把該字符串轉(zhuǎn)換為日期時間類型。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2.自定義數(shù)據(jù)類型

SQLServer2019除了系統(tǒng)提供的數(shù)據(jù)類型外,還支持用戶自定義數(shù)據(jù)類型。允許用戶根據(jù)需要自己定義數(shù)據(jù)類型,并且可以用自定義數(shù)據(jù)類型來聲明變量或字段。用戶自定義數(shù)據(jù)類型是在創(chuàng)建別名數(shù)據(jù)類型,是一種數(shù)據(jù)類型的別名。當(dāng)多個表中的列要存儲同樣類型的數(shù)據(jù),且想確保這些列具有完全相同的數(shù)據(jù)類型、長度和是否為NULL屬性時,可以使用用戶自定義數(shù)據(jù)類型。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.2表的創(chuàng)建和維護

1.表結(jié)構(gòu)的創(chuàng)建、修改和刪除表(Table)是SQLServer數(shù)據(jù)庫系統(tǒng)的基本信息存儲結(jié)構(gòu)。是數(shù)據(jù)存放的地方,也稱基本表。用戶所關(guān)心的數(shù)據(jù)都存儲在表中,對數(shù)據(jù)的訪問、維護都是通過對表的操作實現(xiàn)的。

表的創(chuàng)建一般要經(jīng)過定義表的結(jié)構(gòu),設(shè)置約束和添加數(shù)據(jù)3個步驟.

5.5SQLServer2019數(shù)據(jù)庫基本對象操作1)創(chuàng)建表結(jié)構(gòu)(1)打開“SSMS”窗口,在“對象資源管理器”中依次展開需要創(chuàng)建表的數(shù)據(jù)庫(2)調(diào)出表設(shè)計器,通過表設(shè)計器可以進(jìn)行表結(jié)構(gòu)的創(chuàng)建、修改。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2.SQLServer的表約束為了減少輸入錯誤、防止出現(xiàn)非法數(shù)據(jù),在創(chuàng)建表結(jié)構(gòu)時可以在列字段上設(shè)置約束,以保證數(shù)據(jù)庫中數(shù)據(jù)的一致性和完整性。SQLServer2019中的約束包括:

1)主鍵約束

2)唯一性約束

3)空值約束

4)默認(rèn)值約束

5)外鍵約束

6)檢查約束

5.5SQLServer2019數(shù)據(jù)庫基本對象操作3.管理表中的數(shù)據(jù)

1)插入數(shù)據(jù)2)更新數(shù)據(jù)

3)刪除數(shù)據(jù)

5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.3數(shù)據(jù)庫關(guān)系圖的創(chuàng)建和維護

1創(chuàng)建數(shù)據(jù)庫關(guān)系圖步驟如下:(1)在SSMS的對象資源管理器窗口下,展開數(shù)據(jù)庫“圖書管理”→“數(shù)據(jù)庫關(guān)系圖”節(jié)點,右鍵單擊“數(shù)據(jù)庫關(guān)系圖”命令完成創(chuàng)建。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.4索引的創(chuàng)建和維護索引(Index)是一個單獨的、存儲在磁盤上的物理數(shù)據(jù)庫結(jié)構(gòu),包含著對數(shù)據(jù)表所有記錄的引用指針,是影響數(shù)據(jù)庫性能的一個重要因素。索引是依賴于數(shù)據(jù)表建立的,是將數(shù)據(jù)表中的記錄按照某個列或多個列的值進(jìn)行排序。

1.創(chuàng)建索引不同的數(shù)據(jù)庫管理系統(tǒng)提供了不同的索引類型,在SQLServer2019中的索引主要有聚集索引和非聚集索引兩種。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作1.創(chuàng)建索引右擊“圖書”表節(jié)點下面的“索引”節(jié)點,在彈出的快捷菜單中選擇“新建索引”→“非聚集索引”命令,打開“新建索引”窗口。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2.管理和維護索引由于在數(shù)據(jù)表中進(jìn)行錄入、刪除或更新操作時,會使索引頁出現(xiàn)碎塊。為了提高系統(tǒng)的性能,索引創(chuàng)建之后可以根據(jù)需要對數(shù)據(jù)庫中的索引進(jìn)行管理,這些管理包括修改索引、刪除索引,顯示索引信息,索引的性能分析和維護等。修改索引就是更改索引屬性,由于創(chuàng)建索引需要額外的磁盤空間和維護成本,當(dāng)不再需要某個索引時,可以將其刪除。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作3.?dāng)?shù)據(jù)表的索引規(guī)劃

1)建立索引的原則 (1)根據(jù)查詢要求建立索引。(2)對于數(shù)據(jù)表查詢時很少引用到的字段、大量重復(fù)的字段,不應(yīng)該為其建立索引。(3)大表應(yīng)當(dāng)建索引,小表則不必建索引。(4)對于一個基本表,不要建立過多的索引。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2)創(chuàng)建索引的注意事項(1)一個數(shù)據(jù)表最多只能有一個聚集索引和249個非聚集索引。(2)每一個數(shù)據(jù)表只能創(chuàng)建一個聚集索引,但可以創(chuàng)建多個非聚集索引。(3)可以選擇數(shù)據(jù)表的多個字段集合來創(chuàng)建聯(lián)合索引(聯(lián)合索引字段最多只能有16個字段)。由于聯(lián)合索引的索引字段尺寸通常比較大,需要更多的磁盤讀取,反而會影響整體的執(zhí)行性能。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作3)索引的作用(1)使用索引可以明顯地加快數(shù)據(jù)查詢的速度。(2)使用索引可以加快數(shù)據(jù)庫中基本表的連接速度。(3)使用索引可保證數(shù)據(jù)的唯一性。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.5視圖的創(chuàng)建和維護視圖(View)是從一張或多張表中導(dǎo)出的表,是用戶查看數(shù)據(jù)庫中數(shù)據(jù)的一種方式,其結(jié)構(gòu)和數(shù)據(jù)內(nèi)容是建立在對表的查詢基礎(chǔ)上,由查詢語句執(zhí)行后所得到的查詢結(jié)果所構(gòu)成。通過視圖看到的數(shù)據(jù)只是存放在基本表中的數(shù)據(jù)。視圖在數(shù)據(jù)庫中并不是真實存在的,數(shù)據(jù)庫中存在的只是視圖的定義,視圖是一個虛擬的表。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作1.視圖的創(chuàng)建、刪除和修改

1)創(chuàng)建視圖

通過圖形化工具SSMS創(chuàng)建視圖的步驟如下:(1)啟動SSMS窗口,在“對象資源管理器”中展開目標(biāo)數(shù)據(jù)庫“圖書管理”→“視圖”節(jié)點,右擊“視圖”節(jié)點,在彈出的快捷菜單中單擊“新建視圖”命令,打開如下圖所示的“添加表”對話框。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作(2)打開“視圖設(shè)計器”窗口,如下圖所示。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2)修改視圖修改視圖的方法和創(chuàng)建視圖相同,右擊需要修改的視圖,在彈出的快捷菜單中選擇“設(shè)計”命令,出現(xiàn)視圖修改對話框,該對話框和創(chuàng)建視圖的對話框相同,可以按照創(chuàng)建視圖的方法修改視圖。

注意:

由于視圖可以被另外的視圖作為數(shù)據(jù)源使用,所以修改視圖時要小心。如果刪除了某列輸出,而該列正好在其他視圖中使用,那么在修改該視圖后其他關(guān)聯(lián)的視圖將無法再使用。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作3)刪除視圖創(chuàng)建好的視圖,如果不再需要,或想清除視圖定義及與之相關(guān)聯(lián)的權(quán)限,則可以刪除該視圖。刪除視圖后,表和視圖所基于的數(shù)據(jù)并不受影響,刪除的是一個對象,因此任何基于以刪除視圖的查詢將會失敗。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2.通過視圖修改數(shù)據(jù)可以利用視圖對創(chuàng)建它的數(shù)據(jù)源進(jìn)行一定的修改,如插入新的數(shù)據(jù)記錄、刪除記錄和更新記錄,但通過視圖添加、更新和刪除數(shù)據(jù)時,與表相比有一些限制,要求所建的視圖必須滿足源數(shù)據(jù)表的完整性約束條件。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作1)視圖能夠簡化用戶的操作,提高數(shù)據(jù)操作效率2)視圖可以使用戶以不同的方式看待同一數(shù)據(jù)3)視圖在一定程度上保證數(shù)據(jù)的邏輯獨立性4)視圖可以對機密的數(shù)據(jù)提供安全保護3.視圖的用途

5.5SQLServer2019數(shù)據(jù)庫基本對象操作5.5.6存儲過程的創(chuàng)建和維護存儲過程(StoredProcedure,SP)是數(shù)據(jù)庫中運用十分廣泛的一種數(shù)據(jù)庫對象,已成為DBA的重要工具。存儲過程實際上就是一組預(yù)先編譯好的、為了實現(xiàn)某種特定功能的T-SQL語句集合,包括查詢、插入、刪除和更新等操作,經(jīng)編譯后以名稱的形式存儲在SQLServer服務(wù)器端的數(shù)據(jù)庫中,而不是單獨的文件中。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作1.存儲過程的優(yōu)點

1)改善系統(tǒng)性能,提高執(zhí)行效率

2)減少了網(wǎng)絡(luò)流量

3)提供了一種安全機制

4)模塊化的程序設(shè)計

5.5SQLServer2019數(shù)據(jù)庫基本對象操作2.創(chuàng)建存儲過程存儲過程主要分為系統(tǒng)存儲過程和用戶定義的存儲過程兩種。系統(tǒng)存儲過程由SQLServer2019自身提供,用戶可以直接使用。使用系統(tǒng)存儲過程完成數(shù)據(jù)庫服務(wù)器的管理工作,為系統(tǒng)管理員提供幫助,為用戶查看數(shù)據(jù)庫對象提供方便。系統(tǒng)存儲過程位于數(shù)據(jù)庫服務(wù)器中,并且以sp_開頭,其定義在系統(tǒng)數(shù)據(jù)庫和用戶定義的數(shù)據(jù)庫中。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作啟動SSMS,并連接到SQLServer2019中的數(shù)據(jù)庫,在“對象資源管理器”中展開“服務(wù)器”→“數(shù)據(jù)庫”→“圖書管理”→“可編程性”→“系統(tǒng)存儲過程”,可以看到系統(tǒng)提供的存儲過程。

5.5SQLServer2019數(shù)據(jù)庫基本對象操作使用SSMS窗口創(chuàng)建存儲過程的步驟如下:(1)在“對象資源管理器”中依次展開要創(chuàng)建存儲過程的“圖書管理”數(shù)據(jù)庫中的“可編程性”→“存儲過程”節(jié)點。右擊“存儲過程”節(jié)點,從彈出的快捷菜單中選擇“新建存儲過程”命令。(2)選擇“新建存儲過程”命令后,打開“創(chuàng)建存儲過程的查詢編輯器”窗口.在該窗口中,系統(tǒng)自動生成有提示的CREATEPROCEDURE語句的存儲過程模板,

5.5SQLServer2019數(shù)據(jù)庫基本對象操作(4)單擊“SQL編輯器”工具欄上的“分析”按鈕,檢查輸入的T-SQL語句是否有語法錯誤,確

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論