Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
2,5 MB
Nội dung
1 TUYÊN BỐ BẢN QUYỀN Tài liệu này là loại giáotrình nội bộ dùng trong nhà trường với mục đích làm tài liệu giảng dạy cho giáo viên và học sinh, sinh viên nên các nguồn thông tin có thể được tham khảo. Tài liệu phải do trường Cao đẳng nghề Kiên Giang in ấn và phát hành. Việc sử dụng tài liệu này với mục đích thương mại hoặc khác với mục đích trên đều bị nghiêm cấm và bị coi là vi phạm bản quyền. Trường Cao đẳng nghề Kiên Giang xin chân thành cảm ơn các thông tin giúp cho nhà trường bảo vệ bản quyền của mình. Địa chỉ liên hệ: Trường Cao đẳng nghề Kiên Giang. 1022 Nguyễn Trung Trực, An Hòa, Tp.Rạch Giá, Kiên Giang Điện thoại: 0773. 814946 Fax: 0773. 814946 Website: www.caodangnghekg.edu.vn 2 LỜI NÓI ĐẦU GiáotrìnhQuảntrị CDL nângcao (MS SQL SERVER) được biên soạn dựa theo chương trình khung của Tổng cục dạy nghề chuyên ngành Quảntrị mạng máy tính. Giáotrìnhtrình bày những vấn đề cốt lõi nhất của Quảntrị CDL nângcao (MS SQL SERVER). Các bài học được trình bày ngắn gọn. Giáotrình này áp dụng cho sinh viên Trường Cao Đẳng Nghề Kiên Giang, nghề Quảntrị mạng máy tính. Giáotrình bổ sung những kiến thức nângcao cơ sỡ dữ liệu. Giúp cho sinh viên phát triển các phát biểu T_SQL, Trigger, thủ tục, hàm, cursor …. Trong quá trình giảng dạy và biên soạn cuốn giáotrình này, chúng tôi nhận được sự động viên của các thầy cô trong Ban Giám Hiệu nhà trường cũng như ý kiến đóng góp của các đồng nghiệp trong Khoa Điện – Điện Tử Máy Tính. Chúng tôi xin chân thành cảm ơn và hy vọng rằng giáotrình này sẽ giúp cho việc dạy và học môn Cấu trúc dữliệu và giải thuật của trường chúng ta ngày càng tốt hơn Tất cả những ý kiến đóng góp điều được trân trọng. Rạch giá, ngày 04 tháng 12 năm 2011 Tham gia biên soạn 1. Ông Nguyễn Hữu Nhân 2. Bà Lưu Phương Thúy 3 MỤC LỤC TUYÊN BỐ BẢN QUYỀN 1 LỜI NÓI ĐẦU 1 PHẦN GIỚI THIỆU MÔ ĐUN 7 CHƯƠNG I: GIỚI THIỆU VỀ SQL SERVER 2005 11 1.1 CÀI ĐẶT SQL SERVER 2005 EXPRESS EDITION 11 1.1.1 Các yêu cầu cho hệ thống 32bit 11 1.1.2 Các bước cài đặt SQL Server 2005 Express Edition 13 1.2 MỘT SỐ THAO TÁC C Ơ BẢN TRÊN SQL SERVER 2005 EXPRESS EDITION. 22 1.2.1 Tạo một CSDL mới 22 1.2.2 Tạo bảng mới 23 CHƯƠNG II: STRUCTURED QUERY LANGUAGE (SQL) 26 2.1 SQL LÀ NGÔN NGỮ CỦA CƠ SỞ DỮLIỆUQUAN HỆ 26 2.2 VAI TRÒ CỦA SQL 26 2.3 GIỚI THIỆU SƠ LƯỢC VỀ TRANSACT SQL (T-SQL) 27 2.3.1 Ngôn ngữ định nghĩa dữliệu ( Data Definition Language – DDL) 28 2.3.2 Ngôn ngữ điều khiển dữliệu (Data control language – DCL) 28 2.3.3 Ngôn ngữ thao tác dữliệu (Data mani pulation language – DML) 29 2.3.4 Cú pháp của T-SQL 30 2.3.5 Các kiểu dữliệu 31 2.3.6 Biến (Variables) 32 2.3.7 Hàm (Function) 33 2.3.8 Các toán tử (Operators) 33 2.3.9 Các thành phần điều khiển (Control of flow) 34 2.3.10 Chú thích (Comment) 34 2.3.11 Giá trị NULL 34 CHƯƠNG III: NGÔN NGỮ THAO TÁC DỮLIỆU – DML 35 3.1 CÂU LỆNH SELECT 35 3.1.1 Danh sách chọn trong câu lệnh SELECT 36 4 3.1.2 Mệnh đề FROM 40 3.1.3 Mệnh đề WHERE - điều kiện truy vấn dữliệu 40 3.1.4 Phép hợp (UNION) 38 3.1.5 Phép nối 41 3.1.6 Các loại phép nối 43 3.1.7 Phép nối theo chuẩn SQL -92 45 3.1.8 Mệnh đề GROUP BY 47 3.1.9 Truy vấn con (Subquery) 50 3.2 THÊM, CẬP NHẬT VÀ XÓA DỮLIỆU 51 3.2.1 Thêm dữliệu 52 3.2.2 Cập nhật dữliệu 53 3.2.3 Xóa dữliệu 54 CHƯƠNG IV NGÔN NGỮ ĐỊNH NGHĨA DỮLIỆU – DDL 56 4.1 TẠO BẢNG 56 4.2 CÁC LOẠI RÀNG BUỘC 58 4.2.1 Ràng buộc CHECK 58 4.2.2 Ràng buộc PRIMARY KEY 59 4.2.3 Ràng buộc FOREIGN KEY 60 4.3 SỬA ĐỔI ĐỊNH NGHĨA BẢNG 61 4.4 XÓA BẢNG 63 4.5 KHUNG NHÌN - VIEW 63 4.6 THÊM, CẬP NHẬT, XÓA DỮLIỆU TRONG VIEW 65 4.7 THAY ĐỔI ĐỊNH NGHĨA KHUNG NH ÌN 65 4.8 XÓA KHUNG NHÌN 66 CHƯƠNG V THỦ TỤC LƯU TRỮ, HÀM VÀ TRIGGER 67 5.1 THỦ TỤC LƯU TRỮ (STORED PROCEDURE) 67 5.1.1 Tạo thủ tục lưu trữ 68 5.1.2 Lời gọi thủ tục 69 5.1.3 Biến trong thủ tục l ưu trữ 69 5.1.4 Giá trị trả về trong thủ tục l ưu trữ 70 5 5.1.5 Tham số với giá trị mặc định 71 5.1.6 Sửa đổi thủ tục 72 5.1.7 Xóa thủ tục 72 5.2 HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨA (USER DEFINED FUNCTION-UDF) 72 5.2.1 Hàm vô hướng - Scalar UDF 73 5.2.2 Hàm nội tuyến - Inline UDF 74 5.2.3 Hàm bao gồm nhiều câu lệnh b ên trong – Multi statement UDF 75 5.2.4 Thay đổi hàm 76 5.2.5 Xóa hàm 77 5.3 TRIGGER 77 5.3.1 Các đặc điểm của trigger 77 5.3.2 Các trường hợp sử dụng trigger 77 5.3.3 Khả năng sau của trigger 78 5.3.4 Định nghĩa trigger 78 5.3.5 Kích hoạt trigger dựa tr ên sự thay đổi dữliệu tr ên cột 82 5.3.6 Sử dụng trigger và Giao tác (TRANSACTION) 83 5.4 DDL TRIGGER 84 5.5 ENABLE/ DISABLE TRIGGER 85 CHƯƠNG VI SAO LƯU VÀ PHỤC HỒI DỮLIỆU (BACKUP AND RESTORE) 87 6.1 CÁC LÝ DO PHẢI THỰC HIỆN BACK UP 87 6.2 CÁC LOẠI BACKUP 87 6.2.1 Full backup và Differential backup 87 6.2.2 Transaction log backup 88 6.3 CÁC THAO TÁC THỰC HIỆN QUÁ TR ÌNH BACKUP VÀ RESTORE TRONG SQL SERVER 2005 EXPRESS EDITION 89 6.3.1 Sao lưu (Backup) 89 6.3.2 Phục hồi (Restore) 91 CHƯƠNG VII: CÁC HÀM QUAN TRỌNG TRONG T-SQL 94 7.1 CÁC HÀM LÀM VI ỆC VỚI KIỂU DỮLIỆU SỐ 94 7.1.1 Hàm ISNUMERIC 94 6 7.1.2 Hàm ROUND 94 7.2 CÁC HÀM LÀM VIỆC VỚI KIỂU DỮLIỆU CHUỖI 95 7.2.1 Hàm LEFT 95 7.2.2 Hàm RIGHT 95 7.2.3 Hàm SUBSTRING 95 7.2.4 Hàm LEN 96 7.2.5 Hàm REPLACE 96 7.2.6 Hàm STUFF 96 7.2.7 Hàm LOWER/UPPER 97 7.2.8 Hàm LTRIM/RTRIM 97 7.3 CÁC HÀM LÀM VI ỆC VỚI KIỂU DỮLIỆU NG ÀY THÁNG/ THỜI GIAN 97 7.3.1 Hàm GETDATE 97 7.3.2 Hàm DAY/ MONTH/ YEAR 98 7.3.3 Hàm DATEPART 98 7.3.4 Hàm DATENAME 99 7.4 Hàm CAST và CONVERTER 99 TÀI LIỆU THAM KHẢO 101 7 PHẦN GIỚI THIỆU MÔ ĐUN QUẢNTRỊ CƠ SỞ DỮLIỆUNÂNGCAO (MS SQL SERVER) MÃ SỐ MÔN ĐUN: MĐ 17 I. VỊ TRÍ, TÍNH CHẤT CỦA MÔN HỌC: - Vị trí của môn học: Môn học được bố trí cho sinh viên học trước mô đun Lập trình trực quan, Lập trình ứng dụng web với PHP và sau các môn học chuyên môn nghề khác . - Tính chất của môn học: Là môn học đào tạo nghề bắt buộc II. MỤC TIÊU MÔN HỌC - Hiểu được các kiến thức tổng quan về hệ quảntrị cơ sở dữ liệu, các khái niệm về cơ sở dữliệuquan hệ hướng đối tượng và cơ sở dữliệuquan hệ, ngôn ngữ MS SQL. - Nắm được các kiến trúc của hệ quảntrị cơ sở dữliệu MS SQL Server , cách làm việc và tương tác giữa các thành phần kiến trúc trong hệ thống. - Kết nối hệ thống mạng để sử dụng hệ thống cơ sở dữliệu - Thực hiện thành thạo các thao tác quảntrị tài khoản người dùng và tài khoản nhóm đối với hệ thống MS SQL Server . - Thiết lập cấu hình và giải quyết các vấn đề thường xảy ra trên mạng khi sử dụng truy cập cơ sở dữ liệu. - Bảo vệ tài nguyên dữliệu trên các hệ thống MS SQL Server III. NỘI DUNG MÔN HỌC 1. Nội dung tổng quát và phân phối thời gian: Số TT Tên chương mục Thời gian Tổng số Lý thuyết Thực hành Bài tập Kiểm tra (LT hoặcTH) I Giới thiệu lịch sử phát triển 4 2 2 - Giới thiệu chung về lịch sử phát triển của MS SQL Server2000, sự quan trọng và cần thiết của chúng trong lập trình ứng dụng - Các kiểu dữliệu trong MS SQL SERVER 8 II Các thành phần cơ bản của MS SQL Server 8 4 4 - Khái niệm về mô hình quan hệ - Cấu trúc và vai trò của các CSDL: Master, Model, msdl, Tempdb, pubs, tempdb, Northwind. III Giới thiệu một số công cụ MS SQL Server 8 4 4 - Sử dụng công cụ Enterprise manager để tạo ra các CSDL, các đối tượng trong CSDL. - Cách dùng công cụ Query Analyzer để ể tạo ra các CSDL, các đối tượng trong CSDL - Thiết lập một số cấu hình về Client network utility, Server network Utility IV Phát biểu cơ bản T-SQL 18 5 12 1 - Cú pháp các câu lệnh T- SQL - Các ví dụ minh họa - Bài tập áp dụng - Kiểm tra thực hành V Tạo và sửa đổi bằng dữliệu 18 5 12 1 - Tạo CSDL và bảng dữliệu bảng lệnh Create Database, Create Table 9 - Sử dụng được các ràng buộc: Check, Primary, Unique, foreign key - Xóa dữliệu trong bảng, cập nhật, và sửa đổi cấu trúc bảng - Kiểm tra thực hành VI Khóa và ràng buộc dữliệu 9 3 6 - Khái niệm cơ bản về ràng buộc - Ràng buộc dữliệu nhập vào - Ràng buộc miền - Ràng buộc trọn vẹn - Giá trị mặc định và qui luật VII Chuẩn hóa quan hệ 10 3 6 1 - Khái niệm về chuẩn hóa - Các bước chuẩn hóa - Các loại quan hệ - Kiểm tra thực hành VIII Bảng ảo(view) 8 2 6 - Khái niệm về view - Cách dùng view để lọc dữliệu - Cách cập nhật dữliệu vào view IX Thiết kế cơ sở dữliệu 7 2 4 1 10 - Khái niệm về mô hình quan hệ - Hiểu và phân biệt được mô hình logic và mô hình vật lý. - Cách sao lưu (backup) và khôi phục (restore) dữliệu - Kiểm tra thực hành Cộng 90 30 56 4 V. PHƯƠNG PHÁP VÀ NỘI DUNG ĐÁNH GIÁ * Về kiến thức: Được đánh giá qua bài kiểm tra viết, trắc nghiệm đạt được các yêu cầu sau: - Hiểu được các kiểu dữliệu trong MS SQL Server - Sử dụng được các tiện ích trong MS SQL Server - Hiểu được các phát biểu cơ bản của T-SQL - Hiểu và tạo được các khoá và ràng buộc dữliệu - Chuẩn hóa được các loại quan hệ - Thiết kế được một CSDL - Thiết lập được các bảo mật trên CSDL * Về kỹ năng: Đánh giá kỹ năng thực hành của sinh viên trong bài thực hành Tạo CSDL, truy vấn dữ liệu, tạo quan hệ và bảo mật dữliệu * Về thái độ: Cẩn thận, tự giác. [...]... các ngôn ng ữ lập trình để xây dựng nên các chương tr ình ứng dụng giao tiếp với cơ sở dữliệu SQL là ngôn ng ữ quản trị cơ sở dữ liệu: Thông qua SQL, ngư ời quản trị cơ sở dữliệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc l ưu trữ dữ liệu, điều khiển truy cập c ơ sở dữ liệu, SQL là ngôn ng ữ cho các hệ thống khách/chủ (client/server) : Trong các hệ thống cơ sở dữliệu khách/chủ, SQL... ười sử dụng và hệ quản trị cơ sở dữliệu 27 Trong hầu hết các hệ quảntrị c ơ sở dữliệuquan hệ, SQL có những vai tr ò như sau: SQL là ngôn ng ữ hỏi có tính tương tác : Người sử dụng có thể dễ d àng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến c ơ sở dữliệu và nhận kết quả trả về từ cơ sở dữliệu SQL là ngôn ng ữ lập trình cơ sở dữ liệu: Các lập trình viên có thể... và truy xuất dữliệu vẫn c òn là một trong những chức năngquan trọng của nó SQL đ ược sử dụng để điều khiển tất cả các chức năng m à một hệ quản trị cơ sở dữliệu cung cấp cho ng ười dùng bao gồm: Định nghĩa dữliệu : SQL cung cấp khả năng định nghĩa các c ơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữliệu cũng nh ư mối quan hệ giữa các th ành phần dữliệu Truy xuất và thao tác dữ liệu: Với SQL,... có Giá trị bị lỗi do tính toán (tr àn số, chia cho không, ) Những giá trị không xác định đ ược biểu diễn trong c ơ sở dữliệuquan hệ bởi các giá trị NULL Đây là giá tr ị đặc biệt và không nên nhầm lẫn với chuỗi rỗng (đối với dữliệu k iểu chuỗi) hay giá trị không (đối với giá trị kiểu số) Giá trị NULL đóng một vai tr ò quan trọng trong các cơ sở dữliệu và hầu hết các hệ quảntrị c ơ sở dữliệu quan... là công cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữliệu SQL là ngôn ngữ truy cập dữliệu tr ên Internet: Cho đến nay, hầu hết các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai tr ò là ngôn ngữ để tương tác với dữliệu trong các cơ s ở dữliệu SQL là ngôn ngữ cơ sở dữliệu phân tán : Đối với các hệ quảntrị c ơ sở dữliệu phân tán, mỗi một hệ thống... truy xuất, bổ sung, cập nhật v à loại bỏ dữliệu trong các c ơ sở dữliệu Điều khiển truy cập : SQL có thể được sử dụng để cấp phát v à kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an to àn cho cơ sở dữliệu Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các r àng buộc toàn vẹn trong cơ sở dữliệu nhờ đó đảm bảo tính hợp lệ v à chính xác của dữliệu trước các thao tác cập nhật cũng nh... câu lệnh Trong các hệ quảntrị c ơ sở dữliệu khác nhau, mặc dù các câu lệnh đều có cùng dạng và cùng mục đích sử dụng song mỗi một hệ quảntrị c ơ sở dữliệu có thể có một số thay đổi n ào đó Điều này đôi khi dẫn đến cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ quảntrị c ơ cơ sở dữliệu khác nhau T-SQL được chia làm 3 nhóm: 28 2.3.1 Ngôn ngữ định nghĩa dữliệu ( Data Definition... 2.3.11 Giá trị NULL Một cơ sở dữliệu là sự phản ánh của một hệ thống trong thế giới thực, do đó các giá trịdữliệu tồn tại trong c ơ sở dữliệu có thể không xác định đ ược Một giá trị không xác định đ ược xuất hiện trong cơ sở dữliệu có thể do một số nguy ên nhân sau: Giá trị đó có tồn tại nh ưng không biết Không xác định được giá trị đó có tồn tại hay không Tại một thời điểm n ào đó giá trị chưa... cần phải thực hiện tr ên cơ sở dữliệu mà không cần phải chỉ ra cách thức thực hiện các y êu cầu như thế nào Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận v à dễ sử dụng 2.2 VAI TRÒ CỦA SQL Bản thân SQL không phải l à một hệ quảntrị c ơ sở dữ liệu, nó không thể tồn tại độc lập SQL thực sự là một phần của hệ quảntrị c ơ sở dữ liệu, nó xuất hiện trong các hệ quảntrị c ơ sở dữliệu với vai tr ò ngôn ngữ và... SELECT: Sử dụng để truy xuất dữliệu từ môt hoặc nhiều bảng INSERT: Thêm dữliệu UPDATE: Cập nhật dữliệu DELETE: Xoá dữliệu Trong số các câu lệnh n ày, có thể nói SELECT l à câu lệnh tương đối phức tạp và được sử dụng nhiều trong c ơ sở dữliệu Với câu lệnh n ày, ta không chỉ thực hiện các yêu cầu truy xuất dữliệu đơn thuần mà còn có thể thực hiện được các yêu cầu thống kê dữliệu phức tạp Cũng chính . của Quản trị CDL nâng cao (MS SQL SERVER). Các bài học được trình bày ngắn gọn. Giáo trình này áp dụng cho sinh viên Trường Cao Đẳng Nghề Kiên Giang, nghề Quản trị mạng máy tính. Giáo trình. quan về hệ quản trị cơ sở dữ liệu, các khái niệm về cơ sở dữ liệu quan hệ hướng đối tượng và cơ sở dữ liệu quan hệ, ngôn ngữ MS SQL. - Nắm được các kiến trúc của hệ quản trị cơ sở dữ liệu MS SQL. LỜI NÓI ĐẦU Giáo trình Quản trị CDL nâng cao (MS SQL SERVER) được biên soạn dựa theo chương trình khung của Tổng cục dạy nghề chuyên ngành Quản trị mạng máy tính. Giáo trình trình bày những