數(shù)據(jù)庫(kù)課件第3章 SQL Server2016數(shù)據(jù)庫(kù)基礎(chǔ)_第1頁(yè)
數(shù)據(jù)庫(kù)課件第3章 SQL Server2016數(shù)據(jù)庫(kù)基礎(chǔ)_第2頁(yè)
數(shù)據(jù)庫(kù)課件第3章 SQL Server2016數(shù)據(jù)庫(kù)基礎(chǔ)_第3頁(yè)
數(shù)據(jù)庫(kù)課件第3章 SQL Server2016數(shù)據(jù)庫(kù)基礎(chǔ)_第4頁(yè)
數(shù)據(jù)庫(kù)課件第3章 SQL Server2016數(shù)據(jù)庫(kù)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用

——基于SQLServer2016和MongoDB第3章SQLServer2016數(shù)據(jù)庫(kù)基礎(chǔ)第3章SQLServer2016數(shù)據(jù)庫(kù)基礎(chǔ)3.1SQLServer2016簡(jiǎn)介3.2SQLServer2016的登錄3.3SQLServerManagementStudio簡(jiǎn)介3.4SQLServer2016數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)與分類3.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB23.1SQLServer2016簡(jiǎn)介SQLServer的發(fā)展歷程SQLServer是一種廣泛應(yīng)用于網(wǎng)絡(luò)業(yè)務(wù)數(shù)據(jù)處理的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),經(jīng)歷20多年后發(fā)展到了今天的產(chǎn)品。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB3年份發(fā)布版本代碼名稱1987SybaseSQLServer-1989SQLServer1.0Filipi1991SQLServer1.1Pietro1993SQLServer4.21aSQLNT1994

1995SQLServer6.0SQL951996SQLServer6.5Hydra3.1SQLServer2016簡(jiǎn)介SQLServer的發(fā)展歷程數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB4年份發(fā)布版本代碼名稱1998SQLServer7.0Sphinx2000SQLServer2000Shiloh2003SQLServer200064位版Liberty2005SQLServer2005Yukon2008SQLServer2008Katmai2010AzureSQLdatabaseCloudDB2010SQLServer2008R2Kilimanjaro(akaKJ)2012SQLServer2012Denali2014SQLServer2014Hekaton2016SQLServer2016-2017SQLServer2017-2018SQLServer2018Hekaton3.1SQLServer2016簡(jiǎn)介SQLServer2016的主要功能伸縮數(shù)據(jù)庫(kù)(StretchDatabase)。為了增強(qiáng)其性能,可將數(shù)據(jù)動(dòng)態(tài)延伸至云計(jì)算平臺(tái)與服務(wù)Azure,便于及時(shí)查看且始終處于安全保護(hù)。實(shí)時(shí)業(yè)務(wù)分析與加速數(shù)據(jù)處理。主要借助實(shí)時(shí)業(yè)務(wù)分析與內(nèi)存中聯(lián)機(jī)事務(wù)處理(OLTP)功能提供實(shí)時(shí)數(shù)據(jù)分析并加速數(shù)據(jù)處理。支持全程加密技術(shù)(AlwaysEncrypted)。增強(qiáng)的安全功能。提升可用性及災(zāi)難可恢復(fù)性。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB53.1SQLServer2016簡(jiǎn)介SQLServer2016的主要功能更快的混合型hybrid備份。為多種類型數(shù)據(jù)提供更好的支持??捎眯院涂蓴U(kuò)展性得到較大提升。內(nèi)置高級(jí)分析(Built-inAdvancedAnalytics)、混合基(PolyBase)和移動(dòng)商業(yè)智能(MobileBI)。多TempDB數(shù)據(jù)庫(kù)文件。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB63.1SQLServer2016簡(jiǎn)介SQLServer2016的各版本和支持的功能SQLServer2016分為SQLServer2016企業(yè)版(Enterprise)、標(biāo)準(zhǔn)版(Standard)、Web版、開發(fā)者版(Developer)和速成版(Express),其功能、作用和價(jià)格也各不相同。其中,開發(fā)者版和速成版可免費(fèi)下載。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB7SQLServer2016分為SQLServer2016企業(yè)版(Enterprise)、標(biāo)準(zhǔn)版(Standard)、Web版、開發(fā)者版(Developer)和速成版(Express),其功能、作用和價(jià)格也各不相同,如表1?2所示。其中,開發(fā)者版和速成版可免費(fèi)下載。

3.1SQLServer2016簡(jiǎn)介SQLServer2016的各版本和支持的功能數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB8版本分類功能企業(yè)版提供了全面的高端數(shù)據(jù)中心功能,性能極為快捷、虛擬化不受限制,還具有端到端的商業(yè)智能,可為關(guān)鍵任務(wù)工作負(fù)荷提供較高服務(wù)級(jí)別,支持最終用戶訪問深層數(shù)據(jù)。標(biāo)準(zhǔn)版提供了基本數(shù)據(jù)管理和商業(yè)智能數(shù)據(jù)庫(kù),使部門和小型組織能夠順利運(yùn)行其應(yīng)用程序并支持將常用開發(fā)工具用于內(nèi)部部署和云部署,有助于以最少的IT資源獲得高效的數(shù)據(jù)庫(kù)管理。Web版對(duì)于為從小規(guī)模至大規(guī)模

Web資產(chǎn)提供可伸縮性、經(jīng)濟(jì)性和可管理性功能的

Web宿主和WebVAP來(lái)說(shuō),SQLServerWeb版本是一項(xiàng)總擁有成本較低的選擇。開發(fā)者版支持開發(fā)人員基于SQLServer構(gòu)建任意類型的應(yīng)用程序。它包括企業(yè)版的所有功能,但有許可限制,只能用作開發(fā)和測(cè)試系統(tǒng),而不能用作生產(chǎn)服務(wù)器。SQLServer開發(fā)者版是構(gòu)建SQLServer和測(cè)試應(yīng)用程序的人員的理想之選。速成版是入門級(jí)的免費(fèi)數(shù)據(jù)庫(kù),是學(xué)習(xí)和構(gòu)建桌面及小型服務(wù)器數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序的理想選擇。3.1SQLServer2016簡(jiǎn)介SQLServer2016的服務(wù)器組件數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB93.1SQLServer2016簡(jiǎn)介SQLServer2016的服務(wù)器組件數(shù)據(jù)庫(kù)引擎是SQLServer2016的核心組件,負(fù)責(zé)完成業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)、處理和安全管理等操作。包括數(shù)據(jù)庫(kù)引擎(用于存儲(chǔ)、處理和保護(hù)數(shù)據(jù)、復(fù)制及全文搜索的核心服務(wù))、用于管理關(guān)系數(shù)據(jù)和XML數(shù)據(jù)的工具,以及數(shù)據(jù)質(zhì)量服務(wù)(DataQualityServices,DQS)的服務(wù)器。例如,創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表、創(chuàng)建視圖、數(shù)據(jù)查詢、訪問數(shù)據(jù)庫(kù)等操作,都是由數(shù)據(jù)庫(kù)引擎完成的。通常情況下,使用SQLServer2016實(shí)際上就是在使用數(shù)據(jù)庫(kù)引擎。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB103.1SQLServer2016簡(jiǎn)介SQLServer2016的服務(wù)器組件分析服務(wù)為商業(yè)智能提供了聯(lián)機(jī)分析處理(OnlineAnalyticalProcessing,OLAP)和數(shù)據(jù)挖掘功能,可以支持用戶建立數(shù)據(jù)倉(cāng)庫(kù)和商業(yè)智能分析。使用分析服務(wù),用戶可以設(shè)計(jì)、創(chuàng)建和管理包含來(lái)自于其他數(shù)據(jù)源數(shù)據(jù)的多維結(jié)構(gòu),通過對(duì)多維數(shù)據(jù)進(jìn)行多角度分析,可以使管理人員對(duì)業(yè)務(wù)數(shù)據(jù)有更全面的理解。另外,通過使用分析服務(wù),用戶可以完成數(shù)據(jù)挖掘模型的構(gòu)造和應(yīng)用,實(shí)現(xiàn)知識(shí)發(fā)現(xiàn)、表示和管理。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB113.1SQLServer2016簡(jiǎn)介SQLServer2016的服務(wù)器組件集成服務(wù)是一組圖形工具和可編程對(duì)象,用于生成企業(yè)級(jí)數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺(tái),可以完成有關(guān)數(shù)據(jù)的提取、轉(zhuǎn)換、加載等操作。報(bào)表服務(wù)包括用于創(chuàng)建、管理和部署表格報(bào)表、矩陣報(bào)表、圖形報(bào)表以及自由格式報(bào)表的服務(wù)器和客戶端組件,可為用戶提供支持Web的企業(yè)級(jí)報(bào)表功能。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB123.1SQLServer2016簡(jiǎn)介SQLServer2016的服務(wù)器組件主數(shù)據(jù)服務(wù)是針對(duì)主數(shù)據(jù)管理的SQLServer解決方案。R服務(wù)(數(shù)據(jù)庫(kù)內(nèi))支持在多個(gè)平臺(tái)上使用可縮放的分布式R解決方案,并支持使用多個(gè)企業(yè)數(shù)據(jù)源(如Linux、Hadoop和Teradata等)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB133.1SQLServer2016簡(jiǎn)介SQLServer2016的主要管理工具SQLServer管理平臺(tái)(SQLServerManagementStudio,SSMS)。SSMS是一個(gè)圖形化的集成環(huán)境,它將查詢分析器和服務(wù)管理器的各種功能組合到一個(gè)集成環(huán)境中,用于訪問、配置、管理和開發(fā)SQLServer的相關(guān)工作。SQLServer數(shù)據(jù)工具(SQLServerDataTools)。SQLServer2016以前版本將其稱作商業(yè)智能開發(fā)工具(BusinessIntelligenceDevelopmentStudio),其提供集成開發(fā)環(huán)境(IDE)以便為分析服務(wù)、報(bào)表服務(wù)和集成服務(wù)智能組件生成解決方案,該工具包括了一些項(xiàng)目模板。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB143.1SQLServer2016簡(jiǎn)介SQLServer2016的主要管理工具SQLServer配置管理器(SQLServerConfigurationManager)。它用于管理與SQLServer相關(guān)的服務(wù)、配置SQLServer使用的網(wǎng)絡(luò)協(xié)議、以及從SQLServer客戶端計(jì)算機(jī)管理網(wǎng)絡(luò)連接。SQLServer事件探查器(SQLServerProfiler)。SQLServer事件探查器提供了一個(gè)圖形用戶界面,用于監(jiān)督、記錄和檢查數(shù)據(jù)庫(kù)服務(wù)器的使用情況。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB153.1SQLServer2016簡(jiǎn)介SQLServer2016的主要管理工具數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(DatabaseEngineTuningAdvisor)。數(shù)據(jù)庫(kù)引擎優(yōu)化顧問用來(lái)幫助用戶分析工作負(fù)荷、提出優(yōu)化建議等。數(shù)據(jù)質(zhì)量客戶端。提供了一個(gè)非常簡(jiǎn)單和直觀的圖形用戶界面,用于連接到DQS數(shù)據(jù)庫(kù)并執(zhí)行數(shù)據(jù)清理操作。連接組件。安裝用于客戶端和服務(wù)器之間通信的組件,以及用于DB-Library、ODBC和OLEDB的網(wǎng)絡(luò)庫(kù)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB163.2SQLServer2016的登錄啟動(dòng)數(shù)據(jù)庫(kù)引擎當(dāng)完成SQLServer2016相應(yīng)版本的安裝后,選擇“開始”→“所有程序”→“MicrosoftSQLServer2016”→“配置工具”→“SQLServer2016配置管理器”命令,即可打開“SQLServerConfigurationManager”對(duì)話框。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB173.2SQLServer2016的登錄SQLServerManagementStudio的啟動(dòng)與連接“SQLServer(MSSQLSERVER)”服務(wù)啟動(dòng)后,即可啟動(dòng)SQLServerManagementStudio并連接到SQLServer服務(wù)器。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB183.2SQLServer2016的登錄SQLServerManagementStudio的啟動(dòng)與連接單擊“連接”按鈕,即可進(jìn)入“SQLServerManagementStudio”開始數(shù)據(jù)庫(kù)之旅。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB193.3SSMS簡(jiǎn)介在SQLServer中,用于業(yè)務(wù)數(shù)據(jù)處理與管理有兩種常用的操作方式:(1)通過SQLServerManagementStudio的界面菜單方式進(jìn)行操作。(2)用SQL語(yǔ)句及擴(kuò)展的事務(wù)-結(jié)構(gòu)化查詢語(yǔ)言(Transact-SQL)進(jìn)行操作。SQLServerManagementStudio集成工作環(huán)境一般包括4個(gè)組件窗口:對(duì)象資源管理器、查詢編輯器、已注冊(cè)的服務(wù)器、模板瀏覽器。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB203.3SSMS簡(jiǎn)介對(duì)象資源管理器對(duì)象資源管理器是SQLServerManagementStudio的一個(gè)組件,可連接到數(shù)據(jù)庫(kù)引擎實(shí)例、分析服務(wù)、集成服務(wù)、報(bào)表服務(wù)。它提供了服務(wù)器中所有對(duì)象的視圖,并具有可用于管理這些對(duì)象的用戶界面。分為“數(shù)據(jù)庫(kù)”、“安全性”、“服務(wù)器對(duì)象”、“復(fù)制”、“PolyBase”、“AlwaysOn高可用性”、“管理”、“集成服務(wù)目錄”、“SQLServer代理”等9大類。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB213.3SSMS簡(jiǎn)介查詢編輯器在SQLServerManagementStudio中,查詢編輯器與SQLServer2000的查詢分析器類似,可以執(zhí)行輸入的SQL語(yǔ)句,執(zhí)行結(jié)果會(huì)顯示的屏幕下方。也可以使用圖形化的方式進(jìn)行數(shù)據(jù)對(duì)象的拖拉操作,選擇相應(yīng)的顯示字段,動(dòng)態(tài)生成SQL語(yǔ)句。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB223.3SSMS簡(jiǎn)介查詢編輯器數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB233.3SSMS簡(jiǎn)介已注冊(cè)的服務(wù)器通過在SQLServerManagementStudio的已注冊(cè)的服務(wù)器組件中注冊(cè)服務(wù)器,保存經(jīng)常訪問的服務(wù)器的連接信息。可以在連接前注冊(cè)服務(wù)器,也可以在通過對(duì)象資源管理器進(jìn)行連接時(shí)注冊(cè)服務(wù)器。為了管理、配置和使用SQLServer2016系統(tǒng),必須使用SSMS工具注冊(cè)服務(wù)器。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB243.3SSMS簡(jiǎn)介已注冊(cè)的服務(wù)器數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB253.3SSMS簡(jiǎn)介模板瀏覽器SSMS提供了大量包含用戶提供的值(如表名稱)的參數(shù)的腳本模板。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB263.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)分為2種:邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)庫(kù)的邏輯存儲(chǔ)結(jié)構(gòu)。表示數(shù)據(jù)庫(kù)中各數(shù)據(jù)之間的邏輯關(guān)系,說(shuō)明數(shù)據(jù)庫(kù)是由哪些性質(zhì)的信息所組成。數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)是討論數(shù)據(jù)庫(kù)文件是如何在磁盤上存儲(chǔ)的,數(shù)據(jù)庫(kù)在磁盤上是以文件為單位存儲(chǔ)的,由數(shù)據(jù)庫(kù)文件和事務(wù)日志文件組成,一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)數(shù)據(jù)庫(kù)文件和一個(gè)事務(wù)日志文件。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB273.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB283.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016的數(shù)據(jù)庫(kù)文件SQLServer的文件擁有兩個(gè)名稱,即邏輯文件名和物理文件名。當(dāng)使用Transact-SQL命令語(yǔ)句訪問某一個(gè)文件時(shí),必須使用該文件的邏輯文件名。物理文件名是文件實(shí)際存儲(chǔ)在磁盤上的文件名,而且可包含完整的磁盤目錄路徑。在SQLServer2016中,數(shù)據(jù)庫(kù)文件包括3種類型:數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB293.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016的數(shù)據(jù)庫(kù)文件主數(shù)據(jù)文件。主數(shù)據(jù)文件是數(shù)據(jù)庫(kù)的起點(diǎn),包含數(shù)據(jù)庫(kù)的啟動(dòng)信息,并指向數(shù)據(jù)庫(kù)中的其他文件,是用來(lái)存放數(shù)據(jù)庫(kù)部分或者全部數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象的文件。每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)主數(shù)據(jù)文件,默認(rèn)擴(kuò)展名為.mdf。次要數(shù)據(jù)文件。次要數(shù)據(jù)文件是可選的,由用戶定義并存儲(chǔ)用戶數(shù)據(jù)。日志文件。用于記錄所有事務(wù)以及每個(gè)事務(wù)對(duì)數(shù)據(jù)庫(kù)所做的修改。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB303.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016的數(shù)據(jù)庫(kù)文件組為了方便數(shù)據(jù)的管理和分配,可以將數(shù)據(jù)庫(kù)對(duì)象和文件一起分成文件組。文件組就是文件的邏輯集合。有3種類型的文件組:主文件組。主文件組(PRIMARY文件組)包含主數(shù)據(jù)文件和任何沒有明確分配給其他文件組的其他文件。用戶定義文件組。默認(rèn)文件組。各數(shù)據(jù)庫(kù)都有一個(gè)被指定的默認(rèn)文件組,容納所有在創(chuàng)建時(shí)沒有指定文件組的表、索引以及text、ntext和image數(shù)據(jù)類型的數(shù)據(jù)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB313.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分類SQLServer2016系統(tǒng)提供了3種類型的數(shù)據(jù)庫(kù),即系統(tǒng)數(shù)據(jù)庫(kù)、用戶數(shù)據(jù)庫(kù)和示例數(shù)據(jù)庫(kù)。系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)存放SQLServer2016的系統(tǒng)級(jí)信息,例如系統(tǒng)配置、數(shù)據(jù)庫(kù)的屬性、登錄賬戶、數(shù)據(jù)庫(kù)文件、數(shù)據(jù)庫(kù)備份、警報(bào)、作業(yè)等信息。SQLServer2016在安裝時(shí)創(chuàng)建了5種系統(tǒng)數(shù)據(jù)庫(kù):master、model、msdb、resource和tempdb。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB323.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分類系統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB333.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分類用戶數(shù)據(jù)庫(kù)是指由用戶創(chuàng)建并使用的數(shù)據(jù)庫(kù),主要用于存儲(chǔ)用戶使用的數(shù)據(jù)信息。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB343.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分類示例數(shù)據(jù)庫(kù)示例數(shù)據(jù)庫(kù)是一種實(shí)用的學(xué)習(xí)數(shù)據(jù)庫(kù)的范例,SQLServer引入AdventureWorksCycles公司的AdventureWorks示例數(shù)據(jù)庫(kù)供學(xué)習(xí)。在默認(rèn)情況下,SQLServer2016不安裝示例數(shù)據(jù)庫(kù),需要進(jìn)行單獨(dú)安裝和設(shè)置。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB353.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的狀態(tài)數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB36狀態(tài)定義ONLINE聯(lián)機(jī)狀態(tài),可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問。即使可能尚未完成恢復(fù)的撤銷階段,主文件組仍處于在線狀態(tài)。OFFLINE脫機(jī)狀態(tài),數(shù)據(jù)庫(kù)無(wú)法使用。數(shù)據(jù)庫(kù)由于顯式的用戶操作而處于離線狀態(tài),并保持離線狀態(tài)直至執(zhí)行了其他的用戶操作。RESTORING正在還原主文件組的一個(gè)或多個(gè)文件,或正在脫機(jī)還原一個(gè)或多個(gè)輔助文件。數(shù)據(jù)庫(kù)不可用。RECOVERING正在恢復(fù)數(shù)據(jù)庫(kù)?;謴?fù)進(jìn)程是一個(gè)暫時(shí)性狀態(tài),恢復(fù)成功后數(shù)據(jù)庫(kù)將自動(dòng)處于在線狀態(tài)。如果恢復(fù)失敗,數(shù)據(jù)庫(kù)將處于可疑狀態(tài)。數(shù)據(jù)庫(kù)不可用。RECOVERYPENDINGSQLServer在恢復(fù)過程中遇到了與資源相關(guān)的錯(cuò)誤。數(shù)據(jù)庫(kù)未損壞,但是可能缺少文件,或系統(tǒng)資源限制可能導(dǎo)致無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)不可用。需要用戶另外執(zhí)行操作來(lái)解決問題,并讓恢復(fù)進(jìn)程完成。SUSPECT至少主文件組可疑或可能已損壞。在SQLServer啟動(dòng)過程中無(wú)法恢復(fù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)不可用。需要用戶另外執(zhí)行操作來(lái)解決問題。EMERGENCY用戶更改了數(shù)據(jù)庫(kù),并將其狀態(tài)設(shè)置為EMERGENCY。數(shù)據(jù)庫(kù)處于單用戶模式,可以修復(fù)或還原。3.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分離與附加數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB373.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分離與附加數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB383.4SQLServer2016的存儲(chǔ)結(jié)構(gòu)與分類SQLServer2016數(shù)據(jù)庫(kù)的分離與附加數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB393.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQL概述現(xiàn)在SQL已經(jīng)成為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,并且發(fā)展了7個(gè)主要標(biāo)準(zhǔn)。SQL-86。1986年,美國(guó)國(guó)家標(biāo)準(zhǔn)化組織(ANSI)正式發(fā)表了編號(hào)為X3.135-1986的SQL標(biāo)準(zhǔn)。SQL-89。1989年,ANSI正式發(fā)表了編號(hào)為X3.135-1989的SQL標(biāo)準(zhǔn),而ISO將其命名為ISO/IEC9075:1989。SQL-92(也稱SQL2)。1992年,ANSI正式發(fā)表了編號(hào)為ANSIX3.135-1992的SQL標(biāo)準(zhǔn)。SQL:1999(也稱SQL3)。1999年,ISO在SQL2的基礎(chǔ)上推出了ISO/IEC9075:1999。SQL:2003。2003年,ISO推出了ISO/IEC9075:2003標(biāo)準(zhǔn)。SQL:2008。2008年,ISO推出了ISO/IEC9075:2008標(biāo)準(zhǔn)。SQL:2011。2011年,ISO推出了ISO/IEC9075:2011標(biāo)準(zhǔn)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB403.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQL概述SQL語(yǔ)言集數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)查詢和數(shù)據(jù)控制功能與一體,主要特點(diǎn)包括:1)多功能綜合統(tǒng)一。2)高度非過程化。3)面向集合的操作方式。4)靈活的使用方法。5)語(yǔ)言簡(jiǎn)潔、易學(xué)易用。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB413.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQL概述數(shù)據(jù)庫(kù)的主要功能是通過數(shù)據(jù)庫(kù)支持的數(shù)據(jù)語(yǔ)言來(lái)實(shí)現(xiàn)的,SQL語(yǔ)言的核心包括如下數(shù)據(jù)語(yǔ)言:(1)數(shù)據(jù)定義語(yǔ)言(DDL):用于定義和管理數(shù)據(jù)庫(kù)及其對(duì)象,是對(duì)關(guān)系模式一級(jí)的定義,包括數(shù)據(jù)庫(kù)、基本表、視圖、索引等的創(chuàng)建、修改和刪除操作。(2)數(shù)據(jù)操縱語(yǔ)言(DML):用于對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作,包括插入(INSERT)新數(shù)據(jù)、刪除(DELETE)舊數(shù)據(jù)、修改(UPDATE)已有數(shù)據(jù)等。(3)數(shù)據(jù)查詢語(yǔ)言(DQL):按一定的查詢條件從數(shù)據(jù)庫(kù)對(duì)象(基本表或視圖)中檢索(SELECT)符合條件的數(shù)據(jù)。(4)數(shù)據(jù)控制語(yǔ)言(DCL):主要用于權(quán)限和安全管理,用于控制對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作,包括基本表和視圖等對(duì)象的授權(quán)、完整性規(guī)則的描述、事務(wù)開始和結(jié)束控制語(yǔ)句等。(5)其它附加的語(yǔ)言。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB423.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)Transact-SQL概述Transact-SQL語(yǔ)言是微軟公司在SQLServer系統(tǒng)中使用的事務(wù)-結(jié)構(gòu)化查詢語(yǔ)言,支持標(biāo)準(zhǔn)的SQL,但對(duì)SQL語(yǔ)言進(jìn)行了擴(kuò)展。Transact-SQL對(duì)SQL的擴(kuò)展主要包含如下4個(gè)方面:增加了流程控制語(yǔ)句。加入了局部變量、全局變量、表達(dá)式、函數(shù)等許多新概念,可以寫出更復(fù)雜的查詢語(yǔ)句。增加了新的數(shù)據(jù)類型,處理能力更強(qiáng)。增加了事務(wù)管理語(yǔ)言,主要用于事務(wù)管理操作。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB433.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)Transact-SQL概述數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB443.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的標(biāo)識(shí)符在SQLServer2016中,標(biāo)識(shí)符(Identifer)就是指用來(lái)定義服務(wù)器、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)對(duì)象(表、視圖、索引、觸發(fā)器、存儲(chǔ)過程等)和變量等名稱的字符串,不區(qū)分大小寫。按照標(biāo)識(shí)符的使用方法,標(biāo)識(shí)符可以分為常規(guī)標(biāo)識(shí)符和分隔標(biāo)識(shí)符2種。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB453.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)數(shù)據(jù)庫(kù)對(duì)象命名規(guī)則數(shù)據(jù)庫(kù)對(duì)象的名稱被看成是該對(duì)象的標(biāo)識(shí)符。SQLServer中的每一內(nèi)容都可帶有標(biāo)識(shí)符。服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象(例如表、視圖、列、索引、觸發(fā)器、過程、約束及規(guī)則等)都有標(biāo)識(shí)符。在SQLServer2016中,一個(gè)數(shù)據(jù)庫(kù)對(duì)象的全稱語(yǔ)法格式為:[server_name].[database_name].[schema_name].object_name數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB463.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型包括tinyint、smallint、int、bigint,均為精確數(shù)值型。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB473.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型浮點(diǎn)數(shù)據(jù)類型浮點(diǎn)數(shù)據(jù)類型用來(lái)表示有小數(shù)部分的數(shù)據(jù),根據(jù)所適用的存儲(chǔ)空間,可以分為float、real、decimal、numeric、money、smallmoney。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB483.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型字符數(shù)據(jù)類型字符數(shù)據(jù)類型包括varchar、char、nvarchar、nchar、text以及ntext。這些數(shù)據(jù)類型用于存儲(chǔ)字符串。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB493.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型用戶以字符串的形式輸入日期和時(shí)間類型數(shù)據(jù),系統(tǒng)也以字符串形式輸出日期和時(shí)間類型數(shù)據(jù)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB503.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)類型用于存儲(chǔ)二進(jìn)制數(shù)據(jù),如圖形文件、Word文檔或MP3文件等,值為16進(jìn)制的0x0~0xf。包括bit、binary、varbinary、varbinary(max)和image。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB513.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型其他數(shù)據(jù)類型除了以上數(shù)據(jù)類型,SQLServer2016還提供了一些新的數(shù)據(jù)類型。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB523.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)SQLServer2016的數(shù)據(jù)類型其他數(shù)據(jù)類型除了以上數(shù)據(jù)類型,SQLServer2016還提供了一些新的數(shù)據(jù)類型。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB533.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)常量常量是指在程序運(yùn)行過程中其值保持不變的量。常量是表示一個(gè)特定數(shù)據(jù)值的符號(hào),也稱為文字值或標(biāo)量值。根據(jù)不同的數(shù)據(jù)類型,常量可分為字符型常量、整型常量、日期常量、實(shí)型常量、貨幣常量和惟一標(biāo)識(shí)(uniqueidentifier)常量。對(duì)于非數(shù)值型常量需要使用單引號(hào)。uniqueidentifier常量是表示全局唯一標(biāo)識(shí)符(GloballyUniqueIdentificationNumbers,GUID)的字符串,可以使用字符或二進(jìn)制字符串格式指定,是SQLServer根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)適配器地址和主機(jī)時(shí)鐘產(chǎn)生的唯一號(hào)碼生成的全局唯一標(biāo)識(shí)符。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB543.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)變量變量是指在程序運(yùn)行過程中其值可以發(fā)生改變的量,包括用戶自己定義的局部變量和系統(tǒng)提供的全局變量2種。局部變量前面有一個(gè)@字符,由用戶自定義和使用。全局變量名稱前面有兩個(gè)@字符,由系統(tǒng)定義和維護(hù)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB553.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)局部變量局部變量由用戶自定義,僅在聲明它的批處理、存儲(chǔ)過程或者觸發(fā)器中有效。批處理結(jié)束后,局部變量將變成無(wú)效。局部變量用于保存特定類型的單個(gè)數(shù)據(jù)值的對(duì)象。在Transact-SQL語(yǔ)言中,可以使用DECLARE語(yǔ)句聲明變量。在聲明變量時(shí)需要注意:①為變量指定名稱,且名稱的第一個(gè)字符必須是@;②指定該變量的數(shù)據(jù)類型和長(zhǎng)度;③默認(rèn)情況下將該變量值設(shè)置為NULL。其語(yǔ)法格式如下:DECLARE{@local_variabledata_type}[,…n]數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB563.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)全局變量系統(tǒng)全局變量是SQLSever系統(tǒng)定義并提供賦值的變量。用于跟蹤和記錄服務(wù)器范圍和特定會(huì)話期間的信息,不允許用戶顯式定義、賦值或修改,也就是說(shuō)既不能定義全局變量,也不能使用SET語(yǔ)句對(duì)全局變量進(jìn)行賦值。在SQLServer2016中,提供了33個(gè)全局變量,方便用戶監(jiān)測(cè)或了解SQLServer服務(wù)器活動(dòng)狀態(tài),例如,@@ERROR返回最后一個(gè)Transact-SQL語(yǔ)句錯(cuò)誤的錯(cuò)誤號(hào)、@@VERSION返回SQLServer的版本信息、@@IDENTITY返回最后插入的標(biāo)識(shí)值。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB573.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)運(yùn)算符運(yùn)算符是一種符號(hào),用來(lái)指定要在一個(gè)或多個(gè)表達(dá)式中執(zhí)行的操作。SQLServer提供的運(yùn)算符包括:算術(shù)運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、字符串連接運(yùn)算符和一元運(yùn)算符。運(yùn)算符在表達(dá)式中起到連接變量、常量和函數(shù)的作用,同時(shí)在連接過程中存在一定的優(yōu)先級(jí)。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB583.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)算術(shù)運(yùn)算符算術(shù)運(yùn)算符用于兩個(gè)表達(dá)式執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是任何數(shù)值數(shù)據(jù)類型。在SQLServer中,算術(shù)運(yùn)算符包括:+(加)、-(減)、*(乘)、/(除)和%(取模)。取模運(yùn)算返回一個(gè)除法運(yùn)算的整數(shù)余數(shù)。賦值運(yùn)算符Transact-SQL有一個(gè)賦值運(yùn)算符,即等號(hào)(=)。它將表達(dá)式的值賦予另外一個(gè)變量。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB593.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)位運(yùn)算符位運(yùn)算符用于對(duì)兩個(gè)表達(dá)式執(zhí)行位操作,這兩個(gè)表達(dá)式可以是整型數(shù)據(jù)或者二進(jìn)制數(shù)據(jù)。位運(yùn)算符包括:&(按位與)、|(按位或)、^(按位異或)。字符串連接運(yùn)算符字符串連接運(yùn)算符為加號(hào)(+)??梢詫蓚€(gè)或多個(gè)字符串合并或連接成一個(gè)字符串。還可以連接二進(jìn)制字符串。數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用——基于SQLServer2016和MongoDB603.5Transact-SQL程序設(shè)計(jì)基礎(chǔ)比較運(yùn)算符比較運(yùn)算符用于比較兩個(gè)表達(dá)式的大小,表達(dá)式可以是字符、數(shù)字或日期數(shù)據(jù),并可用在查詢語(yǔ)句的WHERE或HAVING子句中。比較運(yùn)算符的計(jì)算結(jié)果為布爾數(shù)據(jù)類型,它們根據(jù)測(cè)試條件的輸出結(jié)果返回TRUE、FALSE或UNKNOWN。SQLServer提供的比較運(yùn)算符包括:>(大于)、<(小于)、=(等于)、<=(小于或等

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論