Giữa những năm 1970, một nhóm các nhà phát triển tại trung tâm nghiên cứu của IBM tại San Jose phát triển hệ thống cơ sở dữ liệu "Hệ thống R" dựa trên mô hình của Codd. Structured English Query Language, viết tắt là "SEQUEL" (tạm dịch là "Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), được thiết kế để quản lý và truy lục dữ liệu được lưu trữ trong Hệ thống R. Sau này, tên viết tắt SEQUEL được rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL đã được một công ty máy bay của UK là Hawker-Siddeley đăng ký). Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Codd nhưng nó không do tiến sĩ Codd thiết kế ra. Ngôn ngữ SEQUEL được thiết kế bởi Donald D. Chamberlin và Raymond F. Boyce tại IBM, và khái niệm của họ được phổ biến để tăng sự chú ý về SQL.
Phiên bản cơ sở dữ liệu quan hệ phi thương mại, không hỗ trợ SQL đầu tiên được phát triển năm 1974.(Ingres from U.C. Berkeley.)
Năm 1978, việc thử nghiệm phương pháp được khởi đầu tại một cơ sở thử nghiệm của khách hàng. Cuộc thử nghiệm đã chứng minh được sự có ích và tính thực tiễn của hệ thống và đã chứng tỏ sự thành công của IBM. Dựa vào kết quả đó, IBM bắt đầu phát triển các sản phẩm thương mại bổ sung thêm SQL dựa trên nguyên mẫu Hệ thống R bao gồm System/38 (Hệ thống/38) (được công bố năm 1978 và được thương mại hóa tháng 8 năm 1979, SQL/DS (được giới thiệu vào năm 1981) và DB2 (năm 1983).
Cùng thời điểm đó Relational Software, Inc. (bây giờ là Oracle Corporation) đã nhận thấy tiềm năng của những khái niệm được Chamberlin and Boyce đưa ra và đã phát triển phiên bản Hệ quản trị cơ sở dự liệu quan hệ riêng của họ cho Navy, CIA và các tổ chức khác. Vào mùa hè năm 1979, Relational Software, Inc. giới thiệu Oracle V2 (Phiên bản 2), phiên bản thương mại đầu tiên hỗ trợ SQL cho máy tính VAX. Oracle thường xuyên được nhắc tới một cách không nghiêm túc vì đã tấn công thị trường của IBM trong 2 năm, nhưng việc táo bạo nhất trong quan hệ công chúng của họ là tấn công một phiên bản của IBM System/38 chỉ trong có vài tuần. Tương lai của Oracle đã được đảm bảo vì có sự quan tâm đáng kể của công chúng sau đó mới phát triển, trong khi đã có nhiều phiên bản của các nhà cung cấp khác.
25 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2442 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Quản lí với SQL, để 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
Các file đính kèm theo tài liệu này:
- Quản lí với SQL.ppt