Chương 1: Tổng quan về SQL Chương 2: Ngôn ngữ định nghĩa dữ liệu Chương 3: Ngôn ngữ thao tác dữ liệu Chương 4: Thiết kế View Chương 5: Thủ tục Trong quá trình biên soạn, nhóm giảng viên Bộ môn Tin học cơ sở của Trường Cao đẳng Xây dựng Số 1 - Bộ Xây dựng, đã được sự động viên quan tâm và góp ý của các đồng chí lãnh đạo, các đồng nghiệp trong và ngoài trường. Mặc dù có nhiều cố gắng, nhưng trong quá trình biên soạn, biên tập và in ấn khó tránh khỏi những thiếu sót. Chúng tôi xin được lượng thứ và tiếp thu những ý kiến đóng góp. Trân trọng cảm ơn! Hà Nái, ngày&&tháng&&năm&&& Chă biên Ths.
Lê Thá L°¢ng 2 MĀC LĀC CH¯¡NG 1: TàNG QUAN V SQL.1 SQL là ngôn ngā c¢ sá dā liáu quan há.2 Vai trò căa SQL .3 Táng quan và c¢ sá dā liáu quan há .1 Mô hình dā liáu quan há .4 Mối quan há và khoá ngo¿i .1 Câu lánh SQL.2 Qui tắc sÿ dāng tên trong SQL .4 Giá trá NULL. 15 CH¯¡NG 2: NGÔN NGĀ ĐàNH NGH)A DĀ LIàU .1 Ràng buác CHECK .2 Ràng buác PRIMARY KEY .3 Ràng buác UNIQUE .4 Ràng buác FOREIGN KEY. Cập nhật, bá sung và xoá dā liáu .1 Cập nhật, bá sung dā liáu. 31 CH¯¡NG 3: NGÔN NGĀ THAO TÁC DĀ LIàU .1 Truy xuất dā liáu với câu lánh SELECT .2 Danh sách chọn trong câu lánh SELECT .3 Chß đánh điÃu kián truy vấn dā liáu .4 T¿o mới bÁng dā liáu từ kÁt quÁ căa câu lánh SELECT .5 Sắp xÁp kÁt quÁ truy vấn.
44 CH¯¡NG 4: THIÀT KÀ VIEW .1 Khái niám c¢ bÁn và ràng buác .2 Ràng buác dā liáu nhập vào.3 Ràng buác miÃn .4 Ràng buác trọn vẹn. 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 .6 Sao l°u và phāc hßi dā liáu .1 Backup trong SQL .2 Các b°ớc Backup trong SQL .1 Restore trong SQL .2 Các b°ớc Restore trong SQL.
60 CH¯¡NG 5: THĂ TĀC .3 Lßi gọi thă tāc l°u trā .4 Sÿ dāng biÁn trong thă tāc .5 Giá trá trÁ và căa tham số trong thă tāc l°u trā .6 Tham số với giá trá mặc đánh. 76 4 CH¯¡NG TRÌNH MÔN HàC Tên môn hác: Hà QUÀN TRÞ C¡ Sâ DĀ LIàU MS SQL SERVER Mã sá môn hác: MH13 Thái gian thăc hián môn hác: 75 giß; (Lý thuyÁt: 15 giß; Thăc hành, thí nghiám, thÁo luận, bài tập: 56 giß; Kiểm tra: 4 giß) I. Vß trí, tính ch¿t căa môn hác: - Vá trí: là môn học thuác nhóm các môn học chuyên ngành trong ch°¢ng trình Công nghá thông tin (Ąng dāng phần mÃm). - Tính chất: Là môn học có tính ąng dāng cao căa ngành công nghá thông tin, cung cấp cho các kiÁn thąc c¢ bÁn và t¿o c¢ sá dā liáu và truy vấn dā liáu.
Māc tiêu môn hác: - Và kiÁn thąc: Mô tÁ các thành phần 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. Trình bày các kiÁn trúc căa há quÁn trá c¢ sá dā liáu MS SQL Server; cách t¿o, quÁn lý vew và thă tāc. - Và kỹ năng: Thăc hián thành th¿o các thao tác quÁn trá c¢ sá dā liáu với há thống MS SQL Server; t¿o, quÁn lý vew và thă tāc. - Và năng lăc tă chă và trách nhiám: Rèn luyán lòng yêu nghÃ, t° thÁ tác phong công nghiáp, tính kiên trì, sáng t¿o trong công viác.
Nái dung táng quát và phân bá thßi gian: Thái gian (giá) Sá Tên ch°¢ng, māc Táng Lý TH,TN, KiÃm TT sá thuy¿t TL, BT tra 1 Ch°¢ng 1: Táng quan và SQL 8 2 6 0 Ch°¢ng 2: Ngôn ngā đánh ngh*a dā 16 2 14 0 2 liáu 3 Ch°¢ng 3: Ngôn ngā thao tác dā liáu 24 4 18 2 4 Ch°¢ng 4: ThiÁt kÁ View 9 2 6 1 5 Ch°¢ng 5: Thă tāc 18 5 12 1 Cßng 75 15 56 4 5 CH¯¡NG 1: TàNG QUAN VÀ SQL Māc tiêu bài hác 1. Trình bày đ°ÿc các khái niám trong c¢ sá dā liáu; 2. Trình bày đ°ÿc vai trò căa SQL; 3. Trình bày đ°ÿc táng quan và c¢ sá dā liáu quan há; 4.
Trình bày đ°ÿc các s¢ l°ÿc và SQL. 6 CH¯¡NG 1: TàNG QUAN VÀ SQL 1.1 SQL là ngôn ngā c¢ sã dā liáu quan há SQL, viÁt tắt căa Structured Query Language (ngôn ngā hỏi có cấu trúc), là công cā sÿ dāng để tá chąc, quÁn lý và truy xuất dā liáu đuÿc l°u trā trong các c¢ sá dā liáu. SQL là mát há thống ngôn ngā bao gßm tập các câu lánh sÿ dāng để t°¢ng tác với c¢ sá dā liáu quan há. Tên gọi ngôn ngữ hỏi có cấu trúc phần nào đã liên t°áng đÁn mát công cā (ngôn ngā) dùng để truy xuất dā liáu trong các c¢ sá dā liáu, khÁ năng căa SQL v°ÿt xa so với mát công cā truy xuất dā liáu, māc đích ban đầu khi SQL đ°ÿc xây dăng nên và truy xuất dā liáu là mát trong nhāng chąc năng quan 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, ng°ßi dùng có thể dß dàng thăc hián các thao tác 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ác lßi căa há thống. Nh° vậy, có thể nói r¿ng SQL là mát ngôn ngā hoàn thián đ°ÿc sÿ dāng trong các há thống c¢ sá dā liáu và là mát thành phần không thể thiÁu trong các há quÁn trá c¢ sá dā liáu.
Mặc dù SQL không phÁi là mát ngôn ngā lập trình nh° C, C++, Java song các câu lánh mà SQL cung cấp có thể đ°ÿc nhúng vào trong các ngôn ngā lập trình nh¿m xây dăng các ąng dāng t°¢ng tác với c¢ sá dā liáu. Khác với các ngôn ngā lập trình quen thuác nh° C, C++, Java. SQL là ngôn ngā có tính khai báo. Với SQL, ng°ßi dùng chß cần mô tÁ các yêu cầu 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 Vai trò căa SQL Trong hầu hÁt các há quÁn trá c¢ sá dā liáu quan 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ể nhúng các câu lánh SQL vào trong 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 đ°ÿc sÿ dāng nh° 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Án trá c¢ sá dā liáu phân tán, mßi mát há thống sÿ dāng SQL để giao tiÁp với các há thống khác trên m¿ng, gái và nhận các yêu cầu truy xuất dā liáu với nhau.
• SQL là ngôn ngā sÿ dāng cho các cáng giao ti¿p c¢ sã dā liáu: Trong mát há thống m¿ng máy tính với nhiÃu há quÁn trá c¢ sá dā liáu khác nhau, SQL th°ßng đ°ÿc sÿ dāng nh° là mát chuẩn ngôn ngā để giao tiÁp giāa các há quÁn trá c¢ sá dā liáu.3 Táng quan vÁ c¢ sã dā liáu quan há 1.1 Mô hình dữ liệu quan hệ Mô hình dā liáu quan há đ°ÿc Codd đà xuất năm 1970 và đÁn nay trá thành mô hình đ°ÿc sÿ dāng phá biÁn trong các há quÁn trá c¢ sá dā liáu th°¢ng m¿i. Nói mát cách đ¢n giÁn, mát c¢ sá dā liáu quan há là mát c¢ sá dā liáu trong đó tất cÁ dā liáu đ°ÿc tá chąc trong các bÁng có mối quan há với nhau. Mßi mát bÁng bao gßm các dòng và các cát: mßi mát dòng đ°ÿc gọi là mát bÁn ghi (bá) và mßi mát cát là mát tr°ßng (thuác tính). - Ví dā: BÁng CBQL - Ví dā 2: BÁng GVCN - Ví dā 3: BÁng CVHT 1.2 Bảng (Table) Trong c¢ sá dā liáu quan há, bÁng là đối t°ÿng đ°ÿc sÿ dāng để tá chąc và l°u trā dā liáu.
Mát c¢ sá dā liáu bao gßm nhiÃu bÁng và mßi bÁng đ°ÿc xác đánh duy nhất bái tên bÁng. 9 Mát bÁng bao gßm mát tập các dòng và các cát: mßi mát dòng trong bÁng biểu dißn cho mát thăc thể (mßi mát dòng trong bÁng HOCVIEN t°¢ng ąng với mát Học viên); và mßi mát cát biểu dißn cho mát tính chất căa thăc thể (chÁng h¿n cát NGAYSINH trong bÁng HOCVIEN biểu dißn cho ngày sinh căa các học viên đ°ÿc l°u trā trong bÁng). Nh° vậy, liên quan đÁn mßi mát bÁng bao gßm các yÁu tố sau: • Tên căa bÁng: đ°ÿc sÿ dāng để xác đánh duy nhất mßi bÁng trong c¢ sá dā liáu. • C¿u trúc căa bÁng: Tập các cát trong bÁng.
Mßi mát cát trong bÁng đ°ÿc xác đánh bái mát tên cột và phÁi có mát kiểu dā liáu nào đó (chÁng h¿n cát NGAYSINH trong bÁng HOCVIEN có kiểu là SMALLTIME).