M� 09 GIAO TRINH C¡ sß dï liÇu và hÇ qu£n trË c¡ sß dï liÇu docx UỶ BAN NHÂN DÂN TỈNH ĐỒNG THÁP TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP GIÁO TRÌNH CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MÔN HỌC/ MÔ ĐUN MĐ[.]
UỶ BAN NHÂN DÂN TỈNH ĐỒNG THÁP TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP GIÁO TRÌNH CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MÔN HỌC/ MÔ ĐUN: MĐ 09 NGÀNH, NGHỀ: THIẾT KẾ ĐỒ HỌA TRÌNH ĐỘ: CAO ĐẲNG/TRUNG CẤP (Ban hành kèm theo Quyết định số /QĐ-CĐCĐ ngày tháng năm 2017 Hiệu trưởng trường Cao đẳng Nghề Đồng Tháp) Đồng Tháp, năm 2017 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm MỤC LỤC CHƯƠNG 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL 1.1 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 1.1.1 SQL ngôn ngữ sở liệu quan hệ 1.1.2 Mơ hình hoạt động SQL Server mạng máy tính 1.1.3 Các thành phần SQL SERVER 1.1.4 Vai trò SQL 1.2 QUẢN TRỊ CSDL TRÊN SQL SERVER 1.2.1 Cấu trúc sở liệu 1.2.2 Tạo sở liệu 13 CÂU HỎI ÔN TẬP CHƯƠNG 18 CHƯƠNG 2: TỔNG QUAN VỀ SQL 19 2.1 GIỚI THIỆU VỀ SQL 19 2.2 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ 20 2.2.1 Mơ hình liệu quan hệ .20 2.2.2 Bảng (Table) 20 2.2.3 Khoá bảng 21 2.2.4 Mối quan hệ khố ngồi 21 2.3.1 Câu lệnh SQL 22 2.3.2 Qui tắc sử dụng tên SQL .23 2.3.3 Kiểu liệu 24 2.3.4 Giá trị NULL 25 BÀI TẬP CHƯƠNG 26 CHƯƠNG 3: NGÔN NGỮ ĐỊNH NGHĨA DỮ LIỆU 27 3.1 CÁC RÀNG BUỘC 27 3.1.1 Ràng buộc CHECK 30 3.1.2 Ràng buộc PRIMARY KEY 31 3.1.3 Ràng buộc UNIQUE .33 3.1.4 Ràng buộc FOREIGN KEY 33 3.2 SỬA ĐỔI ĐỊNH NGHĨA BẢNG 36 3.3 XÓA BẢNG 38 3.4 KHUNG NHÌN 39 3.4.1 Tạo khung nhìn 41 3.4.2 Cập nhật, bổ sung xố liệu thơng qua khung nhìn 43 3.4.3 Sửa đổi khung nhìn .46 3.4.4 Xố khung nhìn .46 BÀI TẬP CHƯƠNG 47 CHƯƠNG 4: NGÔN NGỮ THAO TÁC DỮ LIỆU 54 4.1 TRUY XUẤT DỮ LIỆU VỚI CÂU LỆNH SELECT 54 4.1.1 Mệnh đề FROM 55 4.1.2 Danh sách chọn câu lệnh SELECT .56 4.1.3 Chỉ định điều kiện truy vấn liệu 60 4.1.4 Tạo bảng liệu từ kết câu lệnh SELECT 63 4.1.5 Sắp xếp kết truy vấn .64 4.1.6 Phép nối 65 4.1.7 Thống kê liệu với GROUP BY 70 4.1.8 Truy vấn (Subquery) 73 4.2 BỔ SUNG, CẬP NHẬT VÀ XOÁ DỮ LIỆU 76 4.2.1.Bổ sung liệu 76 4.2.2 Cập nhật liệu 78 4.2.3 Xoá liệu 80 BÀI TẬP CHƯƠNG 82 CHƯƠNG 5: SAO LƯU VÀ PHỤC HỒI CƠ SỞ DỮ LIỆU 84 5.1 IMPORT/ EXPORT 84 5.1.1 Import 84 5.1.2 Export 88 5.2 BACKUP/ RESTORE 93 5.2.1 Giới thiệu 93 5.2.2 Sao lưu sở liệu 93 5.2.3 Phục hồi sở liệu 94 5.2.4.Các loại Backup Restore 97 5.2.5.Restore: dùng để phục hồi CSDL 98 5.3 DETACH/ATTACH 100 BÀI TẬP CHƯƠNG 103 CHƯƠNG 6: THỦ TỤC, HÀM VÀ TRIGGER 104 6.1 THỦ TỤC LƯU TRỮ (STORED PROCEDURE) 104 6.1.1 Các khái niệm 104 6.1.2 Tạo thủ tục lưu trữ 105 6.1.3 Lời gọi thủ tục lưu trữ 107 6.1.4 Sử dụng biến thủ tục 107 6.1.5 Giá trị trả tham số thủ tục lưu trữ 108 6.1.6 Tham số với giá trị mặc định 109 6.1.7 Sửa đổi thủ tục 110 6.1.8 Xoá thủ tục 110 6.2 HÀM 111 6.2.1 Định nghĩa sử dụng hàm 111 6.2.2 Hàm với giá trị trả “dữ liệu kiểu bảng” 112 6.3 TRIGGER 115 6.3.1 Định nghĩa trigger .115 6.3.2 Sử dụng mệnh đề IF UPDATE trigger 118 6.3.3 ROLLBACK TRANSACTION trigger 118 BÀI TẬP CHƯƠNG 120 TÀI LIỆU THAM KHẢO 124 DANH MỤC HÌNH ẢNH 125 DANG MỤC BẢNG 127 GIÁO TRÌNH MƠN HỌC Tên môn học: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Mã môn học: MH3101345 Đơn vị quản lý môn học: Khoa Cơng Nghệ Thơng Tin I Vị trí, tính chất mơn học: - Vị trí: Là mơn học chun ngành, bố trí sau mơn học sở liệu, học kỳ - Tính chất: mơn lý thuyết, môn học bắt buộc II Mục tiêu môn học: - Về kiến thức: + Trình bày kiến thức khái niệm hệ quản trị sơ liệu + Áp dụng kiến thức hiểu, tiếp cận với tảng hệ quản trị sở liệu Microsoft SQL Server + Phân tích tìm khác biệt chức đối tượng hệ quản trị sở liệu Microsoft SQL Server + Trình bày đươc khái niệm bước thực Import/ Export, Backup/Restore, Detach/ Attach Vận dụng bước thực lưu phục hồi sở liệu học vào yêu cầu tập + Trình bày kiến thức đối tượng bảng liệu, khung nhìn, thủ tục lưu trữ, hàm trigger để xử lý thao tác truy xuất, bổ sung, cập nhật xóa liệu - Về kỹ năng: + Sử dụng chương trình hệ quản trị sở liệu Microsoft SQL Server thành thạo + Vận dụng kiến thức đối tượng bảng liệu, khung nhìn, thủ tục lưu trữ, hàm trigger để xử lý thao tác truy xuất, bổ sung, cập nhật xóa liệu + Vận dụng kiến thức lưu phục hồi liệu hệ thống gặp cố - Về lực tự chủ trách nhiệm: + Tham gia tích cực vào giảng + Thể lực tự học Chương 1: Hệ quản trị sở liệu SQL CHƯƠNG 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL Giới thiệu: hệ quản trị sở liệu SQL Mục tiêu: Trình bày hệ quản trị sở liệu SQL Server Mô tả cách thức quản trị hệ CSDL SQL Trình bày cách thức quản trị bảo mật SQL server 1.1 Giới thiệu hệ quản trị sở liệ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 giao chuyển Transaction-SQL để trao đổi liệu Client Computer Server Computer 1.1.1 SQL ngôn ngữ sở liệu quan hệ SQL, viết tắt Structured Query Language (ngôn ngữ hỏi có cấu trúc), cơng cụ sử dụng để tổ chức, quản lý truy xuất liệu đuợc lưu trữ sở liệu SQL hệ thống ngôn ngữ bao gồm tập câu lệnh sử dụng để tương tác với sở liệu quan hệ Tên gọi ngơn ngữ hỏi có cấu trúc phần làm liên tưởng đến công cụ (ngôn ngữ) dùng để truy xuất liệu sở liệu Thực mà nói, khả SQL vượt xa so với công cụ truy xuất liệu, mục đích ban đầu SQL xây dựng nên truy xuất liệu chức quan trọng SQL sử dụng để điều khiển tất chức mà hệ quản trị sở liệu cung cấp cho người dùng bao gồm: - Định nghĩa liệu: SQL cung cấp khả định nghĩa sở liệu, cấu trúc lưu trữ tổ chức liệu mối quan hệ thành phần liệu - Truy xuất thao tác liệu: Với SQL, người dùng dễ dàng thực thao tác truy xuất, bổ sung, cập nhật loại bỏ liệu sở liệu - Điều khiển truy cập: SQL sử dụng để cấp phát kiểm soát thao tác người sử dụng liệu, đảm bảo an toàn cho sở liệu - Đảm bảo toàn vẹn liệu: SQL định nghĩa ràng buộc toàn vẹn sở liệu nhờ đảm bảo tính hợp lệ xác liệu trước thao tác cập nhật lỗi hệ thống Như vậy, nói SQL ngơn ngữ hồn thiện sử dụng hệ thống sở liệu thành phần thiếu hệ quản trị sở liệu Mặc dù SQL ngơn ngữ lập trình C, C++, Java, song câu lệnh mà SQL cung cấp nhúng vào ngơn ngữ lập trình nhằm xây dựng ứng dụng tương tác với sở liệu KHOA CÔNG NGHỆ THÔNG TIN Trang Chương 1: Hệ quản trị sở liệu SQL Khác với ngơn ngữ lập trình quen thuộc C, C++, Java, SQL ngơn ngữ có tính khai báo Với SQL, người dùng cần mô tả yêu cầu cần phải thực sở liệu mà không cần phải cách thức thực u cầu Chính vậy, SQL ngôn ngữ dễ tiếp cận dễ sử dụng 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) Một số tính bản: - 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 1.1.2 Mơ hình hoạt động SQL Server 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 KHOA CÔNG NGHỆ THÔNG TIN Trang Chương 1: Hệ quản trị sở liệu SQL Hình 1 Mơ hình SQL mạng - Kết nối Desktop: Có thể máy tính với SQL Server kết nối qua mạng nội - Kết nối qua mạng diện rộng: Thông qua đường truyền mạng xa kết nối đến SQL Server - Kết nối qua mạng Internet: Các ứng dụng kết nối thông qua máy chủ Internet, dịch vụ IIS thực ứng dụng Internet (ASP, JSP, ASP.net,…) Mơ hình Desktop Hình Mơ hình Desktop Nếu xét máy Desktop sơ đồ kết nối trao đổi liệu thể nhưsau: KHOA CÔNG NGHỆ THÔNG TIN Trang Chương 1: Hệ quản trị sở liệu SQL Trên Desktop có nhiều ứng dụng, ứng dụng thực thao tác với nhiều CSDL Mơ hình Client/Server Nếu xét theo mơ hình client/server, ứng dụng trao đổi với SQL Server theo sơ đồ sau: Hình Mơ hình Client Server (a) Như sơ đồ nhận thấy SQL Server cho phép ứng dụng kết nối theo phương thức sau: OLE DB, ODBC, DB-Library, Embedded SQL, phương thức kết nối hữu ích cho nhà phát triển ứng dụng Nếu xem xét cụ thể ta xem sơ đồ sau: Hình Mơ hình Client Server (b) KHOA CÔNG NGHỆ THÔNG TIN Trang Chương 1: Hệ quản trị sở liệu SQL SQL Server thực trao đổi liệu với ứng dụngt heo nhiều giao thực truyền tin khác (TCP/IP, NetBeUI, Names Pipes,…), ứng dụng sử dụng nhiều phương thức kết nối khác (OLE DB, ODBC, DB-Library) Mơ hình kết nối ứng dụng mạng Internet Nếu xét riêng ứng dụng kết nối với SQL Server mạng Internet, máy chủ SQL Server quản lý thông qua hệ thống máy chủ mạng, hệ điều hành mạng, ứng dụng (COM+, ASP, IIS) thông qua máy chủ mạng kết nối đến SQL Server, mơ hình áp dụng cho mạng nội bộ, diện rộng, ứng dụng khai thác trình duyệt Internet Browser Hình Mơ hình kết nối ứng dụng mạng Internet 1.1.3 Các thành phần SQL SERVER SQL Server cấu thành nhiều thành phần khác nhau, thành phần có mối quan hệ hệ thống, phối hợp với để tạo thành giải pháp hoàn chính, nâng cao hiệu quản trị, phân tích, lưu trữ liệu KHOA CÔNG NGHỆ THÔNG TIN Trang ... tích cực vào giảng + Thể lực tự học Chương 1: Hệ quản trị sở liệu SQL CHƯƠNG 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL Giới thiệu: hệ quản trị sở liệu SQL Mục tiêu: Trình bày hệ quản trị sở liệu SQL... Trang Chương 1: Hệ quản trị sở liệu SQL Hình Cấu trúc sở liệu Sơ đồ quản trị sở liệu SQL Server Hình Sơ đồ 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... thực phần hệ quản trị sở liệu, xuất hệ quản trị sở liệu với vai trị ngơn ngữ công cụ giao tiếp người sử dụng hệ quản trị sở liệu. Trong hầu hết hệ quản trị sở liệu quan hệ, SQL có vai trị sau -