




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目1初識SQLServer2016全套可編輯PPT課件
理解數據庫基本概念了解SQLServer2016的服務器組件和管理工具了解SQLServer2016的不同版本掌握安裝SQLServer2016的步驟掌握運行SQLServer2016的方法項目目標本課件是可編輯的正常PPT課件1.1.1數據庫數據庫是存放數據的“倉庫”。數據庫的存儲空間非常大,可以存放成千上萬條數據。但是數據庫并不是隨意地將數據進行存放,而是按照一定的數據結構來組織、存儲和管理數據的,數據庫建立在計算機上并以文件形式存放在存儲設備上。在日常工作中,經常需要把一些相關的數據放進數據庫中,并根據需要進行相應的操作和處理。例如,企事業單位的人事部門通常會把本單位職工的基本情況(職工號、姓名、出生日期、性別、籍貫、工資、簡歷等)存放在一張表中,這張表就可以看成是一個數據庫。有了這個數據庫,便可以根據需要通過數據庫管理軟件來查詢職工的基本情況,也可以查詢工資收入在某個范圍內的職工人數,如此等等,人事管理的工作效率得到了極大提高。嚴格地說,數據庫是長期儲存在計算機內、有組織的、可共享的數據集合。數據庫中的數據按照一定的數據模型組織和儲存在一起、具有盡可能小的冗余度、較高的數據獨立性和易擴展性的特點,并且可以在一定范圍內為多個用戶共享。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立于使用數據的應用程序,對數據的添加、刪除、修改和查詢等操作通過計算機軟件進行統一管理和控制。任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件1.1.2關系型數據庫關系型數據庫就是建立在關系模型基礎上的數據庫,它借助于集合代數等數學概念和方法來處理數據庫中的數據。關系模型由關系數據結構、關系操作集合、關系完整性約束三個部分組成。現實世界中的各種實體以及實體之間的各種聯系都可以使用關系模型來表示。在關系模型中,關系可以理解為一張二維表,每個關系都具有一個關系名,這就是表名。在數據庫術語中,二維表中的行通常稱為記錄或元組;二維表中的列稱為字段或屬性;字段的取值范圍稱為域,也就是字段的取值限制;一組可以唯一標識記錄的字段稱為關鍵字,稱為主鍵,主鍵由一個或多個字段組成;關系模式是指對關系的描述,其格式為“表名(字段1,字段2,...,字段n)”,稱為表結構。在關系型數據庫中,通過在不同的表之間創建關系可以將某個表中的字段鏈接到另一個表中的字段,以防止出現數據冗余。任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件1.1.2關系型數據庫關系型數據庫具有以下主要特點。存儲方式。采用二維表的儲存方式,數據以行和列的方式進行存儲,便于讀取和查詢數據。結構化。按照結構化方法存儲數據,每個數據表都必須首先定義表結構,即定義表中各個字段的名稱和數據類型等,然后根據表結構存入數據。存儲規范。按照最小關系表形式來存儲數據。當存在多個數據庫表時,數據涉及到多個數據表,數據表之間存在著復雜的關系,隨著數據表數量的增加,數據管理會越來越復雜。查詢方式。可以通過結構化查詢語言(SQL)對數據庫進行查詢,SQL語言已經獲得各個數據庫廠商的支持,成為數據庫行業的標準,它能夠支持數據庫的增加、查詢、更新和刪除操作,具有非常強大的功能,還可以通過索引來加快查詢操作。規范化。通常需要對一個或者多個數據實體進行操作,一個數據實體一般要分割成多個部分,然后再對分割的部分進行規范化,然后分別存入到多個關系型數據表中。任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件1.1.3數據庫管理系統數據庫管理系統(DBMS)是一種管理數據庫的軟件,可以用于創建、使用和維護數據庫。DBMS對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過DBMS訪問數據庫中的數據,數據庫管理員(DBA)也通過DBMS進行數據庫的維護工作。DBMS可以使多個應用程序和用戶使用不同方法來創建、修改和查詢數據庫。大部分DBMS提供數據定義語言(DDL)和數據操作語言(DML),允許用戶定義數據庫的模式結構和權限約束,實現添加數據、修改數據、刪除數據和查詢數據等操作。數據庫管理系統具有以下主要功能。數據定義;數據操作;數據庫的運行管理數據組織、存儲與管理;數據庫保護數據庫維護;通信功能任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件1.1.4數據庫系統數據庫系統(DBS)通常由軟件、數據庫和數據庫管理員和最終用戶組成,其中軟件主要包括操作系統、各種宿主語言、實用程序以及數據庫管理系統。數據庫通過數據庫管理系統進行統一管理,數據的添加、修改、刪除和檢索都要通過數據庫管理系統來實現。數據庫系統一般由四個部分組成。數據庫計算機硬件計算機軟件數據庫管理員任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件1.1.5結構化查詢語言結構化查詢語言(SQL,StructuredQueryLanguage)是一種關系型數據庫操作語言,它具有數據查詢、數據定義、數據操作和數據控制功能,可以用于檢索、插入、修改和刪除關系型數據庫中的數據,也可以用于定義和管理數據庫中的對象。結構化查詢語言包含以下六個部分。數據查詢語言(DQL)數據操作語言(DML)事務處理語言(TPL)數據控制語言(DCL)數據定義語言(DDL)指針控制語言(CCL)任務1.1理解數據庫基本概念本課件是可編輯的正常PPT課件任務目標了解SQLServer2016的不同版本了解SQLServer2016的服務器組件及其功能了解SQLServer2016的管理工具及其功能掌握安裝SQLServer2016的操作步驟任務1.2安裝SQLServer2016本課件是可編輯的正常PPT課件1.2.1SQLServer2016的不同版本企業版(Enterprise):SQLServer企業版提供了全面的高端數據中心功能,性能極為快捷、虛擬化不受限制,還具有端到端的商業智能,可以為關鍵任務工作負荷提供較高服務級別,支持最終用戶訪問深層數據。標準版(Standard):SQLServer標準版提供了基本數據管理和商業智能數據庫,使部門和小型組織能夠順利運行其應用程序并支持將常用開發工具用于內部部署和云部署,有助于以最少的IT資源獲得高效的數據庫管理。Web版:SQLServerWeb版是一項總擁有成本較低的選擇,它可以針對從小規模到大規模Web資產等內容提供可伸縮性、經濟性和可管理性能力。開發人員版(Developer):SQLServer開發人員版支持開發人員基于SQLServer構建任意類型的應用程序。它包括企業版的所有功能,但有許可限制,只能用作開發和測試系統,而不能用作生產服務器。SQLServer開發人員版是構建SQLServer和測試應用程序的人員的理想之選。速成版(Express):SQLServer速成版本是入門級的免費數據庫,是學習和構建桌面及小型服務器數據驅動應用程序的理想選擇。它是獨立軟件供應商、開發人員和熱衷于構建客戶端應用程序的人員的最佳選擇。任務1.2安裝SQLServer2016本課件是可編輯的正常PPT課件1.2.2SQLServer2016服務器組件SQLServer數據庫引擎:SQLServer數據庫引擎包括數據庫引擎、部分工具和“數據庫引擎服務”(DQS)服務器,其中數據庫引擎是用于存儲、處理和保護數據、復制及全文搜索的核心服務,工具則用于管理數據庫分析集成中和可訪問Hadoop及其他異類數據源的Polybase集成中的關系數據和XML數據。分析服務:這是一個針對個人、團隊和公司商業智能的分析數據平臺和工具集,包括用于創建和管理聯機分析處理(OLAP)以及數據挖掘應用程序的工具。報表服務:包括用于創建、管理和部署表格報表、矩陣報表、圖形報表以及自由格式報表的服務器和客戶端組件。報表服務還是一個可用于開發報表應用程序的可擴展平臺。集成服務:這是一組圖形工具和可編程對象,用于移動、復制和轉換數據。它還包括集成服務的數據質量服務(DQS)組件。主數據服務(DQS):這是針對主數據管理的SQLServer解決方案。通過配置MDS可以管理任何領域(產品、客戶、賬戶);MDS中可以包括層次結構、各種級別的安全性、事務、數據版本控制和業務規則,以及可用于管理數據的Excel的外接程序。R服務(數據庫內):R服務(數據庫內)支持在多個平臺上使用可縮放的分布式R解決方案,并支持使用多個企業數據源(如Linux、Hadoop和Teradata等)。任務1.2安裝SQLServer2016本課件是可編輯的正常PPT課件1.2.3SQLServer2016管理工具SQLServerManagementStudio(SSMS):這是用于訪問、配置、管理和開發SQLServer組件的集成環境,它使各種技術水平的開發人員和管理員都能夠使用SQLServer。SQLServer配置管理器:為SQLServer服務、服務器協議、客戶端協議和客戶端別名提供基本的配置管理。SQLServer事件探查器:提供了一個圖形用戶界面,可以用于監視數據庫引擎實例或分析服務實例。數據庫引擎優化顧問:可以協助創建索引、索引視圖和分區的最佳組合。數據質量客戶端:提供了一個非常簡單和直觀的圖形用戶界面,用于連接到DQS數據庫并執行數據清理操作。SQLServer數據工具:以前稱為BusinessIntelligenceDevelopmentStudio,它提供一個集成開發環境,可以為分析服務、報表服務和集成服務等商業智能組件生成解決方案。連接組件:安裝用于客戶端和服務器之間通信的組件,以及用于DB-Library、ODBC和OLEDB的網絡庫。任務1.2安裝SQLServer2016本課件是可編輯的正常PPT課件1.2.4安裝SQLServer2016主要步驟(1)運行安裝程序。(2)在“SQLServer安裝中心”窗口左側窗格中單擊“安裝”。(3)單擊“全新SQLServer獨立安裝或向現有安裝添加功能”鏈接。(4)輸入產品密鑰,并勾選“我接受許可條款”復選框。(5)選擇要安裝的產品功能。若要安裝產品的全部功能。(6)選擇“默認實例”選項,指定實例ID(默認為為“MSSQLSERVER”)。(7)對選擇安裝的各個服務器組件設置賬戶名、密碼和啟動類型。(8)選擇數據庫引擎的身份驗證模式并指定SQLServer管理員。(9)下載安裝SSMS16.5.3。任務1.2安裝SQLServer2016本課件是可編輯的正常PPT課件任務目標掌握管理SQLServer2016服務器的方法掌握連接SQLServer2016服務器的方法掌握設置SQLServer2016服務器的方法任務3運行SQLServer2016本課件是可編輯的正常PPT課件1.3.1管理SQLServer2016服務器1.使用服務管理工具管理SQLServer服務單擊“開始”按鈕,然后執行“所有程序”→“管理工具”→“服務”命令,以運行服務管理工具。在服務管理工具窗口中,從服務列表中選擇一項SQLServer服務,例如“SQLServer(MSSQLSERVER)”,然后根據需要在工具欄上單擊“啟動服務”、“停止服務”、“暫停服務”或“重新啟動服務”。如果要設置某項SQLServer服務的啟動類型,可在服務列表中雙擊該服務,以打開相應的服務屬性對話框,選擇“常規”選項卡,然后在“啟動類型”列表中選擇“自動”、“自動(延遲啟動)”、“手動”或“禁用”。如果要設置服務的登錄賬戶,可在服務屬性對話框中選擇“登錄”選項卡,指定用來登錄服務的用戶賬戶并設置密碼,然后單擊“確定”按鈕。2.使用配置管理器管理SQLServer服務單擊“開始”按鈕,執行“MicrosoftSQLServer2016”→“SQLServer配置管理器”命令。在配置管理器左側窗格中單擊“SQLServer服務”,在右側窗格中單擊要設置的SQLServer服務,然后根據需要在工具欄上單擊“啟動服務”、“暫停服務”、“停止服務”或“重新啟動服務”。任務3運行SQLServer2016本課件是可編輯的正常PPT課件1.3.2連接SQLServer2016服務器單擊“開始”按鈕,然后執行“MicrosoftSQLServer2016”→“MicrosoftSQLServerManagementStudio”命令。當出現“連接到服務器”對話框時,從“服務器類型”列表中選擇要連接到的服務器的類型,例如選擇數據庫引擎。連接到數據庫引擎實例時,在“服務器名稱”列表中選擇要連接到的服務器實例。從“身份驗證”列表中選擇一種身份驗證模式。單擊“連接”按鈕,進入SQLServerManagementStudio集成環境。任務3運行SQLServer2016本課件是可編輯的正常PPT課件1.3.3設置SQLServer2016服務器在對象資源管理器中,用鼠標右鍵單擊當前鏈接的SQLServer服務器(如數據庫引擎),從彈出菜單中選擇“屬性”命令。此時將打開服務器屬性對話框,該對話框包含一些設置頁,“常規”頁包含當前服務器名稱、安裝的SQLServer2016版本、數據庫引擎版本、SQLServer2016安裝根目錄等信息。在對話框左側窗格中單擊“數據庫設置”,在該頁上可以對數據庫默認位置進行設置。單擊左側窗格下方的“查看連接屬性”鏈接,打開如圖1.23所示的“連接屬性”窗口,其中列出所安裝的SQLServer2016產品名稱和版本、當前SQLServer服務器的名稱和操作系統平臺、當前連接的默認數據庫(系統數據庫master)以及當前用戶的身份驗證方式等。任務3運行SQLServer2016本課件是可編輯的正常PPT課件項目2創建和管理數據庫理解SQLServe數據庫文件組成掌握創建數據庫的方法掌握修改數據庫的方法掌握分離和附加數據庫的方法掌握備份和還原數據庫的方法項目目標本課件是可編輯的正常PPT課件2.1.1SQLServer數據庫概述SQLServer數據庫由一些表和其他對象組成,這些表用于存儲一組特定的結構化數據。每個表中都包含一些行和列,在數據庫術語中每一行稱為一條記錄,每一列稱為一個字段。表中的每一列都用于存儲某種類型的信息,例如日期、名稱和金額等。為了保證數據的有效性,可以在表中添加各種類型的控制,例如約束、觸發器、默認值和自定義用戶數據類型等。通過在表中添加聲明性引用完整性約束,可以確保不同表中的相關數據保持一致。在表中可以創建索引,利用索引能夠快速找到所需要的行。在一臺計算機上可以安裝一個或多個SQLServer實例,每個SQLServer實例都可以包含一個或多個數據庫。一個SQLServer實例中最多可以包含32767個數據庫。在數據庫中有一個或多個對象所有權組,稱為架構。在每個架構中,都存在數據庫對象,例如表、視圖和存儲過程等。某些對象(例如證書和非對稱密鑰)包含在數據庫中,但不包含在架構中。如果某人獲得對SQLServer實例的訪問權限,則將其標識為一個登錄名。當某些人獲取對數據庫的訪問權限時,他們將被標識為數據庫用戶。數據庫用戶可以基于登錄名來創建。如果啟用包含的數據庫,也可以創建不基于登錄名的數據庫用戶。對數據庫具有訪問權限的用戶可以授予他們訪問數據庫中對象的權限。盡管可以將權限授予各個用戶,但建議創建數據庫角色,并將數據庫用戶添加到角色中,然后對角色授予訪問權限。任務2.1認識SQLServer數據庫本課件是可編輯的正常PPT課件2.1.2數據庫文件與文件組1.SQLServer數據庫文件的類型主要數據文件:包含數據庫的啟動信息,并指向數據庫中的其他文件,文件擴展名是.mdf。次要數據文件:這種文件是可選的,由用戶定義并存儲用戶數據,文件擴展名是.ndf。事務日志文件:保存用于恢復數據庫的日志信息。每個數據庫必須至少有一個日志文件。文件擴展名是.ldf。2.SQLServer數據庫文件的名稱邏輯文件名:這是在所有SQL語句中引用物理文件時所使用的名稱,必須符合標識符命名規則,在數據庫中必須唯一。操作系統文件名:這是包括目錄路徑的物理文件的名稱,必須符合操作系統中的文件命名規則。3.數據文件頁SQLServer數據文件中的頁面按順序編號,文件首頁以0開頭。數據庫中的每個文件都有一個唯一的文件ID號。如果要唯一地標識數據庫中的頁,則需要同時使用文件ID和頁碼。4.文件大小SQLServer文件可以從其最初指定的大小開始自動增長。在定義文件時可以指定一個特定的增量。每次填充文件時,其大小均按此增量來增長。如果文件組中有多個文件,則它們在所有文件被填滿之前不會自動增長。填滿后這些文件會循環增長。每個文件還可以指定一個最大大小。如果沒有指定最大大小,文件可以一直增長到用完磁盤上的所有可用空間。5.文件組每個SQLServer數據庫都有一個主要文件組。這個文件組包含主要數據文件和未放入其他文件組的所有次要文件。所有系統表都被分配到主要文件組中。也可以創建用戶定義文件組,這是首次創建數據庫或以后修改數據庫時明確創建的文件組,它用于將數據文件集合起來,以便于管理、分配和放置數據。任務2.1認識SQLServer數據庫本課件是可編輯的正常PPT課件2.1.3SQLServer系統數據庫1.master數據庫master數據庫用于記錄SQLServer系統的所有系統級信息,包括實例范圍的元數據(例如登錄賬戶)、端點、鏈接服務器和系統配置設置。此外,master數據庫還記錄了所有其他數據庫的存在、數據庫文件的位置以及SQLServer的初始化信息。2.model數據庫model數據庫用作在SQLServer服務器實例上創建的所有數據庫的模板。因為每次啟動SQLServer時都會創建tempdb,所以model數據庫必須始終存在于SQLServer系統中。3.msdb數據庫msdb數據庫由SQLServer代理用于計劃警報和作業,SSMS、ServiceBroker以及數據庫郵件等其他功能也使用該數據庫。4.tempdb數據庫tempdb系統數據庫是一個全局資源,可供連接到SQLServer實例的所有用戶使用,并可用于保存臨時用戶對象等。5.Resource數據庫Resource數據庫為只讀數據庫,它包含了SQLServer中的所有系統對象。SQLServer系統對象(如sys.objects)在物理上保留在Resource數據庫中,但在邏輯上卻顯示在每個數據庫的sys架構中。任務2.1認識SQLServer數據庫本課件是可編輯的正常PPT課件2.1.4數據庫狀態ONLINE:在線狀態或聯機狀態,可以對數據庫進行訪問。即使可能尚未完成恢復的撤消階段,主文件組仍處于在線狀態。OFFLINE:離線狀態或脫機狀態,數據庫無法使用。RESTORING:恢復狀態,正在還原主文件組的一個或多個文件,或正在脫機還原一個或多個輔助文件。數據庫不可用。RECOVERING:還原狀態,正在恢復數據庫。恢復進程是一個暫時性狀態,恢復成功后數據庫將自動處于在線狀態。若恢復失敗,則數據庫將處于可疑狀態。數據庫不可用。RECOVERYPENDING:恢復未完成狀態,SQLServer在恢復過程中遇到了與資源相關的錯誤。SUSPECT:可疑狀態,至少主文件組可疑或可能已損壞。在SQLServer啟動過程中無法恢復數據庫。。EMERGENCY:緊急狀態,用戶更改了數據庫,并將其狀態設置為EMERGENCY。任務2.1認識SQLServer數據庫本課件是可編輯的正常PPT課件2.1.5數據庫文件狀態ONLINE:在線狀態,文件可用于所有操作。OFFLINE:離線狀態,文件不可訪問,并且可能不顯示在磁盤中。RECOVERYPENDING:恢復未完成狀態,文件恢復被推遲。SUSPECT:可疑狀態,聯機還原過程中恢復文件失敗。DEFUNCT:失效狀態,當文件不處于在線狀態時被刪除。任務2.1認識SQLServer數據庫本課件是可編輯的正常PPT課件任務目標掌握使用SSMS創建數據庫的方法掌握使用SQL語句創建數據庫的方法任務2.2創建數據庫本課件是可編輯的正常PPT課件2.2.1使用SSMS創建數據庫(1)在對象資源管理器中連接到數據庫引擎實例,然后展開該實例。(2)右鍵單擊“數據庫”,然后單擊“新建數據庫”。(3)在“新建數據庫”對話框中,輸入數據庫名稱。(4)若要通過接受所有默認值來創建數據庫,請單擊“確定”按鈕;否則,請執行繼續后續的可選步驟。(5)若要更改所有者名稱,可以單擊按鈕選擇其他所有者。(6)若要更改主數據文件和事務日志文件的默認值,可以在“數據庫文件”網格中單擊“邏輯名稱”、“初始大小”、“自動增長/最大大小”或“路徑”單元格,然后輸入或設置新值。(7)若要更改數據庫的排序規則,可以選擇“選項”頁,然后從列表中選擇一個排序規則。(8)若要更改恢復模式,可以選擇“選項”頁,然后從列表中選擇一個恢復模式。(9)若要更改數據庫選項,可以選擇“選項”頁,然后修改數據庫選項。(10)若要添加新文件組,可以單擊“文件組”頁,單擊“添加文件組”按鈕,然后輸入文件組的值。(11)所有選項設置完成后,單擊“確定”按鈕,以創建數據庫。任務2.2創建數據庫本課件是可編輯的正常PPT課件2.2.2使用SQL語句創建數據庫1.CREATEDATABASE語句語法格式CREATEDATABASE數據庫名稱[ON[PRIMARY][<數據文件選項>[,...][,<數據文件組選項>[,...]][LOGON{<日志文件選項>[,...]}][COLLATE排序名稱]];任務2.2創建數據庫<文件選項>::={(NAME=邏輯文件名,FILENAME={'操作系統文件名'}[,SIZE=文件初始容量[KB|MB|GB|TB]][,MAXSIZE={文件最大容量 [KB|MB|GB|TB]|UNLIMITED}][,FILEGROWTH=文件增量[KB|MB|GB|TB|%]])}<文件組選項>::={FILEGROUP文件組名[DEFAULT]<文件選項>[,...]}本課件是可編輯的正常PPT課件2.2.2使用SQL語句創建數據庫2.CREATEDATABASE語句應用實例使用CREATEDATABASE語句創建數據庫分為以下三種情況。數據庫包含一個數據文件和一個事務日志文件。數據庫包含兩個數據文件和一個事務日志文件。數據庫包含六個數據文件,分成三個文件組。任務2.2創建數據庫本課件是可編輯的正常PPT課件任務目標掌握使用SSMS修改數據庫的方法掌握擴展數據庫的各種方法掌握收縮數據庫的的各種方法掌握移動數據庫文件的方法掌握設置數據庫選項的方法掌握重命名和刪除數據庫的方法任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.1使用SSMS修改數據庫(1)在對象資源管理器中連接到SQLServer數據庫引擎實例,然后展開該實例。(2)展開“數據庫”,右鍵單擊要修改的數據庫,選擇“屬性”命令。(3)在“數據庫屬性”對話框中,選擇一個頁以修改相關屬性。(4)完成數據庫屬性修改后,單擊“確定”按鈕,使修改立即生效。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.2使用SQL語句修改數據庫ALTERDATABASE{數據庫名|CURRENT}{ADDFILE<文件選項>[,...][TOFILEGROUP文件組名]|ADDLOGFILE<文件選項>[,...]|REMOVEFILE邏輯文件名
|MODIFYFILE<文件選項>|MODIFYNAME=新數據庫名
|ADDFILEGROUP文件組名[,...]|REMOVEFILEGROUP文件組名
|MODIFYFILEGROUP文件組名
{<文件組可更新選項>|DEFAULT|NAME=新文件組名}|SET<屬性選項>[,...][WITH<終止>]|COLLATE排序名};任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.3擴展數據庫默認情況下,SQLServer根據創建數據庫時指定的增長參數自動擴展數據庫。不過,也可以通過手動方式來擴展數據庫,為此可以為現有數據庫文件分配更多的磁盤空間,或者向數據庫中添加新文件。如果現有的文件已滿,則可能需要擴展數據或事務日志的空間。如果數據庫已經用完分配給它的空間且不能自動增長,則會出現錯誤。在Transact-SQL中,可以使用ALTERDATABASE語句來增加數據庫的大小,這個操作過程可以通過以下三種方式來實現:使用MODIFYFILE子句修改現有數據文件的大小;使用ADDFILE子句向數據庫中添加新的數據文件;使用ADDFILEGROUP子句向數據庫中添加新的文件組。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.4收縮數據庫1.自動收縮數據庫如果某個數據庫的AUTO_SHRINK選項設置為ON,則數據庫引擎將自動收縮該數據庫的可用空間:ALTERDATABASE數據庫名SETAUTO_SHRINKON;2.使用DBCCSHRINKDATABASE收縮數據庫DBCCSHRINKDATABASE(數據庫名|數據庫ID|0[,目標百分比][,{NOTRUNCATE|TRUNCATEONLY}]);3.使用DBCCSHRINKFILE收縮數據庫文件DBCCSHRINKFILE({文件名|文件ID}{[,EMPTYFILE]|[[,目標大小][,{NOTRUNCATE|TRUNCATEONLY}]]})4.從數據庫中刪除文件和文件組在ALTERDATABASE語句中使用REMOVEFILE子句可以從指定的數據庫中刪除文件,使用REMOVEFILEGROUP子句可以從數據庫中刪除文件組。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項1.自動選項AUTO_CLOSE:當設置為ON時,數據庫將在最后一個用戶退出后完全關閉,它占用的資源也將釋放。AUTO_CREATE_STATISTICS:當設置為ON時,將自動創建查詢謂詞所用的列的統計信息。AUTO_SHRINK:當設置為ON時,數據庫文件可作為定期收縮的對象。AUTO_UPDATE_STATISTICS:當設置為ON時,優化查詢所需的任何缺少的統計信息將在查詢優化過程中自動生成。2.游標選項CURSOR_CLOSE_ON_COMMIT:設置為ON時,所有打開的游標都將在提交或回滾事務時關閉。CURSOR_DEFAULT:如果指定為LOCAL,而創建游標時未將其定義為GLOBAL,則游標的作用域將局限于創建游標時所在的批處理、存儲過程或觸發器。游標名僅在該作用域內有效。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項3.數據庫可用性選項OFFLINE|ONLINE|EMERGENCY:如果指定為OFFLINE,則數據庫將完全關閉和退出,并標記為脫機;如果指定為ONLINE(默認值),則數據庫處于打開狀態并且可供使用;當指定為EMERGENCY時,數據庫將標記為READ_ONLY,日志記錄將被禁用,并且只有sysadmin固定服務器角色的成員才能進行訪問。READ_ONLY|READ_WRITE:如果設置為READ_ONLY,則允許用戶從數據庫中讀取數據,但此時不能修改數據庫;如果設置為READ_WRITE(默認值),則允許用戶對數據庫執行讀寫操作。SINGLE_USER|RESTRICTED_USER|MULTI_USER:若指定為SINGLE_USER,則一次只允許一個用戶連接到數據庫,所有其他用戶連接均中斷;若指定為RESTRICTED_USER,則只允許db_owner固定數據庫角色的成員以及dbcreator和sysadmin固定服務器角色的成員連接到數據庫,不過對連接數沒有限制;若指定為MULTI_USER(默認值),則允許所有具有相應權限的用戶連接到數據庫。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項4.日期相關性優化選項日期相關性優化選項DATE_CORRELATION_OPTIMIZATION可用于控制date_correlation_optimization選項。如果指定為ON,則SQLServer將維護數據庫中所有由FOREIGNKEY約束鏈接的包含datetime列的兩個表中的相關統計信息;如果指定為OFF(默認值),則不會維護相關統計信息。5.外部訪問選項外部訪問選項用于控制是否允許外部資源(例如另一個數據庫中的對象)訪問數據庫。DB_CHAINING:如果指定為ON,則數據庫可以是跨數據庫所有權鏈的源或目標;如果設置為OFF(默認值),則數據庫不能參與跨數據庫的所有權鏈接。TRUSTWORTHY:如果設置為ON,則使用了模擬上下文的數據庫模塊(例如用戶定義函數或存儲過程)可以訪問數據庫以外的資源;如果指定為OFF(默認值),則在模擬上下文中無法訪問數據庫以外的資源。只要附加數據庫,TRUSTWORTHY就會設置為OFF。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項4.日期相關性優化選項日期相關性優化選項DATE_CORRELATION_OPTIMIZATION可用于控制date_correlation_optimization選項。如果指定為ON,則SQLServer將維護數據庫中所有由FOREIGNKEY約束鏈接的包含datetime列的兩個表中的相關統計信息;如果指定為OFF(默認值),則不會維護相關統計信息。5.外部訪問選項外部訪問選項用于控制是否允許外部資源(例如另一個數據庫中的對象)訪問數據庫。DB_CHAINING:如果指定為ON,則數據庫可以是跨數據庫所有權鏈的源或目標;如果設置為OFF(默認值),則數據庫不能參與跨數據庫的所有權鏈接。TRUSTWORTHY:如果設置為ON,則使用了模擬上下文的數據庫模塊(例如用戶定義函數或存儲過程)可以訪問數據庫以外的資源;如果指定為OFF(默認值),則在模擬上下文中無法訪問數據庫以外的資源。只要附加數據庫,TRUSTWORTHY就會設置為OFF。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項6.參數化選項當參數化選項PARAMETERIZATION設置為SIMPLE(默認值)時,將根據數據庫的默認行為對查詢進行參數化;如果指定為FORCED,則SQLServer將對數據庫中的所有查詢進行參數化。7.恢復選項RECOVERY:當指定為FULL(默認值)時,將使用事務日志備份在發生媒體故障后進行完全恢復,如果數據文件損壞,則媒體恢復可以還原所有已提交的事務;當指定為BULK_LOGGED時,將綜合某些大規模或大容量操作的最佳性能和日志空間的最少占用量,在發生媒體故障后進行恢復;當指定為SIMPLE時,將會提供占用最小日志空間的簡單備份策略。PAGE_VERIFY:當指定為CHECKSUM(默認值)時,數據庫引擎將在頁寫入磁盤時,計算整個頁的內容的校驗和并存儲頁頭中的值,從磁盤中讀取頁時,將重新計算校驗和,并與存儲在頁頭中的校驗和值進行比較;當指定為TORN_PAGE_DETECTION時,在將8KB的數據庫頁寫入磁盤時,該頁的每個512字節的扇區都有一個特定的位保存并存儲在數據庫的頁頭中,當從磁盤中讀取頁時,頁頭中存儲的殘缺位將與實際的頁扇區信息進行比較;當指定為NONE時,數據庫頁寫入將不生成CHECKSUM或TORN_PAGE_DETECTION值,即使CHECKSUM或TORN_PAGE_DETECTION值在頁頭中出現,SQLServer也不會在讀取期間驗證校驗和或頁撕裂。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項8.ServiceBroker選項ENABLE_BROKER|DISABLE_BROKER|NEW_BROKER|ERROR_BROKER_CONVERSATIONS選項用于控制ServiceBroker。當指定為ENABLE_BROKER(默認值)時,針對指定的數據庫啟用ServiceBroker;當指定為DISABLE_BROKER時,針對指定的數據庫禁用ServiceBroker;當指定為NEW_BROKER時,數據庫將收到新的代理標識符;當指定為ERROR_BROKER_CONVERSATIONS時,數據庫中的會話將會在附加數據庫時收到一個錯誤消息。9.快照隔離選項ALLOW_SNAPSHOT_ISOLATION:如果指定為ON,則事務可以指定SNAPSHOT事務隔離級別,當事務在SNAPSHOT隔離級別運行時,所有的語句都將數據快照視為位于事務的開頭;如果指定為OFF(默認值),則事務無法指定SNAPSHOT事務隔離級別。READ_COMMITTED_SNAPSHOT:如果設置為ON,則指定READCOMMITTED隔離級別的事務將使用行版本控制而不是鎖定,當事務在READCOMMITTED隔離級別運行時,所有的語句都將數據快照視為位于語句的開頭;如果設置為OFF(默認值)時,則指定READCOMMITTED隔離級別的事務將使用鎖定;設置READ_COMMITTED_SNAPSHOT選項時,數據庫中只允許存在執行ALTERDATABASE命令的連接,在ALTERDATABASE完成之前,數據庫中決不能有其他打開的連接。數據庫不必一定要處于單用戶模式中。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.5設置數據庫選項10.SQL選項ANSI_NULL_DEFAULT:確定在CREATETABLE或ALTERTABLE語句中未顯式定義為空性的alias數據類型或CLRuser-definedtype列的默認值(NULL或NOTNULL)。如果設置為ON,則列默認值為NULL。ANSI_NULLS:如果設置為ON,則所有與空值的比較運算計算結果為UNKNOWN。ANSI_PADDING:如果設置為ON,則不剪裁插入varchar或nvarchar列中的字符值的尾隨空格,也不剪裁插入varbinary列中的二進制值的尾隨零,不將值填充到列的長度;如果設置為OFF(默認值),則剪裁varchar或nvarchar的尾隨空格以及varbinary的尾隨零。ANSI_WARNINGS:如果設置為ON,則在出現如除以零或聚合函數中出現空值這類情形時將發出錯誤或警告。ARITHABORT:如果設置為ON,則在執行查詢期間發生溢出或除以零的錯誤時,該查詢將結束。CONCAT_NULL_YIELDS_NULL:當指定為ON時,如果串聯操作的兩個操作數中任意一個為NULL,則結果也為NULL。QUOTED_IDENTIFIER:如果設置為ON,則雙引號可用來將分隔標識符括起來。NUMERIC_ROUNDABORT:如果設置為ON,則表達式中出現失去精度時將產生錯誤。RECURSIVE_TRIGGERS:如果設置為ON時,則允許遞歸激發AFTER觸發器。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.6移動數據庫文件在SQLServer中,可以通過在ALTERDATABASE語句的FILENAME子句中指定新的文件位置來移動用戶數據庫。數據、日志也可以通過這種方法進行移動。這在故障恢復(例如由于硬件故障數據庫處于可疑模式或被關閉)、預先安排的重定位以及為預定的磁盤維護操作而進行的重定位等情況下是很有用的。如果要將用戶數據庫中的數據、日志文件移動到新位置,可以在ALTERDATABASE語句的FILENAME子句中指定新的文件位置。這種方法適用于在同一個SQLServer實例中移動數據庫文件。如果要將數據庫移動到另一個SQLServer實例或另一臺服務器上,請使用分離和附加操作或備份和還原。2.3.7重命名數據庫1.使用SSMS重命名數據庫使用SSMS重命名數據庫的操作方法如下。(1)啟動SSMS,連接到SQLServer數據庫引擎實例。(2)在對象資源管理器中,展開“數據庫”。(3)右鍵單擊要重命名的數據庫,然后從彈出菜單中選擇“重命名”命令。(4)輸入新的數據庫名稱,按Enter鍵進行確認。2.使用SQL語句重命名數據庫通過在ALTERDATABASE語句中使用MODIFYNAME子句來更改數據庫的名稱。任務2.3修改數據庫本課件是可編輯的正常PPT課件2.3.8刪除數據庫1.使用SSMS刪除數據庫使用SSMS刪除數據庫的方法如下:(1)在對象資源管理器中展開“數據庫”;(2)右鍵單擊要刪除的數據庫;(3)從彈出菜單中選擇“刪除”命令;(4)在“刪除對象”對話框中單擊“確定”按鈕。2.使用SQL語句刪除數據庫使用DROPDATABASE從SQLServer實例中刪除一個或多個數據庫:DROPDATABASE數據庫名[,...]其中數據庫名指定要刪除的數據庫。例如,下面的語句刪除所列出的兩個數據庫。DROPDATABASESales,NewSales;任務2.3修改數據庫本課件是可編輯的正常PPT課件任務目標掌握分離數據庫的方法掌握附加數據庫的方法任務2.4分離和附加數據庫本課件是可編輯的正常PPT課件2.4.1分離數據庫1.使用SSMS分離數據庫在對象資源管理器中連接到數據庫引擎實例,展開該實例;展開“數據庫”,選擇要分離的用戶數據庫的名稱;右鍵單擊數據庫名稱,指向“任務”,然后單擊“分離”;在“分離數據庫”對話框中設置連接和統計選項,然后單擊“確定”按鈕。2.使用Transact-SQL語句分離數據庫sp_detach_db'數據庫名稱'[,'skipchecks'][,'KeepFulltextIndexFile']任務2.4分離和附加數據庫本課件是可編輯的正常PPT課件2.4.2附加數據庫1.使用SSMS附加數據庫在對象資源管理器中連接到數據庫引擎實例,展開該實例。在對象資源管理器中右鍵單擊“數據庫”,選擇“附加”命令。在“附加數據庫”對話框中指定要附加的數據庫,單擊“添加”,在“定位數據庫文件”對話框中選擇數據庫文件。設置其他選項,然后單擊“確定”按鈕。2.使用Transact-SQL附加數據庫CREATEDATABASE數據庫名稱ON<文件選項>[,...]FOR{ATTACH|ATTACH_REBUILD_LOG};任務2.4分離和附加數據庫本課件是可編輯的正常PPT課件任務目標掌握備份數據庫的方法掌握還原數據庫的方法任務2.5備份和還原數據庫本課件是可編輯的正常PPT課件2.5.1備份數據庫1.使用SSMS備份數據庫在對象資源管理器中連接到數據庫引擎實例,并展開該實例。展開“數據庫”,右鍵單擊要備份的數據庫,指向“任務”,單擊“備份”。在“數據庫”列表中確認數據庫名稱,或者從列表中選擇其他數據庫。從“備份類型”下拉列表中,選擇“完整”。在“目標”部分中,從使用“備份到”下拉列表選擇備份目標。設置所有備份選項后,單擊“確定”。2.使用SQL語句備份數據庫BACKUPDATABASE數據庫名稱TO備份設備[,...][WITH<附加選項>[,...]];任務2.5備份和還原數據庫本課件是可編輯的正常PPT課件2.5.2還原數據庫1.使用SSMS還原數據庫連接到SQLServer數據庫引擎實例,然后展開該實例。在對象資源管理器窗格中右鍵單擊“數據庫”,選擇“還原數據庫”。選擇要還原的備份集的源和位置。對相關選項進行設置。完成還原選項設置后,單擊“確定”按鈕。2.使用SQL語句還原數據庫RESTORE{DATABASE|LOG}數據庫名稱FROMDISK='物理備份設備名稱'任務2.5備份和還原數據庫本課件是可編輯的正常PPT課件項目3創建和管理表理解表的設計原則和方法理解SQLServer數據類型掌握創建表的方法掌握修改表的方法掌握管理表的方法項目目標本課件是可編輯的正常PPT課件3.1.1制訂表規劃1.表要存儲什么對象2.表中每一列的數據類型和長度3.表中哪些列允許空值4.是否要使用以及在何處使用約束、默認值和規則5.使用何種索引以及在何處使用索引6.哪些列是主鍵或外鍵任務3.1表結構設計本課件是可編輯的正常PPT課件3.1.2規范化邏輯設計數據庫的邏輯設計(包括各種表和表之間的關系)是優化關系型數據庫的核心。設計好邏輯數據庫,可以為優化數據庫和應用程序性能打下基礎。邏輯數據庫設計不好,會影響整個系統的性能。規范化邏輯數據庫設計包括使用正規的方法來將數據分為多個相關的表。擁有幾個具有較少列的窄表是規范化數據庫的特征,而擁有少量具有較多列的寬表是非規范化數據庫的特征。一般而言,合理的規范化會提高性能。如果包含有用的索引,則SQLServer查詢優化器可以有效地在表之間選擇快速、有效的聯接。合理數據庫設計規則:1.表應有一個標識符2.表應只存儲單一類型實體的數據3.表應避免可為空的列4.表不應有重復的值或列任務3.1表結構設計本課件是可編輯的正常PPT課件3.1.3聯機事務處理與決策支持1.聯機事務處理聯機事務處理數據庫應用程序是管理不斷變化的數據的最佳選擇。這些應用程序通常涉及很多用戶,他們同時執行更改實時數據的事務。盡管用戶的各個數據請求通常只涉及少量記錄,但這些請求有許多是同時發生的。這種數據庫的常見典型應用是航空訂票系統和銀行事務系統。在這種應用程序中,主要的問題是并發性和原子性。2.決策支持決策支持數據庫應用程序最適于不更改數據的數據查詢。例如,公司可以定期地按日期、銷售地區或產品匯總其銷售數據,并將該信息存儲在單獨的數據庫中,以供高級管理人員分析時使用。如果要做出業務決策,用戶必須能夠根據各種條件,通過查詢數據快速地確定銷售趨勢,但不必更改這些數據。任務3.1表結構設計本課件是可編輯的正常PPT課件3.1.4表的類型1.標準表標準表就是通常用來存儲用戶數據的表,又稱為普通表,或者簡稱為表。用戶定義的標準表可以有多達1024列,表中的行數僅受服務器的存儲容量的限制。2.已分區表已分區表是將數據水平劃分為多個單元的表,這些單元可以分布到數據庫中的多個文件組中,以實現對單元中數據的并行訪問。3.臨時表臨時表都存儲在系統數據庫tempdb中。臨時表有兩種類型:即本地表和全局表,它們在名稱、可見性以及可用性上都有區別。4.系統表SQLServer將定義服務器配置及其所有表的數據存儲在一組特殊的表中,這組表稱為系統表。5.寬表寬表使用稀疏列,從而將表可以包含的總列數增大為30000列。任務3.1表結構設計本課件是可編輯的正常PPT課件3.2.1數據類型概述1.數字精確數字類型:bit、bigint、decimal、int、numeric、smallint、money、tinyint和smallmoney。近似數字類型:float和real。2.日期和時間date、time、datetime、datetime2、smalldatetime和datetimeoffset。3.字符串普通字符類型串:char、varchar和text。Unicode字符串:nchar、nvarchar和ntext。4.二進制字符串binary、image和varbinary。5.其他數據類型cursor、hierarchyid、sql_variant、rowversion、table、uniqueidentifier、xml、geometry和geography。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.2數字數據類型1.整數類型bigint:用于存儲從-263(-9223372036854775808)到263-1(9223372036854775807)的整數,占用8個字節。int:用于存儲從-231(-2147483648)到231-1(2147483647)的整數,占用4個字節。smallint:用于存儲從-215(-32768)到215-1(32767)的整數,占用2個字節。tinyint:用于存儲從0到255的整數,占用1個字節。bit:用于存儲整數,但只能取0、1或NULL。2.小數類型float[(n)]:用于存儲從-1.79E+308到1.79E+308之間的浮點數。real:相當于float(24),用于存儲-3.40E-38~3.40E-38之間的浮點數。decimal[(p[,s])]和numeric[(p[,s])]:用于存儲帶小數點且數值確定的數據,可以將它們視為相同的數據類型。money和smallmoney:用于存儲貨幣數據,實際上是帶有4位小數的decimal類型數據。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.3日期和時間數據類型1.日期類型date用于定義SQLServer中的日期,可以表示的日期范圍為0001-01-01到9999-12-31。2.時間類型time用于定義一天中的某個時間,可以表示的時間范圍為00:00:00.0000000到23:59:59.9999999。3.日期時間類型datetime用于定義一個與采用24小時制并帶有秒小數部分的一日內時間相組合的日期。可以表示的日期范圍為1753年1月1日到9999年12月31日,時間范圍為00:00:00到23:59:59.997。4.日期時間類型smalldatetime用于定義結合了一天中的時間的日期。5.日期時間類型datetime2用于定義結合了24小時制時間的日期,可以表示的日期范圍為0001-01-01到9999-12-31。6.日期時間類型datetimeoffset用于定義一個與采用24小時制并可識別時區的一日內時間相組合的日期。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.4字符串數據類型1.固定長度字符串固定長度字符串類型用char[(n)]表示,這是一種固定長度的非Unicode的字符數據,其長度為n個字節的,n必須是一個介于1和8,000之間的數值,數據的存儲大小為n個字節。2.可變長度字符串可變長度字符串類型用varchar[(n|max)]表示,這是一種可變長度的非Unicode的字符數據,其長度為n個字節,n必須是一個介于1和8000之間的數值,max指示最大的存儲大小是2^31-1個字節(2GB)。3.文本類型文本類型用text表示,這是一種服務器代碼頁中長度可變的非Unicode數據,最大長度為2^31-1(2147483647)個字符。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.5Unicode字符串數據類型1.固定長度Unicode字符串固定長度Unicode字符串類型用nchar[(n)]表示,n定義字符串大小(以雙字節為單位),n的值必須介于1與4000之間。存儲為n字節的兩倍。2.可變長度Unicode字符串可變長度Unicode字符串用nvarchar[(n|max)]表示,n用于定義字符串大小(以雙字節為單位),n的值必須介于1與4000之間。max指示最大的存儲大小為2^31-1字節(2GB)。3.Unicode文本類型Unicode文本類型用ntext表示,這是一種長度可變的Unicode數據,其最大長度為230-1(1073741823)個字符。存儲大小是所輸入字符串長度的兩倍(以字節為單位)。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.6二進制字符串數據類型1.固定長度二進制數據類型固定長度二進制數據類型用binary[(n)]表示,其中n是從1到8000的值。存儲大小為n字節。如果輸入數據超長,則多余部分會被截掉。2.可變長度二進制數據類型可變長度二進制數據類型用varbinary(n|max)表示,n的取值范圍為從1~8000,max指示最大的存儲大小為2^31-1字節。3.大量二進制數據類型大量二進制數據類型用image表示,用于存儲圖片數據。一個image數據類型的列最多可以存儲2^31-1(2147483647)個字節,約為2GB。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.7其他數據類型cursor:這是變量或存儲過程OUTPUT參數的一種數據類型,這些參數包含對游標的引用。table:是一種特殊的數據類型,可以用于存儲結果集以進行后續處理。rowversion:這是公開數據庫中自動生成的唯一二進制數字的數據類型,通常用作給表行加版本戳的機制。sql_variant:用于存儲SQLServer支持的各種數據類型的值,但text、ntext、image、timestamp和sql_variant除外。uniqueidetifier:即全局性唯一標識數據類型,用于存儲一個由16個字節組成的二進制數字,其數值格式類似于1C1AE361-7F2C-11D6-97AD-00E03C68608E,該識別碼稱為全局性唯一標識符(GUID,GloballyUniqueIdentifier)。xml:這是一種存儲XML數據的數據類型。使用xml數據類型可以在SQLServer數據庫中存儲XML文檔和片段。hierarchyid:是一種長度可變的系統數據類型,可以用來表示層次結構中的位置。空間類型:包括geography地理空間數據類型和geometry平面空間數據類型。任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.2.8別名數據類型1.使用SSMS創建別名數據類型連接到SQLServer數據庫引擎,在對象資源管理器中展開該實例。展開要在其中創建別名數據類型的數據庫,依次展開“可編程性”和“類型”,右鍵單擊“用戶自定義數據類型”節點,然后選擇“新建用戶自定義數據類型”命令。在“新建用戶自定義數據類型”對話框中選擇架構,輸入名稱,選擇基本數據類型,指定數據類型的長度或精度,設置是否允許空值。單擊“確定”按鈕。2.使用SQL語句創建別名數據類型CREATETYPE[架構名稱.]數據類型名稱{FROM系統數據類型
[(精度[,位數])][NULL|NOTNULL]};任務3.2認識SQLServer數據類型本課件是可編輯的正常PPT課件3.3.1使用SSMS創建表在對象資源管理器中連接到數據庫引擎實例,展開該實例。展開“數據庫”,展開要在其中創建表的數據庫,右擊“表”,指向“新建”,單擊“表”。在表設計器窗格中輸入各列的名稱,選擇所使用的數據類型,并設置各個列是否允許Null值。在表設計器下部的“列屬性”選項卡中設置列的附加屬性。若要將某個列指定為主鍵,請右鍵單擊該列,然后選擇“設置主鍵”。在“標準”工具欄中單擊“保存”按鈕。輸入新建表的名稱,單擊“確定”按鈕。任務3.3創建表本課件是可編輯的正常PPT課件3.3.2使用SQL語句創建表CREATETABLE表名稱({<列定義>|<計算列定義>|<列集>}[<表約束>][,...]);<列定義>::=列名稱<數據類型>[NULL|NOTNULL][[CONSTRAINT約束名稱]DEFAULT約束表達式][IDENTITY[(種子,增量)][ROWGUIDCOL][<列約束>[...]]任務3.3創建表<列約束>::=[CONSTRAINT約束名稱]{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED]|[FOREIGNKEY]REFERENCES引用表名稱[(引用列)]|CHECK(邏輯表達式)<計算列定義>::=別名AS計算列表達式[PERSISTED[NOTNULL]]<表約束>::=[CONSTRAINT約束名稱]{{PRIMARYKEY|UNIQUE}{CLUSTERED|NONCLUSTERED(列名稱[ASC|DESC][,...])}|FOREIGNKEY(列名稱[,...])REFERENCES引用表名稱[(引用列名稱[,...])]|CHECK(邏輯表達式)}本課件是可編輯的正常PPT課件任務3.3創建表3.3.3在表中設置主鍵表通常具有包含唯一標識表中每一行的值的一列或一組列,這樣的一列或多列稱為表的主鍵(PRIMARYKEY),主鍵用于強制表的實體完整性。在創建表時可以通過定義PRIMARYKEY約束來創建主鍵。一個表只能有一個PRIMARYKEY約束,并且PRIMARYKEY約束中的列不能接受空值。由于PRIMARYKEY約束可以保證數據的唯一性,因此經常對標識列定義這種約束。使用CREATETABLE語句創建表時,要將某個列指定為標識列,在該列定義中添加IDENTITY并在括號內指定標識種子和標識增量即可;要將某個設置為主鍵,在該列定義中添加PRIMARYKEY即可,默認情況下將在該列上創建聚集索引。如果未使用CONSTRAINT為主鍵約束指定名稱,則系統會自動對其進行命名。本課件是可編輯的正常PPT課件任務3.3創建表3.3.4在表中設置外鍵外鍵(FOREIGNKEY)是用于建立和加強兩個表數據之間的鏈接的一列或多列。在外鍵引用中,當A表的列引用作為B表的主鍵值的列時,便在兩表之間創建了鏈接,該列就成為A表的外鍵。FOREIGNKEY約束不僅可以與另一表的PRIMARYKEY約束相鏈接,它還可以定義為引用另一表的UNIQUE約束。FOREIGNKEY約束可以包含空值。創建表時可以通過添加FOREIGNKEY約束來創建外鍵。如果要將某個列設置為外鍵,可以在該列定義中添加FOREIGNKEY,并指定要引用的表以及要引用的列。3.3.5基于多列設置主鍵如果需要基于多個列來設置主鍵,則應在CREATETABLE語句中添加表約束,即定義PRIMARYKEY約束并指定多個列,同時還需要指定創建哪種類型的索引以及升序還是降序。表約束與列定義之間使用逗號分隔。本課件是可編輯的正常PPT課件3.4.1使用SSMS修改表連接到數據庫引擎實例,在SSMS資源管理器中展開該實例。展開“數據庫”,展開要修改的表所在的數據庫。展開“表”,右鍵單擊要修改的表,然后選擇“設計”命令。在表設計器中對列的名稱、數據類型以及是否為空值進行修改;根據需要,在“列屬性”選項卡中更多的列屬性(如標識規范等)進行修改。若要調整列的順序,可用單擊列名稱左側的列選擇器并將其拖到新的位置。若要添加新的列,可右鍵單擊現有的列,選擇“插入列”命令。若要刪除某列,可右鍵單擊該列的選擇器,然后從彈出菜單中選擇“刪除列”命令,或單擊該列的選擇器并按Delete鍵。若要將某列設置為主鍵,可右鍵單擊該列所在的行,然后從彈出菜單中選擇“設置主鍵”命令。若要將某個列設置為外鍵,可右鍵單擊該列所在的行,選擇“關系”命令,然后在“外鍵關系”對話框中添加新的外鍵,并設置要引用的表和列。若要對某個設置CHECK約束,可右鍵單擊該列所在的行,選擇“CHECK約束”命令,然后在“CHECK約束”對話框中添加新的CHECK約束,并對檢查所使用的邏輯表達式進行設置。任務3.4修改表本課件是可編輯的正常PPT課件3.4.2使用SQL語句修改表ALTERTABLE表名稱{ALTERCOLUMN列名稱{
數據類型[({精度[,小數位數]|max})][NULL|NOTNULL]}|ADD{<列定義>|<表約束>}[,...]|DROP{[CONSTRAINT]約束名稱
|COLUMN列名稱
}[,...]};任務3.4修改表本課件是可編輯的正常PPT課件3.5.1查看表信息在數據庫中創建表之后,可能需要查找有關表屬性的信息,例如列的名稱、數據類型或其約束的名稱等,最為常見的任務查看表中的數據。此外,還可以通過顯示表的依賴關系來確定哪些對象(例如視圖、存儲過程和觸發器)是由表決定的。在更改表時,相關的對象可能會受到影響。在對象資源管理器中展開一個表,展開下方的“列”、“鍵”、“約束”文件夾,然后就可以查看該表的相關信息。在對象資源管理器中單擊與表相關的節點并按F7,將會在“對象資源管理器詳細信息”窗格中列出該節點包含的具體內容。在Transact-SQL中,可以使用相關的系統存儲過程、系統表、目錄視圖來查看表信息。查看表的定義:使用sp_help系統存儲過程。查看數據庫中的表:使用sysobjects系統表。獲取有關表的信息:使用sys.tables目錄視圖。獲取有關表列的信息:使用syscolumns系統表。查看表的依賴關系:使用sys.sql_dependencies目錄視圖。任務3.5管理表本課件是可編輯的正常PPT課件3.5.2重命名表若要對更改表的名稱,可在對象資源管理器中右鍵單擊該表,從彈出菜單中選擇“重命名”命令,鍵入新的表名稱并按Enter鍵確認。在Transact-SQL中,可以使用sp_rename系統存儲過程在當前數據庫中更改用戶創建對象(可以是表、索引、列、別名數據類型等)的名稱,語法格式如下。sp_rename'對象名稱','新名稱'[,'對象類型']其中'對象名稱'表示要重命名的用戶對象或數據類型的名稱。如果要重命名的對象是表中的列,則對象名稱的格式必須是'表.列'。如果要重命名的對象是索引,則對象名稱的格式必須是'表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/TMAC 069-2023鋼結構裝配式建筑建造技術規程
- 總賬會計畢業設計
- 環境衛生政治實施路徑規劃
- 儲配作業方案設計
- 肺部炎性疾病
- 英語四級詞匯測試題2
- 基于云計算的遠程工作模式研究與應用實踐
- 2025年電鋼琴項目申請報告模板
- 高檔小區綠化景觀設計
- 2025年硅酮結構密封膠項目申請報告
- 2024年甘肅省臨夏州永靖縣部分學校中考物理一模試卷+
- 傳染病孕婦的管理與預防
- 國家中長期科技發展規劃(2021-2035)
- 機織產品工藝設計與計算改樣本
- 梅隴鎮永聯村未來規劃方案
- 社區停車位規劃方案設計
- 脂肪肝護理查房
- 基于無人機的公路裂縫自動檢測與分類識別
- 《計量經濟學》各章數據
- 房屋建筑勘察設計投標方案(技術標)
- T-SDJSXH 02-2021 建筑施工安全生產責任保險事故預防服務導則
評論
0/150
提交評論