MỤC TIÊU
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
- Thay đổi dữ liệu hệ thống
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
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
25 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2691 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng RDBMS và quản lý dữ liệu - Chương 7: Tạo và quản lý cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 7 Tạo và quản lý cơ sở dữ liệu 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 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 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 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 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 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 ] [ [ ,...n ] [ , [ ,...n ] ] [ LOG ON { [ ,...n ] } ] ] [ COLLATE collation_name ] ] [;] Cú pháp để tạo một cơ sở dữ liệu người dùng là: 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 { | | | 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: 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: 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 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 \MSSQL\Data\Customer_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 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: 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) 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: Nhóm tập tin và ghi vết giao dịch 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. 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 ] [ [ ,...n ] [ , [ ,...n ] ] [ LOG ON { [ ,...n ] } ] ] [ COLLATE collation_name ] ] [;] 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 { | | | MODIFY NAME = new_database_name | COLLATE collation_name } [;] 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.: 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 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 FILE [ ,...n ] [ TO FILEGROUP { filegroup_name | DEFAULT } ] | ADD LOG FILE [ ,...n ] | REMOVE FILE logical_file_name | MODIFY FILE } Các phương pháp thay đổi cơ sở dữ liệu Các phương pháp thay đổi cơ sở dữ liệu 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 } 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 [;] 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 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. 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