Bà XÂY DĀNG TR¯ÞNG CAO ĐẲNG XÂY DĀNG Sà 1 GIÁO TRÌNH MÔN HàC: C¡ Sà Dþ LIÞU NGÀNH: CÔNG NGHÞ THÔNG TIN TRÌNH Đà: CAO ĐÀNG Ban hành kèm theo Quyết định số: 368ĐT/QĐ-CĐXD1 ngày 10 tháng 8 năm 2021 của Hißu trưáng Trưßng Cao đẳng Xây dựng số 1 Hà Nội, năm TUYÊN Bà BÀN QUYÀN Tài liáu này thuác loại sách giáo trình nên các nguồn thông tin có thể đ°ÿc phép dùng nguyên bản hoÁc trích dùng cho các māc đích về đào tạo và tham khảo. Mãi māc đích khác mang tính lách lạc hoÁc sử dāng vßi māc đích kinh doanh thiÁu lành mạnh s¿ bá nghiêm cấm. 1 LÞI NÓI ĐÀU Giáo trình Cơ sở dữ liệu được biên soạn nhằm phục vụ cho giảng dạy và học tập cho trình độ Cao đẳng ngành công nghß thông tin á trưßng Cao đẳng Xây dựng số 1. C¡ Sà Dþ LIÞU là môn học c¢ sá ngành nhằm cung cấp các kiến thức về nhÿng kiến thức c¢ bản về c¢ sá dÿ lißu, tạo và quản lý c¢ sá dÿ lißu trên phần mềm SQL Giáo trình C¡ Sà Dþ LIÞU do Ths.
Lê Thị Lư¢ng làm chủ biên soạn. Giáo trình này được viết theo đề cư¢ng môn học C¢ sá dÿ lißu. Ngoài ra giáo trình còn bổ sung thêm một số kiến thức mà trong các giáo trình trước chưa đề cập tới. Nội dung gồm 03 chư¢ng Chư¢ng 1: Tổng quan về c¢ sá dÿ lißu Chư¢ng 2: Các mô hình dÿ lißu Chư¢ng 3: Lý thuyết thiết kế CSDL quan hß 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À C¡ Sà Dþ LIÞU .1 Vai trò của c¢ sở dÿ liáu.
Mát số khái niám c¢ bản. 6 CH¯¡NG 2: CÁC MÔ HÌNH Dþ LIÞU .1 Mô hình thāc thể kÁt hÿp. Xây dāng mô hình ER .3 Mô hình quan há. 30 CH¯¡NG 3: LÝ THUY¾T THI¾T K¾ CSDL QUAN HÞ.
Phā thuác hàm của mô hình quan há .1 Đánh nghĩa phā thuác hàm .2 Các tính chất của l°ÿc đồ quan há. Bao đóng của mô hình quan há. Bao đóng của tÁp thuác tính .2 Bao đóng của tÁp phā thuác hàm. Khóa và siêu khóa của l°ÿc đồ quan há .4 Dạng chuẩn BCNF ( Boyce - Codd Normal Form).
Tách các l°ợc đß quan hß. 45 3 CH¯¡NG TRÌNH MÔN HàC Tên môn hác: C¡ Sà Dþ LIÞU Mã môn hác: MH12 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: 57 giá; Kiểm tra 03 giá) (Trong đó: Tổng số giß giảng dạy và học tập trực tuyến: 30 giß) I. Vß trí, tính ch¿t của môn hác: - Vá trí: + Môn hãc đ°ÿc bố trí ở kỳ hãc thứ 02 + Môn hãc tiên quyÁt: Không - Tính chất: là môn hãc c¢ sở ngành cung cấp các kiÁn thức c¢ bản về c¢ sở dÿ liáu, quản lý dÿ liáu, khai thác dÿ liáu, thiÁt kÁ c¢ sở dÿ liáu. Mục tiêu của môn hác: 1.
Về kiÁn thức: - Trình bày đ°ÿc các khái niám và vai trò của c¢ sở dÿ liáu; - Trình bày đ°ÿc kiÁn thức về mô hình thāc thể - liên kÁt, mô hình quan há và các chuyển từ mô hình thāc thể - liên kÁt sang mô hình CSDL quan há; - Trình bày đ°ÿc kiÁn thức về thiÁt kÁ CSDL quan há: phā thuác hàm, bao đóng, khóa, siêu khóa và các dạng chuẩn của l°ÿc đồ quan há. Về kỹ năng: - Giải đ°ÿc các bài toán b¿ng ngôn ngÿ đại số quan há; - ThiÁt kÁ đ°ÿc mát c¢ sở dÿ liáu theo các dạng chuẩn hóa. 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, có khả năng làm viác đác lÁp và biÁt kÁt hÿp nhóm. 4 CH¯¡NG 1: TàNG QUAN VÀ C¡ Sà Dþ LIÞU 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 há c¢ cở dÿ liáu; 3. Trình bày đ°ÿc các mô hình c¢ sở dÿ liáu; 5 CH¯¡NG 1: TàNG QUAN VÀ C¡ Sà Dþ LIÞU 1 Vai trò của c¢ sá dÿ lißu C¢ sở dÿ liáu (database) là mát há thống các thông tin có cấu trúc đ°ÿc l°u trÿ trên các thiÁt bá l°u trÿ thứ cấp (băng từ, đĩa từ&) nh¿m thoả mãn yêu cầu khai thác thông tin đồng thái của nhiều ng°ái sử dāng hay nhiều ch°¢ng trình ứng dāng vßi nhiều māc đích khác nhau. ¯u điểm của CSDL: • Giảm sā trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm đ°ÿc tính nhất quán và toàn vẹn dÿ liáu • Dÿ liáu có thể đ°ÿc truy xuất theo nhiều cách khác nhau • Khả năng chia xẻ thông tin cho nhiều ng°ái sử dāng và nhiều ứng dāng khác nhau Để đạt đ°ÿc nhÿng °u điểm trên CSDL đÁt ra nhÿng vấn đề cần giải quyÁt, đó là: • Tính chủ quyền của dÿ liáu.
Do sā chia xẻ của CSDL nên tính chủ quyền của dÿ liáu có thể bá lu mái và làm má nhạt tinh thần trách nhiám, đ°ÿc thể hián trên vấn đề an toàn dÿ liáu, khả năng biểu dißn các mối liên há ngÿ nghĩa của dÿ liáu và tính chính xác của dÿ liáu. Nghĩa là ng°ái khai thác CSDL phải có nghĩa vā cÁp nhÁt các thông tin mßi nhất của CSDL. • Tính bảo mÁt và quyền khai thác thông tin của ng°ái sử dāng (NSD). Do có nhiều ng°ái cùng khai thác CSDL mát cách đồng nên cần phải có mát c¢ chÁ bảo mÁt và phân quyền khai thác CSDL.
• Tranh chấp dÿ liáu. Nhiều ng°ái đ°ÿc phép truy cÁp vào cùng mát tài nguyên dÿ liáu (data source) của CSDL vßi nhÿng māc đích khác nhau nh° xem, thêm, xóa, sửa dÿ liáu. Nh° vÁy cần phải có c¢ chÁ °u tiên truy nhÁp dÿ liáu cũng nh° c¢ chÁ giải quyÁt tình trạnh khoá chÁt (DeadLock) trong quá trình khai thác cạnh tranh 2. Một số khái nißm c¢ bản - 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 6 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). 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. - Khoá của bảng Trong mát c¢ sở dÿ liáu đ°ÿc thiÁt kÁ tốt, mßi mát bảng phải có mát hoÁc mát tÁp các cát mà giá trá dÿ liáu của nó xác đánh duy nhất mát dòng trong mát tÁp các dòng của bảng.
TÁp mát hoÁc nhiều cát có tính chất này đ°ÿc gãi là khoá của bảng. Viác chãn khoá của bảng có vai trò quan trãng trong viác thiÁt kÁ và cài đÁt các c¢ sở dÿ liáu quan há. Các dòng dÿ liáu trong mát bảng phải có giá trá khác nhau trên khoá. Bảng MONHOC trong hình d°ßi đây có khoá là cát MAMH Mát bảng có thể có nhiều tÁp các cát khác nhau có tính chất của khoá (tức là giá trá của nó xác đánh duy nhất mát dòng dÿ liáu trong bảng).
Trong tr°áng hÿp này, khoá đ°ÿc chãn cho bảng đ°ÿc gãi là khoá chính (primary key) và nhÿng khoá còn lại đ°ÿc gãi là khoá phā hay là khoá dự tuyển (candidate key/unique key). 7 - Mối quan hệ và khoá ngoại Các bảng trong mát c¢ sở dÿ liáu không tồn tại đác lÁp mà có mối quan há mÁt thiÁt vßi nhau về mÁt dÿ liáu. Mối quan há này đ°ÿc thể hián thông qua ràng buác giá trị dÿ lißu xuất hißn á bảng này phải có xuất hißn trước trong một bảng khác. Mối quan há giÿa các bảng trong c¢ sở dÿ liáu nh¿m đàm bảo đ°ÿc tính đúng đắn và hÿp lá của dÿ liáu trong c¢ sở dÿ liáu.
Hai bảng GIANGDAY và LOP có mối quan há vßi nhau. Mối quan há này đòi hỏi giá trá cát MALOP của mát dòng (tức là mát lßp) trong bảng GIANGDAY phải đ°ÿc xác đánh từ cát MALOP của bảng LOP. Mối quan há giÿa các bảng trong mát c¢ sở dÿ liáu thể hián đúng mối quan há giÿa các thāc thể trong thÁ gißi thāc. Mối quan há giÿa hai bảng GIANGDAY và LOP không cho phép mát MALOP nào đó tồn tại mà lại thuác vào mát MONHOC không có thÁt.
Khái niám khoá ngoại (Foreign Key) trong c¢ sở dÿ liáu quan há đ°ÿc sử dāng để biểu dißn mối quan há giÿa các bảng dÿ liáu. Mát hay mát tÁp các cát trong mát bảng mà giá trá của nó đ°ÿc xác đánh từ khóa chính của mát bảng khác đ°ÿc gãi là khoá ngoại. Cát MALOP của bảng GIANGDAY đ°ÿc gãi là khoá ngại của bảng GIANGDAY, khoá ngoài này tham chiÁu đÁn khoá chính của bảng LOP là cát MALOP.1 Cơ sở dữ liệu 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 8 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 2.