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 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á .3 Khoá cÿa bảng.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 .2 Tạo bảng 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. 30 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.
43 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 4 Tên môn hác: Hà QUÀN TRÞ C¡ Sâ DĀ LIàU SQL SERVER Mã sá môn hác: MH19 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 bắt buác thuác nhóm các môn học, mô đun chuyên ngành trong ch°¢ng trình Quản trá mạng - Tính chất: là môn học chuyên môn nghÃ. Đây là môn học c¢ sá ngành cÿa ngành quản trá mạng, cung cấp cho các kiÁn thāc c¢ bản 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 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.
- Và kỹ năng: Thăc hián thành thạo các thao tác quản trá 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. - 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 Thăc hành, thí Sá TT Tên ch°¢ng mÿc Táng Lý KiÃm nghiám, thÁo sá thuy¿t tra luận, bài tập 1 Ch°¢ng 1: Táng quan và 15 2 13 SQL 2 Ch°¢ng 2: Ngôn ngā đánh 20 4 14 2 ngh*a dā liáu 3 Ch°¢ng 3 Ngôn ngā thao 25 5 20 tác dā liáu 4 Ch°¢ng 4: ThiÁt kÁ View 15 4 9 2 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ā 8 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.
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). 9 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).
Kiểu dā liáu cÿa mßi cát qui đánh giá trá dā liáu có thể đ°ÿc chấp nhận trên cát đó. • Dā liáu cāa bÁng: Tập các dòng (bản ghi) hián có trong bảng.