




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 數(shù)據(jù)庫和表3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)構(gòu)邏輯存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的性質(zhì)信息,有各種不同的數(shù)據(jù)對(duì)象(如表、視圖、索引等)組成。物理存儲(chǔ)結(jié)構(gòu)是指磁盤上存儲(chǔ)的數(shù)據(jù)庫文件。數(shù)據(jù)庫文件有數(shù)據(jù)文件和事務(wù)日志組成,保存在物理介質(zhì)上。3.1.1 數(shù)據(jù)庫文件和文件組數(shù)據(jù)庫文件和文件組文件 SQL Server 2005數(shù)據(jù)庫有3種類型的文件:主數(shù)據(jù)文件次要數(shù)據(jù)文件日志文件3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)主數(shù)據(jù)文件 主數(shù)據(jù)文件用來存放數(shù)據(jù),它包含其它數(shù)據(jù)庫文件的指針,即是數(shù)據(jù)庫的起點(diǎn),一個(gè)數(shù)據(jù)庫必須有且只有一個(gè)主數(shù)據(jù)文件,主數(shù)據(jù)文件的擴(kuò)
2、展名為.MDFPrimary Data File3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)次要數(shù)據(jù)文件 次數(shù)據(jù)文件也用來存放數(shù)據(jù)。如果主數(shù)據(jù)文件可包括數(shù)據(jù)庫中的所有數(shù)據(jù)就不需要次數(shù)據(jù)文件,如果主數(shù)據(jù)文件太大或要擴(kuò)展到多個(gè)磁盤,則需次數(shù)據(jù)文件。一個(gè)數(shù)據(jù)庫可有多個(gè)或沒有次數(shù)據(jù)文件,次數(shù)據(jù)文件的擴(kuò)展名為.NDFSecondary Data Files3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)事務(wù)日志文件 事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列。這些操作要么全做要么全不做。事務(wù)日志文件用來存放事務(wù)日志。即存儲(chǔ)所有事務(wù)和由這些事務(wù)引起的數(shù)據(jù)庫的變化,用于恢復(fù)數(shù)據(jù)庫。一個(gè)數(shù)據(jù)庫有一個(gè)或多個(gè)事務(wù)日志文件,日志文件的擴(kuò)展名為.LDFLog Data F
3、ile3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)文件組 文件組用于文件的分配和管理,有兩種類型主文件組 主文件組包含主數(shù)據(jù)文件和任何沒有明確分配給其他文件組的其他文件。系統(tǒng)表的所有頁均分配在主文件組中。用戶定義文件組 用戶定義文件組是通過在CREATE DATABASE或ALTER DATABASE語句中使用FILEGROUP關(guān)鍵字指定的任何文件組。 3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)創(chuàng)建數(shù)據(jù)庫應(yīng)遵循的原則: 一個(gè)數(shù)據(jù)庫均有一個(gè)文件組被指定為默認(rèn)文件組。一個(gè)文件或文件組只能被一個(gè)數(shù)據(jù)庫使用。 一個(gè)文件只能屬于一個(gè)文件組。 數(shù)據(jù)和事務(wù)日志不能共存于同一個(gè)文件或文件組上。 日志文件不能屬于文件組。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)SQL S
4、erver在定義文件時(shí),可指定起始大小、增量和最大大小。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)3.1.2 頁和分區(qū)頁和分區(qū) 頁和區(qū)是SQL Server在創(chuàng)建數(shù)據(jù)庫對(duì)象時(shí)為其分配的空間單位。它們和數(shù)據(jù)庫及其文件間的關(guān)系如圖:3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)日志文件日志文件: .ldf數(shù)據(jù)文件數(shù)據(jù)文件:.mdf or .ndf區(qū)區(qū): 8 個(gè)連續(xù)的個(gè)連續(xù)的 8 KB 頁頁數(shù)據(jù)數(shù)據(jù)頁頁: 8 KB表、索引表、索引最大行長(zhǎng)度為最大行長(zhǎng)度為8080字節(jié)字節(jié)數(shù)據(jù)庫數(shù)據(jù)庫1. 頁 SQL Server 中數(shù)據(jù)存儲(chǔ)的基本單位是頁。SQL Server中的所有信息都存儲(chǔ)在頁上,頁是數(shù)據(jù)庫中使用的最小數(shù)據(jù)單元。每一個(gè)
5、頁存儲(chǔ)8KB的信息。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)SQL Server使用如下幾種類型的頁:分配頁面 用于控制數(shù)據(jù)庫中給表和索引分配的頁面。數(shù)據(jù)和日志頁面 用于存儲(chǔ)數(shù)據(jù)庫數(shù)據(jù)和事務(wù)日志數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在每個(gè)頁面的數(shù)據(jù)行中,每一行的最大值為8060個(gè)字節(jié)。SQL Server不允許跨頁面存儲(chǔ)。索引頁面 用于存儲(chǔ)數(shù)據(jù)庫中的索引數(shù)據(jù)。分發(fā)頁面 用于存儲(chǔ)數(shù)據(jù)庫中有關(guān)索引的信息。文本/圖像頁面 用于存儲(chǔ)大量的文本或者二進(jìn)制的對(duì)象(BLOB),例如,圖像。 3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)2.區(qū) 區(qū)是由8個(gè)連續(xù)的頁面組成的數(shù)據(jù)結(jié)構(gòu),大小為88 KB=64 KB。當(dāng)創(chuàng)建數(shù)據(jù)庫對(duì)象時(shí),SQL Server會(huì)自動(dòng)以區(qū)為單位給它分配
6、空間。每個(gè)區(qū)只能包含一個(gè)數(shù)據(jù)庫對(duì)象。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)SQL Server有兩種類型的區(qū):統(tǒng)一區(qū) 由單個(gè)對(duì)象所有。區(qū)中的所有8頁只能由所屬對(duì)象使用?;旌蠀^(qū) 最多可由8個(gè)對(duì)象共享。區(qū)中8頁的每頁可由不同的對(duì)象所有。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)3.1.3 事務(wù)日志事務(wù)日志 事務(wù)日志存儲(chǔ)在一個(gè)單獨(dú)的文件上。在創(chuàng)建數(shù)據(jù)庫時(shí),事務(wù)日志也會(huì)隨著創(chuàng)建。在修改寫入數(shù)據(jù)庫之前,事務(wù)日志會(huì)自動(dòng)記錄對(duì)數(shù)據(jù)庫對(duì)象所做的修改。如果系統(tǒng)出現(xiàn)故障,使用事務(wù)日志可對(duì)數(shù)據(jù)庫進(jìn)行恢復(fù)。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)1. 事務(wù)日志支持的操作恢復(fù)個(gè)別的事務(wù) SQL Server啟動(dòng)時(shí)恢復(fù)所有未完成的事務(wù) 將還原的數(shù)據(jù)庫、文件、文件組或頁前滾到
7、故障點(diǎn) 支持事務(wù)復(fù)制 支持備用服務(wù)器解決方案 3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)事務(wù)日志具有如下特征:事務(wù)日志是作為數(shù)據(jù)庫中的單獨(dú)的文件或一組文件實(shí)現(xiàn)的。日志記錄和頁的格式不必遵守?cái)?shù)據(jù)頁的格式。事務(wù)日志可以在幾個(gè)文件上實(shí)現(xiàn)。重用日志文件中空間的機(jī)制速度快且對(duì)事務(wù)吞吐量影響最小 3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)2. 事務(wù)日志提供容錯(cuò)的機(jī)制 在SQL Server中,事務(wù)是指一次完成的操作的集合,雖然一個(gè)事務(wù)中可能包含了很多的SQL語句,但是在處理上,它們就像是一個(gè)操作一樣。為了維護(hù)數(shù)據(jù)庫的完整性,它們必須徹底完成或者根本不執(zhí)行。如果一個(gè)事務(wù)只是部分執(zhí)行,則數(shù)據(jù)庫將受到損壞。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)事務(wù)日志防止沒有完成的
8、事務(wù)破壞數(shù)據(jù)的步驟:(1)用戶執(zhí)行修改數(shù)據(jù)庫對(duì)象的任務(wù)。(2)當(dāng)這個(gè)事務(wù)開始時(shí),在事務(wù)日志中會(huì)記錄一個(gè)事務(wù)開。(3)在日志中記錄每一個(gè)操作,然后在日志中記錄一個(gè)提交事務(wù)的標(biāo)志。(4)在緩沖區(qū)中修改相應(yīng)的數(shù)據(jù)。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)事務(wù)日志和數(shù)據(jù)分開存儲(chǔ)的優(yōu)點(diǎn):事務(wù)日志可以單獨(dú)備份。在服務(wù)器失效的事件中有可能將服務(wù)器恢復(fù)到最近的狀態(tài)。事務(wù)日志不會(huì)搶占數(shù)據(jù)庫的空間??梢院苋菀椎貦z測(cè)事務(wù)日志的空間。在向數(shù)據(jù)庫和事務(wù)日志中寫入時(shí)會(huì)較少產(chǎn)生沖突。3.1 數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.1 查看系統(tǒng)數(shù)據(jù)庫查看系統(tǒng)數(shù)據(jù)庫SQL Server 2005包含4個(gè)系統(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選項(xiàng),打開“連接到服務(wù)器”對(duì)話框,進(jìn)行相應(yīng)設(shè)置后,單擊“連接”按鈕,連接到相應(yīng)的服務(wù)器。 第2步:在連接成功后彈出的“對(duì)象資源管理器”窗口中,依次打開“數(shù)據(jù)庫”|“系統(tǒng)數(shù)據(jù)庫”選項(xiàng),即可看到4個(gè)系統(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實(shí)例的所有系統(tǒng)級(jí)信息。如: SQL Server初始化信息、登錄帳戶和系統(tǒng)配置設(shè)置、所有數(shù)據(jù)庫文件的位置。系統(tǒng)對(duì)象不放在master數(shù)據(jù)庫中,而是存儲(chǔ)在resource數(shù)據(jù)庫中, resource數(shù)據(jù)庫是只讀數(shù)據(jù)庫,它包含了SQL Server中的所有系統(tǒng)對(duì)象。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性tempdb數(shù)據(jù)庫數(shù)據(jù)庫tempdb數(shù)據(jù)庫是一個(gè)臨時(shí)數(shù)據(jù)庫,用于保存臨時(shí)對(duì)象或中間結(jié)果集,滿足臨時(shí)存儲(chǔ)要求。tempdb數(shù)據(jù)庫在SQL Server每次啟動(dòng)時(shí)都重新創(chuàng)建。臨時(shí)表和存儲(chǔ)過程在連接斷開時(shí)自動(dòng)除去,而且當(dāng)系統(tǒng)關(guān)閉后將沒有任何連接處于活動(dòng)狀態(tài)。每次啟
11、動(dòng)數(shù)據(jù)庫引擎時(shí), tempdb數(shù)據(jù)庫會(huì)重置為其初始大小,在SQL Server運(yùn)行時(shí),該庫會(huì)根據(jù)需要自動(dòng)增長(zhǎng)。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性Model數(shù)據(jù)庫數(shù)據(jù)庫model數(shù)據(jù)庫是創(chuàng)建所有數(shù)據(jù)庫的模板。當(dāng)創(chuàng)建數(shù)據(jù)庫時(shí),新數(shù)據(jù)庫的第一部分通過復(fù)制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用來計(jì)劃警報(bào)和作業(yè)調(diào)度的數(shù)據(jù)庫。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.2 查看用戶數(shù)據(jù)庫查看用戶數(shù)據(jù)庫幾種常用的數(shù)據(jù)庫對(duì)象
12、。1. 表 表是包含數(shù)據(jù)庫中所有數(shù)據(jù)的數(shù)據(jù)庫對(duì)象,由行和列組成,用于組織和存儲(chǔ)數(shù)據(jù),每一行稱為一條記錄。2. 字段 表中每列稱為一個(gè)字段,字段具有自己的屬性。 常用類型:字符型、文本型、數(shù)值型、邏輯型和日期型。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3. 索引 索引是一個(gè)單獨(dú)的數(shù)據(jù)結(jié)構(gòu),它是依賴于表建立的,是數(shù)據(jù)的邏輯排序,可加快查找速度。4. 視圖 視圖是從一個(gè)或多個(gè)表中導(dǎo)出的表(也稱虛擬表)。數(shù)據(jù)庫中并不存放視圖的數(shù)據(jù),只存放其定義。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性5. 存儲(chǔ)過程 存儲(chǔ)過程是一組為了完成特定功能的SQL語句集合,經(jīng)編譯后存儲(chǔ)在服務(wù)器端的數(shù)據(jù)庫中,由用戶通過指定存儲(chǔ)過程的名稱
13、來執(zhí)行。6. 觸發(fā)器 觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它能夠在某個(gè)規(guī)定的事件發(fā)生時(shí)觸發(fā)執(zhí)行。通常用來保持?jǐn)?shù)據(jù)完整性和檢查數(shù)據(jù)的有效性。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性使用SQL Server Managemet Studio可查看數(shù)據(jù)及內(nèi)容,包括數(shù)據(jù)庫的所有者、建立時(shí)間、大小、可用空間、表和索引等。打開數(shù)據(jù)庫屬性對(duì)話框查看AdventureWorks數(shù)據(jù)庫內(nèi)容。查看“常規(guī)”選項(xiàng)卡查看“文件”選項(xiàng)卡觀察數(shù)據(jù)庫文件的屬性:邏輯名稱、文件類型、文件組、初始大小、自動(dòng)增長(zhǎng)、路徑3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.3 查看表之間的關(guān)系圖查看表之間的關(guān)系圖圖3.9 選擇要查看關(guān)系圖的表圖3.1
14、0 3個(gè)表之間的關(guān)系圖 圖3.11 “選擇名稱”對(duì)話框3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.4 查看表的結(jié)構(gòu)和內(nèi)容查看表的結(jié)構(gòu)和內(nèi)容查看AdventureWorks庫中部分表的結(jié)構(gòu)和內(nèi)容。3.2.5 查看視圖查看視圖視圖(Views)是一種虛擬表,它的所有數(shù)據(jù)均來自表,本身并不存儲(chǔ)數(shù)據(jù)。視圖的記錄數(shù)據(jù)由某些表(一般是多個(gè))的某些字段組成。視圖的查看和表的查看類似。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.6 查看存儲(chǔ)過程查看存儲(chǔ)過程存儲(chǔ)過程是預(yù)先使用SQL語言編寫的,經(jīng)過SQL Server編譯后,存儲(chǔ)在SQL Server中的程序,可以重復(fù)調(diào)用。查看AdventureWorks庫中部分存儲(chǔ)過程。3.2 查看數(shù)據(jù)庫屬性查看數(shù)據(jù)庫屬性3.2.7 查看用戶和角色查看用戶和角色用戶是對(duì)數(shù)據(jù)庫有存取權(quán)限的使用者,角色是指一組數(shù)據(jù)庫用戶的集合。數(shù)據(jù)庫中的角色可以根據(jù)需要添加。用戶如果被加入到某一角色
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石油臨時(shí)占地協(xié)議書
- 就業(yè)協(xié)議書模板護(hù)理
- 員工外出務(wù)工協(xié)議書
- 文化宣傳顧問協(xié)議書
- 仲裁代理委托協(xié)議書
- 健康免責(zé)協(xié)議書模板
- 水果項(xiàng)目加盟協(xié)議書
- 書房鋪面轉(zhuǎn)讓協(xié)議書
- 消防考證培訓(xùn)協(xié)議書
- 就業(yè)協(xié)議書蓋章辦法
- 泛血管疾病抗栓治療中國(guó)專家共識(shí)解讀
- 基于深度學(xué)習(xí)的圖像分割
- 班級(jí)管理交流《班主任帶班育人方略》課件
- 分布式光伏電站安全運(yùn)維
- 校服采購(gòu)?fù)稑?biāo)方案投標(biāo)文件
- 奔騰B50汽車說明書
- 華為QSA審核報(bào)告
- 鋼筋籠(螺旋箍筋)工程量自動(dòng)計(jì)算表
- 標(biāo)準(zhǔn)入庫授權(quán)委托書
- 河南對(duì)外經(jīng)濟(jì)貿(mào)易職業(yè)學(xué)院教師招聘考試歷年真題
- 個(gè)人遺體捐贈(zèng)協(xié)議書
評(píng)論
0/150
提交評(píng)論