《SQL Server數據庫應用》課件全套 項目1-8 構建 SQL Server 環境 -設計與實現政務平臺數據庫_第1頁
《SQL Server數據庫應用》課件全套 項目1-8 構建 SQL Server 環境 -設計與實現政務平臺數據庫_第2頁
《SQL Server數據庫應用》課件全套 項目1-8 構建 SQL Server 環境 -設計與實現政務平臺數據庫_第3頁
《SQL Server數據庫應用》課件全套 項目1-8 構建 SQL Server 環境 -設計與實現政務平臺數據庫_第4頁
《SQL Server數據庫應用》課件全套 項目1-8 構建 SQL Server 環境 -設計與實現政務平臺數據庫_第5頁
已閱讀5頁,還剩384頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目一構建SQLServer環境1任務1認識SQLServer任務2安裝SQLServer2022任務3連接數據庫服務器和啟動SSMS2認識SQLServer任務1

31.?能獨立搜索官方SQL?Server下載網站。2.?能獨立完成計算機軟件與硬件配置的檢查,列出與SQL?Server軟件相關的檢

測單。3.?能依據檢測單要求,選擇SQL?Server軟件的版本。4本學期學院信息中心配置了一臺臺式計算機,作為教學資料的服務器,需要安裝SQLServer2022。根據安裝SQLServer2022的計算機硬件、軟件檢測單,檢測當前計算機的硬件、軟件情況,判定是否符合安裝SQLServer2022的標準,填寫檢測結果。5安裝SQL?Server?2022的計算機硬件、軟件檢測單6一、數據庫的基礎知識1.?數據數據(data)是描述事物的符號記錄。在計算機中,各種字母、數字、語音、圖形、圖像等統稱為數據,經過數字化處理后存儲在計算機中。數據是數據庫存儲的對象,也是數據庫管理系統處理的對象。2.?數據庫數據庫(database,DB)是指長期存儲在計算機內的、有組織的、可共享的結構化數據集合。73.?數據庫管理工具數據庫管理工具(SQLservermanagementstudio,SSMS)是一種集成環境,是用于配置、監視和管理SQLServer和數據庫實例的工具。在SSMS中,可以實現以下操作。(1)數據庫操作,如創建數據庫、分離和附加數據庫、備份和還原數據庫等。(2)表操作,如新建數據表、修改數據表、查看數據表等。(3)安全性操作,如登錄名管理、服務器角色管理、數據庫角色管理等。(4)資源管理操作,如策略管理、數據收集、維護計劃等。84.?數據庫管理系統數據庫管理系統(databasemanagementsystem,DBMS)是位于用戶和操作系統之間的用于建立、使用、維護數據庫的系統軟件,DBMS為用戶或應用程序提供訪問數據庫的方法,包括數據庫的建立、查詢、更新及各種數據控制方法。數據庫管理系統的主要類型包括層次數據庫管理系統、網狀數據庫管理系統、關系數據庫管理系統。9(1)數據庫管理系統的功能1)數據庫定義功能數據庫定義功能是數據庫管理系統面向用戶的功能,它通過數據定義語言(datadefinitionlanguage,DDL),對數據庫中的各種數據對象進行定義,從而保證數據庫中數據的完整性規則。2)數據操作功能數據操作功能也是數據庫管理系統面向用戶的功能,數據庫管理系統通過數據操縱語言(datamanipulationlanguage,DML),對數據庫中的數據對象進行各種操作,如數據的查詢、插入、修改和刪除等。103)數據庫運行管理功能數據庫運行管理功能是指數據庫管理系統對數據庫的保護功能,此功能是數據庫管理系統的核心部分,包括并發控制、安全性控制、完整性約束、數據庫內容維護與恢復等,所有數據庫操作都要在控制程序的統一管理和控制下執行。4)數據庫維護功能數據庫維護功能包括數據庫數據的導入、轉儲、恢復、重新組織、性能監視和分析功能等,這些功能通常由數據庫管理系統的應用程序提供給數據庫管理員。11(2)數據庫管理系統的組成1)數據定義語言,它用來定義數據庫的結構。2)數據操縱語言,它用來實現對數據庫數據的基本操作。3)數據控制功能模塊,它通過對數據的安全性、完整性和并發控制等,對數據庫運行進行控制和管理,以確保數據正確、有效。4)應用程序如數據轉儲程序、數據恢復程序、數據轉換程序等,數據庫管理員可以利用應用程序完成數據庫的維護與管理。125.?數據庫系統數據庫系統(databasesystem,DBS)是指引入數據庫技術后的整個計算機系統,由數據庫(數據)、數據庫管理系統(軟件)、計算機硬件、操作系統、數據庫管理員組成。數據庫系統的特點包括數據結構化,數據的共享性高、冗余少、易擴充,數據的獨立性高,數據由數據庫管理系統統一管理和控制等。13二、SQLServer的基礎知識SQLServer是一種用于存儲和管理結構化數據的軟件,可用于處理大型數據集和復雜的數據操作。1.?SQL?Server?2022?的功能(1)云連接功能SQLServer2022具有云連接功能,可與Azure(微軟的云服務平臺)云端服務連接,提供托管式災難恢復、接近實時的數據分析、增強的數據安全保障,以及更新的許可政策。14(2)智能查詢功能SQLServer2022具有智能查詢功能,無須修改代碼即可優化查詢速度,通過下一代查詢處理技術,可以顯著增強系統的查詢性能。(3)防篡改功能SQLServer2022具有防篡改功能,它利用區塊鏈技術來保護數據的完整性,其核心是使用區塊鏈技術來確保數據庫中的數據不可篡改,適用于管理財務、醫療或其他敏感數據。152.?SQL?Server?2022的版本SQLServer2022的版本與特點見下表。16SQL?Server?2022的版本與特點三、SQLServer2022配置管理器SQLServer2022配置管理器用于管理與SQLServer關聯的服務、配置SQLServer2022使用的網絡協議及從客戶端計算機管理網絡連接配置。SQLServer2022配置管理器隨SQLServer2022一起安裝,它是一種可以通過“開始”菜單訪問的Microsoft管理控制臺單元。Microsoft管理控制臺(mmc.exe)使用SQLServerManager<version.msc>文件[對于SQLServer2016(16.x),則使用sqlServerManager16.msc文件]打開ConfigurationManager。SQLServer各版本與配置管理器的對應關系見下表。1718SQL?Server各版本與配置管理器的對應關系安裝SQLServer2022任務2

191.?能獨立找到SQL?Server?2022的官方下載鏈接,并正確下載安裝包。2.?能獨立安裝SQL?Server?2022的數據庫引擎,并登錄數據庫服務器。3.?能獨立安裝SSMS,并敘述窗口各部分的名稱。20在上一任務中,經過檢測,確認該計算機可以安裝SQLServer2022。本任務要求在微軟官網上找到下載鏈接,下載SQLServer2022Developer,安裝SQLServer2022數據庫引擎和SSMS,并連接到數據庫服務器,“連接到服務器”對話框如圖所示。21“連接到服務器”對話框一、軟件下載頁面SQLServer2022Developer的官網下載頁面如圖所示。SQLServer2022Developer是一個全功能免費版本,用于在非生產環境下開發和測試數據庫,SQLServer2022Express是SQLServer2022的另一個免費版本,適用于桌面、Web和小型服務器應用程序的開發和生產。22SQL?Server?2022?Developer

的官網下載頁面

二、SQLServer2022安裝的基礎知識1.?安裝類型如圖所示,SQLServer2022的安裝有基本、自定義、下載介質3種類型?!盎尽笨梢园惭b帶默認配置的SQLServer數據庫引擎功能;“自定義”可以根據向導完成安裝;“下載介質”是先下載完整的SQLServer安裝包,再進行安裝。23選擇安裝類型如圖所示為SQLServer媒體下載目標位置,即默認安裝位置。24SQL?Server媒體下載目標位置2.?SQL?Server安裝中心在安裝SQLServer2022的過程中,可以使用如圖所示的SQLServer安裝中心窗口進行安裝的有關工作,并可以查閱相應的資料說明。25SQL?Server?安裝中心窗口

連接數據庫服務器和啟動SSMS任務3

261.?能正確連接SQL?Server數據庫服務器,并查看其啟動過程和相關配置。2.?能使用連接字符串、用戶名和密碼等信息,成功連接到SQL?Server數據庫服務器。3.?能查閱連接數據庫服務器的安全性要求,列出安全措施清單。4.?能正確啟動SSMS,解決連接問題、排除故障,保證數據庫服務器穩定、正常運行。27在前面的任務中,已經安裝了SQLServer2022數據庫引擎與SQLServer管理工具,為了能創建教學數據庫,需要連接數據庫服務器。現要求首先啟動數據庫服務器上的服務,然后打開SSMS,

在“MicrosoftSQLServerManagementStudio”窗口中,輸入正確的服務器名稱、身份驗證方式、用戶名和密碼等信息。連接數據庫服務器時,觀察連接過程中是否有錯誤或警告消息,如果沒有說明連接成功,如圖所示。28數據庫服務器連接成功29一、mssqlserver服務1.?數據庫服務器的功能(1)管理功能,包括系統配置與管理、數據存取與更新管理、數據完整性管理和數據安全性管理。(2)查詢和操縱功能,包括數據庫檢索和修改。(3)維護功能,包括數據導入導出管理、數據庫結構維護、數據恢復和性能監測。(4)數據庫并行運行功能,即能處理多個事件同時發生的功能。302.?數據庫服務器啟動服務的方法(1)通過命令行啟動在桌面上右擊“開始”菜單,選擇“以管理員身份運行”選項,打開命令提示符窗口,輸入“netstartmssqlserver”命令,并按Enter鍵執行。若提示“請求的服務已經啟動”,則表示服務啟動成功。在默認情況下,請求服務計算機自動啟動,無須手動啟動。31(2)通過用戶界面啟動如果操作系統不提供“SQLServerConfigurationManager”的配置管理器菜單,需要單擊

按鈕,在文本框中輸入“SQLServerManager16.msc”,然后單擊“打開”按鈕,彈出如圖所示的“SqlServerConfigurationManager”窗口。32“Sql?Server?Configuration?Manager”窗口在上圖中,單擊左側的“SQLServer服務”選項,在右側的窗格中,可以看到SQLServer(MSSQLSERVER)的服務狀態為“正在運行”。

如果是其他狀態,右擊

“SQLServer

(MSSQLSERVER)”選項,在彈出的快捷菜單中可以選擇“停止”“暫停”“重新啟動”等選項,若選擇“重新啟動”選項,mssqlserver服務會重新啟動,啟動后可以觀察到其“狀態”為“正在運行”。33二、檢測mssqlserver服務檢查mssqlserver服務是否啟動有以下幾種方法。第1種方法是打開SQLServer配置管理窗口,在圖形界面中查看服務,SQLServer配置管理窗口如上圖所示。第2種方法是在打開的命令行窗口中輸入“netstart|find"SQLServer(MSSQLSERVER)"”命令后按Enter鍵,如果MSSQLSERVER服務正在運行,將看到相關的信息。

34第3種方法是在打開的命令行窗口中輸入“scqueryMSSQLSERVER”命令后按Enter鍵,命令行窗口如圖所示,提示服務正在運行。如果要在網絡上使用服務,可使用命令“netstat-a-n|find"1433"”查看TCP端口1433是否打開。TCP/IP啟用后,才能允許通過網絡訪問該數據庫。命令netstat表示查看網絡連接,參數

-a表示顯示所有連接,參數

-n表示以數字形式顯示地址和端口號。35命令行窗口項目二創建數據庫36任務1創建一個新的數據庫任務2通過SSMS窗口創建數據表任務3通過T-SQL語句創建數據表37任務4設置約束創建一個新的數據庫任務1

381.?了解數據庫的基本概念和結構。2.?能通過SSMS窗口創建、修改、刪除數據庫。3.?了解T-SQL語句的基本語法和特性、數據類型、操作符等。4.?能使用CREATE?DATABASE語句創建數據庫,能使用ALTER?DATABASE語句修改數據庫,能使用DROP?DATABASE語句刪除數據庫。39在前面的任務中已經安裝了SSMS,現要求使用SSMS窗口和T-SQL語句兩種方式創建如圖所示的教學數據庫ssts,并進行簡單的修改和刪除操作。40教學數據庫ssts一、SQLServer2022數據庫的結構SQLServer2022數據庫可按表結構、視圖結構和索引結構來存儲數據。表結構中的表是由行和列構成的二維表。為了標識表,SQLServer2022數據庫中的每個表都有一個名字,稱為表名。視圖結構是一個虛表,對視圖的數據不進行實際存儲,數據庫中只存儲視圖的定義。在對視圖的數據進行操作時,系統根據視圖的定義操作與視圖相關聯的基本表。索引結構是對數據表中一個或多個列的值進行排序的結構。411.?創建數據庫的注意事項若要創建數據庫,必須至少擁有CREATEDATABASE、CREATEANYDATABASE或ALTERANYDATABASE的權限。創建數據庫的用戶將成為該數據庫的所有者,應合理安排數據庫文件和日志文件的存放目錄,準確估計數據庫文件的大小和增長限度。數據庫命名必須遵循標識符指定的規則。422.?數據庫的三要素(1)數據結構數據結構用于描述數據的靜態特性,它是所研究的對象類型的集合。(2)數據操作數據操作是指對數據庫中各種對象的實例允許執行的操作的集合,包括操作及有關的操作規則。43(3)完整性約束完整性約束是指一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和存儲規則,用以限定符合數據模型的數據庫狀態及狀態的變化,以保證數據的正確、有效和相容。在關系模型中,一般關系必須滿足實體完整性和參照完整性兩個條件。44二、創建數據庫的方法在創建數據庫時,可以使用SSMS窗口創建(即通過界面方式創建),也可以使用T-SQL語句創建(即通過命令方式創建)。如果有備份的數據庫,可以通過還原數據庫的方法來創建數據庫。如果有數據庫的創建腳本,可以通過執行腳本的方法來實現。如果有現成的被分離的數據庫,可以通過附加數據庫的方法來實現。如果是創建與其他服務器相同數據庫類型而版本不同的數據庫,可以通過先將其轉成腳本,再復制到本機,修改腳本后,再執行腳本的方法來實現。45三、SQLServer2022系統數據庫在SQLServer2022中有4個系統數據庫,如圖所示。464個系統數據庫1.?master數據庫master數據庫是SQLServer2022系統最重要的數據庫,它記錄了SQLServer2022系統的所有系統信息。這些系統信息包括所有的登錄信息、系統設置信息、SQLServer2022系統的初始化信息和其他系統數據庫及用戶數據庫的相關信息。472.?model數據庫model數據庫用于在SQLServer2022實例上創建所有數據庫的模板。因為每次啟動SQLServer2022時,都會創建tempdb,所以model數據庫必須始終存在于SQLServer2022系統中。當使用CREATEDATABASE命令創建數據庫時,將通過復制model數據庫中的內容來創建數據庫的第一部分,然后用空頁填充新數據庫的剩余部分。483.?msdb數據庫msdb數據庫由SQLServer2022代理,用于計劃警報和作業及其他功能。SQLServer2022會自動在msdb數據庫的表中維護完整的聯機備份和還原歷史記錄,這些信息包括執行備份一方的名稱、備份時間和用來存儲備份的設備或文件。494.?tempdb數據庫tempdb數據庫是一個臨時數據庫,它為所有的臨時表、臨時存儲過程及其他臨時操作提供存儲空間。tempdb數據庫由整個系統的所有數據庫使用,不管用戶使用哪個數據庫,所建立的所有臨時表和存儲過程都存儲在tempdb數據庫中。每次啟動SQLServer2022時,tempdb數據庫被重新建立。當用戶與SQLServer2022斷開連接時,其臨時表和存儲過程將被自動刪除。50四、使用T-SQL語句創建數據庫除使用SSMS窗口外,另一種方法是使用T-SQL語句CREATEDATABASE創建數據庫。使用CREATEDATABASE創建一個數據庫的語法如下。5152database_name是新數據庫的名稱,數據庫名稱在SQLServer2022實例中必須是唯一的,并且符合標識符規則。上述語句中各選項的含義見下表。53T-SQL語句中各選項的含義54T-SQL語句中各選項的含義在使用T-SQL語句創建數據庫時,上述的語法中括號[…]中的內容是可以不編寫的,只需要編寫最簡單的CREATEDATABASEdatabase_name語句就可以創建數據庫了。數據庫文件的存放默認路徑是從注冊表中獲取的??梢栽赟QLServerManagementStudio的服務器屬性(數據庫設置頁面)中更改默認路徑。更改默認路徑需要重新啟動SQLServer2022。55五、修改數據庫1.?通過SSMS窗口修改數據庫(1)啟動SSMS,成功連接服務器,展開操作的服務器節點下的“數據庫”節點,右擊選中對應的數據庫,在彈出的快捷菜單中,選擇“屬性”選項,如圖所示。56選擇“屬性”選項(2)在彈出的如圖所示的“數據庫屬性”對話框中,可以查看數據庫的文件和文件組等信息。在左邊的“選擇頁”中選擇要修改的數據庫信息,在對應的選項下修改后,單擊“確定”按鈕,即可完成對數據庫屬性的修改。57

“數據庫屬性”對話框2.?通過T-SQL語句修改數據庫使用T-SQL語句ALTERDATABASE,可以修改數據庫的屬性和文件設置,完整的語法格式如下。其中,COLLATEcollation_name表示指定數據庫的排序規則;collation_name既可以是Windows排序規則名稱,又可以是SQL排序規則名稱。58六、刪除數據庫1.?通過SSMS窗口刪除數據庫(1)啟動SSMS,成功連接服務器,展開操作的服務器節點下的“數據庫”節點,右擊選中對應的數據庫,在彈出的快捷菜單中,選擇“刪除”選項,如圖所示。59選擇“刪除”選項(2)在彈出的如圖所示的“刪除對象”對話框中,選中要刪除的數據庫,單擊“確定”按鈕,即可完成對數據庫的刪除操作。60“刪除對象”對話框2.?通過T-SQL語句刪除數據庫使用DROPDATABASE語句刪除數據庫,其語法格式如下。61

通過SSMS窗口創建數據表任務2621.?能通過SSMS窗口創建、修改、刪除數據表。2.?能依據所需要創建的表,推舉合理的列名、選用合適的數據類型,并設置主鍵約束。63數據庫中的數據表是用來存儲和組織數據的。通過定義表結構,可以明確指定每個字段的數據類型、長度和約束條件,從而保證數據的完整性和一致性。在前面的任務中已經創建了一個空的數據庫ssts,現在需要在這個數據庫中創建一個數據表users。64數據表users見下表,在數據表創建完成后,追加hobby(興趣)列,數據類型為varchar(20),約束說明為NOTNULL;修改已有表的address列的數據類型為text;刪除表中的郵政編碼zip列。65數據表users最后,數據表users的設計如圖所示。66數據表users的設計一、數據表的概念數據表是SQLServer2022中最主要的數據庫對象,它是用來存儲和操作數據的一種邏輯結構,由行和列組成,因此也被稱為二維表。67每個表都有一個名字,以標識該表。學生情況表見下表,表的名字是“學生情況表”,共有5個字段,分別是學號、姓名、性別、出生時間和專業。有兩條學生記錄,一個是張亮,另一個是王麗。一般來說,學號是主關鍵字,不能重復,班級中可能會出現姓名一樣的學生,但是學號不能一樣,因此,姓名一般不用作關鍵字。若一個表中有多個候選關鍵字,則選擇其中一個為主關鍵字,也被稱為主鍵。若一個表中只有一個侯選關鍵字,則該候選關鍵字就是主關鍵字。68表的第一行為各列的標題欄,其他各行稱為記錄,表是記錄的有限集合。在計算機專業數據庫理論課程中,用字母的組合來表示表結構的相關信息。69學生情況表二、數據類型在創建數據表時,需要指明字段的數據類型。數據類型是一種屬性,表示某列可以存儲數據的類型。在SQLServer2022中,數據類型可分為整數類型、浮點類型、字符類型、日期類型、時間類型、文本類型、圖像類型、貨幣類型、位數據類型、二進制數據類型等。701.?整數類型整數類型數據是常用的數據類型之一,主要用于存儲數值,可以直接進行數據運算而不必使用函數轉換。(1)bigint每個bigint類型的數據占用8個字節的存儲空間,其中1個二進制位表示符號位,其他63個二進制位表示長度和大小,可以表示

-263~263-1范圍內的所有整數。71(2)int每個int類型的數據占用4個字節的存儲空間,其中1個二進制位表示符號位,其他31個二進制位表示長度和大小,可以表示

-231~231-1范圍內的所有整數。(3)smallint每個smallint類型的數據占用2個字節的存儲空間,其中1個二進制位表示符號位,其他15個二進制位表示長度和大小,可以表示-215~215-1范圍內的所有整數。(4)tinyint每個tinyint類型的數據占用1個字節的存儲空間,可以表示0~255范圍內的所有整數。722.?浮點類型(1)realreal類型數據的存儲范圍為

-3.40E+38~-1.18E-38、0,以及1.18E-38~3.40E+38,每個real類型的數據占用4個字節的存儲空間。(2)floatfloat類型數據的存儲范圍為

-1.79E+308~-2.23E-308、0,以及2.23E-308~1.79E+308,如果不指定數據類型float的長度,它占用8個字節的存儲空間。(3)numeric和decimalreal與float屬于近似數字數字類型,而numeric和decimal屬于精確數字數字類型,它們是帶固定精度和小數位數的數值數據類型。733.?字符類型(1)char(n)該類型的數據每個字符占用1個字節存儲空間,n表示所有字符所占的存儲空間,如不指定n的值,系統默認n的值為1。若輸入數據的字符串長度小于n,則系統自動在其后添加空格來填滿設定好的空間;若輸入的數據過長,則系統會截掉其超出部分。(2)varchar(n)n為存儲字符的最大長度,但可根據實際存儲的字符數改變存儲空間。存儲大小是輸入數據的實際長度加2個字節。所輸入數據的長度可以為0個字符。74(3)nchar(n)該數據類型用于存儲n個字符的固定長度Unicode數據。(4)nvarchar(n)該數據類型與varchar類似,存儲可變長度Unicode字符數據。754.?日期類型日期類型date用于存儲用字符串表示的日期數據,數據格式為“YYYY-MM-DD”。該類型數據占用3個字節的存儲空間。5.?時間類型(1)time該數據類型以字符串形式記錄一天的某個時間,格式為“hh:mm:ss[.nnnnnnn]”,

該類型數據占用5個字節的存儲空間。(2)datetime該數據類型用于存儲時間和日期數據。766.?文本類型(1)ntext該數據類型用于存儲長度可變的Unicode數據。(2)text該數據類型用于存儲長度可變的非Unicode數據。7.?圖像類型圖像類型image用于存儲照片、目錄圖片或圖畫,存儲該字段的數據一般不能使用insert語句直接輸入,實際存儲長度為0~231-1個字節。778.?貨幣類型(1)moneymoney類型的數據可以精確到貨幣單位的萬分之一,范圍比smallmoney更大。該類型數據占用8個字節的存儲空間。(2)smallmoneysmallmoney類型的數據可以精確到貨幣單位的萬分之一,為

-214748.3648~214748.3647。該類型數據占用4個字節的存儲空間。貨幣數據不需要用英文狀態下的單引號引起來。注意,雖然可以指定前面帶有貨幣符號的貨幣值,但SQLServer2022不存儲任何與符號關聯的貨幣信息,它只存儲數值。789.?位數據類型位數據類型bit的取值只有0或1,長度為1個字節。bit值可以當作邏輯值,用于判斷true(1)或false(0)。輸入非0值時,系統將其替換為1。10.?二進制數據類型(1)binary(n)該數據類型用于存儲固定長度二進制數據,其中n的取值范圍為1~8000,存儲大小為n字節。(2)varbinary[(n|max)]該數據類型用于存儲可變長度二進制數據。其中n的取值范圍為1~8000,max是指最大存儲大小為231-1字節,存儲大小為所輸入數據的實際長度再加上2個字節。79通過T-SQL語句創建數據表任務3

801.?能通過T-SQL語句(CREATE?TABLE)創建表,檢查創建結果。2.?能通過T-SQL語句(ALTER?TABLE)修改表,驗證修改結果。3.?能通過T-SQL語句(DROP?TABLE)刪除表。81前面的任務中已經創建了一個空的數據庫ssts,現在要求使用T-SQL語句在數據庫ssts中創建學生表student、教師表teacher、課程表course、選課表sc。學生表student需要的字段有學號sno、姓名name、性別sex、年齡age、系別dept;教師表teacher需要的字段有工號tno、姓名name、性別sex、年齡age、系別dept;課程表course需要的字段有課程號cno、課程名name、先修的課程號pno、學分credit;選課表sc需要的字段有學號sno、課程號cno、成績grade。82使用T-SQL語句修改學生表student,增加民族nation列;對性別sex列的數據類型進行修改,由bit改為char(2),最終建成的4張數據表如圖所示,刪除教師表teacher。83最終建成的4張數據表一、通過T-SQL語句創建表CREATETABLE語句的語法格式如下。其中列屬性的格式如下。列約束的格式如下。84其中,[NULL|NOTNULL]表示是否允許為空;[IDENTITY(初始值,步長)]表示列值的自動增長方式;[]號中的內容為可選內容,可以省略;[,…n]表示可以有多列;[CONSTRAINT約束名]PRIMARYKEY[(列名)]表示設置主鍵約束。85二、通過T-SQL語句修改表1.?添加新字段通過在ALTERTABLE語句中使用ADD子句,可以在表中增加一個或多個字段,語法格式如下。2.?修改字段的屬性通過在ALTERTABLE語句中使用ALTERCOLUMN子句,可以修改列的數據類型、長度等屬性,語法格式如下。863.?修改列名使用存儲過程sp_rename可修改列名,語法格式如下。4.?刪除字段通過在ALTERTABLE語句中使用DROPCOLUMN子句,可以刪除表中的字段,語法格式如下。87三、通過T-SQL語句重命名表重命名表的語法格式如下。四、通過T-SQL語句刪除表刪除表的語法格式如下。88設置約束任務4

891.?能通過SSMS窗口添加、修改、刪除約束,驗證所使用的約束。2.?能使用T-SQL語句創建表時設置約束,并能刪除約束。3.?能根據任務要求,使用T-SQL語句修改表,并添加新的約束。90SQLServer2022是一種功能強大的關系數據庫管理系統,它提供了多種方式來設置數據完整性,數據完整性可以使用約束、默認和規則等來實現。一種常用的方式是通過SSMS窗口來設置約束條件,另一種常用的方式是通過T-SQL語句來設置約束條件。91在前面任務的基礎上,在數據庫ssts中對學生表student的age列添加notnull約束,不允許年齡為空。增加telephone(手機號)列,并設置telephone列取值唯一。設置dept列的默認值為“信息工程系”。為sex列添加檢查約束,只有“男”和“女”兩個選項可供選擇。以上任務可以通過SSMS窗口完成,仔細驗證約束條件,確保數據完整性和一致性。92接下來,使用T-SQL語句在數據庫ssts中,刪除原有的課程表course,在重新創建課程表course的同時添加約束,設置課程號cno為主鍵。在選課表sc中,修改課程號cno為外鍵約束,參照課程表course中的主鍵cno。在選課表sc中,更改grade列名為score,將學生成績字段score設置為CHECK約束,要求學生的成績為0~100。student、course、sc表結構與約束如圖所示。對數據表設置約束,可為后繼項目的錄入數據提供保障。9394student、course、sc表結構與約束一、數據完整性通常情況下,多個用戶在同一時間訪問某個數據時,可能導致一部分用戶獲取的數據是無效的,而數據庫中的數據必須是有效的。數據完整性用于保證數據庫中數據的正確性、一致性和可靠性。數據完整性有實體完整性、域完整性、參照完整性、用戶定義完整性

4種類型。951.?實體完整性實體完整性體現了實體的唯一性,保證數據表中的每個實體的唯一性。針對表中的行數據,要求主鍵字段不能為空,也不能為重復的值。2.?域完整性域完整性保證指定列的數據具有正確的數據類型、格式和有效的數據范圍,可以通過數據類型、FOREIGNKEY約束、CHECK約束、DEFAULT定義、NOTNULL和規則實現限制數據范圍,保證只有在有效范圍內的值才能存儲到列中。963.?參照完整性參照完整性保證數據庫中相關聯表的數據正確性,可以使用FOREIGNKEY約束。確保數據表的參照完整性,可以避免錯誤地刪除和增加數據。4.?用戶定義完整性用戶定義完整性是根據實際應用情況來制定的,不應由應用程序提供,而應由關系模型定義并檢驗,是由用戶自己定義的,所有的完整性類型都支持用戶定義完整性。數據完整性可以通過聲明數據完整性或過程完整性來實現,聲明數據完整性可以使用約束、默認和規則等來實現,過程完整性可以通過在腳本語言中定義,如通過觸發器和存儲過程來實現。97二、約束的類型1.?主鍵(PRIMARY?KEY)約束主鍵約束在每個數據表中只有一個,但是一個主鍵約束可以由多個列組成。主鍵約束可以保證主鍵列的數據沒有重復且值不為空。在SSMS窗口中設置主鍵約束,如果主鍵由多列組成,要按住Ctrl鍵選中多個列并右擊,在彈出的快捷菜單中,選擇“設置主鍵”選項。當創建主鍵時,系統將自動生成一個以PK_為前綴,后跟表名的主鍵索引,系統自動按聚集索引方式組織。98使用T-SQL語句創建表時,還可以設置主鍵約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給主鍵約束取個名字,可省略;PRIMARYKEY為定義主鍵的關鍵字。992.?外鍵(FOREIGN?KEY)約束外鍵約束也稱參照約束,用于將兩個表中的數據進行關聯,當對兩個相關聯的表進行數據插入或刪除時,保證數據的參照完整性。在SSMS窗口中選擇“表設計器”→“關系”菜單,在外鍵關系設置對話框中,添加一個以FK_為前綴,后跟兩個表的名稱的外鍵約束名稱。100101表的主鍵和3個表之間的外鍵約束使用T-SQL語句創建表時,還可以設置外鍵約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給外鍵約束取個名字,可省略;FOREIGNKEY為定義外鍵的關鍵字;REFERENCES是關鍵字,后面跟被引用主鍵列“表名(列名)”;ONDELETECASCADE表示級聯刪除,即父表中刪除被引用行時,也將從引用表中刪除引用行;ONUPDATECASCADE表示級聯更新,即父表中更新被引用行時,也將從引用表中更新引用行。1023.?唯一(UNIQUE)約束唯一約束和主鍵約束一樣,都用于設置表中的列不能重復的約束,區別是一個表中只能有一個主鍵約束,卻可以有多個唯一約束。如果某列有空值,不能設置其為主鍵約束,但可以設置其為唯一約束。一般在創建主鍵約束時,系統會自動生成索引,索引的默認類型為聚簇索引。而創建唯一約束時,系統會自動生成一個UNIQUE索引,索引的默認類型為非聚簇索引。若用T-SQL語句把學生表student中的身份證號碼IdentityCardNo字段設置為唯一約束,可以寫成ALTERTABLEstudentADDCONSTRAINTUK_ICUNIQUENONCLUSTERED(IdentityCardNo)。103在SSMS中創建唯一約束時,選擇“索引/鍵”選項,在常規選項中,設置類型為“唯一鍵”。若要刪除唯一約束,可在“索引/鍵”選項中選中選定的索引名,單擊“刪除”按鈕。使用T-SQL語句創建表時,還可以設置唯一約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給唯一約束取個名字,可省略;UNIQUE為定義唯一約束的關鍵字。1044.?檢查(CHECK)約束檢查約束是用來指定表中列的值的取值范圍的,當輸入的值不在有效范圍內時,彈出錯誤提示信息。檢查約束實際上是字段輸入內容的驗證規則,表示一個字段的輸入內容必須滿足檢查約束的條件。對于timestamp類型字段,不能定義檢查約束。使用T-SQL語句創建表時,還可以設置檢查約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給檢查約束取個名字,可省略;CHECK為定義檢查約束的關鍵字,后面跟邏輯表達式,如性別in('男','女')。1055.?非空(NOT?NULL)約束非空約束可以在表中定義允許為空值或不允許為空值,如果允許某列可以不輸入數據,那么應在該列加上空約束。如果某列必須輸入數據,那么應在該列加上非空約束。默認情況下,創建表列允許空值。數據庫中NULL是特殊值,空格字符串“”不等于NULL,0也不等于NULL,NULL只表明該列是未知的。106使用T-SQL語句創建表時,還可以設置非空約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給非空約束取個名字,可省略;NULL|NOTNULL允許空或不允許空,默認為允許空。1076.?默認(DEFAULT)約束默認約束是指在用戶未提供某些列的數據時,數據庫系統為用戶提供的默認值。如果插入的新行在定義了默認值的列上沒有給出值,那么這個列上的數據就是定義的默認值。如果插入的記錄給出了這個列的值,那么該列的數據就是插入的數據。默認值必須與所約束的列的數據類型保持一致,每一列只能定義一個默認值。對于Timestamp和Identity兩種類型的字段,不能定義默認值約束。108使用T-SQL語句創建表時,還可以設置默認約束,語法格式如下。其中,[CONSTRAIN約束名]為可選項,給默認約束取個名字,可省略;DEFAULT為定義默認約束的關鍵字。109三、在已有表上添加約束在已有表上添加約束的語法格式如下。110四、使用SSMS窗口在表中修改和刪除約束1111.?主鍵約束的修改和刪除刪除學生表student中的學號sno主鍵,在學生表student設計器窗口中右擊sno字段,在彈出的快捷菜單中,選擇“刪除主鍵”選項,如圖所示。修改主鍵的方法是先刪除主鍵,再設置新的主鍵。選擇“刪除主鍵”選項2.?外鍵的修改與刪除在SSMS窗口中選中sc表并右擊,在彈出的快捷菜單中,選擇“設計”選項,打開表設計器窗口,在表設計器窗口的任意位置右擊,在彈出的快捷菜單中,選擇“關系”選項,彈出如圖所示的“外鍵關系”對話框,在左側選中一個關系的名稱,再單擊“刪除”按鈕即可刪除外鍵,單擊“關閉”按鈕退出當前窗口。112“外鍵關系”對話框若要修改外鍵,在上圖所示的“常規”選項下單擊“表和列規范”后面的

按鈕,彈出如圖所示的“表和列”對話框,可以修改對應的表和列。113“表和列”對話框3.?唯一約束的修改與刪除打開表設計器窗口,在表設計器窗口的任意位置右擊,在彈出的快捷菜單中,選擇“索引/鍵”選項,彈出索引/鍵窗口,在左側選中一個關系的名稱,再單擊“刪除”按鈕,刪除唯一約束,單擊“關閉”按鈕退出當前窗口。4.?非空約束的修改打開表設計器窗口,找到并單擊要修改的列名,在“允許Null值”列,可以直接修改是否為空。勾選該復選框表示可以為空;不勾選該復選框表示不能為空,在錄入或插入記錄時,必須要有對應的數據。1145.?默認約束的修改與刪除打開表設計器窗口,找到并單擊要修改的列名,在列屬性的“常規”選項中,在“默認值或綁定”后面的單元格中可以修改或刪除已經定義的值。6.?檢查約束的修改與刪除打開表設計器窗口,在表設計器窗口的任意位置右擊,在彈出的快捷菜單中,選擇“CHECK約束”選項。選中左側的約束名稱,單擊“刪除”按鈕則可以刪除檢查約束。若要修改約束,在右側的“常規”選項中單擊“表達式”后面的

按鈕,在彈出的“CHECK約束表達式”對話框中修改約束條件即可。115項目三操作數據表116任務1通過SSMS窗口操作數據表任務2插入數據

任務3修改和刪除數據117通過SSMS窗口操作數據表任務1

118能通過SSMS窗口插入、修改、刪除數據。119在前面的任務中,已經創建了學生表student,并且設置了約束。本任務要求錄入新生的相關信息。120可以使用SSMS窗口向學生表student插入一條記錄,記錄為“學號:2022010901,姓名:李十雨,性別:女,年齡:18,系別:創意服務系”。再插入一條記錄“學號:2022010902,姓名:沈十一,性別:女

,年齡:17”,再修改其系別為“創意服務系”。插入記錄后,要求刪除學生表student中姓名為“沈十一”的記錄。學生表的記錄如圖所示。121學生表的記錄一、通過SSMS窗口插入數據插入記錄是將新記錄添加在表尾,可在表中插入多條記錄,也可以邊插入邊修改。如果某列不允許為空,那么必須輸入值。連接到服務器后,展開已經建立的數據庫ssts,再展開表結點,右擊學生表student,在彈出的快捷菜單中,選擇“編輯前200行”選項,如圖所示。122選擇“編輯前200行”選項將光標定位在表格中,逐行逐列輸入數據信息。在各個字段下輸入所有學生的信息內容,如果輸入錯誤,可以直接修改。編輯學生表student,如圖所示,學號的數據類型為char(10),若輸入“xxgc20220401”,則超過了10位,會提示“未更新任何行”,需要截斷數據,所以在輸入學號時要考慮數據類型。123124編輯學生表student二、通過SSMS窗口修改數據如果輸入的某條記錄有錯誤,可以進行修改。將插入點定位到要修改的地方,直接修改即可。在修改數據時,應注意數據類型、長度、約束等要符合要求,否則修改可能不成功。若要修改學生表student中的數據,在連接到服務器后,展開已經建立的數據庫ssts,再展開表結點,右擊學生表student,在彈出的快捷菜單中,選擇“編輯前200行”選項,將插入點定位到要修改的位置,直接修改即可。125三、通過SSMS窗口刪除數據將光標定位在表格中,可以直接刪除數據信息。在插入、修改、刪除數據后,單擊工具欄上的“保存”按鈕,保存操作結果。126

選擇“刪除”選項插入數據任務21271.?能使用INSERT?INTO?VALUES語句向表中插入一條或多條記錄。2.?能使用INSERT?SELECT語句,將子查詢結果插入表中。3.?能使用SELECT?INTO語句創建新表。128新學期開始,教務處要輸入信息工程系和電氣工程系新生的信息,要求清空數據庫ssts中學生表student的所有記錄,存儲新生的信息,但表結構不變。新生信息表見下表,課程表見下表。129130

新生信息表

課程表學期結束,學生選修課成績表見下表。3張表之間的關系是學生選修課成績表中的學號來源于新生信息表中的學號,成績表中的課程號來源于課程表中的課程號。131學生選修課成績表教務處為了評定獎學金,要求單獨創建一張表sc90,用于存放90分以上的學生成績;還要得到一張所有學生選課的成績表,學生課程成績表studentCourseScore如圖所示。可以使用INSERTINTOVALUES語句向學生表student和課程表course中插入記錄。

使用SELECTINTO語句創建sc90表,

用于存放90分以上的學生成績;使用INSERTSELECT語句插入查詢結果到sc90表中;使用SELECTINTO語句創建學生課程成績表studentCourseScore。132學生課程成績表studentCourseScore一、CRUD操作CRUD是一個數據庫技術的縮寫詞,表示對數據的創建(create)、讀?。╮ead)、更新(update)和刪除(delete)操作,這些操作屬于處理數據的基本原子操作。原子操作是不可分割的,表示這種操作一旦開始,就會一直運行到結束,中間不會被任何其他任務或事件中斷,不會切換到另一個線程。133二、INSERT語句INSERT語句用于向數據表或視圖中添加數據,INSERT語句的語法格式如下。INSERT語句將VALUES子句中的值按照INTO子句中指定列名的順序插入表中。其中,table_or_view是指要插入新記錄的表名或視圖名;column_list是可選項,指定待添加數據的字段列名,要用圓括號將所有的字段列名括起來,列與列之間用逗號分隔;VALUES子句指定待添加數據的具體值。列名的排列順序不一定要與表定義時的順序一致。134在進行數據插入操作時,需注意以下幾點。1.在VALUES子句中,必須用英文狀態下的逗號將各個數據分開,字符型數據和日期類型數據要用英文狀態下的單引號引起來,數值型數據不需要加單引號。2.有時并不需要向表中插入完整的行,而需要將數據只插入到幾個指定的字段內,在表名后加上字段列表,且VALUES子句中值的排列順序要與表中各屬性列的排列順序一致。1353.在列屬性為IDENTITY的字段上,插入數據可分為兩種情況:若插入顯示值,則必須指定字段和值,而且SETIDENTITY_INSERT選項為ON;若不插入顯示值,可以不必指定字段和值,系統自動根據seed和increment值計算得到。4.在設有默認值字段上添加數據時,可以使用列的默認值,字段值可以不寫到T-SQL語句中。5.對于INTO子句中沒有出現的列,插入的新記錄在這些列上字段可能為空,可能會被設置為默認值。但在表定義時,有NOTNULL約束的屬性列不能取空值,必須要插入值。136三、SELECTINTO復制數據表如果要復制其他數據庫中的數據表到數據庫ssts中,表名tableName不變,表格的設計結構和內容全部復制,假定數據庫的名稱為databaseName。注意,寫法為“數據庫名.dbo.表名”。若只復制表格的設計結構,而不復制內容,可在上述語句基礎上加上不成立的條件即可。137

修改和刪除數據任務3

1381.?能使用UPDATE?SET語句修改記錄,對符合條件的數據進行修改。2.?能使用DELETE語句刪除數據表中符合條件的數據。3.?能使用TRUNCATE?TABLE語句快速刪除數據。4.?能使用DROP?TABLE語句刪除表。139一年過去了,同學們的年齡也增長了1歲,需要在學生表student中將所有學生的年齡增加1歲。將“信息工程系”更名為“電子信息系”,需要對學生表student中系別dept做相應的更改,修改后的學生表student如圖所示。接到教務處通知,需要刪除數據表studentCourseScore中姓名為“劉莉”的全部記錄。一段時間后學生成績有了新的樣式表格,發現studentCourseScore過于簡單,需要刪除studentCourseScore表,包括刪除數據和結構的全部信息。140修改后的學生表student一、UPDATE語句UPDATE語句用于修改數據表或視圖中特定記錄或字段的數據,其語法格式如下。141其中,table_or_view是指要修改的表或視圖;SET子句給出要修改的列及其修改后的值,column為要修改的列名,expression為其修改后的值;WHERE子句用于指定待修改的記錄應滿足的條件,WHERE子句省略時,則修改表中的所有記錄。1421431.?修改所有記錄ROUND函數返回一個數值,該值是按照指定的小數位數進行四舍五入運算的結果。CAST函數用于將某種數據類型的顯式表達式轉換為另一種數據類型。2.?修改符合條件的記錄修改符合條件的記錄,一般使用“UPDATE…SETWHERE…”語句。二、DELETE語句DELETE語句用于刪除數據表或視圖中一行或多行數據,其語法格式如下。其中,table_or_view是指要修改的表或視圖;WHERE子句用于指定待刪除的記錄應滿足的條件,WHERE子句省略時,則刪除表中的所有記錄。1441451.?刪除所有記錄(1)沒有WHERE的DELETE語句【例】將學生成績表studentScore的記錄全部刪除。(2)使用TRUNCATETABLE刪除表數據使用TRUNCATE刪除表中所有的行,與沒有WHERE的DELETE語句類似,但TRUNCATE速度更快。1462.?刪除指定記錄【例】刪除學生表student中的姓名為“劉美”的記錄。三、使用DROPTABLE刪除表sc90表的結構和數據將被全部刪除。147項目四管理數據庫148任務1導入與導出數據表任務2分離與附加數據庫任務3備份與還原數據庫149導入與導出數據表任務1

1501.?能導入Access數據庫中的數據表。2.?能導入其他類型的數據源。3.?能導出SQL?Server數據庫中的數據表,并導出為Excel文件。4.?能導出為其他類型的數據源,并驗證導出結果。151本任務要求刪除數據庫ssts中舊的users表,將已有的Access數據庫中的books表和user表導入數據庫ssts中,然后再將數據庫ssts中的student和course兩張表導出為Excel格式文件??梢允褂肧QLServer導入和導出向導完成上述兩項操作,導入和導出的結果如圖所示。152153導入和導出的結果一、Access數據源MicrosoftAccess數據源版本較多,選擇最新安裝的版本,或與創建數據庫文件的Access版本相對應的版本,Access數據源與Office版本的對應關系見下表。在SQLServer中,數據庫文件的后綴名為mdf;2003版本的Access數據庫文件的后綴名為mdb,2007版本以后的Access數據庫文件的后綴名為accdb;2003版本的Excel文件的后綴名為xls,2007版本以后的Excel文件的后綴名為xlsx。154155Access數據源與Office版本的對應關系如果尚未安裝MicrosoftOffice數據源(包括Access和Excel)的連接組件,需要下載并完成安裝。Excel也是Office軟件之一,Excel2013數據源的引擎與Access2013一致,Excel2016數據源的引擎與Access2016一致。二、使用SQLServer導入和導出向導的數據源使用SQLServer可以導入和導出的數據源,包括SQLServer、Oracle、平面文件(文本文件)、Excel、Access、AzureBlobStorage、ODBC、PostgreSQL、MySQL等。1561.?首行包含列名稱首行包含列名稱是指數據的首行是否包含列名稱。(1)如果數據不包含列名稱,但啟用了此選項,那么向導會將源數據的首行作為列名稱。(2)如果數據包含列名稱,但禁用了此選項,那么向導會將列名稱一行作為數據的首行。(3)如果指定數據不具有列名稱,那么向導會使用F1、F2等作為列名稱。1572.“選擇源表和視圖頁”上的操作(1)通過選擇“編輯映射”選項可以查看源和目標之間的列映射。(2)通過選擇“預覽”選項可以預覽示例數據以確認是否需要。158三、導出為Excel1.要使用“工作表”或“命名區域”,在“選擇源表和視圖”頁的“目標”列中,選擇目標工作表和命名區域。2.要使用其地址指定的“未命名區域”,在“選擇源表和視圖”頁的“目標”列中輸入區域,格式如“Sheet1$A1:B5”(不含分隔符),向導會添加分隔符。159分離與附加數據庫任務21601.?能正確分離與附加數據庫。2.?能解決附加數據庫時出現的“拒絕訪問”錯誤。161本任務要求在SSMS對象資源管理器中,連接到SQLServer數據庫引擎,附加上數據庫FlightDatabase,再將已經附加上的數據庫重新分離出來。附加與分離的結果如圖所示。162

附加與分離的結果一、附加數據庫附加數據庫是指把已有的數據庫的數據文件(mdf文件)和日志文件(ldf文件)直接附加到當前的數據庫服務器中。待附加的數據庫中的所有數據文件必須是可用的。如果任何數據文件的路徑不同于首次創建數據庫或上次附加數據庫時的路徑,那么必須指定文件的當前路徑。163復制數據庫文件(包括數據文件和日志文件)到本機時,是不能直接雙擊打開使用的,這時使用附加數據庫的方法,將其附加到當前的數據庫服務器中,才可以正常使用。在附加數據庫的過程中,經常出現如圖所示的錯誤提示信息,其主要原因是權限不足。164錯誤提示信息二、分離數據庫分離數據庫是指從SQLServer實例中刪除連接,但不是刪除數據庫文件,使數據庫的數據文件和日志文件保持不變,之后就能使用這些文件將數據庫附加到任何SQLServer實例,包括分離該數據庫的服務器。165

備份與還原數據庫任務3

1661.能根據任務要求在SQLServer中創建備份設備。2.能描述備份數據庫的重要性,合理選擇時間和備份類型進行備份。3.能獨立還原數據庫,并敘述完整恢復和部分恢復數據庫的方法。167現要求使用SSMS備份和還原數據庫,具體可分為以下2個任務。1.?創建一個名為“Device”的備份設備,將數據庫ssts使用完整備份方式備份到“Device”中,并查看備份結果。2.?從數據庫中還原已經備份的數據庫文件,檢查數據庫ssts文件是否得到還原。168備份與還原的結果如圖所示。169備份與還原的結果一、數據庫的備份1.?備份的類型(1)完整備份完整備份即備份數據庫的所有數據文件、日志文件和在備份過程中發生的任何活動(將這些活動記錄在事務日志中,一起寫入備份設備)。差異備份、事務日志備份的恢復完全依賴于在其前面進行的完整備份。170171(2)差異備份差異備份只備份自最近一次完整備份以來被修改的數據。(3)事務日志備份事務日志備份只備份最后一次日志備份后所有的事務日志記錄。(4)文件和文件組備份文件和文件組備份主要用于備份數據庫文件或數據庫文件組。1722.?備份的操作角色具有以下角色的成員可以進行備份操作,也可以通過授權允許其他角色進行數據庫備份。(1)固定的服務器角色系統管理員sysadmin。(2)固定的數據庫角色數據庫所有者db_owner。(3)固定的數據庫角色允許進行數據庫備份的用戶db_backupoperator。3.?備份數據庫選項說明(1)“常規”選項卡在SSMS中,“常規”選項卡如圖所示。173“常規”選項卡(2)“介質選項”選項卡在SSMS中,“介質選項”選項卡如圖所示。174“介質選項”選項卡(3)“備份選項”選項卡在SSMS中,“備份選項”選項卡如圖所示。175“備份選項”選項卡1764.?查看備份集中的數據文件和日志文件在連接到相應的SQLServer數據庫引擎實例后,在對象資源管理器窗口中,展開數據庫目錄?!皵祿鞂傩浴睂υ捒蚨?、數據庫的還原數據庫的還原又稱為數據庫的恢復,當數據庫發生故障時,可以從一個或多個備份中還原數據庫,其有簡單還原、完全還原、大容量日志還原3種模式。當使用簡單還原模式時,只能還原到備份時刻的數據,因為在該模式下,不會備份事務日志,但是在完全還原模式下卻可以。1771781.?還原模式和支持的還原操作可用于數據庫的還原操作取決于所采用的還原模式。還原模式支持的還原方案及適用范圍見下表。

還原模式支持的還原方案及適用范圍1792.還原模式的使用(1)簡單還原模式簡單還原模式不備份事務日志,故恢復能力有限。在簡單還原模式下,備份間隔應盡可能短,以防止大量丟失數據。(2)大容量日志還原模式大容量日志還原模式專為需要執行大量數據復制操作的數據庫設計。此模式通過減少對這些大容量操作事務的日志記錄來節省空間,同時保持對其他事務的完整日志記錄。在大容量操作期間發生的數據丟失或損壞,通常只能恢復到大容量操作之前或之后的狀態,而不是操作過程中的某個特定點。180(3)完整還原模式完整還原模式提供了數據庫備份和恢復的最高級別保護。在此模式下,數據庫系統會記錄所有事務的詳細信息到日志記錄中,以便能夠恢復到任意時間點,包括數據丟失或損壞的確切時刻。這種還原模式要求定期備份日志記錄,以確保數據的完整性和可恢復性。雖然完整還原模式提供了強大的數據保護能力,但它也要求更多的存儲空間來保存日志記錄,并可能增加備份和還原的復雜性。在完整還原模式和大容量日志還原模式下,必須進行日志備份。如果不想進行日志備份,那么可使用簡單還原模式。三、T-SQL數據庫的備份與還原1.?創建備份設備如果要使用備份設備的邏輯名來引用備份設備,就必須在使用它之前創建備份設備。可使用系統存儲過程sp_addumpdevice來創建備份設備。2.?備份BACKUPBACKUP可以備份整個數據庫、差異備份數據庫、備份數據庫文件或文件組及事務日志文件。3.?恢復RESTORERESTORE可以恢復整個數據庫、數據庫的部分內容、特定的數據庫文件或文件組及事務日志文件。181項目五查詢數據庫182183任務1基本查詢任務2條件查詢任務3查詢結果排序任務4分組查詢任務5連接查詢任務6集合查詢任務7子查詢基本查詢任務11841.?能根據任務要求,使用SELECT語句進行數據庫查詢。2.?能使用關鍵字DISTINCT、AS和TOP子句進行數據庫查詢。185本任務要求根據導入數據庫ssts中的學生成績表stuScore.xls,完成以下查詢。1.查詢stuScore表中的所有記錄。2.查詢總成績排名前10的學生,其中,總成績=平時成績

×40%+考試成績

×60%,保留兩位小數。186一、SELECT語法查詢語句SELECT是從數據庫中檢索行,并允許從SQLServer中的一個或多個表中選擇一個或多個行或列。雖然SELECT語句的完整語法較為復雜,但其主要子句可歸納如下。187可在查詢之間使用UNION、EXCEPT和INTERSECT運算符,以便將各個查詢的結果合并到一個結果集中或進行比較。SELECT后面列出要查詢的字段名(列名),多個字段名之間要用英文逗號隔開。FROM后面一般為表名(table_name)

或視圖名(view_name);WH

溫馨提示

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

最新文檔

評論

0/150

提交評論