Creating and Management Data Base
Trang 1Chương 7
Tạo và quản lý cơ sở dữ liệu
Trang 2 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
Trang 3Cá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
Trang 4Cá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
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
Trang 5Thay đổ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
Trang 6 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
Trang 7Cơ 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
Trang 8Cơ 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{
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:
Trang 9Cơ 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:
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
Trang 10Cơ 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 Files\Microsoft SQL Server\MSSQL.1\
MSSQL\Data\Customer_DB.mdf’)
LOG ON
( NAME = N’Customer_DB_log’, FILENAME = N’
C:\Program Files\Microsoft SQL Server\MSSQL.1
Trang 11Cơ sở dữ liệu người dùng định nghĩa
Ví dụ thay đổi quyền sở hữu của CSDL:
Trang 12Cơ 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)
Trang 13Nhó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ợ
Trang 14Nhóm tập tin và ghi vết giao dịch
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.
Trang 15Nhóm tập tin và ghi vết giao dịch
Thêm nhóm tập tin trong khi tạo CSDL.
Trang 16Nhóm tập tin và ghi vết giao dịch
Thêm nhóm tập tin vào CSDL đã có:
Trang 17Nhó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 :
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
Trang 18Nhó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
Trang 19Nhó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
ADD FILE <filespec> [ , n ]
[ TO FILEGROUP { filegroup_name | DEFAULT } ]
| ADD LOG FILE <filespec> [ , n ]
| REMOVE FILE logical_file_name
Trang 20Cá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.
Trang 21Cá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
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.
DROP DATABASE { database_name }
Trang 22Bả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
Trang 24Khi 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
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.
Trang 25Tó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