Bài giảng Hệ cơ sở dữ liệu - Chương 3: Mô hình quan hệ cung cấp cho người học các kiến thức: Mô hình quan hệ (Relational model), thiết kế CSDL quan hệ bằng cách chuyển đổi từ mô hình ER sang mô hình quan hệ. Mời các bạn cùng tham khảo.
Chương Mơ hình quan hệ (The relational model) Giáo trình & Tài liệu tham khảo: Ramez Elmasri, Shamkant B Navathe, 2011 Fundamentals of Database systems, 6th edition, Addison-Wesley Giáo trình Cơ sở liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM Bộ slide giảng Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM Bộ slide giảng Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM Gv Nguyễn Như Hoa Nội dung • Mơ hình quan hệ (Relational model) – Giới thiệu – Các Khái niệm • Thiết kế CSDL quan hệ cách chuyển đổi từ mơ hình ER sang mơ hình quan hệ Các giai đoạn thiết kế CSDL (nhắc lại) Thế giới thực Giai đoạn Phân tích yêu cầu Các yêu cầu liệu Thiết kế mức quan niệm Giai đoạn (*) Lược đồ quan niệm ( ERD ) Thiết kế mức logic Lược đồ logic Độc lập HQT Giai đoạn (*) Phụ thuộc HQT cụ thể ( RDB shema ) Thiết kế mức vật lý Lược đồ ( Tables ) Giai đoạn Giới thiệu Mơ hình Quan hệ (Relational Model) • Do tiến sĩ E F Codd đưa – “A Relation Model for Large Shared Data Banks”, Communications of ACM, 6/1970 • Cung cấp cấu trúc liệu đơn giản đồng – Khái niệm quan hệ • Có tảng lý thuyết vững – Lý thuyết tập hợp • Là sở Hệ quản trị CSDL thương mại – Oracle, DB2, SQL Server… Mơ hình Quan hệ Các khái niệm • Mơ hình quan hệ đưa khái niệm để mô tả liệu ràng buộc liệu • • • • • • quan hệ (Relation) thuộc tính (Attribute) miền giá trị (domain) (tuple) Khóa khóa ngoại (Primary key, Foreign key) Các tồn vẹn quan hệ (contraints) Mơ hình Quan hệ Các khái niệm • Quan hệ (relation) : table với cột dịng • Thuộc tính (attribute) : tên cột • Miền giá trị cột (domain) : tập giá trị nguyên tố mà liệu cột phải thuộc • Bộ (tuple) : dòng chứa liệu quan hệ Lược đồ thể quan hệ Relation Schema & Relation Instance • Lược đồ quan hệ biểu diễn bao gồm – Tên quan hệ – Tập thuộc tính quan hệ STUDENT(Name, Ssn, Home_phone, Address, Office_phone, Age) • Thể quan hệ tập quan hệ thời điểm Lược đồ sở liệu quan hệ Relational Database Schema • Mơ tả cấu trúc CSDL • Lược đồ CSDL gồm nhiều lược đồ quan hệ Lược đồ CSDL NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) DEAN(TENDA, MADA, DDIEM_DA, PHONG) Lược đồ quan hệ Các đặc tính quan hệ • Một quan hệ phải có tên phân biệt với tất quan hệ khác lược đồ CSDL quan hệ • Mỗi thuộc tính có tên phân biệt • Các giá trị thuộc tính phải thuộc domain • Mỗi quan hệ chứa giá trị nguyên tố • Mỗi phân biệt Không tồn giống • Thứ tự thuộc tính khơng quan trọng • Thứ tự không quan trọng Định nghĩa hình thức • Lược đồ quan hệ – Gọi A1, A2, …, An thuộc tính – Có miền giá trị D1, D2, …, Dn tương ứng – Ký hiệu R(A1:D1, A2:D2, …, An:Dn) lược đồ quan hệ – Bậc lược đồ quan hệ số lượng thuộc tính lược đồ 10 Ví dụ • Lược đồ CSDL quan hệ tương ứng TACGIA ( MaTG, Ten, Email, Phone, Điachi ) SACH ( Masach, Tieude , LanXB, NamXB, Gia, ISBN, Sotrang, Theloai, Mota ) NGUOIMUON ( MaĐG, Ten, Email, Phone, Điachi ) Chitietmuon (MaĐG, Masach , Ngaymuon, Ngaytra ) Tacgia_muon_Sach (MaTG, Masach, Ngaymuon, Ngaytra ) Tacgia_viet_Sach (MaTG, Masach) 41 Tóm tắt 42 Các thuật ngữ • • • • • • • • • • • The relational data model Relation Tuble Attribute Relation Schema DB schema Relation Instance Domain (DOM) Relational Integrity Super key, Primary key, Foreign key Referential Integrity Constraint 43 Câu hỏi Mơ hình quan hệ dùng khái niệm để mơ tả liệu ? Cho ví dụ ? Phân biệt lược đồ quan hệ thể quan hệ ? Cho ví dụ ? Khóa quan hệ có đặc tính ? Một quan hệ ln có khóa Đúng hay sai ? Phân biệt : siêu khóa, khóa dự tuyển, khóa quan hệ ? Khóa ngoại quan hệ có vai trị ? Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình quan hệ ? 44 Bài tập • Hãy ra: Lược đồ quan hệ ? Thể quan hệ ? Thuộc tính ? Bộ ? Khóa ? 45 Bài tập • Ssn khóa lược đồ quan hệ EMPLOYEE Hãy vài siêu khóa lược đồ quan hệ ? Ssn : Social Security Number 46 Bài tập • Cho lược đồ CSDL 47 Bài tập (tt) • Một thể CSDL 48 Bài tập (tt) 49 Bài tập (tt) • Câu hỏi : – Cho biết khóa ngoại có quan hệ ? – Chỉ relationship quan hệ ? 50 Bài tập • Chuyển đổi mơ hình ER tập 2, , (chương 2) sang mơ hình quan hệ ? 51 Bài tập - Quản lý thi tốt nghiệp PTCS giáo trình CSDL Trần Đắc Phiến (1) Phòng giáo dục huyện muốn lập hệ thống thông tin để quản lý việc tổ chức thi tốt nghiệp PTCS Việc tổ chức thi sau : Lãnh đạo phòng giáo dục thành lập nhiều hội đồng thi (mỗi hội đồng thi gồm trường số trường gần nhau) Mỗi hội đồng thi có mã số (MAHĐT) Mỗi mã số hội đồng thi xác định tên hội đồng thi(TENHĐT), họ tên chủ tịch hội đồng(TENCT), địa (ĐCHĐT),điện thoại(ĐTHĐT) Mỗi hội đồng thi bố trí cho số phịng thi, phịng thi có số hiệu phịng(SOPT) nhất, phòng thi xác định địa phòng thi (ĐCPT) Số hiệu phòng thi đánh số khác tất hội đồng thi 52 Bài tập - Quản lý thi tốt nghiệp PTCS giáo trình CSDL Trần Đắc Phiến (2) Giáo viên trường trực thuộc phòng điều động đến hội đồng để coi thi, trường có khơng có thí sinh dự thi, trường có mã trường (MATR), mã trường xác định tên trường(TENTR), địa (ĐCTR), loại hình đào tạo (LHĐT) (Công lập, chuyên, bán công, dân lập, nội trú,…) Giáo viên trường làm việc nhiều hội đồng thi Một giáo viên có mã giáo viên(MAGV), mã giáo viên xác định tên giáo viên (TENGV), chuyên môn giảng dạy (CHUYENMON), chức danh hội đồng thi(CHUCDANH) 53 Bài tập - Quản lý thi tốt nghiệp PTCS giáo trình CSDL Trần Đắc Phiến (3) Các thí sinh dự thi có số báo danh nhất(SOBD), số báo danh xác định tên thí sinh(TENTS), ngày sinh (NGSINH), giới tính (PHAI) Mỗi thí sinh xếp thi phòng thi định cho tất mơn Mỗi thí sinh có chứng nghề (CCNGHE) khơng (thuộc tính CCNGHE kiểu chuỗi, CCNGHE=”x” thí sinh có chứng nghề CCNGHE rỗng thí sinh khơng có chứng nghề) Thí sinh trường dự thi hội đồng thi Mỗi mơn thi có mã môn thi nhất(MAMT), mã môn thi xác định tên mơn thi(TENMT) Giả sử tồn thí sinh thi chung số mơn sở giáo dục quy định Mỗi môn thi tổ chức buổi ngày Ứng với mơn thi, thí sinh có điểm thi nhất(ĐIEMTHI) 54 Bài tập - Quản lý thi tốt nghiệp PTCS giáo trình CSDL Trần Đắc Phiến Câu hỏi : Thiết lập mơ hình ER cho toán quản lý thi TN PTCS ? Thiết lập mơ hình CSDL quan hệ cho tốn ? Xác định khóa cho lược đồ quan hệ ? Xác định ràng buộc toàn vẹn lược đồ CSDL ? 55 ... Một-Nhiều Thêm vào quan -h? ?- nhiều thuộc tính khóa quan -h? ?- một (2c) Một-Một Hoặc thêm vào quan hệ thuộc tính khóa quan hệ Hoặc thêm thuộc tính khóa vào quan hệ (3) Thực thể yếu Chuyển thành quan hệ. .. thể yếu) chuyển thành quan hệ có tên tập thuộc tính (2) Mối quan hệ (2a) Nhiều-Nhiều Tạo quan hệ có – Tên quan hệ : tên mối quan hệ – Thuộc tính : thuộc tính mối quan hệ (nếu có) thuộc tính khóa... quan hệ ? Khóa ngoại quan hệ có vai trị ? Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình quan hệ ? 44 Bài tập • Hãy ra: Lược đồ quan hệ ? Thể quan hệ ? Thuộc tính ? Bộ ? Khóa ? 45 Bài tập