ch03創(chuàng)建數(shù)據(jù)庫(kù)-課本3.1-3.2_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2024年3月21日,第1頁(yè),SQL語(yǔ)言的特點(diǎn),1970年6月,埃德加?考特(Edgar Frank Codd)在Communications of ACM 上發(fā)表了《大型共享數(shù)據(jù)庫(kù)數(shù)據(jù)的關(guān)系模型》一文。首次明確而清晰地為數(shù)據(jù)庫(kù)系統(tǒng)提出了一種嶄新的模型, 即關(guān)系模型。1970 年以后,考特繼續(xù)致力于完善與發(fā)展關(guān)系理論。1972 年,他提出了關(guān)系代數(shù)和關(guān)系演算的概念, 定義了關(guān)系的并、交、投影、選擇、連接等各種基本運(yùn)算,為SQL語(yǔ)言的

2、形成和發(fā)展奠定了理論基礎(chǔ)。1979年,SQL在商業(yè)數(shù)據(jù)庫(kù)中成功得到了應(yīng)用。,2024年3月21日,第2頁(yè),SQL標(biāo)準(zhǔn),1986年,美國(guó)國(guó)家標(biāo)準(zhǔn)化組織正式發(fā)表了編號(hào)為X3.135-1986的SQL標(biāo)準(zhǔn),并且在1987年得到了ISO組織的認(rèn)可,被命名為ISO9075-1987。后來(lái)這個(gè)標(biāo)準(zhǔn)在1992、1999、2003、2006、2008年等不斷地得到了擴(kuò)充和完善。1992年發(fā)布的標(biāo)準(zhǔn)是SQL92,也稱(chēng)為SQL2。1999年發(fā)布的標(biāo)準(zhǔn)稱(chēng)為

3、SQL:1999,也稱(chēng)為SQL3。該版本增加了迭代查詢(xún)、觸發(fā)器、控制流以及面向?qū)ο蠊δ堋?003年,SQL標(biāo)準(zhǔn)引入了XML支持、自動(dòng)生成值等特征。2006年的標(biāo)準(zhǔn)在XML數(shù)據(jù)的存儲(chǔ)和查詢(xún)方面有了更多的增強(qiáng)。從SQL語(yǔ)言的歷史來(lái)看,Transact-SQL語(yǔ)言與SQL語(yǔ)言并不完全等同。不同的數(shù)據(jù)庫(kù)供應(yīng)商一方面采納了SQL語(yǔ)言作為自己數(shù)據(jù)庫(kù)的操作語(yǔ)言,另一方面又對(duì)SQL語(yǔ)言進(jìn)行了不同程度的擴(kuò)展。這種擴(kuò)展的主要原因是不同的數(shù)據(jù)庫(kù)供應(yīng)商為了達(dá)

4、到特殊目的和實(shí)現(xiàn)新的功能,不得不對(duì)標(biāo)準(zhǔn)的SQL語(yǔ)言進(jìn)行擴(kuò)展,而這些擴(kuò)展往往又是SQL標(biāo)準(zhǔn)的下一個(gè)版本的主要實(shí)踐來(lái)源。,2024年3月21日,第3頁(yè),Transact-SQL,Transact-SQL語(yǔ)言有4個(gè)特點(diǎn):一是一體化的特點(diǎn),集數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言、數(shù)據(jù)控制語(yǔ)言、事務(wù)管理語(yǔ)言和附加語(yǔ)言元素為一體。二是有兩種使用方式,即交互使用方式和嵌入到高級(jí)語(yǔ)言中的使用方式。三是非過(guò)程化語(yǔ)言,只需要提出“干什么”,不需要指出“如何干”

5、,語(yǔ)句的操作過(guò)程由系統(tǒng)自動(dòng)完成。四是,類(lèi)似于人的思維習(xí)慣,容易理解和掌握。,2024年3月21日,第4頁(yè),類(lèi)型,在Microsoft SQL Server 2008系統(tǒng)中,根據(jù)Transact-SQL語(yǔ)言的功能特點(diǎn),可以把Transact-SQL語(yǔ)言分為5種類(lèi)型,即數(shù)據(jù)定義語(yǔ)言數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)控制語(yǔ)言事務(wù)管理語(yǔ)言附加的語(yǔ)言元素,2024年3月21日,第5頁(yè),執(zhí)行Transact-SQL語(yǔ)句示例,2024年3月21日,第6頁(yè),

6、【SQL編輯器】的工具欄,,2024年3月21日,第7頁(yè),,第3章 管理數(shù)據(jù)庫(kù)文件,學(xué)習(xí)目標(biāo) 本章重點(diǎn)本章內(nèi)容,2024年3月21日,第8頁(yè),3.1 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)文件,數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)的容器,數(shù)據(jù)庫(kù)最終通過(guò)操作系統(tǒng)文件體現(xiàn)出來(lái)。數(shù)據(jù)庫(kù)應(yīng)該包括哪些類(lèi)型的操作系統(tǒng)文件呢?一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)操作系統(tǒng)文件呢,還是最多只能有兩個(gè)操作系統(tǒng)文件,或者說(shuō)一個(gè)數(shù)據(jù)庫(kù)可以由任意多個(gè)操作系統(tǒng)文件?這是管理數(shù)據(jù)庫(kù)時(shí)必須首先理解和解決的問(wèn)題。

7、從某種意義上來(lái)說(shuō),管理數(shù)據(jù)庫(kù)就是管理數(shù)據(jù)庫(kù)文件。,2024年3月21日,第9頁(yè),數(shù)據(jù)文件,數(shù)據(jù)文件又可以分成主數(shù)據(jù)文件和次數(shù)據(jù)文件兩種形式。主數(shù)據(jù)文件是數(shù)據(jù)庫(kù)的起點(diǎn),每一個(gè)數(shù)據(jù)庫(kù)都有且僅有一個(gè)主數(shù)據(jù)文件。主數(shù)據(jù)文件名稱(chēng)的默認(rèn)后綴是mdf。次數(shù)據(jù)文件是可選的,它們可以存儲(chǔ)不在主數(shù)據(jù)文件中的全部數(shù)據(jù)和對(duì)象。數(shù)據(jù)庫(kù)既可能沒(méi)有次數(shù)據(jù)文件,也可能有多個(gè)次數(shù)據(jù)文件。次數(shù)據(jù)文件名稱(chēng)的默認(rèn)后綴是ndf。,2024年3月21日,第10頁(yè),文件組,文

8、件組就是文件的邏輯集合。為了方便數(shù)據(jù)的管理和分配,文件組可以把一些指定的文件組合在一起。例如,在某個(gè)數(shù)據(jù)庫(kù)中,3個(gè)文件(data1.ndf、data2.ndf和data3.ndf)分別創(chuàng)建在3個(gè)不同的磁盤(pán)驅(qū)動(dòng)器中,然后為它們指定一個(gè)文件組fgroup1。以后,所創(chuàng)建的表可以明確指定放在文件組fgroup1上。對(duì)該表中數(shù)據(jù)的查詢(xún)將分布在這3個(gè)磁盤(pán)上,因此,可以通過(guò)執(zhí)行并行訪(fǎng)問(wèn)而提高查詢(xún)性能。在創(chuàng)建表時(shí),不能指定將表放在某個(gè)文件上,只能指

9、定將表放在某個(gè)文件組上。因此,如果希望將某個(gè)表放在特定的文件上,那么必須通過(guò)創(chuàng)建文件組來(lái)實(shí)現(xiàn)。,2024年3月21日,第11頁(yè),物理空間,在Microsoft SQL Server系統(tǒng)中,可管理的最小物理空間是以頁(yè)為單位的,每一個(gè)頁(yè)的大小是8KB,即8192字節(jié)。在表中,每一行數(shù)據(jù)不能跨頁(yè)存儲(chǔ)。這樣,表中每一行的字節(jié)數(shù)不能超過(guò)8192個(gè)字節(jié)。在每一個(gè)頁(yè)上,由于系統(tǒng)占用了一部分空間用于記錄與該頁(yè)有關(guān)的系統(tǒng)信息,所以每一個(gè)頁(yè)可用的空間是80

10、60個(gè)字節(jié)。但是,包含了VARCHAR、NVARCHAR、VARBINARY等數(shù)據(jù)類(lèi)型的列的表不受這種限制。每8個(gè)連續(xù)頁(yè)稱(chēng)為一個(gè)區(qū)即區(qū)的大小是64KB。,2024年3月21日,第12頁(yè),3.3 定義數(shù)據(jù)庫(kù),定義數(shù)據(jù)庫(kù)就是從無(wú)到有地創(chuàng)建數(shù)據(jù)庫(kù)和設(shè)置數(shù)據(jù)庫(kù)選項(xiàng)。本節(jié)從三個(gè)方面講述定義數(shù)據(jù)庫(kù),即創(chuàng)建數(shù)據(jù)庫(kù)、設(shè)置數(shù)據(jù)庫(kù)選項(xiàng)和查看數(shù)據(jù)庫(kù)信息。,2024年3月21日,第13頁(yè),創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)就是確定數(shù)據(jù)庫(kù)名稱(chēng)、文件名稱(chēng)、數(shù)據(jù)文件大小、

11、數(shù)據(jù)庫(kù)的字符集、是否自動(dòng)增長(zhǎng)以及如何自動(dòng)增長(zhǎng)等信息的過(guò)程。在一個(gè)Microsoft SQL Server實(shí)例中,最多可以創(chuàng)建32767個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的名稱(chēng)必須滿(mǎn)足系統(tǒng)的標(biāo)識(shí)符規(guī)則。在命名數(shù)據(jù)庫(kù)時(shí),一定要使數(shù)據(jù)庫(kù)名稱(chēng)簡(jiǎn)短和有一定的含義。具有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE權(quán)限的用戶(hù)才可以執(zhí)行創(chuàng)建數(shù)據(jù)庫(kù)的操作。,2024年3月21日,第14頁(yè),【例3-1】使用

12、CREATE DATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)的最簡(jiǎn)單的方式,2024年3月21日,第15頁(yè),【例3-2】使用CREATE DATABASE語(yǔ)句,以明確指定數(shù)據(jù)庫(kù)的文件和這些文件的大小以及增長(zhǎng)方式的形式創(chuàng)建數(shù)據(jù)庫(kù),2024年3月21日,第16頁(yè),【例3-3】使用CREATE DATABASE語(yǔ)句,創(chuàng)建數(shù)據(jù)庫(kù),同時(shí)也創(chuàng)建文件組。,2024年3月21日,第17頁(yè),3.4 修改數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)創(chuàng)建之后,根據(jù)需要可以使用ALTER DATABAS

13、E語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。除了前面講過(guò)的設(shè)置數(shù)據(jù)庫(kù)選項(xiàng)之外,修改操作還包括更改數(shù)據(jù)庫(kù)名稱(chēng)、擴(kuò)大數(shù)據(jù)庫(kù)、收縮數(shù)據(jù)庫(kù)、修改數(shù)據(jù)庫(kù)文件、管理數(shù)據(jù)庫(kù)文件組、修改字符排列規(guī)則等。,2024年3月21日,第18頁(yè),【例3-9】將LCBCom數(shù)據(jù)庫(kù)的名稱(chēng)更改為L(zhǎng)GCom,2024年3月21日,第19頁(yè),擴(kuò)大數(shù)據(jù)庫(kù),在Microsoft SQL Server系統(tǒng)中,如果數(shù)據(jù)庫(kù)的數(shù)據(jù)量不斷膨脹,可以根據(jù)需要擴(kuò)大數(shù)據(jù)庫(kù)的尺寸。有3種擴(kuò)大數(shù)據(jù)庫(kù)的方式。第一

14、種方式是設(shè)置數(shù)據(jù)庫(kù)為自動(dòng)增長(zhǎng)方式,可以在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)設(shè)置。第二種方式是直接修改數(shù)據(jù)庫(kù)的數(shù)據(jù)文件或日志文件的大小,第三種方式是在數(shù)據(jù)庫(kù)中增加新的次要數(shù)據(jù)文件或日志文件。,2024年3月21日,第20頁(yè),【例3-10】通過(guò)增加文件擴(kuò)大LGCom數(shù)據(jù)庫(kù),2024年3月21日,第21頁(yè),【例3-11】通過(guò)擴(kuò)大文件來(lái)擴(kuò)大LGCom數(shù)據(jù)庫(kù),2024年3月21日,第22頁(yè),收縮數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)的設(shè)計(jì)尺寸過(guò)大了,或者刪除了數(shù)據(jù)庫(kù)中的大量數(shù)據(jù),這時(shí)數(shù)據(jù)

15、庫(kù)會(huì)白白耗費(fèi)大量的磁盤(pán)資源。根據(jù)用戶(hù)的實(shí)際需要,可以收縮數(shù)據(jù)庫(kù)的大小。在Microsoft SQL Server系統(tǒng)中,有3種收縮數(shù)據(jù)庫(kù)的方式。第一種方式是設(shè)置數(shù)據(jù)庫(kù)為自動(dòng)收縮,這可以通過(guò)設(shè)置AUTO_SHRINK數(shù)據(jù)庫(kù)選項(xiàng)實(shí)現(xiàn)。第二種方式是收縮整個(gè)數(shù)據(jù)庫(kù)的大小,這可以通過(guò)使用DBCC SHRINKDATABASE命令完成。第三種方式是收縮指定的數(shù)據(jù)文件,這可以使用DBCC SHRIKNFILE命令實(shí)現(xiàn)。除了這些命令方式之外,也可

16、以使用SQL Server Management Studio工具來(lái)收縮數(shù)據(jù)庫(kù)。,2024年3月21日,第23頁(yè),【例3-12】嘗試能否使用ALTER DATABASE語(yǔ)句直接通過(guò)修改數(shù)據(jù)文件來(lái)收縮數(shù)據(jù)庫(kù),2024年3月21日,第24頁(yè),使用AUTO_SHRINK數(shù)據(jù)庫(kù)選項(xiàng),在Microsoft SQL Server系統(tǒng)中,數(shù)據(jù)庫(kù)引擎會(huì)定期檢查每一個(gè)數(shù)據(jù)庫(kù)的空間使用情況。如果把某個(gè)數(shù)據(jù)庫(kù)的AUTO_SHRINK選項(xiàng)設(shè)置為ON,則數(shù)據(jù)庫(kù)

17、引擎將自動(dòng)收縮數(shù)據(jù)庫(kù)中文件的大小。如果把該選項(xiàng)設(shè)置為OFF,將不自動(dòng)收縮數(shù)據(jù)庫(kù)的大小。該選項(xiàng)的默認(rèn)值是OFF。,2024年3月21日,第25頁(yè),使用DBCC SHRINKDATABASE命令,DBCC SHRINKDATABASE命令是一種比自動(dòng)收縮數(shù)據(jù)庫(kù)更加靈活收縮數(shù)據(jù)庫(kù)的方式,可以對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行收縮。,2024年3月21日,第26頁(yè),使用DBCC SHRINKDFILE命令,DBCC SHRINKDFILE命令可以收縮指定的數(shù)據(jù)

18、庫(kù)文件,并且可以將文件收縮至小于其初始創(chuàng)建的大小,重新設(shè)置當(dāng)前的大小為其初始創(chuàng)建的大小。這是該命令與自動(dòng)收縮、DBCC SHRINKDATABASE命令不同的地方。因此,在執(zhí)行收縮數(shù)據(jù)庫(kù)操作時(shí),DBCC SHRINKDFILE命令的功能最強(qiáng)大。,2024年3月21日,第27頁(yè),使用SQL Server Management Studio工具,使用SQL Server Management Studio工具既可以收縮整個(gè)數(shù)據(jù)庫(kù)的大小,也

19、可以收縮指定的數(shù)據(jù)文件的大小。【例3-13】使用SQL Server Management Studio工具收縮數(shù)據(jù)庫(kù)文件。,2024年3月21日,第28頁(yè),修改數(shù)據(jù)庫(kù)文件,用戶(hù)可以根據(jù)需要使用ALTER DATABASE語(yǔ)句修改數(shù)據(jù)庫(kù)中指定的文件。這些修改操作包括增加數(shù)據(jù)文件、在指定的文件組中增加指定文件、增加日志文件、刪除指定的文件、修改指定的文件等。增加數(shù)據(jù)文件、修改指定的文件等操作已經(jīng)講過(guò)了,下面通過(guò)一些示例講述有關(guān)數(shù)據(jù)庫(kù)文

20、件的其他操作。,2024年3月21日,第29頁(yè),【例3-14】在指定的文件組中增加文件,2024年3月21日,第30頁(yè),管理文件組,文件組是數(shù)據(jù)庫(kù)數(shù)據(jù)文件的邏輯組合,它可以對(duì)數(shù)據(jù)文件進(jìn)行管理和分配,以便提高數(shù)據(jù)庫(kù)文件的并發(fā)使用效率。Transact-SQL語(yǔ)言沒(méi)有提供獨(dú)立的管理文件組的命令,只能通過(guò)ALTER DATABASE語(yǔ)句提供了管理文件組的命令。這些管理文件組的命令包括新建文件組、設(shè)置默認(rèn)的文件組、設(shè)置文件組的屬性、修改文件

21、組、刪除文件組等。下面,來(lái)詳細(xì)研究管理文件組的操作。,2024年3月21日,第31頁(yè),【例3-13】在新建文件組的同時(shí)設(shè)置該文件組為默認(rèn)文件組,2024年3月21日,第32頁(yè),【例3-16】設(shè)置該文件組為只讀狀態(tài),2024年3月21日,第33頁(yè),3.6 其他數(shù)據(jù)庫(kù)管理操作,除了前面講述的數(shù)據(jù)庫(kù)操作之外,數(shù)據(jù)庫(kù)管理操作還包括分離數(shù)據(jù)庫(kù)、附加數(shù)據(jù)庫(kù)、刪除數(shù)據(jù)庫(kù)等。下面討論這些操作。,2024年3月21日,第34頁(yè),分離數(shù)據(jù)庫(kù),分離數(shù)據(jù)

22、庫(kù)是指將數(shù)據(jù)庫(kù)從Microsoft SQL Server實(shí)例中刪除,但是該數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和事務(wù)日志文件依然保持不變。這樣可以將該數(shù)據(jù)庫(kù)附加到任何的Microsoft SQL Server實(shí)例中??梢允褂胹p_detach_db存儲(chǔ)過(guò)程來(lái)執(zhí)行數(shù)據(jù)庫(kù)分離操作,當(dāng)然也可以使用SQL Server Management Studio工具來(lái)執(zhí)行分離操作。,2024年3月21日,第35頁(yè),【例3-18】分離數(shù)據(jù)庫(kù),2024年3月21日,第36頁(yè)

23、,附加數(shù)據(jù)庫(kù),當(dāng)希望將分離后的數(shù)據(jù)庫(kù)附加到某個(gè)Microsoft SQL Server實(shí)例中時(shí),可以使用CREATE DATABASE語(yǔ)句。附加數(shù)據(jù)庫(kù)可以將其重置為分離時(shí)的狀態(tài)。 附加數(shù)據(jù)庫(kù)時(shí)所有的數(shù)據(jù)文件必須都是可用的。在附加數(shù)據(jù)庫(kù)過(guò)程中,如果沒(méi)有日志文件,系統(tǒng)將自動(dòng)創(chuàng)建一個(gè)新的日志文件。,2024年3月21日,第37頁(yè),【例3-19】附加數(shù)據(jù)庫(kù),2024年3月21日,第38頁(yè),刪除數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)不再需要了,那么可以使用DRO

溫馨提示

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

評(píng)論

0/150

提交評(píng)論