資源描述:
《sql server 2005之5管理數(shù)據(jù)庫文件》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第5章管理數(shù)據(jù)庫文件學習目標本章重點本章內容7/2/20211學習目標數(shù)據(jù)庫是數(shù)據(jù)庫管理系統(tǒng)的基礎和核心,是存放數(shù)據(jù)庫對象的容器,也是使用數(shù)據(jù)庫時首先面對的對象。數(shù)據(jù)庫文件是指數(shù)據(jù)庫的存在的形式。管理數(shù)據(jù)庫文件就是設計數(shù)據(jù)庫、定義數(shù)據(jù)庫和其文件以及維護數(shù)據(jù)庫的過程。數(shù)據(jù)庫的效率和性能在很大程度上取決于數(shù)據(jù)庫的設計和優(yōu)化。本章將對MicrosoftSQLServer系統(tǒng)的數(shù)據(jù)庫進行全面研究和分析。7/2/20212本章重點數(shù)據(jù)庫結構物理存儲和估算CREATEDATABASE語句數(shù)據(jù)庫選項擴大數(shù)據(jù)庫收縮數(shù)據(jù)庫文件
2、組數(shù)據(jù)庫快照7/2/20213本章內容5.1概述5.2數(shù)據(jù)庫的基本特點5.3定義數(shù)據(jù)庫5.4修改數(shù)據(jù)庫5.5管理數(shù)據(jù)庫快照5.6其他數(shù)據(jù)庫管理操作5.7優(yōu)化數(shù)據(jù)庫5.8上機練習5.9習題7/2/20214本章內容5.1概述5.2數(shù)據(jù)庫的基本特點5.3定義數(shù)據(jù)庫5.4修改數(shù)據(jù)庫5.5管理數(shù)據(jù)庫快照5.6其他數(shù)據(jù)庫管理操作5.7優(yōu)化數(shù)據(jù)庫5.8上機練習5.9習題7/2/202155.1概述為了有效地實現(xiàn)數(shù)據(jù)庫和數(shù)據(jù)庫文件的管理工作,我們必須至少解決8個方面的問題,這些問題包括數(shù)據(jù)庫文件的存儲問題、數(shù)據(jù)庫的大小問題
3、、確定數(shù)據(jù)庫運行時的行為特征、數(shù)據(jù)庫的更改問題、數(shù)據(jù)庫的擴大問題、數(shù)據(jù)庫的收縮問題、如何兼顧數(shù)據(jù)庫的事務處理效率和決策支持效率問題、數(shù)據(jù)庫的性能優(yōu)化問題等。7/2/20216數(shù)據(jù)庫和數(shù)據(jù)庫文件數(shù)據(jù)庫是數(shù)據(jù)庫對象和數(shù)據(jù)的容器,數(shù)據(jù)庫最終通過操作系統(tǒng)文件體現(xiàn)出來。數(shù)據(jù)庫應該包括哪些類型的操作系統(tǒng)文件呢?一個數(shù)據(jù)庫只能有一個操作系統(tǒng)文件呢,還是最多只能有兩個操作系統(tǒng)文件,或者說一個數(shù)據(jù)庫可以由任意多個操作系統(tǒng)文件?這是管理數(shù)據(jù)庫時必須首先理解和解決的問題。從某種意義上來說,管理數(shù)據(jù)庫就是管理數(shù)據(jù)庫文件。7/2/20
4、217本章內容5.1概述5.2數(shù)據(jù)庫的基本特點5.3定義數(shù)據(jù)庫5.4修改數(shù)據(jù)庫5.5管理數(shù)據(jù)庫快照5.6其他數(shù)據(jù)庫管理操作5.7優(yōu)化數(shù)據(jù)庫5.8上機練習5.9習題7/2/202185.2數(shù)據(jù)庫的基本特點本節(jié)主要講述數(shù)據(jù)庫文件的類型、事務的概念、文件組的作用、估算數(shù)據(jù)庫文件大小的方法等數(shù)據(jù)庫的基本特點。在MicrosoftSQLServer2005系統(tǒng)中,一個數(shù)據(jù)庫至少有一個數(shù)據(jù)文件和一個事務日志文件。當然,該數(shù)據(jù)庫也可以有多個數(shù)據(jù)文件和多個日志文件。數(shù)據(jù)文件用于存放數(shù)據(jù)庫的數(shù)據(jù)和各種對象,而事務日志文件用于存
5、放事務日志。一個數(shù)據(jù)庫最多可以擁有32767個數(shù)據(jù)文件和32767個日志文件。7/2/20219數(shù)據(jù)文件數(shù)據(jù)文件又可以分成主數(shù)據(jù)文件和次數(shù)據(jù)文件兩種形式。主數(shù)據(jù)文件是數(shù)據(jù)庫的起點,每一個數(shù)據(jù)庫都有且僅有一個主數(shù)據(jù)文件。主數(shù)據(jù)文件名稱的默認后綴是mdf。次數(shù)據(jù)文件是可選的,它們可以存儲不在主數(shù)據(jù)文件中的全部數(shù)據(jù)和對象。數(shù)據(jù)庫既可能沒有次數(shù)據(jù)文件,也可能有多個次數(shù)據(jù)文件。次數(shù)據(jù)文件名稱的默認后綴是ndf。7/2/202110事務事務就是一個單元的工作,該單元的工作要么全部完成,要么全部不完成。MicrosoftS
6、QLServer系統(tǒng)具有事務功能,可以保證數(shù)據(jù)庫操作的一致性和完整性。MicrosoftSQLServer系統(tǒng)使用數(shù)據(jù)庫的事務日志來實現(xiàn)事務的功能。事務日志記錄了對數(shù)據(jù)庫的所有修改操作。日志記錄了每一個事務的開始、對數(shù)據(jù)的改變和取消修改的足夠信息。隨著對數(shù)據(jù)庫的操作,日志是連續(xù)增加的。對于一些大型操作創(chuàng)建索引,日志只是記錄該操作的事實,而不是記錄所發(fā)生的數(shù)據(jù)。事務日志還記錄了數(shù)據(jù)頁的分配和釋放,以及每一個事務的提交和滾回。這樣就允許SQLServer系統(tǒng)要么恢復事務,要么取消事務。當事務沒有完成時,則取消該事
7、務。事務日志以操作系統(tǒng)文件的形式存在,在數(shù)據(jù)庫中被稱為日志文件。每一個數(shù)據(jù)庫都至少有一個日志文件。日志文件名稱的后綴默認是ldf。7/2/202111文件組文件組就是文件的邏輯集合。為了方便數(shù)據(jù)的管理和分配,文件組可以把一些指定的文件組合在一起。例如,在某個數(shù)據(jù)庫中,3個文件(data1.ndf、data2.ndf和data3.ndf)分別創(chuàng)建在3個不同的磁盤驅動器中,然后為它們指定一個文件組fgroup1。以后,所創(chuàng)建的表可以明確指定放在文件組fgroup1上。對該表中數(shù)據(jù)的查詢將分布在這3個磁盤上,因此,
8、可以通過執(zhí)行并行訪問而提高查詢性能。在創(chuàng)建表時,不能指定將表放在某個文件上,只能指定將表放在某個文件組上。因此,如果希望將某個表放在特定的文件上,那么必須通過創(chuàng)建文件組來實現(xiàn)。7/2/202112物理空間在MicrosoftSQLServer系統(tǒng)中,可管理的最小物理空間是以頁為單位的,每一個頁的大小是8KB,即8192字節(jié)。在表中,每一行數(shù)據(jù)不能跨頁存儲。這樣,表中每一行的字節(jié)數(shù)不能超過8192個字