版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第3章 數(shù)據(jù)庫和表3.1 數(shù)據(jù)庫存儲結(jié)構數(shù)據(jù)庫的存儲結(jié)構分為邏輯存儲結(jié)構和物理存儲結(jié)數(shù)據(jù)庫的存儲結(jié)構分為邏輯存儲結(jié)構和物理存儲結(jié)構構邏輯存儲結(jié)構是指數(shù)據(jù)的性質(zhì)信息,有各種不同的數(shù)據(jù)對象(如表、視圖、索引等)組成。物理存儲結(jié)構是指磁盤上存儲的數(shù)據(jù)庫文件。數(shù)據(jù)庫文件有數(shù)據(jù)文件和事務日志組成,保存在物理介質(zhì)上。3.1.1 數(shù)據(jù)庫文件和文件組數(shù)據(jù)庫文件和文件組文件 SQL Server 2005數(shù)據(jù)庫有3種類型的文件:主數(shù)據(jù)文件次要數(shù)據(jù)文件日志文件3.1 數(shù)據(jù)庫存儲結(jié)構主數(shù)據(jù)文件 主數(shù)據(jù)文件用來存放數(shù)據(jù),它包含其它數(shù)據(jù)庫文件的指針,即是數(shù)據(jù)庫的起點,一個數(shù)據(jù)庫必須有且只有一個主數(shù)據(jù)文件,主數(shù)據(jù)文件的擴
2、展名為.MDFPrimary Data File3.1 數(shù)據(jù)庫存儲結(jié)構次要數(shù)據(jù)文件 次數(shù)據(jù)文件也用來存放數(shù)據(jù)。如果主數(shù)據(jù)文件可包括數(shù)據(jù)庫中的所有數(shù)據(jù)就不需要次數(shù)據(jù)文件,如果主數(shù)據(jù)文件太大或要擴展到多個磁盤,則需次數(shù)據(jù)文件。一個數(shù)據(jù)庫可有多個或沒有次數(shù)據(jù)文件,次數(shù)據(jù)文件的擴展名為.NDFSecondary Data Files3.1 數(shù)據(jù)庫存儲結(jié)構事務日志文件 事務是用戶定義的一個數(shù)據(jù)庫操作序列。這些操作要么全做要么全不做。事務日志文件用來存放事務日志。即存儲所有事務和由這些事務引起的數(shù)據(jù)庫的變化,用于恢復數(shù)據(jù)庫。一個數(shù)據(jù)庫有一個或多個事務日志文件,日志文件的擴展名為.LDFLog Data F
3、ile3.1 數(shù)據(jù)庫存儲結(jié)構文件組 文件組用于文件的分配和管理,有兩種類型主文件組 主文件組包含主數(shù)據(jù)文件和任何沒有明確分配給其他文件組的其他文件。系統(tǒng)表的所有頁均分配在主文件組中。用戶定義文件組 用戶定義文件組是通過在CREATE DATABASE或ALTER DATABASE語句中使用FILEGROUP關鍵字指定的任何文件組。 3.1 數(shù)據(jù)庫存儲結(jié)構創(chuàng)建數(shù)據(jù)庫應遵循的原則: 一個數(shù)據(jù)庫均有一個文件組被指定為默認文件組。一個文件或文件組只能被一個數(shù)據(jù)庫使用。 一個文件只能屬于一個文件組。 數(shù)據(jù)和事務日志不能共存于同一個文件或文件組上。 日志文件不能屬于文件組。3.1 數(shù)據(jù)庫存儲結(jié)構SQL S
4、erver在定義文件時,可指定起始大小、增量和最大大小。3.1 數(shù)據(jù)庫存儲結(jié)構3.1.2 頁和分區(qū)頁和分區(qū) 頁和區(qū)是SQL Server在創(chuàng)建數(shù)據(jù)庫對象時為其分配的空間單位。它們和數(shù)據(jù)庫及其文件間的關系如圖:3.1 數(shù)據(jù)庫存儲結(jié)構3.1 數(shù)據(jù)庫存儲結(jié)構日志文件日志文件: .ldf數(shù)據(jù)文件數(shù)據(jù)文件:.mdf or .ndf區(qū)區(qū): 8 個連續(xù)的個連續(xù)的 8 KB 頁頁數(shù)據(jù)數(shù)據(jù)頁頁: 8 KB表、索引表、索引最大行長度為最大行長度為8080字節(jié)字節(jié)數(shù)據(jù)庫數(shù)據(jù)庫1. 頁 SQL Server 中數(shù)據(jù)存儲的基本單位是頁。SQL Server中的所有信息都存儲在頁上,頁是數(shù)據(jù)庫中使用的最小數(shù)據(jù)單元。每一個
5、頁存儲8KB的信息。3.1 數(shù)據(jù)庫存儲結(jié)構SQL Server使用如下幾種類型的頁:分配頁面 用于控制數(shù)據(jù)庫中給表和索引分配的頁面。數(shù)據(jù)和日志頁面 用于存儲數(shù)據(jù)庫數(shù)據(jù)和事務日志數(shù)據(jù)。數(shù)據(jù)存儲在每個頁面的數(shù)據(jù)行中,每一行的最大值為8060個字節(jié)。SQL Server不允許跨頁面存儲。索引頁面 用于存儲數(shù)據(jù)庫中的索引數(shù)據(jù)。分發(fā)頁面 用于存儲數(shù)據(jù)庫中有關索引的信息。文本/圖像頁面 用于存儲大量的文本或者二進制的對象(BLOB),例如,圖像。 3.1 數(shù)據(jù)庫存儲結(jié)構2.區(qū) 區(qū)是由8個連續(xù)的頁面組成的數(shù)據(jù)結(jié)構,大小為88 KB=64 KB。當創(chuàng)建數(shù)據(jù)庫對象時,SQL Server會自動以區(qū)為單位給它分配
6、空間。每個區(qū)只能包含一個數(shù)據(jù)庫對象。3.1 數(shù)據(jù)庫存儲結(jié)構SQL Server有兩種類型的區(qū):統(tǒng)一區(qū) 由單個對象所有。區(qū)中的所有8頁只能由所屬對象使用?;旌蠀^(qū) 最多可由8個對象共享。區(qū)中8頁的每頁可由不同的對象所有。3.1 數(shù)據(jù)庫存儲結(jié)構3.1.3 事務日志事務日志 事務日志存儲在一個單獨的文件上。在創(chuàng)建數(shù)據(jù)庫時,事務日志也會隨著創(chuàng)建。在修改寫入數(shù)據(jù)庫之前,事務日志會自動記錄對數(shù)據(jù)庫對象所做的修改。如果系統(tǒng)出現(xiàn)故障,使用事務日志可對數(shù)據(jù)庫進行恢復。3.1 數(shù)據(jù)庫存儲結(jié)構1. 事務日志支持的操作恢復個別的事務 SQL Server啟動時恢復所有未完成的事務 將還原的數(shù)據(jù)庫、文件、文件組或頁前滾到
7、故障點 支持事務復制 支持備用服務器解決方案 3.1 數(shù)據(jù)庫存儲結(jié)構事務日志具有如下特征:事務日志是作為數(shù)據(jù)庫中的單獨的文件或一組文件實現(xiàn)的。日志記錄和頁的格式不必遵守數(shù)據(jù)頁的格式。事務日志可以在幾個文件上實現(xiàn)。重用日志文件中空間的機制速度快且對事務吞吐量影響最小 3.1 數(shù)據(jù)庫存儲結(jié)構2. 事務日志提供容錯的機制 在SQL Server中,事務是指一次完成的操作的集合,雖然一個事務中可能包含了很多的SQL語句,但是在處理上,它們就像是一個操作一樣。為了維護數(shù)據(jù)庫的完整性,它們必須徹底完成或者根本不執(zhí)行。如果一個事務只是部分執(zhí)行,則數(shù)據(jù)庫將受到損壞。3.1 數(shù)據(jù)庫存儲結(jié)構事務日志防止沒有完成的
8、事務破壞數(shù)據(jù)的步驟:(1)用戶執(zhí)行修改數(shù)據(jù)庫對象的任務。(2)當這個事務開始時,在事務日志中會記錄一個事務開。(3)在日志中記錄每一個操作,然后在日志中記錄一個提交事務的標志。(4)在緩沖區(qū)中修改相應的數(shù)據(jù)。3.1 數(shù)據(jù)庫存儲結(jié)構事務日志和數(shù)據(jù)分開存儲的優(yōu)點:事務日志可以單獨備份。在服務器失效的事件中有可能將服務器恢復到最近的狀態(tài)。事務日志不會搶占數(shù)據(jù)庫的空間。可以很容易地檢測事務日志的空間。在向數(shù)據(jù)庫和事務日志中寫入時會較少產(chǎn)生沖突。3.1 數(shù)據(jù)庫存儲結(jié)構3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.1 查看系統(tǒng)數(shù)據(jù)庫查看系統(tǒng)數(shù)據(jù)庫SQL Server 2005包含4個系統(tǒng)數(shù)據(jù)庫:master
9、數(shù)據(jù)庫model數(shù)據(jù)庫msdb數(shù)據(jù)庫tempdb數(shù)據(jù)庫查看系統(tǒng)數(shù)據(jù)庫的操作步驟如下:查看系統(tǒng)數(shù)據(jù)庫的操作步驟如下: 第1步:打開“開始”菜單,依次選擇“程序”| Microsoft SQL Server 2005 | SQL Server Management Studio選項,打開“連接到服務器”對話框,進行相應設置后,單擊“連接”按鈕,連接到相應的服務器。 第2步:在連接成功后彈出的“對象資源管理器”窗口中,依次打開“數(shù)據(jù)庫”|“系統(tǒng)數(shù)據(jù)庫”選項,即可看到4個系統(tǒng)數(shù)據(jù)庫,如圖所示。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性master數(shù)據(jù)庫數(shù)據(jù)庫master數(shù)據(jù)庫是SQL Server 2005
10、中最重要的數(shù)據(jù)庫。記錄了SQL Server實例的所有系統(tǒng)級信息。如: SQL Server初始化信息、登錄帳戶和系統(tǒng)配置設置、所有數(shù)據(jù)庫文件的位置。系統(tǒng)對象不放在master數(shù)據(jù)庫中,而是存儲在resource數(shù)據(jù)庫中, resource數(shù)據(jù)庫是只讀數(shù)據(jù)庫,它包含了SQL Server中的所有系統(tǒng)對象。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性tempdb數(shù)據(jù)庫數(shù)據(jù)庫tempdb數(shù)據(jù)庫是一個臨時數(shù)據(jù)庫,用于保存臨時對象或中間結(jié)果集,滿足臨時存儲要求。tempdb數(shù)據(jù)庫在SQL Server每次啟動時都重新創(chuàng)建。臨時表和存儲過程在連接斷開時自動除去,而且當系統(tǒng)關閉后將沒有任何連接處于活動狀態(tài)。每次啟
11、動數(shù)據(jù)庫引擎時, tempdb數(shù)據(jù)庫會重置為其初始大小,在SQL Server運行時,該庫會根據(jù)需要自動增長。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性Model數(shù)據(jù)庫數(shù)據(jù)庫model數(shù)據(jù)庫是創(chuàng)建所有數(shù)據(jù)庫的模板。當創(chuàng)建數(shù)據(jù)庫時,新數(shù)據(jù)庫的第一部分通過復制model數(shù)據(jù)庫中的內(nèi)容創(chuàng)建,剩余部分由空白頁填充。如果修改model數(shù)據(jù)庫,之后創(chuàng)建的所有數(shù)據(jù)庫都將繼承這些修改。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性msdb數(shù)據(jù)庫數(shù)據(jù)庫msdb數(shù)據(jù)庫是由SQL Server Agent用來計劃警報和作業(yè)調(diào)度的數(shù)據(jù)庫。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.2 查看用戶數(shù)據(jù)庫查看用戶數(shù)據(jù)庫幾種常用的數(shù)據(jù)庫對象
12、。1. 表 表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對象,由行和列組成,用于組織和存儲數(shù)據(jù),每一行稱為一條記錄。2. 字段 表中每列稱為一個字段,字段具有自己的屬性。 常用類型:字符型、文本型、數(shù)值型、邏輯型和日期型。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3. 索引 索引是一個單獨的數(shù)據(jù)結(jié)構,它是依賴于表建立的,是數(shù)據(jù)的邏輯排序,可加快查找速度。4. 視圖 視圖是從一個或多個表中導出的表(也稱虛擬表)。數(shù)據(jù)庫中并不存放視圖的數(shù)據(jù),只存放其定義。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性5. 存儲過程 存儲過程是一組為了完成特定功能的SQL語句集合,經(jīng)編譯后存儲在服務器端的數(shù)據(jù)庫中,由用戶通過指定存儲過程的名稱
13、來執(zhí)行。6. 觸發(fā)器 觸發(fā)器是一種特殊類型的存儲過程,它能夠在某個規(guī)定的事件發(fā)生時觸發(fā)執(zhí)行。通常用來保持數(shù)據(jù)完整性和檢查數(shù)據(jù)的有效性。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性使用SQL Server Managemet Studio可查看數(shù)據(jù)及內(nèi)容,包括數(shù)據(jù)庫的所有者、建立時間、大小、可用空間、表和索引等。打開數(shù)據(jù)庫屬性對話框查看AdventureWorks數(shù)據(jù)庫內(nèi)容。查看“常規(guī)”選項卡查看“文件”選項卡觀察數(shù)據(jù)庫文件的屬性:邏輯名稱、文件類型、文件組、初始大小、自動增長、路徑3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.3 查看表之間的關系圖查看表之間的關系圖圖3.9 選擇要查看關系圖的表圖3.1
14、0 3個表之間的關系圖 圖3.11 “選擇名稱”對話框3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.4 查看表的結(jié)構和內(nèi)容查看表的結(jié)構和內(nèi)容查看AdventureWorks庫中部分表的結(jié)構和內(nèi)容。3.2.5 查看視圖查看視圖視圖(Views)是一種虛擬表,它的所有數(shù)據(jù)均來自表,本身并不存儲數(shù)據(jù)。視圖的記錄數(shù)據(jù)由某些表(一般是多個)的某些字段組成。視圖的查看和表的查看類似。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.6 查看存儲過程查看存儲過程存儲過程是預先使用SQL語言編寫的,經(jīng)過SQL Server編譯后,存儲在SQL Server中的程序,可以重復調(diào)用。查看AdventureWorks庫中部分存儲過程。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.7 查看用戶和角色查看用戶和角色用戶是對數(shù)據(jù)庫有存取權限的使用者,角色是指一組數(shù)據(jù)庫用戶的集合。數(shù)據(jù)庫中的角色可以根據(jù)需要添加。用戶如果被加入到某一角色
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版外專局外國教育專家勞動合同3
- 二零二五年度工業(yè)品綠色制造與節(jié)能降耗合同3篇
- 二零二五年度技術咨詢合同:某科技公司與某制造業(yè)企業(yè)關于技術改進的咨詢協(xié)議3篇
- 二零二五年度石場生產(chǎn)線承包合同模板制作3篇
- 2024版食品委托加工合同標準范本
- 酒店設備采購合同三篇
- 二零二五年度房地產(chǎn)項目財務顧問及財務分析報告服務合同3篇
- 2024新能源汽車銷售代理與合作經(jīng)營合同
- 2024物業(yè)管理公司服務范圍拓展與合同變更
- 證券交易軟件許可協(xié)議合同三篇
- 嘉定區(qū)啟良中學委托管理方案(調(diào)整稿)
- XIRR測算公式本金(模板)
- Chinese Tea Culture.中國茶文化(課堂PPT)
- 排洪溝工程設計說明
- (整理版高中英語)杭高第一學期期末考試高一英語試卷
- 學校食堂生鮮肉(豬肉、牛肉、羊肉、雞鴨鵝肉)配送服務方案
- SMT工資方案(原創(chuàng))
- 關于礦棉裝飾吸聲板檢驗報告加圖標版
- 大紅色節(jié)word感謝信信紙背景模板
- 安全檢查匯報材料
- 2005年海南高考理科綜合真題及答案
評論
0/150
提交評論