版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2024年3月21日,第1頁,SQL語言的特點,1970年6月,埃德加?考特(Edgar Frank Codd)在Communications of ACM 上發(fā)表了《大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型》一文。首次明確而清晰地為數(shù)據(jù)庫系統(tǒng)提出了一種嶄新的模型, 即關(guān)系模型。1970 年以后,考特繼續(xù)致力于完善與發(fā)展關(guān)系理論。1972 年,他提出了關(guān)系代數(shù)和關(guān)系演算的概念, 定義了關(guān)系的并、交、投影、選擇、連接等各種基本運算,為SQL語言的
2、形成和發(fā)展奠定了理論基礎(chǔ)。1979年,SQL在商業(yè)數(shù)據(jù)庫中成功得到了應(yīng)用。,2024年3月21日,第2頁,SQL標(biāo)準(zhǔn),1986年,美國國家標(biāo)準(zhǔn)化組織正式發(fā)表了編號為X3.135-1986的SQL標(biāo)準(zhǔn),并且在1987年得到了ISO組織的認(rèn)可,被命名為ISO9075-1987。后來這個標(biāo)準(zhǔn)在1992、1999、2003、2006、2008年等不斷地得到了擴充和完善。1992年發(fā)布的標(biāo)準(zhǔn)是SQL92,也稱為SQL2。1999年發(fā)布的標(biāo)準(zhǔn)稱為
3、SQL:1999,也稱為SQL3。該版本增加了迭代查詢、觸發(fā)器、控制流以及面向?qū)ο蠊δ堋?003年,SQL標(biāo)準(zhǔn)引入了XML支持、自動生成值等特征。2006年的標(biāo)準(zhǔn)在XML數(shù)據(jù)的存儲和查詢方面有了更多的增強。從SQL語言的歷史來看,Transact-SQL語言與SQL語言并不完全等同。不同的數(shù)據(jù)庫供應(yīng)商一方面采納了SQL語言作為自己數(shù)據(jù)庫的操作語言,另一方面又對SQL語言進(jìn)行了不同程度的擴展。這種擴展的主要原因是不同的數(shù)據(jù)庫供應(yīng)商為了達(dá)
4、到特殊目的和實現(xiàn)新的功能,不得不對標(biāo)準(zhǔn)的SQL語言進(jìn)行擴展,而這些擴展往往又是SQL標(biāo)準(zhǔn)的下一個版本的主要實踐來源。,2024年3月21日,第3頁,Transact-SQL,Transact-SQL語言有4個特點:一是一體化的特點,集數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言、事務(wù)管理語言和附加語言元素為一體。二是有兩種使用方式,即交互使用方式和嵌入到高級語言中的使用方式。三是非過程化語言,只需要提出“干什么”,不需要指出“如何干”
5、,語句的操作過程由系統(tǒng)自動完成。四是,類似于人的思維習(xí)慣,容易理解和掌握。,2024年3月21日,第4頁,類型,在Microsoft SQL Server 2008系統(tǒng)中,根據(jù)Transact-SQL語言的功能特點,可以把Transact-SQL語言分為5種類型,即數(shù)據(jù)定義語言數(shù)據(jù)操縱語言數(shù)據(jù)控制語言事務(wù)管理語言附加的語言元素,2024年3月21日,第5頁,執(zhí)行Transact-SQL語句示例,2024年3月21日,第6頁,
6、【SQL編輯器】的工具欄,,2024年3月21日,第7頁,,第3章 管理數(shù)據(jù)庫文件,學(xué)習(xí)目標(biāo) 本章重點本章內(nèi)容,2024年3月21日,第8頁,3.1 數(shù)據(jù)庫和數(shù)據(jù)庫文件,數(shù)據(jù)庫是數(shù)據(jù)庫對象和數(shù)據(jù)的容器,數(shù)據(jù)庫最終通過操作系統(tǒng)文件體現(xiàn)出來。數(shù)據(jù)庫應(yīng)該包括哪些類型的操作系統(tǒng)文件呢?一個數(shù)據(jù)庫只能有一個操作系統(tǒng)文件呢,還是最多只能有兩個操作系統(tǒng)文件,或者說一個數(shù)據(jù)庫可以由任意多個操作系統(tǒng)文件?這是管理數(shù)據(jù)庫時必須首先理解和解決的問題。
7、從某種意義上來說,管理數(shù)據(jù)庫就是管理數(shù)據(jù)庫文件。,2024年3月21日,第9頁,數(shù)據(jù)文件,數(shù)據(jù)文件又可以分成主數(shù)據(jù)文件和次數(shù)據(jù)文件兩種形式。主數(shù)據(jù)文件是數(shù)據(jù)庫的起點,每一個數(shù)據(jù)庫都有且僅有一個主數(shù)據(jù)文件。主數(shù)據(jù)文件名稱的默認(rèn)后綴是mdf。次數(shù)據(jù)文件是可選的,它們可以存儲不在主數(shù)據(jù)文件中的全部數(shù)據(jù)和對象。數(shù)據(jù)庫既可能沒有次數(shù)據(jù)文件,也可能有多個次數(shù)據(jù)文件。次數(shù)據(jù)文件名稱的默認(rèn)后綴是ndf。,2024年3月21日,第10頁,文件組,文
8、件組就是文件的邏輯集合。為了方便數(shù)據(jù)的管理和分配,文件組可以把一些指定的文件組合在一起。例如,在某個數(shù)據(jù)庫中,3個文件(data1.ndf、data2.ndf和data3.ndf)分別創(chuàng)建在3個不同的磁盤驅(qū)動器中,然后為它們指定一個文件組fgroup1。以后,所創(chuàng)建的表可以明確指定放在文件組fgroup1上。對該表中數(shù)據(jù)的查詢將分布在這3個磁盤上,因此,可以通過執(zhí)行并行訪問而提高查詢性能。在創(chuàng)建表時,不能指定將表放在某個文件上,只能指
9、定將表放在某個文件組上。因此,如果希望將某個表放在特定的文件上,那么必須通過創(chuàng)建文件組來實現(xiàn)。,2024年3月21日,第11頁,物理空間,在Microsoft SQL Server系統(tǒng)中,可管理的最小物理空間是以頁為單位的,每一個頁的大小是8KB,即8192字節(jié)。在表中,每一行數(shù)據(jù)不能跨頁存儲。這樣,表中每一行的字節(jié)數(shù)不能超過8192個字節(jié)。在每一個頁上,由于系統(tǒng)占用了一部分空間用于記錄與該頁有關(guān)的系統(tǒng)信息,所以每一個頁可用的空間是80
10、60個字節(jié)。但是,包含了VARCHAR、NVARCHAR、VARBINARY等數(shù)據(jù)類型的列的表不受這種限制。每8個連續(xù)頁稱為一個區(qū)即區(qū)的大小是64KB。,2024年3月21日,第12頁,3.3 定義數(shù)據(jù)庫,定義數(shù)據(jù)庫就是從無到有地創(chuàng)建數(shù)據(jù)庫和設(shè)置數(shù)據(jù)庫選項。本節(jié)從三個方面講述定義數(shù)據(jù)庫,即創(chuàng)建數(shù)據(jù)庫、設(shè)置數(shù)據(jù)庫選項和查看數(shù)據(jù)庫信息。,2024年3月21日,第13頁,創(chuàng)建數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫就是確定數(shù)據(jù)庫名稱、文件名稱、數(shù)據(jù)文件大小、
11、數(shù)據(jù)庫的字符集、是否自動增長以及如何自動增長等信息的過程。在一個Microsoft SQL Server實例中,最多可以創(chuàng)建32767個數(shù)據(jù)庫。數(shù)據(jù)庫的名稱必須滿足系統(tǒng)的標(biāo)識符規(guī)則。在命名數(shù)據(jù)庫時,一定要使數(shù)據(jù)庫名稱簡短和有一定的含義。具有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE權(quán)限的用戶才可以執(zhí)行創(chuàng)建數(shù)據(jù)庫的操作。,2024年3月21日,第14頁,【例3-1】使用
12、CREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫的最簡單的方式,2024年3月21日,第15頁,【例3-2】使用CREATE DATABASE語句,以明確指定數(shù)據(jù)庫的文件和這些文件的大小以及增長方式的形式創(chuàng)建數(shù)據(jù)庫,2024年3月21日,第16頁,【例3-3】使用CREATE DATABASE語句,創(chuàng)建數(shù)據(jù)庫,同時也創(chuàng)建文件組。,2024年3月21日,第17頁,3.4 修改數(shù)據(jù)庫,數(shù)據(jù)庫創(chuàng)建之后,根據(jù)需要可以使用ALTER DATABAS
13、E語句對數(shù)據(jù)庫進(jìn)行修改。除了前面講過的設(shè)置數(shù)據(jù)庫選項之外,修改操作還包括更改數(shù)據(jù)庫名稱、擴大數(shù)據(jù)庫、收縮數(shù)據(jù)庫、修改數(shù)據(jù)庫文件、管理數(shù)據(jù)庫文件組、修改字符排列規(guī)則等。,2024年3月21日,第18頁,【例3-9】將LCBCom數(shù)據(jù)庫的名稱更改為LGCom,2024年3月21日,第19頁,擴大數(shù)據(jù)庫,在Microsoft SQL Server系統(tǒng)中,如果數(shù)據(jù)庫的數(shù)據(jù)量不斷膨脹,可以根據(jù)需要擴大數(shù)據(jù)庫的尺寸。有3種擴大數(shù)據(jù)庫的方式。第一
14、種方式是設(shè)置數(shù)據(jù)庫為自動增長方式,可以在創(chuàng)建數(shù)據(jù)庫時設(shè)置。第二種方式是直接修改數(shù)據(jù)庫的數(shù)據(jù)文件或日志文件的大小,第三種方式是在數(shù)據(jù)庫中增加新的次要數(shù)據(jù)文件或日志文件。,2024年3月21日,第20頁,【例3-10】通過增加文件擴大LGCom數(shù)據(jù)庫,2024年3月21日,第21頁,【例3-11】通過擴大文件來擴大LGCom數(shù)據(jù)庫,2024年3月21日,第22頁,收縮數(shù)據(jù)庫,如果數(shù)據(jù)庫的設(shè)計尺寸過大了,或者刪除了數(shù)據(jù)庫中的大量數(shù)據(jù),這時數(shù)據(jù)
15、庫會白白耗費大量的磁盤資源。根據(jù)用戶的實際需要,可以收縮數(shù)據(jù)庫的大小。在Microsoft SQL Server系統(tǒng)中,有3種收縮數(shù)據(jù)庫的方式。第一種方式是設(shè)置數(shù)據(jù)庫為自動收縮,這可以通過設(shè)置AUTO_SHRINK數(shù)據(jù)庫選項實現(xiàn)。第二種方式是收縮整個數(shù)據(jù)庫的大小,這可以通過使用DBCC SHRINKDATABASE命令完成。第三種方式是收縮指定的數(shù)據(jù)文件,這可以使用DBCC SHRIKNFILE命令實現(xiàn)。除了這些命令方式之外,也可
16、以使用SQL Server Management Studio工具來收縮數(shù)據(jù)庫。,2024年3月21日,第23頁,【例3-12】嘗試能否使用ALTER DATABASE語句直接通過修改數(shù)據(jù)文件來收縮數(shù)據(jù)庫,2024年3月21日,第24頁,使用AUTO_SHRINK數(shù)據(jù)庫選項,在Microsoft SQL Server系統(tǒng)中,數(shù)據(jù)庫引擎會定期檢查每一個數(shù)據(jù)庫的空間使用情況。如果把某個數(shù)據(jù)庫的AUTO_SHRINK選項設(shè)置為ON,則數(shù)據(jù)庫
17、引擎將自動收縮數(shù)據(jù)庫中文件的大小。如果把該選項設(shè)置為OFF,將不自動收縮數(shù)據(jù)庫的大小。該選項的默認(rèn)值是OFF。,2024年3月21日,第25頁,使用DBCC SHRINKDATABASE命令,DBCC SHRINKDATABASE命令是一種比自動收縮數(shù)據(jù)庫更加靈活收縮數(shù)據(jù)庫的方式,可以對整個數(shù)據(jù)庫進(jìn)行收縮。,2024年3月21日,第26頁,使用DBCC SHRINKDFILE命令,DBCC SHRINKDFILE命令可以收縮指定的數(shù)據(jù)
18、庫文件,并且可以將文件收縮至小于其初始創(chuàng)建的大小,重新設(shè)置當(dāng)前的大小為其初始創(chuàng)建的大小。這是該命令與自動收縮、DBCC SHRINKDATABASE命令不同的地方。因此,在執(zhí)行收縮數(shù)據(jù)庫操作時,DBCC SHRINKDFILE命令的功能最強大。,2024年3月21日,第27頁,使用SQL Server Management Studio工具,使用SQL Server Management Studio工具既可以收縮整個數(shù)據(jù)庫的大小,也
19、可以收縮指定的數(shù)據(jù)文件的大小。【例3-13】使用SQL Server Management Studio工具收縮數(shù)據(jù)庫文件。,2024年3月21日,第28頁,修改數(shù)據(jù)庫文件,用戶可以根據(jù)需要使用ALTER DATABASE語句修改數(shù)據(jù)庫中指定的文件。這些修改操作包括增加數(shù)據(jù)文件、在指定的文件組中增加指定文件、增加日志文件、刪除指定的文件、修改指定的文件等。增加數(shù)據(jù)文件、修改指定的文件等操作已經(jīng)講過了,下面通過一些示例講述有關(guān)數(shù)據(jù)庫文
20、件的其他操作。,2024年3月21日,第29頁,【例3-14】在指定的文件組中增加文件,2024年3月21日,第30頁,管理文件組,文件組是數(shù)據(jù)庫數(shù)據(jù)文件的邏輯組合,它可以對數(shù)據(jù)文件進(jìn)行管理和分配,以便提高數(shù)據(jù)庫文件的并發(fā)使用效率。Transact-SQL語言沒有提供獨立的管理文件組的命令,只能通過ALTER DATABASE語句提供了管理文件組的命令。這些管理文件組的命令包括新建文件組、設(shè)置默認(rèn)的文件組、設(shè)置文件組的屬性、修改文件
21、組、刪除文件組等。下面,來詳細(xì)研究管理文件組的操作。,2024年3月21日,第31頁,【例3-13】在新建文件組的同時設(shè)置該文件組為默認(rèn)文件組,2024年3月21日,第32頁,【例3-16】設(shè)置該文件組為只讀狀態(tài),2024年3月21日,第33頁,3.6 其他數(shù)據(jù)庫管理操作,除了前面講述的數(shù)據(jù)庫操作之外,數(shù)據(jù)庫管理操作還包括分離數(shù)據(jù)庫、附加數(shù)據(jù)庫、刪除數(shù)據(jù)庫等。下面討論這些操作。,2024年3月21日,第34頁,分離數(shù)據(jù)庫,分離數(shù)據(jù)
22、庫是指將數(shù)據(jù)庫從Microsoft SQL Server實例中刪除,但是該數(shù)據(jù)庫的數(shù)據(jù)文件和事務(wù)日志文件依然保持不變。這樣可以將該數(shù)據(jù)庫附加到任何的Microsoft SQL Server實例中??梢允褂胹p_detach_db存儲過程來執(zhí)行數(shù)據(jù)庫分離操作,當(dāng)然也可以使用SQL Server Management Studio工具來執(zhí)行分離操作。,2024年3月21日,第35頁,【例3-18】分離數(shù)據(jù)庫,2024年3月21日,第36頁
23、,附加數(shù)據(jù)庫,當(dāng)希望將分離后的數(shù)據(jù)庫附加到某個Microsoft SQL Server實例中時,可以使用CREATE DATABASE語句。附加數(shù)據(jù)庫可以將其重置為分離時的狀態(tài)。 附加數(shù)據(jù)庫時所有的數(shù)據(jù)文件必須都是可用的。在附加數(shù)據(jù)庫過程中,如果沒有日志文件,系統(tǒng)將自動創(chuàng)建一個新的日志文件。,2024年3月21日,第37頁,【例3-19】附加數(shù)據(jù)庫,2024年3月21日,第38頁,刪除數(shù)據(jù)庫,如果數(shù)據(jù)庫不再需要了,那么可以使用DRO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稅務(wù)會計教案3.1-3.2
- 3.1-3.2平移與作圖平移.doc
- 第03章數(shù)據(jù)庫的創(chuàng)建與維護(hù)
- 3創(chuàng)建數(shù)據(jù)庫
- 創(chuàng)建數(shù)據(jù)庫.doc
- 第3章創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫文件
- ch10-數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計
- 實驗一創(chuàng)建access數(shù)據(jù)庫資料
- 創(chuàng)建表對表修改數(shù)據(jù)庫
- vfp數(shù)據(jù)庫的創(chuàng)建和使用
- 數(shù)據(jù)庫—創(chuàng)建、建表、查詢語句
- 實驗三 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表
- 國際經(jīng)濟與貿(mào)易(雙語)ch03匯率制度test
- a第3章 創(chuàng)建和管理數(shù)據(jù)庫
- 麗澤門禁軟件創(chuàng)建數(shù)據(jù)庫步驟
- 用vb的代碼創(chuàng)建access數(shù)據(jù)庫
- oracle數(shù)據(jù)庫創(chuàng)建與表空間維護(hù)
- 02-sqlserver創(chuàng)建及管理數(shù)據(jù)庫
- 實驗 access數(shù)據(jù)庫查詢創(chuàng)建與操作
- mysql簡介和創(chuàng)建新的數(shù)據(jù)庫
評論
0/150
提交評論