1. 程式人生 > >SQL Server2008資料庫管理 (第二部分)

SQL Server2008資料庫管理 (第二部分)

2.1 T-SQL概述

SQL: Structured Query Language 結構化查詢語言,用於操作關係型資料庫

T-SQL: Transact-SQL 是ANSI92 SQL的擴充套件集,對功能進行了補充:如變數說明、流程控制、功能函式等

2.1.1 T-SQL語言主要組成部分

1)DML(資料庫操作語言)

用於查詢、插入、修改和刪除資料庫中的資料: select、insert、update、delete等

2)DDL(資料定義語言)

用於在資料庫系統中建立資料庫、表、檢視、索引等:create database、drop database等

3)DCL(

資料控制語言)

用來控制存取許可、存取許可權等: grant、revoke等

除此之外:還包括變數說明、內部函式等其他命令

2.1.2 物件資源管理器

如果不小心關掉了,在檢視中可重新調出來

2.1.3 查詢視窗相關

除錯:雙擊程式碼前面會出現斷點,然後點選小三角號,會進去除錯狀態

2.2 資料庫相關概念及資料庫命名規則

2.2.1資料庫儲存結構

物理儲存結構

資料庫檔案在磁碟上的儲存形式

主資料檔案: *.mdf   儲存資料庫的結構資訊,儲存部分或全部的資料,整個資料庫只能有一個主資料檔案

輔助資料檔案

:*.ndf   儲存主資料檔案沒有儲存的資訊;可存在一個或多個,也可以沒有

日誌檔案:*.ldf  記錄DML操作;恢復損壞的資料庫;整個資料庫同樣只能有一個日誌檔案

檔案組:類似資料夾,主要是用來管理磁碟空間。分為主檔案組Primary與次檔案組FG,日誌檔案不屬於任何檔案組

邏輯儲存結構:

由資料表、檢視、索引等各種不同的資料庫物件所組成,他們分別用來儲存特定資訊並支援特定功能

2.2.2資料庫命名規則

1)第一個字元必須是字母或“_”、“@”、“#”

2)資料庫名稱不能是T-SQL的保留字

3)不允許嵌入空格或是其他特殊字元

2.2.3資料庫分類

系統資料庫:用來管理使用者建立資料庫的資料庫,相當於中央管理機構。

master:記錄SQL Server所有系統級別的資訊,包括登入賬戶、系統配置、資料庫存放位置、初始化資訊等

model:模板資料庫,為新建立資料庫指定共同的模板

msdb:用來做SQL Server資料庫的一些代理作業,以及資料庫的備份及還原資訊

tempdb:臨時資料庫,儲存臨時表和臨時儲存過程,程式結束後自動消失

resource:特殊的、隱藏的、只讀的資料庫,包含所有系統物件

使用者資料庫:使用者自己建立的資料庫

2.3使用檢視建立資料庫1

需求:使用管理器建立一個電子商城E_Market資料庫,要求如下:(只有一個Primary檔案組)

1)資料庫的名稱為E_Market:包含一個數據檔案,初始容量大小為5MB,檔案按15%自動增長,最大容量大小為100MB

2)一個日誌檔案,初始大小為1MB,不啟用自動增長,所有檔案都放在E:\Project目錄下

2.3.1新建資料庫

物件資源管理器-->資料庫-->右鍵-->新建資料庫

2.3.2新建資料庫配置

1)名稱:E_Market

2)資料庫檔案:按照需求配置

資料庫大小:最小為3M

配置結束後,點選“確定”按鈕,然後在物件資源管理器中選中資料庫右鍵-->重新整理,新建的資料庫會顯示在資料庫的介面

資料檔案:

2.3.3修改新建資料庫屬性

1)相容性

選中E_Market資料庫右鍵-->選擇屬性-->選項-->相容級別(高版本的資料庫可以相容低版本的資料庫),此處選擇預設即可

2)限制訪問

multi_user:預設配置,表示資料庫在同一時刻允許多個使用者同時訪問資料庫

Single_user:表示一次只允許一個使用者訪問資料庫,系統維護資料庫時選擇該使用者

Restricted_user:表示只有管理員或者特定的人員才可以訪問資料庫

3)檔案組

當前只有一個Primary檔案組

4)只讀資料庫設定

如果資料庫設定為只讀,那麼該資料庫寫入資料,只能被查詢

2.3.4建立資料庫時需要指定的屬性

1)檔名稱、存放位置、分配的初始空間、屬於哪個檔案組

2)檔案增長:可以按百分比或實際大小指定增長速度

3)檔案容量設定:可以指定檔案增長的最大值或不受限

4)相容級別:版本號

5)資料庫是否只讀:預設False

6)限制訪問:Multi_User(正常狀態)

            Single_User(維護操作狀態)

            Restricted_User(管理員與特定人員使用)

2.4使用檢視建立資料庫2

需求:使用物件資源管理器建立一個DemoDB,要求如下:

1)資料庫的名稱為DemoDB:包含一個數據檔案,初始容量大小為10MB,檔案按10%自動增長,最大容量大小為500MB

2)第二個檔案組FG(次檔案組),輔助資料檔案為FG_DemoDB,初始大小為10MB,不啟用自動增長

3)一個日誌檔案,初始容量大小為5MB,不啟用自動增長,所有檔案都放在E:\Project目錄下

2.4.1新建資料庫

物件資源管理器-->資料庫-->右鍵-->新建資料庫

2.4.2新建資料庫配置

1)名稱:DemoDB

2)資料庫檔案:按照需求配置

首先新建次檔案組FG

主檔案組後面預設選項框對號表示:如果不選擇檔案組,預設新增檔案均放在主檔案組

然後再點選常規,配置新建資料庫

配置完成後,點選確定,完成資料庫的建立

2.5使用SQL語句建立資料庫1

建立一個數據檔案:E_Market_data.mdf和一個日誌檔案:E_Market_log.ldf的資料庫

注意:括號內語句每一行要以英文逗號結尾,最後語句不加

USE master   --指向當前使用的資料庫

GO  --批處理標誌

--刪除資料庫

IF EXISTS(SELECT * FROM sysdatabases WHERE name = 'E_Market')

DROP DATABASE E_Market

GO

CREATE DATABASE E_Market  --建立E_Market資料庫

ON PRIMARY  --主檔案組

(

     NAME = 'E_Market_data',   --主檔案邏輯檔名

     FILENAME = 'E:\Project\E_Market_data.mdf',  --主檔案物理檔名

     SIZE = 5MB,  --主檔案初始大小

     MAXSIZE = 100MB,  --主檔案增長最大值

     FILEGROWTH = 15% --主檔案的增長率

)

LOG ON --日誌檔案

(

     NAME = 'E_Market_log',  --日誌檔案邏輯檔名

     FILENAME = 'E:\Project\E_Market_log.ldf',  --日誌物理檔名

     SIZE = 5MB,  --日誌初始檔案大小

     FILEGROWTH =--未啟用自動增長

)

GO

建立完成後,重新整理資料庫就會看到新建的資料庫了

使用sysdatabases表查詢剛剛建立的資料庫:

SELECT * FROM SYSDATABASES;

2.6使用SQL語句建立資料庫2

建立多個數據檔案和多個日誌檔案

 

USE master

GO

CREATE DATABASE E_Market

ON PRIMARY --主檔案組

(

     NAME = 'E_Market_data',

     FILENAME = 'E:\Project\E_Market_data.mdf',

     SIZE = 10MB,

     FILEGROWTH = 10%,

     MAXSIZE = 500MB

),  --第一個檔案組結束

FILEGROUP FG  --建立了一次次檔案組FG, 第二個檔案組(次檔案組)

(

     NAME = 'FG_E_Market_data',

     FILENAME = 'E:\Project\FG_E_Market_data.ndf',

     SIZE = 10MB,

     FILEGROWTH = 0

)

--日誌檔案不屬於任何檔案組

LOG ON

(

     NAME = 'E_Market_log',

     FILENAME = 'E:\Project\E_Market_log.ldf',

     SIZE = 5MB,

     FILEGROWTH = 0

),

--日誌2的具體描述

(

     NAME = 'E_Market_log1',

     FILENAME = 'E:\Project\E_Market_log1.ldf',

     SIZE = 5MB,

     FILEGROWTH = 0

)

GO

 

執行完以上新建資料庫的sql後,會在相應的路徑下建立相應的資料檔案

2.7使用SQL語句建立資料庫3

向現有資料庫中新增檔案組和資料檔案

2.7.1檢視下新增檔案組和資料檔案

新建檔案組:選中相應的資料庫,點選右鍵屬性,選擇檔案組,然後點選新增,新建FG2檔案組

新建資料檔案

選中相應的資料庫,點選右鍵屬性,選擇檔案,點選新增,新建檔案E_Market_data3,檔名不用填,系統會預設指定檔名

2.7.2使用sql語句新增檔案組和資料檔案

USE E_Market

GO

--新增檔案組

ALTER DATABASE E_Market ADD FILEGROUP FG1

GO

--為新建的檔案組FG1新增資料檔案

ALTER DATABASE E_Market ADD FILE

(

     NAME = 'FG1_E_Market_data',

     FILENAME = 'E:\Project\FG1_E_Market_data.ndf',

     SIZE = 5MB,

     FILEGROWTH = 10%

) TO FILEGROUP FG1

GO

--FG1檔案組設為預設檔案組

ALTER DATABASE E_Market

MODIFY FILEGROUP FG1 DEFAULT

2.8刪除資料庫

2.8.1檢視下刪除資料庫

選中要刪除的資料庫,右鍵刪除,刪除資料庫後,會連帶刪除主資料檔案+次資料檔案+日誌檔案

注意選擇關閉現有連線

2.8.2 SQL刪除資料庫

USE master

GO

--刪除資料庫

IF EXISTS(SELECT * FROM sysdatabases WHERE name = 'E_Market')

DROP DATABASE E_Market

GO