Bài giảng Cơ sở dữ liệu - Xác định khóa của các quan hệ - Trần Ngọc Bảo

pdf 54 trang huongle 2360
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Xác định khóa của các quan hệ - Trần Ngọc Bảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_co_so_du_lieu_xac_dinh_khoa_cua_cac_quan_he_tran_n.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Xác định khóa của các quan hệ - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU Xác định khóa của các quan hệ Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  2. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU XXÁÁCC ĐĐỊỊNHNH KHKHÓÓAA CCỦỦAA CCÁÁCC QUANQUAN HHỆỆ • Xác định khóa chính của các quan hệ • Xác định khóa ngoại của các quan hệ • Vẽ lược đồ CSDL (Diagram)
  3. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU XXÁÁCC ĐĐỊỊNHNH KHKHÓÓAA CCỦỦAA CCÁÁCC QUANQUAN HHỆỆ • Xác định khóa chính của các quan hệ • Xác định khóa ngoại của các quan hệ • Vẽ lược đồ CSDL (Diagram)
  4. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Phòng giáo vụ tại một trường Đại học muốn tin học hóa việc Ệ Ệ LI quản lý đăng ký học chuyên đề của sinh viên. Kết quả phân tích LI A A Ữ Ữ thiết kế được mô hình CSDL quan hệ như sau: Ó Ó D D Ở Ở 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) S S Ơ Ơ Tân từ: Mỗi sinh viên có một mã số duy nhất (MASV), một họ tên NH KH NH KH Ị Ị N C N C (HOTEN), thuộc một phái (PHAI), có một ngày sinh (NGAYSINH), Đ Đ Ầ Ầ có một địa chỉ (DCHI), và học một ngành duy nhất (MANGANH) C C Á Á C PH C PH Ọ Ọ P X P X Ậ Ậ Xác định khóa chính của quan hệ SINHVIEN ? I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H4HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (4)(4)
  5. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Ệ Ệ Khoá chính gọi tắt là Khóa của một quan hệ Q là tập thuộc tính LI LI K ⊆Q, sao cho ∀q1,q2 ⊆ TQ, q1 ≠ q2 ⇔ q1[K] ≠ q2[K] A A Ữ Ữ Ó Ó D D Ở Ở Ví dụ: cho quan hệ SinhVien(MaSV,TenSV,Nam,Khoa) với thuộc S S tính MaSV là khóa Ơ Ơ NH KH NH KH Æhai sinh viên không được phép có mã số giống nhau Ị Ị N C N C Đ Đ ⇔ mọi dòng (bộ) trong quan hệ sinh viên phải có thuộc tính mã Ầ Ầ C C sinh viên khác nhau Á Á ⇔ mỗi sinh viên có một mã số duy nhất C PH C PH Ọ Ọ P X P X Ậ Ậ I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H5HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (5)(5)
  6. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Ệ Ệ MaSV TenSV Nam Khoa LI LI A A K28.103.001 Trần Quốc Thanh 1 CNTT Ữ Ữ Ó Ó D D K28.101.001 Nguyễn Công Phú 1 TOAN Ở Ở S S K28.101.002 Phan Anh Khanh 1 TOAN Ơ Ơ NH KH NH KH Ị Ị N C N C Đ K27.101.001 Phạm Khánh Như 2 TOAN Đ Ầ Ầ C C Á K26.102.001 Trần Ngọc Dung 3 VLY Á C PH C PH Ọ Ọ P X P X K25.201.001 Phạm Khánh Như 4 HOA Ậ Ậ K28.103.001 Hàn Quốc Việt 2 HOA I T NG H I T NG H Ả Ả À À B B I GI I GI À À Không hợp lệ, vì MaSV là thuộc tính Khóa B B Hợp lệ, vì TenSV không phải là thuộc tính Khóa TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H6HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (6)(6)
  7. BÀI TẬP QUẢN LÝ SINH VIÊN U U Tóm lại thuộc tính Khóa là thuộc tính có Ệ Ệ LI LI A A Ữ Ữ Ó giá trị duy nhất cho mỗi bộ Ó D D Ở Ở S S Ví dụ: cho quan hệ SinhVien(MaSV,TenSV,Nam,Khoa) với thuộc Ơ Ơ tính MaSV là khóa NH KH NH KH Ị Ị N C Æ N C hai sinh viên không được phép có mã số giống nhau Đ Đ Ầ Ầ ⇔ mọi dòng (bộ) trong quan hệ sinh viên phải có thuộc tính mã C C Á Á sinh viên khác nhau C PH C PH ⇔ mỗi sinh viên có một mã số duy nhất Ọ Ọ P X P X Ậ Ậ Để xác định khóa chính cho mỗi quan hệ ? I T NG H I T NG H Ả Ả À À B B I GI I GI ‰ Tìm thuộc tính “là duy nhất” trong mô tả Tân từ À À B B ‰ Cho một vài thể hiện của quan hệ, dựa trên những thể hiện này để xác định khóa của quan hệ TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H7HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (7)(7)
  8. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Phòng giáo vụ tại một trường Đại học muốn tin học hóa việc Ệ Ệ LI quản lý đăng ký học chuyên đề của sinh viên. Kết quả phân tích LI A A Ữ Ữ thiết kế được mô hình CSDL quan hệ như sau: Ó Ó D D Ở Ở 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) S S Ơ Ơ Tân từ: Mỗi sinh viên có một mã số duy nhất (MASV), một họ tên NH KH NH KH Ị Ị N C N C (HOTEN), thuộc một phái (PHAI), có một ngày sinh (NGAYSINH), Đ Đ Ầ Ầ có một địa chỉ (DCHI), và học một ngành (MANGANH) C C Á Á C PH C PH Ọ Ọ P X P X Ậ Ậ Xác định khóa chính của quan hệ SINHVIEN ? I T NG H I T NG H Ả Ả À À Mỗi sinh viên có một mã số duy nhất (MASV) B B I GI I GI Æ MaSV là khóa chính của quan hệ SINHVIEN À À B B 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H8HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (8)(8)
  9. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 2. NGANH(MANGANH, TENNGANH, SOCD, TSSV) Ệ Ệ LI LI A A Tân từ: Mỗi ngành có một mã duy nhất (MANGANH), có một tên Ữ Ữ Ó Ó D D duy nhất (TENNGANH). SOCD là số lượng chuyên đề mà một Ở Ở sinh viên theo học ngành có mã ngành có MANGANH phải học. S S TSSV cho biết tổng số sinh viên đã từng theo học ngành này. Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Xác định khóa chính của quan hệ NGANH ? Á Á C PH C PH Ọ Ọ Mỗi ngành có một mã số duy nhất (MANGANH) P X P X Ậ Ậ Mỗi ngành có một tên duy nhất (TENNGANH) I T NG H I T NG H ÆChọn thuộc tính nào làm khóa ? MANGANH Ả Ả À À B hay TENNGANH ? B I GI I GI À À Æ Cho một thể hiện của quan hệ NGANH để xác B B định Khóa TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H9HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (9)(9)
  10. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 2. NGANH(MANGANH, TENNGANH, SOCD, TSSV) Ệ Ệ LI LI MANGANH TENNGANH SOCD TSSV A A Ữ Ữ Ó Ó D D SP103 Sư Phạm Tin học 8 800 Ở Ở SP101 Sư Phạm Toán 5 1000 S S Ơ Ơ NH KH NH KH SP201 Sư Phạm Hóa 3 1500 Ị Ị N C N C Đ Đ Ầ Ầ SP102 Sư Phạm Lý 4 1200 C C Á Á C PH C PH CNTT Khoa học máy tính 8 160 Ọ Ọ P X P X Ậ Ậ SP104 Sư Phạm Lý 6 1000 I T NG H I T NG H SP103 Sư phạm Anh 2 1100 Ả Ả À À B B I GI I GI À À B B Không hợp lệ, vì MANGANH là duy nhất Không hợp lệ, vì TENNGANH là duy nhất TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN10 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (10)(10)
  11. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 2. NGANH(MANGANH, TENNGANH, SOCD, TSSV) Ệ Ệ LI LI A A Tân từ: Mỗi ngành có một mã duy nhất (MANGANH), có một tên Ữ Ữ Ó Ó D D duy nhất (TENNGANH). SOCD là số lượng chuyên đề mà một Ở Ở sinh viên theo học ngành có mã ngành có MANGANH phải học. S S TSSV cho biết tổng số sinh viên đã từng theo học ngành này. Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Xác định khóa chính của quan hệ NGANH ? Á Á C PH C PH Mỗi ngành có một mã số duy nhất (MANGANH) Ọ Ọ P X P X Mỗi ngành có một tên duy nhất (TENNGANH) Ậ Ậ I T NG H ÆChọn thuộc tính nào làm khóa ? MANGANH I T NG H Ả Ả À À hay TENNGANH ? B B I GI I GI Æ Chọn MANGANH làm khóa, TENNGANH duy À À B B nhất là một ràng buộc toàn vẹn liên bộ 2. NGANH(MANGANH, TENNGANH, SOCD, TSSV) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN11 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (11)(11)
  12. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 3. CHUYENDE(MACD, TENCD, SOSVTD) Ệ Ệ LI LI A A Tân từ: Mỗi chuyên đề có một mã duy nhất (MACD), có một tên Ữ Ữ Ó Ó D D duy nhất (TENCD). SOSVTD cho biết số sinh viên tối đa có thể Ở Ở chấp nhận được mỗi khi có một lớp được mở cho chuyên đề có S S mã là MACD. Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Xác định khóa chính của quan hệ CHUYENDE ? Á Á C PH C PH Ọ Ọ Mỗi chuyên đề có một mã số duy nhất (MACD) P X P X Ậ Ậ Mỗi chuyên đề có một tên duy nhất (TENCD) I T NG H I T NG H ÆChọn thuộc tính nào làm khóa ? MACD hay Ả Ả À À B TENCD ? B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN12 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (12)(12)
  13. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 3. CHUYENDE(MACD, TENCD, SOSVTD) Ệ Ệ LI LI MACD TENCD SOSVTD A A Ữ Ữ Ó Ó D D THCD001 Chuyên đề Oracle 40 Ở Ở THCD002 Chuyên đề SQL Server 30 S S Ơ Ơ NH KH NH KH THCD003 Chuyên đề Java 50 Ị Ị N C N C Đ Đ Ầ Ầ TOCD001 Chuyên đề Đại sốứng dụng 60 C C Á Á C PH C PH HHCD001 Chuyên đề Điện hóa 20 Ọ Ọ P X P X Ậ Ậ TOCD002 Chuyên đề Đại sốứng dụng 45 I T NG H I T NG H THCD001 Chuyên đề Đồ họa ứng dụng 45 Ả Ả À À B B I GI I GI À À B B Không hợp lệ, vì MACD là duy nhất Không hợp lệ, vì TENCD là duy nhất TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN13 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (13)(13)
  14. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 3. CHUYENDE(MACD, TENCD, SOSVTD) Ệ Ệ LI LI A A Tân từ: Mỗi chuyên đề có một mã duy nhất (MACD), có một tên Ữ Ữ Ó Ó D D duy nhất (TENCD). SOSVTD cho biết số sinh viên tối đa có thể Ở Ở chấp nhận được mỗi khi có một lớp được mở cho chuyên đề có S S mã là MACD. Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Xác định khóa chính của quan hệ CHUYENDE ? Á Á C PH C PH Mỗi chuyên đề có một mã số duy nhất (MACD) Ọ Ọ P X P X Ậ Ậ Mỗi chuyên đề có một tên duy nhất (TENCD) I T NG H I T NG H ÆChọn thuộc tính nào làm khóa ? MACD hay Ả Ả À À TENCD ? B B I GI I GI Æ Chọn MACD làm khóa, TENCD duy nhất là À À B B một ràng buộc toàn vẹn liên bộ 3. CHUYENDE(MACD, TENCD, SOSVTD) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN14 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (14)(14)
  15. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 4. CD_NGANH(MACD, MANGANH) Ệ Ệ LI LI A A Tân từ: Mỗi chuyên đề có thể được học bởi nhiều ngành Ữ Ữ Ó Ó D D (MANGANH), mỗi ngành có thể học nhiều chuyên đề (MACD). Ở Ở Mỗi ngành học tối đa là 8 chuyên đề S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Xác định khóa chính của quan hệ CD_NGANH ? Á Á C PH C PH Ọ Ọ Mã chuyên đề (MACD) không phải là duy nhất P X P X Ậ Ậ Mã ngành (MANGANH) cũng không phải là duy nhất I T NG H I T NG H ÆChọn thuộc tính nào làm khóa ? MACD hay Ả Ả À À B MANGANH, hay cả 2 (MACD, MANGANH) ? B I GI I GI À À ÆCho một vài thể hiện của quan hệ CD_NGANH để B B xác định khoá TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN15 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (15)(15)
  16. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 4. CD_NGANH(MACD, MANGANH) Ệ Ệ LI LI A A ‰ Trường hợp 1: Nếu chọn MACD là khóa chính Ữ Ữ Ó Ó D D Ở Ở MACD MANGANH S S THCD001 SPS103 Sinh viên ngành Sư phạm Tin Ơ Ơ NH KH NH KH Ị Ị THCD002 SPS103 (SPS103) học chuyên đề Oracle N C N C Đ Đ (THCD001) Ầ Ầ C C THCD003 CNTT Á Á Sinh viên ngành Khoa học máy C PH C PH THCD001 CNTT Ọ Ọ tính (CNTT) học chuyên đề P X P X Ậ Ậ Oracle (THCD001) Không Hợp lệ I T NG H I T NG H Hợp lệ Ả Ả À À vì chúng ta chọn MACD là B B I GI I GI khóa chính nên không thể vì trong Tân từ mô tả một chuyên À À tồn tại 2 dòng có thuộc đề có thể được học bởi nhiều B B tính MACD =‘THCD001’ ngành MACD không phải là khóa chính của quan hệ CD_NGANH TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN16 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (16)(16)
  17. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U 4. CD_NGANH(MACD, MANGANH) U Ệ Ệ LI LI ‰ Trường hợp 2: Nếu chọn MANGANH là khóa chính A A Ữ Ữ Ó Ó D D MACD MANGANH Ở Ở S S THCD001 SPS103 Sinh viên ngành Sư phạm Tin Ơ Ơ (SPS103) học chuyên đề Oracle NH KH TOCD001 SPS101 NH KH Ị Ị N C N C (THCD001) Đ Đ Ầ Ầ THCD003 CNTT C C Á Sinh viên ngành Sư phạm Tin Á THCD003 SPS103 C PH C PH (SPS103) học chuyên đề Java Ọ Ọ P X P X Không Hợp lệ (THCD003) Ậ Ậ Hợp lệ I T NG H vì chúng ta chọn MANGANH I T NG H Ả Ả À À là khóa chính nên không thể vì trong Tân từ mô tả một B B ngành có thể được nhiều I GI I GI tồn tại 2 dòng có thuộc tính À À MANGANH =‘SPS103’ chuyên đề B B MANGANH cũng không phải là khóa chính của quan hệ CD_NGANH TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN17 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (17)(17)
  18. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U 4. CD_NGANH(MACD, MANGANH) U Ệ Ệ LI LI A A (MACD, MANGANH) là khóa chính của quan hệ CD_NGANH Ữ Ữ Ó Ó D D Ở Ở S S MACD MANGANH Ơ Ơ NH KH THCD001 SPS103 NH KH Sinh viên ngành Sư phạm Tin Ị Ị N C N C Đ Đ TOCD001 SPS101 (SPS103) học chuyên đề Oracle Ầ Ầ C C (THCD001) Á Á THCD003 CNTT C PH C PH Sinh viên ngành Sư phạm Tin Ọ Ọ P X THCD003 SPS103 P X (SPS103) học chuyên đề Java Ậ Ậ THCD001 CNTT (THCD003) I T NG H I T NG H Ả Ả À À B B I GI Sinh viên ngành Khoa học máy I GI À À tính (CNTT) học chuyên đề B B Oracle (THCD001) 4. CD_NGANH(MACD, MANGANH) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN18 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (18)(18)
  19. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 5. CD_MO(MACD, NAM, HOCKY) Ệ Ệ LI LI A A Tân từ: Mỗi bộ của quan hệ CD_MO thể hiện một chuyên đề Ữ Ữ Ó Ó D D (MACD) được mở ra trong một học kỳ (HOCKY) của một năm học Ở Ở (NAM). Thông thường, số sinh viên của ngành là không nhiều S S nên đối với ngành “Mạng máy tính” không được mở cùng một Ơ Ơ NH KH NH KH chuyên đề trong 2 học kỳ liên tiếp của cùng một năm học. Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á C PH C PH Xác định khóa chính của quan hệ CD_MO ? Ọ Ọ P X P X Ậ Ậ Mã chuyên đề (MACD) không phải là duy nhất I T NG H I T NG H Ả Ả À À ÆChọn thuộc tính nào làm khóa ? MACD hay B B (MACD,NAM), (MACD,HOCKY), (NAM,HOCKY) hay cả 3 I GI I GI À À (MACD, NAM,HOCKY) ? B B ÆCho một vài thể hiện của quan hệ CD_NGANH để xác định khoá TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN19 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (19)(19)
  20. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 5. CD_MO(MACD, NAM, HOCKY) Ệ Ệ LI LI A A ‰ Trường hợp 1: Nếu chọn MACD là khóa chính Ữ Ữ Ó Ó D D MACD NAM HOCKY Ở Ở S S THCD001 2006 1 Chuyên đề Oracle (THCD001) Ơ Ơ NH KH NH KH THCD002 2006 1 Ị Ị được mở vào học kỳ 1 năm 2006 N C N C Đ Đ Ầ Ầ THCD003 2006 1 C C Á Á THCD001 2006 2 Chuyên đề Oracle (THCD001) C PH C PH Ọ Ọ được mở vào học kỳ 2 năm 2006 P X P X Không Hợp lệ Ậ Ậ Hợp lệ I T NG H I T NG H vì ta chọn MACD là khóa Ả Ả À À chính nên không thể tồn tại B vì trong Tân từ mô tả một chuyên B I GI I GI 2 dòng có thuộc tính đề có thể được mởởnhiều học À À B MACD =‘THCD001’ B kỳ, của nhiều năm học MACD không phải là khóa chính của quan hệ CD_MO TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN20 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (20)(20)
  21. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 5. CD_MO(MACD, NAM, HOCKY) Ệ Ệ LI LI A A ‰ Trường hợp 2: Nếu chọn (MACD,NAM) là khóa chính Ữ Ữ Ó Ó D D MACD NAM HOCKY Ở Ở S S THCD001 2006 1 Chuyên đề Oracle (THCD001) Ơ Ơ NH KH NH KH THCD002 2006 1 Ị Ị được mở vào học kỳ 1 năm 2006 N C N C Đ Đ Ầ Ầ THCD003 2006 1 C C Á Á THCD001 2006 2 Chuyên đề Oracle (THCD001) C PH C PH Ọ Ọ được mở vào học kỳ 2 năm 2006 P X P X Không Hợp lệ Ậ Ậ Hợp lệ I T NG H I T NG H vì ta chọn MACD,NAM là Ả Ả À À khóa chính nên không thể B vì trong Tân từ mô tả một chuyên B I GI I GI tồn tại 2 dòng có thuộc đề có thể được mởởnhiều học À À B tính MACD =‘THCD001’ và B kỳ, của nhiều năm học NAM = 2006 MACD,NAM không phải là khóa chính của quan hệ CD_MO TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN21 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (21)(21)
  22. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 5. CD_MO(MACD, NAM, HOCKY) Ệ Ệ LI LI A A Ữ Ữ MACD, NAM, HOCKY là khóa chính của quan hệ CD_MO Ó Ó D D Ở Ở S S Ơ Ơ MACD NAM HOCKY NH KH NH KH Ị Ị THCD001 2006 1 N C N C Chuyên đề Oracle (THCD001) Đ Đ Ầ Ầ được mở vào học kỳ 1 năm 2006 C C THCD002 2006 1 Á Á C PH C PH THCD003 2006 1 Ọ Ọ P X P X Chuyên đề Oracle (THCD001) Ậ Ậ THCD001 2006 2 được mở vào học kỳ 2 năm 2006 I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B 5. CD_MO(MACD, NAM, HOCKY) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN22 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (22)(22)
  23. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI A A Tân từ: Mỗi bộ của quan hệ DANGKY thể hiện việc một sinh viên Ữ Ữ Ó Ó D D (MASV) đăng ký học một chuyên đề (MACD) nào đó trong một Ở Ở học kỳ (HOCKY) của một năm học (NAM). S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Xác định khóa chính của quan hệ CD_MO ? Ầ Ầ C C Á Á Mã sinh viên (MASV) không phải là duy nhất C PH C PH Ọ Ọ P X P X Mã chuyên đề (MACD) không phải là duy nhất Ậ Ậ ÆChọn thuộc tính nào làm khóa ? MASV hay MACD, I T NG H I T NG H (MASV, MACD), (MASV, MACD, NAM), (MASV, NAM, Ả Ả À À B B HOCKY), hay cả 4 (MASV, MACD, NAM,HOCKY) ? I GI I GI À À ÆCho một vài thể hiện của quan hệ CD_NGANH để B B xác định khoá TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN23 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (23)(23)
  24. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 1: Nếu chọn MASV là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H được mở vào học kỳ Ả Ả À À vì trong Tân từ mô tả một sinh B 2 năm 2006 B I GI I GI viên có thể đăng ký học nhiều À À chuyên đề ở nhiều học kỳ của Hợp lệ B B nhiều năm học TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN24 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (24)(24)
  25. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 1: Nếu chọn MASV là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X Không Hợp lệ đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H vì ta chọn MASV là khóa được mở vào học kỳ Ả Ả À À chính nên không thể tồn tại 2 B 2 năm 2006 B I GI I GI dòng có thuộc tính MASV À À B =‘K28,103,001’ B MASV không phải là khóa chính của quan hệ DANGKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN25 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (25)(25)
  26. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 2: Nếu chọn MASV, MACD là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H được mở vào học kỳ Ả Ả À À vì trong Tân từ mô tả một sinh B 2 năm 2006 B I GI I GI viên có thể đăng ký học nhiều À À chuyên đề ở nhiều học kỳ của Hợp lệ B B nhiều năm học TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN26 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (26)(26)
  27. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 2: Nếu chọn MASV,MACD là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X Không Hợp lệ đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H vì ta chọn MASV, MACD là khóa chính được mở vào học kỳ Ả Ả À À nên không thể tồn tại 2 dòng có thuộc B 2 năm 2006 B I GI I GI tính MASV =‘K28,103,001’ và MACD = À À B ‘THCD001’ B MASV, MACD không phải là khóa chính của quan hệ DANGKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN27 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (27)(27)
  28. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 3: Nếu chọn MASV, MACD, NAM là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H được mở vào học kỳ Ả Ả À À vì trong Tân từ mô tả một sinh B 2 năm 2006 B I GI I GI viên có thể đăng ký học nhiều À À chuyên đề ở nhiều học kỳ của Hợp lệ B B nhiều năm học TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN28 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (28)(28)
  29. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI ‰ Trường hợp 3: Nếu chọn MASV, MACD, NAM là khóa chính A A Ữ Ữ Ó Ó D D MASV MACD NAM HOCKY Ở Ở Sinh viên K28.103.001 S S K28.103.001 THCD001 2006 1 đăng ký học Chuyên Ơ Ơ NH KH NH KH K27.103.002 THCD002 2006 1 đề Oracle (THCD001) Ị Ị N C N C Đ Đ được mở vào học kỳ Ầ Ầ K27.103.001 THCD003 2006 1 C C 1 năm 2006 Á Á K28.103.001 THCD001 2006 2 C PH C PH Sinh viên K28.103.001 Ọ Ọ P X P X Không Hợp lệ đăng ký học Chuyên Ậ Ậ đề Oracle (THCD001) I T NG H I T NG H vì ta chọn MASV, MACD, NAM là khóa được mở vào học kỳ Ả Ả À À chính nên không thể tồn tại 2 dòng có B 2 năm 2006 B I GI I GI thuộc tính MASV =‘K28,103,001’ và À À B MACD = ‘THCD001’ và NAM = 2006 B MASV, MACD, NAM không phải là khóa chính của quan hệ DANGKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN29 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (29)(29)
  30. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 6. DANGKY(MASV, MACD, NAM, HOCKY) Ệ Ệ LI LI A A MASV, MACD, NAM, HOCKY là khóa chính của quan hệ Ữ Ữ Ó Ó D D DANGKY Ở Ở S S Ơ Ơ MASV MACD NAM HOCKY Sinh viên K28.103.001 NH KH NH KH Ị Ị K28.103.001 THCD001 2006 1 đăng ký học Chuyên N C N C Đ Đ Ầ Ầ K27.103.002 THCD002 2006 1 đề Oracle (THCD001) C C Á Á được mở vào học kỳ K27.103.001 THCD003 2006 1 C PH C PH 1 năm 2006 Ọ Ọ P X P X K28.103.001 THCD001 2006 2 Ậ Ậ Sinh viên K28.103.001 I T NG H I T NG H đăng ký học Chuyên Ả Ả À À đề Oracle (THCD001) B B I GI I GI được mở vào học kỳ À À B B 2 năm 2006 6. DANGKY(MASV, MACD, NAM, HOCKY) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN30 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (30)(30)
  31. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Ệ Ệ Kết luận: Khóa chính của các quan hệ trong LI LI A A Ữ Ữ Ó Ó D D ứng dụng quản lý chuyên đề như sau: Ở Ở S S 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) Ầ Ầ C C Á Á 3. CHUYENDE (MACD, TENCD, SOSVTD) C PH C PH Ọ Ọ P X P X Ậ Ậ 4. CD_NGANH (MACD, MANGANH) I T NG H I T NG H Ả Ả À À 5. CD_MO(MACD, NAM, HOCKY) B B I GI I GI À À 6. DANGKY(MASV, MACD, NAM, HOCKY) B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN31 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (31)(31)
  32. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU XXÁÁCC ĐĐỊỊNHNH KHKHÓÓAA CCỦỦAA CCÁÁCC QUANQUAN HHỆỆ • Xác định khóa chính của các quan hệ • Xác định khóa ngoại của các quan hệ • Vẽ lược đồ CSDL (Diagram)
  33. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ệ Ệ LI LI A A Ữ Ữ 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) Ó Ó D D Ở Ở 3. CHUYENDE (MACD, TENCD, SOSVTD) S S Ơ Ơ NH KH NH KH Ị Ị 4. CD_NGANH (MACD, MANGANH) N C N C Đ Đ Ầ Ầ C C 5. CD_MO(MACD, NAM, HOCKY) Á Á C PH C PH Ọ Ọ P X P X 6. DANGKY(MASV, MACD, NAM, HOCKY) Ậ Ậ Để xác định khóa ngoại của một quan hệ ta xét lần I T NG H I T NG H Ả Ả À À B B I GI I GI lượt mối liên hệ giữa chúng với các quan hệ khác À À B B theo qui tắc “Khóa ngoại của quan hệ này là khóa chính của quan hệ kia” TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN33 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (33)(33)
  34. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ SINHVIEN Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN34 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (34)(34)
  35. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ SINHVIEN Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ XXét mối liên hệ giữa SINHVIEN và NGANH ta có: Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á thuộc tính MANGANH trong quan hệ SINHVIEN là C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Khóa chính trong quan hệ NGANH Ậ Khóa chính trong quan hệ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À Æ thuộộcc ttíínhnh MANGANHMANGANH trongtrong quanquan hhệệ B B I GI I GI À À B B SINHVIEN llàà mmộộtt KhKhóóaa ngongoạạii TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN35 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (35)(35)
  36. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ SINHVIEN Ệ Ệ LI LI A A Ữ Ữ 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ mối liên hệ giữa SINHVIEN và NGANH Đ BiBiểểuu didiễễnn mối liên hệ giữa và Ầ Ầ C C Á Á SINHVIEN NGANH C PH C PH MANGANH = MANGANH Ọ Ọ P X P X MASV MANGANH Ậ Ậ MANGANH I T NG H I T NG H Ả Ả À À B B I GI I GI • : Primary Key = Khóa chính À À B B • : Foreign Key = Khóa ngoại TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN36 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (36)(36)
  37. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B QuanQuan hhệệ NGANH không có khóa ngoại TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN37 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (37)(37)
  38. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ CHUYENDE Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B QuanQuan hhệệ CHUYENDE không có khóa ngoại TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN38 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (38)(38)
  39. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ CD_NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5.BiBiểể CD_MO(MACD,uu didiễễnn mố iNAM, liên HOCKYhệ giữ) a CD_NGANH và NGANH P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H CD_NGANH NGANH Ả Ả À À MANGANH = MANGANH MACD B B MANGANH I GI I GI MANGANH À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN39 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (39)(39)
  40. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ CD_NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Biểu diễn mối liên hệ giữa CD_NGANH và CHUYENDE Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H CD_NGANH CHUYENDE Ả Ả À À MACD = MACD B B MACD MACD I GI I GI À À MANGANH B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN40 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (40)(40)
  41. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ CD_NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN41 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (41)(41)
  42. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ CD_NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X NGANH CD_NGANH CHUYENDE Ậ MANGANH = MANGANH MACD = MACD Ậ 6.MANGANH DANGKY(MASV, MACD, NAM,MACD HOCKY ) MACD I T NG H I T NG H MANGANH Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN42 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (42)(42)
  43. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ CD_MO Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV,mối liênMACD, hệ NAM,giữ aHOCKY CD_MO) và CHUYENDE I T NG H Biểu diễn mối liên hệ giữa và I T NG H Biểu diễn Ả Ả À À B B CD_MO CHUYENDE I GI I GI MACD = MACD À À MACD B B MACD NAM HOCKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN43 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (43)(43)
  44. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ DANGKY Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B BiBiểểuu didiễễnn mối liên hệ giữa DANGKY và SINHVIEN I GI I GI À DANGKY À SINHVIEN B B MASV MASV = MASV MASV MACD MANGANH NAM HOCKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN44 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (44)(44)
  45. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Tìm khóa ngoại của quan hệ DANGKY Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV, MACD, NAM, HOCKY) I T NG H I T NG H Ả Ả À À B B BiBiểểuu didiễễnn mối liên hệ giữa DANGKY và CD_MO I GI I GI À À DANGKY B CD_MO B MACD = MACD MASV NAM = NAM MACD MACD HOCKY = HOCKY NAM NAM HOCKY HOCKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN45 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (45)(45)
  46. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ DANGKY Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở 5. CD_MO(MACD, NAM, HOCKY) Ở S S Ơ Ơ 6. DANGKY(MASV, MACD, NAM, HOCKY) NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á DANGKY CD_MO SINHVIEN MACD = MACD C PH C PH MASV = MASV MASV NAM = NAM Ọ MACD Ọ P X P X MASV MACD HOCKY = HOCKY NAM Ậ Ậ MANGANH NAM HOCKY HOCKY I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN46 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (46)(46)
  47. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU XXÁÁCC ĐĐỊỊNHNH KHKHÓÓAA CCỦỦAA CCÁÁCC QUANQUAN HHỆỆ • Xác định khóa chính của các quan hệ • Xác định khóa ngoại của các quan hệ • Vẽ lược đồ CSDL (Diagram)
  48. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Ệ Ệ Vẽ lược đồ CSDL (Diagram): tập hợp tất cả LI LI A A Ữ Ữ Ó Ó D D các mối liên kết (khóa ngoại) giữa các quan Ở Ở S S hệ đã xác định trong phần khóa ngoại Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á C PH C PH Ọ Ọ P X P X Ậ Ậ I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN48 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (48)(48)
  49. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ SINHVIEN Ệ Ệ LI LI A A Ữ Ữ 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ mối liên hệ giữa SINHVIEN và NGANH Đ BiBiểểuu didiễễnn mối liên hệ giữa và Ầ Ầ C C Á Á SINHVIEN NGANH C PH C PH MANGANH = MANGANH Ọ Ọ P X P X MASV MANGANH Ậ Ậ MANGANH I T NG H I T NG H Ả Ả À À B B I GI I GI • : Primary Key = Khóa chính À À B B • : Foreign Key = Khóa ngoại TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN49 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (49)(49)
  50. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ CD_NGANH Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X NGANH CD_NGANH CHUYENDE Ậ MANGANH = MANGANH MACD = MACD Ậ 6.MANGANH DANGKY(MASV, MACD, NAM,MACD HOCKY ) MACD I T NG H I T NG H MANGANH Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN50 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (50)(50)
  51. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ CD_MO Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở Ở 2. NGANH (MANGANH, TENNGANH, SOCD, TSSV) S S Ơ Ơ NH KH NH KH 3. CHUYENDE (MACD, TENCD, SOSVTD) Ị Ị N C N C Đ Đ Ầ Ầ C C 4. CD_NGANH (MACD, MANGANH) Á Á C PH C PH Ọ Ọ 5. CD_MO(MACD, NAM, HOCKY) P X P X Ậ Ậ 6. DANGKY(MASV,mối liênMACD, hệ NAM,giữ aHOCKY CD_MO) và CHUYENDE I T NG H Biểu diễn mối liên hệ giữa và I T NG H Biểu diễn Ả Ả À À B B CD_MO CHUYENDE I GI I GI MACD = MACD À À MACD B B MACD NAM HOCKY TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN51 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (51)(51)
  52. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Khóa ngoại của quan hệ DANGKY Ệ Ệ LI LI A A 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, DCHI, MANGANH) Ữ Ữ Ó Ó D D Ở 5. CD_MO(MACD, NAM, HOCKY) Ở S S Ơ Ơ 6. DANGKY(MASV, MACD, NAM, HOCKY) NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á DANGKY CD_MO SINHVIEN MACD = MACD C PH C PH MASV = MASV MASV NAM = NAM Ọ MACD Ọ P X P X MASV MACD HOCKY = HOCKY NAM Ậ Ậ MANGANH NAM HOCKY HOCKY I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN52 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (52)(52)
  53. BÀI 1: QUẢN LÝ CHUYÊN ĐỀ U U Ệ Ệ LI LI A A Ữ Ữ Ó Ó D D Ở Ở S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á C PH C PH Ọ Ọ P X P X Ậ Ậ I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B Lược đồ CSDL ứng dụng quản lý chuyên đề TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN53 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (53)(53)
  54. U U Ệ Ệ LI LI A A Ữ Ữ Ó Ó D D Ở Ở S S Ơ Ơ NH KH NH KH Ị Ị N C N C Đ Đ Ầ Ầ C C Á Á C PH C PH Ọ Ọ P X P X Ậ Ậ I T NG H I T NG H Ả Ả À À B B I GI I GI À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN54 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (54)(54)