




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理與應(yīng)用教程 SQL Server第6章 數(shù)據(jù)庫管理數(shù)據(jù)庫的基本概念6.1創(chuàng)建數(shù)據(jù)庫6.2 修改數(shù)據(jù)庫6.4 6.56.3目錄 刪除數(shù)據(jù)庫分離與附加數(shù)據(jù)庫6.1 數(shù)據(jù)庫的基本概念6.1.1 關(guān)系數(shù)據(jù)庫對象6.1.2 SQL Server數(shù)據(jù)庫類型6.1.3 文件和文件組6.1.4 SQL Server幾個最重要的系統(tǒng)表6.1.1 關(guān)系數(shù)據(jù)庫對象E-R模型中的基本構(gòu)件 關(guān)系數(shù)據(jù)庫模型的基本構(gòu)件 實體 元組(或記錄或行) 實體集 表(或一組元組) 屬性 列(或字段) 標識符或主鍵 主鍵,實體完整性約束 聯(lián)系 主鍵,外鍵,參照完整性約束 局部概念模式 表,視圖 數(shù)據(jù)庫對象中有下列幾種類型:
2、表(Tables) 索引(Index) 視圖(View) 約束(Constraint) 存儲過程(Store procedure) 觸發(fā)器(Trigger)等 這些對象構(gòu)成了SQL Server的邏輯數(shù)據(jù)庫。表組織和存儲數(shù)據(jù)的場所,由行和列組成。視圖用戶觀察和操作數(shù)據(jù)的窗口。約束規(guī)定表中各列的取值范圍。索引能提高對表中數(shù)據(jù)的查詢速度、確保數(shù)據(jù)完整性。存儲過程是一種獨立的數(shù)據(jù)庫對象。觸發(fā)器是一種特殊的存儲過程。日志用于記錄客戶對數(shù)據(jù)庫進行的各種操作。游標是一種處理數(shù)據(jù)的方法,它可以指向SQL查詢返回的結(jié)果集中的任意位置。6.1.2 SQL Server數(shù)據(jù)庫類型 SQL Server數(shù)據(jù)庫分為兩
3、種類型:系統(tǒng)數(shù)據(jù)庫和用戶自定義的數(shù)據(jù)庫。兩種數(shù)據(jù)庫都能夠創(chuàng)建數(shù)據(jù)庫對象、存儲數(shù)據(jù)以及管理數(shù)據(jù),但是只有系統(tǒng)數(shù)據(jù)庫可以用來操作和管理數(shù)據(jù)庫系統(tǒng)。 系統(tǒng)自動建立了4個系統(tǒng)數(shù)據(jù)庫和兩個樣本數(shù)據(jù)庫,安裝程序所建立的數(shù)據(jù)庫和日志文件如表6-1所示。 數(shù) 據(jù) 庫數(shù)據(jù)庫文件日 志 文 件masterMaster.mdfMastlog.ldfmodelModel.mdfModellog.ldfmsdbMsdbdata.mdfMsdblog.ldftempdbTempdb.mdfTemplog.ldfpubsPubs.mdfPubs_log.ldfnorthwindNorthwnd.mdfNorthwnd.ld
4、f表6-1 安裝程序所建立的數(shù)據(jù)庫和日志文件 1、Master數(shù)據(jù)庫:是SQL Server系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了SQL Server系統(tǒng)的所有系統(tǒng)信息。這些系統(tǒng)信息包括所有的登錄信息、系統(tǒng)設(shè)置信息、SQL Server的初始化信息和其它系統(tǒng)數(shù)據(jù)庫及用戶數(shù)據(jù)庫的相關(guān)信息。 2、Model數(shù)據(jù)庫:是所有用戶數(shù)據(jù)庫和Tempdb數(shù)據(jù)庫的模板數(shù)據(jù)庫,它含有Master數(shù)據(jù)庫所有系統(tǒng)表的子集,這些系統(tǒng)數(shù)據(jù)庫是每個用戶定義數(shù)據(jù)庫需要的。3、Msdb數(shù)據(jù)庫:代理服務(wù)數(shù)據(jù)庫,為其警報、任務(wù)調(diào)度和記錄操作員的操作提供存儲空間。 4、Tempdb數(shù)據(jù)庫:一個臨時數(shù)據(jù)庫,它為所有的臨時表、臨時存儲過程及其它
5、臨時操作提供存儲空間。 5、Pubs和Northwind數(shù)據(jù)庫:是兩個實例數(shù)據(jù)庫,它們可以作為SQL Server的學(xué)習(xí)工具。 6.1.3 文件和文件組 數(shù)據(jù)庫由數(shù)據(jù)庫文件和事務(wù)日志文件兩部分組成。一個數(shù)據(jù)庫至少應(yīng)包含一個數(shù)據(jù)庫文件和一個事務(wù)日志文件。 這些文件形成SQL Server的物理數(shù)據(jù)庫。 1、數(shù)據(jù)庫文件 數(shù)據(jù)庫文件(Database File)存放數(shù)據(jù)庫中的所有數(shù)據(jù)和對象,如表、存儲過程和視圖等對象。 一個數(shù)據(jù)庫可以有一個或多個數(shù)據(jù)庫文件,一個數(shù)據(jù)庫文件只屬于一個數(shù)據(jù)庫。 主數(shù)據(jù)文件(Primary Database File):當(dāng)有多個數(shù)據(jù)庫文件時,有一個文件被定義為主數(shù)據(jù)庫文件
6、。每個數(shù)據(jù)庫都必須有一個主數(shù)據(jù)文件,稱為主文件,擴展名為.mdf。 輔助數(shù)據(jù)文件(Secondary Database File):如果希望數(shù)據(jù)存放在不同的數(shù)據(jù)文件中,除主要數(shù)據(jù)文件外,還要建立輔助數(shù)據(jù)文件,擴展名為.ndf。2、文件組 文件組()是將多個數(shù)據(jù)庫文件集合起來形成的一個整體。每個文件組有一個組名。與數(shù)據(jù)庫文件一樣,文件組也分為主文件組(Primary )和次文件組(Secondary ,或用戶定義文件組)。一個文件只能存在于一個文件組中,一個文件組也只能被一個數(shù)據(jù)庫使用。 事務(wù)日志文件:每個數(shù)據(jù)庫都有一個事務(wù)日志文件,它用來記錄數(shù)據(jù)庫更新情況的文件,擴展名為.ldf。 事務(wù)日志的
7、工作過程: 事務(wù)日志初始大小為數(shù)據(jù)文件的10-25%。3、事務(wù)日志文件默認路徑主數(shù)據(jù)文件次要數(shù)據(jù)文件事務(wù)日志文件存放數(shù)據(jù)有且僅有一個可有可無至少一個 注意:默認狀態(tài)下,數(shù)據(jù)庫文件存放在MSSQLdata目錄下,主數(shù)據(jù)文件名為“數(shù)據(jù)庫名.mdf”,事務(wù)日志文件名為“數(shù)據(jù)庫名_log.ldf”。 數(shù)據(jù)庫的創(chuàng)建者可以在創(chuàng)建時指定其他的已有路徑和文件名,也可以添加輔助數(shù)據(jù)文件和更多的事務(wù)日志文件。6.1.4 SQL Server幾個最重要的系統(tǒng)表 1、Sysobjects表 出現(xiàn)在每個數(shù)據(jù)庫中,它對數(shù)據(jù)庫中每個數(shù)據(jù)庫對象含有一行記錄。2、Syscolumns表 出現(xiàn)在每個數(shù)據(jù)庫中,它對基表或者視圖的每
8、個列和存儲過程中的每個參數(shù)含有一行記錄。3、Sysindexes表 出現(xiàn)在每個數(shù)據(jù)庫中,它對每個索引和沒有聚簇索引的每個表含有一行記錄,它還對包括文本/圖像數(shù)據(jù)的每個表含有一行記錄。不被編輯4、Sysusers表 在每個數(shù)據(jù)庫中,它對整個數(shù)據(jù)庫中的每個Windows用戶、Windows組、SQL Server 用戶或者SQL Server 角色含有一行記錄。5、Sysdatabases表 對SQL Server 系統(tǒng)上的每個系統(tǒng)數(shù)據(jù)庫和用戶自定義的數(shù)據(jù)庫含有一行記錄,它只出現(xiàn)在master數(shù)據(jù)庫中。6、Sysdepends表 對表、視圖和存儲過程之間的每個依賴關(guān)系含有一行記錄,它出現(xiàn)在每個數(shù)據(jù)
9、庫中。1、在圖形界面下創(chuàng)建數(shù)據(jù)庫 單擊“開始所有程序Microsoft SQL Server 2005 Microsoft SQL Server Management Studio”命令,打開管理器。6.2 創(chuàng)建數(shù)據(jù)庫(1)在管理器界面中,在對象資源管理器窗口的“數(shù)據(jù)庫”節(jié)點上右擊(或者在“摘要”的空白處),選擇快捷菜單中的“新建數(shù)據(jù)庫”命令,如圖所示: (2)彈出“新建數(shù)據(jù)庫”對話框,在“常規(guī)”數(shù)據(jù)頁的“數(shù)據(jù)庫名稱”文本框中,輸入要創(chuàng)建的數(shù)據(jù)庫的名稱。 書P97:例8-12、使用Transact-SQL創(chuàng)建數(shù)據(jù)庫CREATE DATABASE database_name ON PRIMARY
10、 ,n , ,n LOG ON ,n 新數(shù)據(jù)庫的名稱,最長為128個字符。定義用來存儲數(shù)據(jù)庫數(shù)據(jù)部分的磁盤文件(數(shù)據(jù)文件)定義用來存儲數(shù)據(jù)庫日志的磁盤文件(日志文件) := ( NAME = logical_ , = os_ , SIZE = size , MAXSIZE = max_size | UNLIMITED , = growth_increment ) ,.n := ,.n 指定數(shù)據(jù)庫的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標識符。指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該文件名和NAME的邏輯名稱一一對應(yīng)。1、輸入SQL語句 書
11、P99 例8-3 2、按下 按鈕先對語句進行分析,然后按F5鍵或單擊工具條上的 按鈕,即可以完成數(shù)據(jù)庫的創(chuàng)建。 在管理器窗口的左上側(cè)找到“新建查詢 ”按鈕。書P100 例8-4 創(chuàng)建包含多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。實現(xiàn)的步驟如下:(1)在E盤創(chuàng)建一個新的文件夾,名稱是“DATA”。(2)在SQL Server Management Studio中新建一個查詢頁面。(3)輸入以下程序段并執(zhí)行此查詢:CREATE DATABASE STUDENTS ON PRIMARY(NAME=STUDENTS1, E:DATASTUDENTS1.mdf, SIZE=5MB, MAXSIZE=unlimit
12、ed, ),(NAME= STUDENTS12, E:DATASTUDENTS2.ndf, SIZE=10MB, MAXSIZE=100MB, )LOG ON (NAME=STUDENTSLOG1, E:DATASTUDENTSLOG1.ldf, SIZE=5, MAXSIZE=50, ),(NAME=STUDENTSLOG2, E:DATASTUDENTSLOG2.ldf, SIZE=5, MAXSIZE=50, ) SQL Server允許分離數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件,然后將其重新附加到同一臺或另一臺服務(wù)器上。 分離數(shù)據(jù)庫將從 SQL Server 刪除數(shù)據(jù)庫,但是保證組成該數(shù)據(jù)庫的數(shù)據(jù)
13、和事務(wù)日志文件完好無損。然后這些數(shù)據(jù)和事務(wù)日志文件可以用來將數(shù)據(jù)庫附加到任何 SQL Server 實例上,這使數(shù)據(jù)庫的使用狀態(tài)與它分離時的狀態(tài)完全相同。6.3 分離和附加數(shù)據(jù)庫(提前) 在對象資源管理器中展開要分離的數(shù)據(jù)庫。 鼠標右擊數(shù)據(jù)庫名稱,在彈出的快捷菜單中選擇“任務(wù)”子菜單,然后選擇“分離”命令。 彈出“分離數(shù)據(jù)庫”對話框。單擊“確定”按鈕即可完成數(shù)據(jù)庫的分離。6.3.1 分離數(shù)據(jù)庫步驟1步驟2student數(shù)據(jù)庫分離后6.3.2 附加數(shù)據(jù)庫步驟1步驟2步驟3附加student數(shù)據(jù)庫后6.4 修改數(shù)據(jù)庫 創(chuàng)建了數(shù)據(jù)庫后,有時需要修改數(shù)據(jù)庫的大小、數(shù)據(jù)文件的屬性、事務(wù)日志文件的屬性以及
14、增減數(shù)據(jù)文件和日志文件等。6.4.1 在圖形界面下修改數(shù)據(jù)庫 在“對象資源管理器”窗口中選中要查看或修改的數(shù)據(jù)庫,單擊鼠標右鍵,選擇其中的“屬性”菜單。打開數(shù)據(jù)庫屬性窗口,如圖所示:ALTER DATABASE database ADD FILE ,n TO | ADD LOG FILE ,n | REMOVE FILE logical_ | ADD | REMOVE | MODIFY FILE | MODIFY NAME = new_dbname | MODIFY | NAME = new_ 6.4.2 使用Transact-SQL修改數(shù)據(jù)庫參數(shù)說明 database:要更改的數(shù)據(jù)庫的名稱。
15、 ADD FILE:指定要添加文件。 ADD LOG FILE:指定要將日志文件添加到指定的數(shù)據(jù)庫。 REMOVE FILE:從數(shù)據(jù)庫系統(tǒng)表中刪除文件描述并刪除物理文件。只有在文件為空時才能刪除。 ADD :指定要添加文件組。 MODIFY FILE:指定要更改給定的文件,更改選項包括 、SIZE、 和 MAXSIZE。 必須在 中指定 NAME,以標識要更改的文件。 1、書P101例8-5 修改文件的屬性 將數(shù)據(jù)庫STUDENT1的數(shù)據(jù)文件初始分配空間增加至10M,文件增長速度為10MB;日志文件的最大尺寸為20MB,文件增長速度為10%。 為數(shù)據(jù)庫STUDENT1增加數(shù)據(jù)文件STUDENT
16、1_DATA1,初始大小10M,最大50M,按照5%增長。2、書P102例8-6 增加數(shù)據(jù)庫文件書P103例8-7 將數(shù)據(jù)庫STUDENT中增加的數(shù)據(jù)文件STUDENT_DATA1刪除。3、刪除數(shù)據(jù)庫文件或文件組4、數(shù)據(jù)庫更名 更改當(dāng)前數(shù)據(jù)庫中用戶創(chuàng)建對象(如表、列或用戶定義數(shù)據(jù)類型)的名稱。 Sp_rename 原名稱,新名稱 更改數(shù)據(jù)庫的名稱。 Sp_renamedb 或在圖形界面中選中要改名的數(shù)據(jù)庫,右鍵,選擇“重命名” 。 例:5、查看與設(shè)置數(shù)據(jù)庫參數(shù)使用系統(tǒng)存儲過程查看數(shù)據(jù)庫屬性EXEC sp_helpdb 數(shù)據(jù)庫名 查看數(shù)據(jù)庫信息EXEC sp_spaceused 查看數(shù)據(jù)庫所占用
17、空間報表EXEC sp_help 查看數(shù)據(jù)庫文件組報表EXEC sp_helpfile 查看數(shù)據(jù)庫中文件的報表例:exec sp_helpdb student 在數(shù)據(jù)庫上右擊,選擇 “任務(wù)”“收縮”“數(shù)據(jù)庫”,在出現(xiàn)的“收縮數(shù)據(jù)庫”對話框中,保持默認設(shè)置,單擊“確定”按鈕,數(shù)據(jù)庫收縮完畢。 如果要收縮特定的數(shù)據(jù)文件或日志文件,選擇快捷菜單中的“任務(wù)”“收縮”“文件”。 在數(shù)據(jù)庫的屬性中“選項” 頁面中,將 “自動收縮”設(shè)為“True”即可。6、收縮數(shù)據(jù)庫6.5 刪除數(shù)據(jù)庫 1、刪除用戶數(shù)據(jù)庫的完整語法DROP DATABASE database_name ,n 6.5.1 使用Transact-SQL刪除數(shù)據(jù)庫2、參數(shù)說明database_name 指定要刪除的數(shù)據(jù)庫名稱。例:在查詢窗口中輸入SQL語句 DROP DATABASE student6.5.2 在圖形界面刪除數(shù)據(jù)庫1、選擇需要刪除的student數(shù)據(jù)庫,單擊右鍵,在彈出的對話框中選擇刪除命令(或直接按鍵)。2、出現(xiàn)以下情況時,數(shù)據(jù)庫將不能被刪除-有用戶正在使用此數(shù)據(jù)庫-該數(shù)據(jù)庫正在被恢復(fù)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦公室前臺設(shè)計裝修與節(jié)能環(huán)保合同
- 二零二五年度辦公用品研發(fā)與創(chuàng)新合作協(xié)議
- 2025-2030年中國特種車橋制造市場發(fā)展現(xiàn)狀規(guī)劃研究報告
- 社區(qū)文化活動中的德育元素挖掘與利用
- 2025-2030年中國消毒滅菌設(shè)備行業(yè)十三五規(guī)劃及投資戰(zhàn)略研究報告
- 2025-2030年中國洗菜機行業(yè)供需狀況與發(fā)展前景分析報告
- 2025-2030年中國汽車盤式制動器總成行業(yè)運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國永磁吊行業(yè)運行趨勢及投資戰(zhàn)略研究報告
- 2025-2030年中國橄欖油市場供需分析與發(fā)展戰(zhàn)略研究報告
- 2025-2030年中國本甲酸市場十三五規(guī)劃及投資風(fēng)險評估報告
- 運營總監(jiān)個人總結(jié)
- 2025年陜西延長石油集團礦業(yè)公司招聘筆試參考題庫含答案解析
- 2024年沙洲職業(yè)工學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年山東勞動職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2025年春新人教版語文一年級下冊全冊課件
- 2025年春新北師大版數(shù)學(xué)七年級下冊全冊教案
- 第七章老年人泌尿系統(tǒng)疾病
- 2025年中智科技集團有限公司招聘筆試參考題庫含答案解析
- 2025年山東省郵政招聘筆試參考題庫含答案解析
- 《零售藥店實務(wù)》期末考試復(fù)習(xí)題及答案
- 校園安全案例解析
評論
0/150
提交評論