2. RDBMS and Data Management/ Session 7/2 of 25
Mục tiêu bài học
Hiểu rõ cơ sở dữ liệu hệ thống và cơ sở dữ liệu người
dùng định nghĩa trong SQL Server 2005
Tổng quan các đặc trưng chính của cơ sở dữ liệu
mẫu AdventureWorks
Hiểu rõ làm thế nào để thêm các nhóm tập tin và các
vết của giao dịch
Liệt kê các kiểu trong cơ sở dữ liệu và hiểu rõ làm
thế nào để hủy bỏ một cơ sở dữ liệu
3. RDBMS and Data Management/ Session 7/3 of 25
Các cơ sở dữ liệu được SQL hỗ trợ
SQL Server 2005 hỗ trợ ba loại cơ sở dữ liệu:
Cơ sở dữ liệu hệ thống
Cơ sở dữ liệu người dùng
định nghĩa
Cơ sở dữ liệu mẫu
Được tạo ra bởi SQL Server. Các cơ sở dữ liệu
này được sử dụng để lưu thông tin về SQL
Server 2005. .
Hơn nữa, các cơ sở dữ liệu này còn được sử
dụng để quản lý các cơ sở dữ liệu người dùng
.
Người sử dụng SQL Server 2005 có thể tạo
các cơ sở dữ liệu người dùng định nghĩa
Mục đích của các cơ sở dữ liệu này là để lưu
dữ liệu của người sử dụng
SQL Server cung cấp các cơ sở dữ liệu mẫu
để người sử dụng làm việc với SQL Server
2005
Một cơ sở dữ liệu mẫu được giới thiệu trong
SQL Server 2005 là AdventureWorks
4. RDBMS and Data Management/ Session 7/4 of 25
Các cơ sở dữ liệu hệ thống
Các cơ sở dữ liệu hệ thống được hỗ trợ bởi SQL Server 2005
Cơ sở dữ liệu
Mô tả
master Cơ sở dữ liệu này lưu trữ các tất cả các thông tin ở mức
hệ thống của một nhân bản SQL Server.
msdb Cơ sở dữ liệu này được sử dụng bởi SQL Server Agent để
nhắc nhở các công tác thực hiện theo lịch biểu và các
công việc khác.
model Cơ sở dữ liệu này được sử dụng như cơ sở dữ liệu mẫu
cho tất cả các cơ sở dữ liệu được tạo ra trong một nhân
bản cụ thể của SQL Server 2005.
resource Cơ sở dữ liệu này là cơ sở dữ liệu chỉ đọc. Nó gồm các đối
tượng hệ thống được gộp vào trong SQL Server 2005.
tempdb Cơ sở dữ liệu này lưu dữ các đối được tạm và các tập kết
quả trung gian
5. RDBMS and Data Management/ Session 7/5 of 25
Thay đổi dữ liệu hệ thống
Người dùng không được phép cập nhật thông tin trực
tiếp vào các đối tượng cơ sở dữ liệu hệ thống, như là
các bảng hệ thống, các thủ tục lưu trữ hệ thống, và
các khung nhìn danh mục.
Người sử dụng có thể sử dụng các công cụ quản trị
cho phép họ quản trị hệ thống và quản lý tất cả các
người sử dụng và các đối tượng cơ sở dữ liệu. Đó là:
SQL Server Management Studio
SQL Server Management Objects (SMO): Giao diện lập trình ứng
dụng với các đối tượng quản lý SQL Server
Transact-SQL scripts and stored procedures: sử dụng các thủ tục
lưu trữ hệ thống và các phát biểu ngôn ngữ truy vấn dữ liệu
Transact-SQL
Thay đổi dữ
liệu hệ thống
6. RDBMS and Data Management/ Session 7/6 of 25
Xem dữ liệu hệ thống
Các ứng dụng cơ sở dữ liệu có thể xác định danh
mục và thông tin hệ thống bằng cách sử dụng các
tiếp cận sau đây:
Khung nhìn danh mục hệ thống
Các đối tượng quản lý SQL Server
Các hàm danh mục, các phương thức, các thuộc tính, hoặc các tính
chất của giao diện lập trình ứng dụng cơ sở dữ liệu.
Các thủ tục lưu trữ và các hàm
Ettreeryreyr
Ertetertetet
tettwet
Xem dữ liệu
hệ thống
7. RDBMS and Data Management/ Session 7/7 of 25
Cơ sở dữ liệu người dùng định nghĩa
Để tạo một cơ sở dữ liệu người dùng, các thông tin sau được yêu cầu:
Tên của cơ sở dữ liệu
Người sở hữu hoặc người tạo cơ sở dữ liệu
Kích thước của cơ sở dữ liệu
Các tập tin và nhóm các tập tin được sử dụng để lưu trữ cơ sở dữ liệu
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON { <filespec> [ ,...n ] } ]
]
[ COLLATE collation_name ]
]
[;]
Cú pháp để tạo một cơ sở dữ liệu người dùng là:
8. RDBMS and Data Management/ Session 7/8 of 25
Cơ sở dữ liệu người dùng định nghĩa
kích thước của cơ sở dữ liệu có thể được mở rộng hoặc bị co lại. Khi
một cơ sở dữ liệu người dùng không cần thiết nữa, nó có thể bị hủy bỏ
ALTER DATABASE database_name
{
<add_or_modify_files>
| <add_or_modify_filegroups>
| <set_database_options>
| MODIFY NAME = new_database_name
| COLLATE collation_name
}[;]
Trong SQL Server 2005, quyền sở hữu của một cơ sở dữ liệu người dùng có
thể thay đổi bằng cách sử dụng thủ tục sp_changedbowner.
sp_changedbowner [ @loginame = ] ‘login’
Cú pháp để chỉnh sửa một cơ sở dữ liệu:
9. RDBMS and Data Management/ Session 7/9 of 25
Cơ sở dữ liệu người dùng định nghĩa
Trong mỗi CSDL, các tùy chọn này là duy nhất cho mỗi cơ sở dữ liệu .
Có thể thiết lập các tùy chọn CSDL bằng cách sử dụng mệnh đề SET
của câu lệnh ALTER DATABASE.
Bảng sau trình bày chi tiết các tùy chọn được hỗ trợ trong SQL Server
2005:
Kiểu chọn lựa Mô tả
Chọn lựa tự động Các điều khiển tự động của cơ sở dữ liệu.
Chọn lựa con trỏ Các điều khiển đối xử con trỏ.
Chọn lựa phục hồi Các điều khiển các mô hình phục hồi của cơ sở dữ
liệu
Chọn lựa trạng
thái
Các điều khiển trạng thái của cơ sở dữ liệu, như là
tình trạng online/offline và kết nối của người dùng
10. RDBMS and Data Management/ Session 7/10 of 25
Cơ sở dữ liệu người dùng định nghĩa
Ví dụ để tạo một CSDL:
CREATE DATABASE [Customer_DB] ON PRIMARY
( NAME = N’Customer_DB’, FILENAME = N’
C:Program FilesMicrosoft SQL ServerMSSQL.1
MSSQLDataCustomer_DB.mdf’)
LOG ON
( NAME = N’Customer_DB_log’, FILENAME = N’
C:Program FilesMicrosoft SQL ServerMSSQL.1
MSSQLDataCustomer_DB_log.ldf’)
COLLATE SQL_Latin1_General_CP1_CI_AS
Ví dụ để chỉnh sửa một CSDL:
ALTER DATABASE Customer_DB MODIFY NAME = CUST_DB
11. RDBMS and Data Management/ Session 7/11 of 25
Cơ sở dữ liệu người dùng định nghĩa
Ví dụ thay đổi quyền sở hữu của CSDL:
USE CUST_DB
EXEC sp_changedbowner ‘sa’
USE CUST_DB;
ALTER DATABASE CUST_DB
SET AUTO_SHRINK ON
Ví dụ về thiết lập các lựa chọn cho CSDL:
12. RDBMS and Data Management/ Session 7/12 of 25
Cơ sở dữ liệu AdventureWorks
AdventureWorks là một cơ sở dữ liệu mẫu mới đã được giới
thiệu trong SQL Server 2005.
Một công ty giả sử được gọi là công ty Adventure Works
Cycles , Adventure Works Cycles là một công ty lớn sản xuất
hàng hóa đa quốc gia .
Cơ sở dữ liệu mẫu này gồm các phần sau:
AdventureWorks: cơ sở dữ liệu xử lý giao dịch trực tuyến
(OLTP – Online Transaction Processing)
AdventureWorksDW: cơ sở dữ liệu kho (Data warehouse)
AdventureWorksAS: cơ sở dữ liệu dịch vụ phân tích (Analysis
Services)
13. RDBMS and Data Management/ Session 7/13 of 25
Nhóm tập tin và ghi vết giao dịch
Các tập tin:
Là một đơn vị lưu trữ vật lý
Có chứa các đối tượng CSDL
Có một file logic và file vật lý
Nhóm tập tin:
Bao gồm nhiều tập tin được nhóm lại để thực hiện và quản lý
một cách tốt hơn.
Một nhóm tập tin logic có thể chứa nhiều tập tin vật lý.
Trong mỗi nhóm tập tin gồm có nhiều tập tin liên quan với
nhau và được lưu trong đối tượng của CSDL.
Các đối tượng của CSDL giống như các bảng và chỉ mục có
thể được tạo trên một nhóm các tập tin cụ thể.
Bảng sau hiển thị các chi tiết về nhóm các tập tin được hỗ trợ
trong SQL Server 2005:
14. RDBMS and Data Management/ Session 7/14 of 25
Nhóm tập tin và ghi vết giao dịch
Nhóm tập tin Mô tả
Primary Nhóm tập tin chứa tập tin chính. Các bảng hệ
thống được đặt trong nhóm tập tin chính.
User-defined Bất kỳ nhóm tập tin được tạo bởi người sử dụng
tại thời điểm tạo hoặc thay đổi cơ sở dữ liệu.
Thêm các nhóm tập tin vào một cơ sở dữ liệu
Nhóm tập tin có thể được tạo khi tạo cơ sở dữ liệu hoặc
thêm vào cơ sở dữ liệu database đã có.
Một tập tin không thể là thành viên của nhiều hơn 1 nhóm tập
tin tại cùng thời điểm.
Các tập tin không thể di chuyển đến các nhóm tập tin khác
sau khi các tập tin được thêm vào trong csdl.
Nhóm tập tin có thể chỉ chứa các file dữ liệu và không có các
file giao dịch.
15. RDBMS and Data Management/ Session 7/15 of 25
Nhóm tập tin và ghi vết giao dịch
Thêm nhóm tập tin trong khi tạo CSDL.
Cú pháp:
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON { <filespec> [ ,...n ] } ]
]
[ COLLATE collation_name ]
]
[;]
16. RDBMS and Data Management/ Session 7/16 of 25
Nhóm tập tin và ghi vết giao dịch
Thêm nhóm tập tin vào CSDL đã có:
Cú pháp
ALTER DATABASE database_name
{
<add_or_modify_files>
| <add_or_modify_filegroups>
| <set_database_options>
| MODIFY NAME = new_database_name
| COLLATE collation_name
}
[;]
17. RDBMS and Data Management/ Session 7/17 of 25
Nhóm tập tin và ghi vết giao dịch
Xem thông tin nhóm tập tin
Các thuộc tính của cơ sở dữ liệu, tập tin, phân vùng, và các
nhóm tập tin có thể được xem bằng một vài khung nhìn
danh mục, các chức năng hệ thống, và các thủ tục lưu trữ.
Trong bảng liệt kê một số hàm hệ thống, và các thủ tục lưu
trữ hệ thống trả về thông tin của các cơ sở dữ liệu, các tập
tin, và các nhóm tập tin.:
Các hàm Mô tả
DB_ID Hàm này trả về số ID của cơ sở dữ liệu.
DB_NAME Hàm này trả về tên của cơ sở dữ liệu
FILE_ID Hàm này trả về số ID của tập tin theo tên tập
tin luận lý trong cơ sở dữ liệu hiện tại.
FILE_NAME Hàm này trả về tên luận lý của tập tin theo số
ID của tập tin cho trước.
18. RDBMS and Data Management/ Session 7/18 of 25
Nhóm tập tin và ghi vết giao dịch
Giao dịch
Nó ghi lại tất các các quá trình hoạt động của CSDL.
Các mẫu tin ghi vết được sử dụng để phục hồi trở lại các thay
đổi
Phục hồi các giao dịch riêng lẻ
Phục hồi các giao dịch không hoàn tất khi SQL Server
khởi tạo.
Chuyển một cơ sở dữ liệu, tập tin, nhóm tập tin, hoặc
trang đã phục hồi đến vị trí gặp lỗi.
Hỗ trợ việc tái tạo giao dịch
Hỗ trợ các giải pháp máy chủ standby
Ghi vết
giao dịch
19. RDBMS and Data Management/ Session 7/19 of 25
Nhóm tập tin và ghi vết giao dịch
Thêm các tập tin ghi vết vào một cơ sở dữ liệu
Cú pháp:
ALTER DATABASE database_name
{
...
}
[;]
<add_or_modify_files>::=
{
ADD FILE <filespec> [ ,...n ]
[ TO FILEGROUP { filegroup_name | DEFAULT } ]
| ADD LOG FILE <filespec> [ ,...n ]
| REMOVE FILE logical_file_name
| MODIFY FILE <filespec>
}
20. RDBMS and Data Management/ Session 7/20 of 25
Các phương pháp thay đổi cơ sở dữ liệu
Các kiểu thay đổi Các phương pháp thay đổi
Tăng kích thước của
cơ sở dữ liệu
Sử dụng phát biểu ALTER DATABASE hoặc các thuộc tính cơ sở
dữ liệu trong SQL Server Management Studio.
Thay đổi vị trí vật lý
của cơ sở dữ liệu
Sử dụng phát biểu ALTER DATABASE
Thêm tập tin ghi vết
dữ liệu và giao dịch
Sử dụng phát biểu ALTER DATABASE hoặc các thuộc tính cơ sở
dữ liệu trong SQL Server Management Studio
Co rút một cơ sở dữ
liệu
Sử dụng phát biểu DBCC SHRINKDATABASE hoặc chọn lựa
Shrink Database trong SQL Server Management Studio, chấp
nhận lựa chọn này trong mục cơ sở dữ liệu cần co rút.
Co rút một tập tin cơ
sở dữ liệu
Sử dụng phát biểu DBCC SHRINKFILE
Xóa bỏ các tập tin dữ
liệu hoặc tập tin ghi
vết
Sử dụng phát biểu ALTER DATABASE hoặc các thuộc tính cơ sở dữ
liệu trong Server Management Studio.
Thêm một nhóm tập tin
vào cơ sở dữ liệu
Sử dụng phát biểu ALTER DATABASE hoặc các thuộc tính cơ sở dữ
liệu trong Server Management Studio.
21. RDBMS and Data Management/ Session 7/21 of 25
Các phương pháp thay đổi cơ sở dữ liệu
Các kiểu thay đổi Các phương pháp thay đổi
Thay đổi nhóm tập
tin mặc định
Sử dụng phát biểu ALTER DATABASE.
Thay đổi các chọn
lựa cơ sở dữ liệu
Sử dụng phát biểu ALTER DATABASE hoặc các thuộc
tính cơ sở dữ liệu trong Server Management Studio. .
Thay đổi người sở
hữu cơ sở dữ liệu
Sử dụng thủ tục lưu trữ hệ thống sp_changedbowner
Hủy bỏ một cơ sở dữ liệu
Các tập tin và dữ liệu kết hợp với cơ sở dữ liệu này được tự động xóa
bỏ từ đĩa khi cơ sở dữ liệu bị xóa.
Cú pháp:
DROP DATABASE { database_name }
22. RDBMS and Data Management/ Session 7/22 of 25
Bản chụp cơ sở dữ liệu
Tạo một bản chụp CSDL:
Một bản chụp cơ sở dữ liệu là khung nhìn tĩnh, chỉ đọc của một cơ
sở dữ liệu SQL Server. Bản chụp cơ sở dữ liệu là một đặc tính mới
của Microsoft SQL Server 2005.
Trong trường hợp một người dùng thực hiện một nhầm lẫn trong cơ
sở dữ liệu gốc, cơ sở dữ liệu gốc này có thể được phục hồi về trạng
thái trước đó khi bản chụp đã được tạo.
Cú pháp:
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = ‘os_file_name’
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]
23. RDBMS and Data Management/ Session 7/23 of 25
Bản chụp cơ sở dữ liệu
Tạo CSDL
Tạo bản chụp
Dữ liệu được sửa đổi
Bản chụp được khôi phục
24. RDBMS and Data Management/ Session 7/24 of 25
Bản chụp cơ sở dữ liệu
Ưu điểm Nhược điểm
Bản chụp cung cấp một thuận
tiện, một bảng copy chỉ đọc của
dữ liệu.
Khi một bản chụp được truy vấn,
không làm giảm hiệu suất của đối
tượng được quan sát.
Các tập tin dữ liệu của bản
chụp là nhỏ và được tạo ra rất
nhanh. Nó chỉ lớn khi cơ sở dữ
liệu là chủ thể thay đổi
thường xuyên.
Bản sao của bản chụp không thể
được tạo ra.
Bản chụp phải tồn tại trên cùng
máy chủ cơ sở dữ liệu cùng với cơ
sở dữ liệu gốc.
Một người sử dụng mới không thể
được quyền truy cập vào dữ liệu
trong bản chụp. Quyền được thừa
kế từ cơ sở dữ liệu gốc khi nó đã
tồn tại tại thời điểm tạo ra bản
chụp.
25. RDBMS and Data Management/ Session 7/25 of 25
Tóm Tắt
SQL Server hỗ trợ tốt cho cơ sở dữ liệu người dùng
Các cơ sở dữ liệu hệ thống được sử dụng để lưu trữ thông tin
về SQL Server 2005, và quản lý các cơ sở dữ liệu người dùng
Các cơ sở dữ liệu người dùng định nghĩa được sử dụng để lưu
trữ các thông tin của người sử dụng
Các cơ sở dữ liệu người dùng định nghĩa có thể được tạo ra
bằng cách sử dụng phát biểu CREATE DATABASE
Nhóm tập tin của SQL Server 2005 gồm các tập tin dữ liệu
Một vết giao dịch trong SQL Server 2005 lưu trữ tất cả các giao
dịch và các thay đổi trong cơ sở dữ liệu được tạo ra bởi mỗi
phiên giao dịch
Một bản chụp cơ sở dữ liệu là chỉ đọc, là góc nhìn tĩnh của một
cơ sở dữ liệu gốc