Phần 1 của bài giảng Hệ quản trị cơ sở dữ liệu cung cấp cho học viên những nội dung về: quản trị SQL Server; điều khiển các dịch vụ của SQL Server; quản trị cơ sở dữ liệu; bảng dữ liệu – table; khóa index; thủ tục lưu trữ, xuất nhập dữ liệu;... Mời các bạn cùng tham khảo!
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH BỘ MÔN CÔNG NGHỆ THÔNG TIN - KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (Dành cho sinh viên bậc Đại học) (LƯU HÀNH NỘI BỘ) Quảng Ninh, 2020 Tên học phần: Hệ quản trị Cơ sở liệu Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Mã học phần: 17402 TS tiết 90 Lý thuyết 45 Thực hành/ Xemina 45 Tự học Loại học phần: Khoa phụ trách: CNTT Tổng số TC: Bài tập lớn x Đồ án môn học Điều kiện tiên quyết: Không yêu cầu Mục tiêu học phần: Cung cấp cho sinh viên khái niệm hệ quản trị sở liệu, vai trò chức hệ quản trị sở liệu trình tương tác hệ quản trị sở liệu với phần mềm ứng dụng sở liệu Giúp sinh viên tiếp cận với tảng hệ quản trị sở liệu Microsoft SQL Server Nội dung chủ yếu: Khái niệm CSDL hệ quản trị CSDL; Các thành phần MS SQL Server; Ngôn ngữ T-SQL đối tượng CSDL; Các tác vụ quản trị hệ thống Nội dung chi tiết: PHÂN PHỐI SỐ TIẾT TÊN CHƯƠNG MỤC TS LT BT TH KT Chương Giới thiệu 1.1 Một số khái niệm 1.2 Giới thiệu SQL Server mơ hình Client/Server 1.3 Cài đặt cấu hình SQL Server 1.4 Các thành phần SQL Server Chương Làm việc với CSDL bảng 2.1 Làm việc với CSDL 2.1.1 Tổ chức tập tin CSDL SQL Server 2.1.2 Định nghĩa CSDL 2.1.3 Sửa đổi CSDL 2.1.4 Xóa CSDL 2.2 Làm việc với bảng liệu 2.2.1 Các kiểu liệu 2.2.2 Ràng buộc (Constraint) thuộc tính cột 2.2.3 Định nghĩa bảng liệu 2.2.3 Sửa đổi bảng liệu 2.2.4 Xóa bảng liệu 2.3 Làm việc với ghi 2.3.1 Thêm ghi (Insert) 2.3.2 Cập nhật ghi (Update) 2.3.3 Xóa ghi (Delete) 2.4 Khái niệm mục (Index) Chương Truy vấn liệu bảng ảo (View) 3.1 Cấu trúc truy vấn 3.1.1 Câu lệnh SELECT 3.1.2 Mệnh đề WHERE biểu thức điều kiện 3.1.3 Một số hàm thường dùng 3.1.4 Truy vấn thống kê với GROUP BY HAVING 3.1.5 Sắp xếp với ORDER BY 3.2 Truy vấn liệu từ nhiều bảng 3.2.1 Inner Join 3.2.2 Left Outer Join PHÂN PHỐI SỐ TIẾT TS LT BT TH KT TÊN CHƯƠNG MỤC 3.2.3 Right Outer Join 3.2.4 Full Outer Join 3.2.5 Cross Join 3.2.6 Self Join 3.2.7 Non - Equal Join 3.2.8 Union 3.3 Truy vấn lồng (Subquery) 3.3.1 Nested Scalar Subquery 3.3.2 Correlated Subquery 3.4 Bảng ảo (View) 3.4.1 Định nghĩa View 3.4.2 Sửa đổi View 3.4.3 Xóa View Chương Thủ tục thường trú hàm người dùng 4.1 Lập trình với T - SQL 4.2 Thủ tục thường trú (Stored Procedure) 4.3 Hàm người dùng định nghĩa (User Defined Fuction) Chương Trigger Transaction 5.1 Trigger ứng dụng Trigger 5.1.1 After Trigger 5.1.2 Instead Of Trigger 5.2 Các loại Transaction ứng dụng 5.2.1 Transaction tự động 5.2.2 Transaction tường minh 5.2.3 Transaction ẩn 5.2.4 Transaction lồng Chương 6: Các tác vụ quản trị hệ thống 6.1 Quản lý đăng ký SQL Server (Server Registration) 6.2 Bảo mật phân quyền người dùng 6.3 Sao lưu (Backup) phục hồi (Restore) liệu 6.4 Hoạch định tác vụ quản trị Nhiệm vụ sinh viên: Tham dự buổi học lý thuyết thực hành, làm tập giao, làm thi học phần thi kết thúc học phần theo quy định Tài liệu học tập: Dương Quang Thiện, SQL Server 2000: Lập trình T - SQL, NXB Văn hóa Sài Gịn, 2007 Paul Turley & Dan Wood, Beginning Transact-SQL with SQL Server 2000 and 2005, Wrox Press, 2006 Brian Knightet al, Professional SQL Server 2005 Administration, Wrox Press, 2007 Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server 2005 Unleashed, Sams Publishing, 2007 Hình thức tiêu chuẩn đánh giá sinh viên: Hình thức thi: thi viết vấn đáp Tiêu chuẩn đánh giá sinh viên: vào tham gia học tập sinh viên buổi học lý thuyết thực hành, kết làm tập giao, kết thi học phần thi kết thúc học phần Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần: Z = 0,4X + 0,6Y Bài giảng tài liệu thức thống Bộ mơn Hệ thống Thông tin, Khoa Công nghệ Thông tin dùng để giảng dạy cho sinh viên Trưởng Bộ môn Ngày phê duyệt: / / MỤC LỤC MỤC LỤC MỞ ĐẦU PHầN I QUẢN TRỊ SQL SERVER BẮT ĐẦU VỚI SQL SERVER TÌM HIỂU VỀ HỆ QUẢN TRỊ CSDL SQL SERVER MƠ HÌNH HOẠT ĐỘNG CỦA SQL SERVER TRÊN MẠNG MÁY TÍNH CÁC THÀNH PHẦN CỦA SQL SERVER 11 CÁC THÀNH PHẦN CỦA SQL SERVER 11 CÀI ĐẶT SQL SERVER 13 QUẢN TRỊ SERVER 22 INSTANCE 22 ĐIỀU KHIỂN CÁC DỊCH VỤ CỦA SQL SERVER 22 QUẢN TRỊ SERVER 26 THIẾT LẬP KẾT NỐI ĐẾN SERVER 27 CẤU HÌNH KẾT NỐI MẠNG CỦA SERVER 37 QUẢN TRỊ CÁC CLIENT 38 QUẢN TRỊ CƠ SỞ DỮ LIỆU 45 CẤU TRÚC CƠ SỞ DỮ LIỆU 45 QUẢN LÝ CƠ SỞ DỮ LIỆU 50 BẢNG DỮ LIỆU – TABLE 58 CÁC CHUẨN TẮC 58 THIẾT KẾ BẢNG DỮ LIỆU 60 TẠO BẢNG DỮ LIỆU 69 KHÓA INDEX 77 THIẾT KẾ KHÓA INDEX 77 TẠO KHÓA INDEX 79 XÓA INDEX 81 KHUNG NHÌN – VIEW 82 KHÁI NIỆM KHUNG NHÌN 82 TẠO KHUNG NHÌN 82 SỬ DỤNG VIEW 84 THỦ TỤC LƯU TRỮ 86 KHÁI NIỆM THỦ TỤC LƯU TRỮ VÀ HÀM 86 PHÂN LOẠI THỦ TỤC LƯU TRỮ 87 THIẾT LẬP THỦ TỤC LƯU TRỮ 88 SỬA, XÓA THỦ TỤC 95 TRIGGER 96 KHÁI NIỆM TRIGGER 96 NHỮNG TRƯỜNG HỢP SỬ DỤNG TRIGGER 96 ĐẶC ĐIỂM CỦA TRIGGER 96 TẠO TRIGGER 97 SỬA, XÓA TRIGGER 101 XUẤT – NHẬP DỮ LIỆU 102 SERVER LIÊN KẾT – LINKED SERVER 102 SỬ DỤNG BCP VÀ BULK INSERT NHẬP DỮ LIỆU 110 DETTACH VÀ ATTACH CƠ SỞ DỮ LIỆU 113 IMPORT VÀ EXPORT CƠ SỞ DỮ LIỆU 115 EXPORT – XUẤT DỮ LIỆU 119 SAO LƯU, KHÔI PHỤC DỮ LIỆU 120 NHỮNG LÝ DO PHẢI SAO LƯU VÀ KHÔI PHỤC DỮ LIỆU 120 CÁC LOẠI BACKUP 120 CÁC MƠ HÌNH PHỤC HỒI DỮ LIỆU 121 SAO LƯU CƠ SỞ DỮ LIỆU - BACKUP DATABASE 122 KHÔI PHỤC DỮ LIỆU – RESTORE DATABASE 123 CHƯƠNG X PHÂN QUYỀN, BẢO MẬT 125 CHẾ ĐỘ BẢO MẬT – SECURITY MODE 125 SERVER ROLE, DATABASE ROLE 127 QUẢN TRỊ NGƯỜI DÙNG 131 NHÂN BẢN DỮ LIỆU 133 GIỚI THIỆU VỀ NHÂN BẢN DỮ LIỆU 133 CẤU HÌNH PUBLISHER VÀ DISTRIBUTOR 139 TẠO PUBLICATION 141 TẠO PUSH SUBSCRIPTION 143 TẠO PULL SUBSCRIPTION 145 THỰC HIỆN ĐỒNG BỘ DỮ LIỆU 147 PHầN II CÂU LỆNH T-SQL 148 ĐỊNH NGHĨA DỮ LIỆU (DATA DEFINITION LAGUAGE - DDL) 148 THAO TÁC VỚI DỮ LIỆU (DATA MANIPULATION LANGUAGE - DML) 153 TRUY VẤN DỮ LỆU 165 TẠO BẢNG BẰNG LỆNH SELECT INTO 173 LỆNH COMPUTE BY 173 TOÁN TỬ UNION 174 TRUY VẤN DỮ LIỆU TỪ NHIỀU BẢNG 175 TRUY VẤN TỔNG HỢP 183 TRUY VẤN LỒNG NHAU 186 UPDATE, DELETE, INSERT VỚI LỆNH TRUY VẤN LỒNG NHAU 189 LỆNH READTEXT – ĐỌC TEXT, IMAGE 190 THAO TÁC DỮ LIỆU NGOÀI 190 MỘT SỐ HÀM CƠ BẢN 193 TRANSACTION – PHIÊN GIAO DỊCH 199 LOCKING – KHÓA 203 GRAND – GÁN QUYỀN 206 REVOKE – TƯỚC QUYỀN 211 DENY – TỪ CHỐI QUYỀN 211 TRỢ GIÚP 212 PHầN III PHÁT TRIỂN ỨNG DỤNG VỚI SQL SERVER 213 GIỚI THIỆU 213 KẾT NỐI VỚI SQL SERVER BẰNG ADO 213 KẾT NỐI VỚI SQL SERVER BẰNG SQL-DMO 233 Phần QUẢN TRỊ SQL SERVER BẮT ĐẦU VỚI SQL SERVER TÌM HIỂU VỀ HỆ QUẢN TRỊ CSDL SQL SERVER Giới thiệu SQL Server SQL Server hệ thống quản trị sở liệu quan hệ (Relational DataBase Management System- RDBMS) sử dụng lệnh giáo chuyển Transaction-SQL để trao đổi liệu Client Computer Server Computer SQL Server có số đặc tính sau: Cho phép quản trị hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý liệu nhanh đáp ứng yêu cầu thời gian Cho phép nhiều người khai thác thời điểm CSDL toàn quản trị CSDL (lên đến vài chục ngàn user) Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật cơng nghệ NT (Network Technology), tích hợp với hệ thống bảo mật Windows NT sử dụng hệ thống bảo vệ độc lập SQL Server Hỗ trợ việc triển khai CSDL phân tán phát triển ứng dụng Internet Cho phép lập trình kết nối với nhiều ngơn ngữ lập trình khác dùng xây dựng ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML, ) Sử dụng câu lệnh truy vấn liệu Transaction-SQL (Access SQL, Oracle PL/SQL) Các ấn SQL Server SQL Server có ấn sau: Enterpise Manager: Là ấn đầy đủ SQL Server chạy 32CPU 64GB RAM Có dịch vụ phân tích liệu Analysis Service Standard: Giống Enterprise bị hạn chế số tính cao cấp, chạy 2CPU, 4GB RAM Personal: Phiên chủ yếu để chạy PC, nên chạy hệ điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003… Developer: Là phiên tương tự Enterprise bị giới hạn số user kết nối đến Desktop Engine: Là phiên engine chạy desktop khơng có giao diện người dùng (GUI), kích thước CSDL giới hạn 2GB Win CE: Sử dụng cho ứng dụng chạy Windows CE Trial: Phiên dùng thử, bị giới hạn thời gian SQL Client: Là phiên dành cho máy khách, thực khai thác thực kết nối đến phiên SQL Server, phiên cung cấp giao diện GUI khai thác cho người sử dụng SQL Connectivity only: Là phiên sử dụng cho ứng dụng để kết nối đến SQL Server, phiên không cung cấp công cụ GUI cho người dùng khai thác SQL Server Các phiên cài đặt phụ vào cài đặt mà bạn chọn lựa chọn khai cài đặt (ví dụ phiên Enterprise, Standard, Personal,… bạn phải chọn theo cài đặt, phiên SQL Client, Connectivity,… bạn chọn hộp thoại q trình cài đặt) Một số tính Enterprise manager Dễ cài đặt Hỗ trợ mô hình Client/Server Thích hợp hệ điều hành Windows Hoạt động với nhiều giao thức truyền thông Hỗ trợ dịch vụ Data Warehousing Thích hợp với chuẩn ANSI/ISO SQL-92 Hỗ trợ nhân liệu Cung cấp dịch vụ tìm kiếm Full-Text Sách trợ giúp- Book Online MƠ HÌNH HOẠT ĐỘNG CỦA SQL SERVER TRÊN MẠNG MÁY TÍNH Mơ hình chung SQL Server mạng SQL Server hệ quản trị CSDL hoạt động mạng, thực trao đổi liệu theo nhiều mơ hình mạng khác nhau, nhiều giao thức phương thức truyền tin khác Trong sơ đồ thể ba kiểu kết nối ứng dụng đến SQL Server: Kết nối Desktop: Có thể máy tính với SQL Server kết nối qua mạng nội NHÂN BẢN DỮ LIỆU Chương bạn giới thiệu với bạn kỹ thuật làm giảm lưu lượng liệu giao dịch với SQL Server cấu hình nhiều Server mạng GIỚI THIỆU VỀ NHÂN BẢN DỮ LIỆU Nhân liệu tên tiếng anh gọi Replication, công cụ sử dụng copy nhiều CSDL đến nhiều server (SQL Server) khác, Server đặt mạng máy tính nội (LAN), người khai thác thực truy nhập đến CSDL có Server chuyển liệu đến Dữ liệu máy thực đồng với theo lịch theo kiện, có yêu cầu Nhân liệu có ưu điểm sau: + Dữ liệu lưu trữ nhiều nơi, hiệu việc có nhiều ứng dụng truy nhập, khai thác + Thích hợp ứng dụng phân tích liệu OLTP DataWare House + Có thể khai thác liệu không kết nối đến Server + Giảm thiểu xung khắc số lượng lớn giao dịch mạng + Là giải pháp an toàn Server bị lỗi bảo dưỡng Mơ hình nhân Dịch vụ nhân liệu gồm thành phần sau: Publisher, Distributor, Subscribers, Publications, Articles, Subscriptions Publisher: Là server cung cấp liệu nhân cho server khác Một publisher thiết lập nhiều liệu nhân (gọi publication) Distributor: Là server quản lý thông tin nhân bản, lưu trữ liệu giao dịch thực nhận chuyển liệu từ Publisher đến Subscriber Remote distributor server tách rời khỏi publisher cấu hình distributor Local distributor server cấu hình Publisher Distributor Subscriber: Là server nhận liệu nhân Subscriber gắn liền với publication (là máy chủ nhận liệu nhân liệu cấu hình nhân bản) Article: Là bảng, tập liệu đối tượng CSDL cấu hình để nhân Publication: Là tập gồm nhiều article Subscription: Là giao dịch yêu cầu liệu đối tượng CSDL thực nhân Trong giao dịch publisher thực dẩy (push subscription) liệu, subscriber thực kéo (pull subscription) 133 Nhân liệu thực theo mơ hình sau: + Central Publisher: Là mơ hình Publisher Distributor thiết lập máy Gồm mơ hình sau: - Một Publishers Subscriber: - Một Publisher nhiều Subscriber 134 - Publisher Subscriber thiết lập máy: + Publisher Distributor không thiết lập máy: + Republisher: Là mơ hình Publisher xuất liệu đến Subscriber, sau Subscriber thiết lập Publisher xuất liệu đến Subscriber khác 135 Đường truyền hai máy thiết lập Publisher tốc độ thấp, phù hợp với vị trí xa Ví dụ mơ hình vùng cách xa nhau: + Central Subscriber: Là mơ hình Subscriber thiết lậpn nhận liệu xuất từ nhiều Publisher 136 Những kiểu nhân liệu Có kiểu nhân liệu Snaphot, Transaction, Merge Snapshot replication: Là kiểu nhân thực chép, phân tán liệu đối tượng CSDL tạo thời điểm Snapshot thường sử dụng cho tình sau: + Dữ liệu thường tĩnh, thay đổi + Nhân số lượng liệu nhỏ Transaction replication: Là kiểu nhân mà bắt đầu nhân snapshot, sau thực nhân giao dịch liệu theo kiện insert, update, delete thay đổi liên quan đến thực stored procedure, index view Nhân kiểu cho phép thực lọc liệu xuất bản, cho phép user sửa đổi liệu nhân subscriber chuyển liệu sửa đổi đến Publisher Subscriber khác, liệu sửa đổi coi liệu xuất Nhân kiểu thực khi: + Muốn sửa đổi liệu xuất chuyển đến Subscriber, thời gian thực theo giây, tức thời + Cần giao dịch toàn hệ thống nhân liệu (dữ liệu chuyển đến tất Subscriber không chuyển đến Subscriber nào) 137 + Subscriber thường xuyên kết nối với Publisher Merge replication: Là kiểu nhân liệu cho phép thực nhân sửa đổi liệu nhiều Subscriber, kết nối (online) khơng kết nối (offline) đến 138 Publisher Dữ liệu đồng theo lịch theo yêu cầu, liệu cập nhật có thời điểm sau chấp nhận Kiểu nhân thực khi: + Nhiều Subscriber có nhu cầu cập nhật liệu chuyển liệu cập nhật đến Publisher Subscriber khác + Subscriber yêu cầu nhận chuyển liệu offline, đồng liệu với Subscriber Publisher sau CẤU HÌNH PUBLISHER VÀ DISTRIBUTOR Trước thực cấu hình máy thành Publisher hay Distributor ta phải thực chạy dịch vụ SQL Server Agant chức Service manager bước cấu sau: - Chọn Server cần cấu hình -> Replication - Nhấn phải chuột -> Configure Publishing Subscription and Distribution - Thực thao bước: + Chọn thư mục Snapshot: Thư mục sử dụng cho 139 - Đặt tên CSDL Distribution - Chọn Server cấu hình thành Publisher 140 - Chọn CSDL tham gia nhân bản, kiểu nhân - Chọn Server cấu hình Subscriber Publisher thiết lập - Kết thúc TẠO PUBLICATION Bước thực tạo Publication, cách thực sau: + Chọn Publication Replication Publisher + Nhấn phải chuột -> New Publication 141 + Thực theo bước: - Chọn CSDL cần xuất liệu đối tượng - Chọn kiểu nhân (trong ví dụ thực kiểu Merge) - Chọn phiên SQL Server Subscriber - Chọn Article tham gia Publication 142 - Đặt tên cho Publication - Kết thúc TẠO PUSH SUBSCRIPTION Bước thực tạo thủ tục đẩy (push) từ Publisher (Distributor ví dụ này) đến Subscriber, thực Publisher Các bước thực sau: 143 - Chọn Publication Publisher -> Nhấn phải chuột -> Push new Subscription - Chọn Subscriber - Chọn CSDL Subscriber có, chưa có thực chọn chức tạo 144 - Chọn lịch thực đồng liệu - Kết thúc Sau thiết lập xong Subscriber có CSDL theo tên tạo TẠO PULL SUBSCRIPTION Bước thực tạo công cụ kéo liệu nhân từ Publisher Subscriber, thực Subscriber - Chọn Subscription Subscriber -> Nhấn phải chuột -> New Pull Supcription - Thực theo bước: + Chọn Publication 145 - Chọn Agent tham gia kết nối Publisher - Chọn CSDL đích 146 - Thực tiếp bước kết thúc Nếu tạo Push Subscription với CSDL không tạo Pull Subscription với CSDL THỰC HIỆN ĐỒNG BỘ DỮ LIỆU Sau thiết lập theo mô hình nhân xong, bạn thực đồng liệu cách: - Thực theo lịch - Theo yêu cầu: Chọn Subscription (Push Pull) -> Nhấn phải chuột -> Start Synchronizing Sau thực xong liệu đồng Publisher Subscriber Ngồi thực theo cơng cụ bạn tìm hiểu thực nhân theo câu lệnh T-SQL Stored Procedure 147 ... 37 QUẢN TRỊ CÁC CLIENT 38 QUẢN TRỊ CƠ SỞ DỮ LIỆU 45 CẤU TRÚC CƠ SỞ DỮ LIỆU 45 QUẢN LÝ CƠ SỞ DỮ LIỆU 50 BẢNG DỮ LIỆU – TABLE... 10 2 SỬ DỤNG BCP VÀ BULK INSERT NHẬP DỮ LIỆU 11 0 DETTACH VÀ ATTACH CƠ SỞ DỮ LIỆU 11 3 IMPORT VÀ EXPORT CƠ SỞ DỮ LIỆU 11 5 EXPORT – XUẤT DỮ LIỆU ... đồ quản trị sở liệu SQL Server Cơ sở liệu SQL Server chia thành loại: Cơ sở liệu hệ thống (do SQL Server sinh cài đặt) cở sở liệu người dùng (do người dùng tạo ta) Cơ sở liệu hệ thống gồm: - Master: