MÔ HÌNH THỰC THỂ KẾT HỢP • Giá trị null: • Giá trị không tồn tại • Giá trị tồn tại nhưng không xác định • Giá trị tồn tại, xác định, nhưng không sử dụng được Khoa Công nghệ Thông tin - T
Trang 1MÔ HÌNH THỰC THỂ KẾT HỢP
Entity Relationship Diagram
Giảng viên: Ths Nguyễn Thị Khiêm Hòa
Trang 3Đặt vấn đề
Làm thế nào để có thể biểu diễn một bài toán thực tế một cách trực quan?
Trang 4BIỂU DIỄN HỆ THỐNG THÔNG TIN
• Hệ thống là tập hợp các yếu tố có nhiều ràng buộc lẫn nhau và hướng đến một mục đích chung
Trang 5BIỂU DIỄN HỆ THỐNG THÔNG TIN
Hệ thống thông tin
Trang 6BIỂU DIỄN HỆ THỐNG THÔNG TIN
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 6
Quan niệm
Tổ chức Vật lý
Phân tích Thiết kế và cài đặt
Khai thác
Dữ liệu
Thủ tục xử
lý
Bộ máy
xử lý
Môi trường
Con người
Các trục biểu diễn hệ thống thông tin
Trang 7BIỂU DIỄN HỆ THỐNG THÔNG TIN
Trang 8• Biểu diễn trừu tượng cấu trúc CSDL
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 8
Trang 13VÍ DỤ MẪU
• Công ty được tổ chức thành nhiều đơn vị với các thông tin bao gồm: tên đơn vị, số hiệu đơn vị Mỗi đơn vị có thể có nhiều văn phòng đại diện tại những địa điểm khác nhau Đơn vị được quản lý bởi một nhân viên giữ chức vụ trưởng đơn vị Hệ thống cũng yêu cầu phải duy trì thông tin về ngày ký quyết định bổ nhiệm cho từng trưởng đơn vị
• Mỗi đơn vị điều hành nhiều dự án Thông tin về dự án bao gồm: tên dự
án, số hiệu, và địa điểm thực hiện dự án
• Công ty duy trì thông tin về nhân viên bao gồm: họ và tên, mã số, mức lương, giới tính, ngày sinh và ngày ký hợp đồng làm việc với công ty Mỗi nhân viên thuộc biên chế một đơn vị nhưng có thể tham gia nhiều dự án khác nhau Các dự án này không nhất thiết phải do cùng một đơn vị quản
lý Công ty cũng theo dõi thời gian (tính bằng số giờ làm việc trong tuần) tham gia từng dự án của mỗi nhân viên Ngoài ra, mỗi nhân viên còn chịu
sự giám sát của một nhân viên khác
• Cuối cùng, công ty có chế độ bảo hiểm dành cho người thân của nhân viên Thông tin về người thân bao gồm tên, giới tính, ngày sinh và mối liên hệ với nhân viên
Trang 15…
Trang 16…
Ngoại ngữ 1 Ngoại ngữ 2
…
Trang 17MÔ HÌNH THỰC THỂ KẾT HỢP
• Thuộc tính đơn: Thuộc tính không thể phân rã được
• Thuộc tính tổ hợp: là thuộc tính có thể phân rã thành nhiều thuộc tính khác
Ví dụ: Họ tên nhân viên
Nhân viên
Họ tên Ngày sinh
…
Họ Tên
Trang 19MÔ HÌNH THỰC THỂ KẾT HỢP
• Thuộc tính lưu trữ: giá trị thực sự được nhập vào CSDL
• Thuộc tính dẫn xuất: giá trị của thuộc tính được suy ra từ giá trị của thuộc tính khác
Ví dụ: năm sinh hoặc tuổi
Nhân viên
Ngày sinh Tuổi
…
Trang 20MÔ HÌNH THỰC THỂ KẾT HỢP
• Giá trị null:
• Giá trị không tồn tại
• Giá trị tồn tại nhưng không xác định
• Giá trị tồn tại, xác định, nhưng không sử dụng được
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 20
Trang 22• Xác định khóa chính, khóa phụ trong ví dụ mẫu
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 22
Trang 23VÍ DỤ MẪU
Hình 2.1 Các thực thể (kèm thuộc tính) của COMPANY
Trang 25MÔ HÌNH THỰC THỂ KẾT HỢP
• Phân loại liên kết dựa trên số thực thể tham gia
• Liên kết hai ngôi
• Liên kết nhiều ngôi
• Liên kết nhiều ngôi có thể được chuyển đổi thành nhiều liên kết hai ngôi
Trang 26MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 26
Hình 2.2 Chuyển đổi liên kết ba ngôi thành ba liên kết hai ngôi
Trang 28MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 28
Hình 2.3 Biểu diễn liên kết một – một trong CSDL COMPANY
Trang 29MÔ HÌNH THỰC THỂ KẾT HỢP
Hình 2.4 Biểu diễn liên kết một – nhiều trong CSDL COMPANY
Trang 30MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 30
Hình 2.5 Biểu diễn liên kết nhiều – nhiều trong CSDL COMPANY
Trang 31MÔ HÌNH THỰC THỂ KẾT HỢP
• Một số đặc điểm của liên kết
• Mỗi thực thể có vai trò riêng trong liên kết
• Liên kết có thể có thuộc tính riêng
Trang 32MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 32
Hình 2.6 Hai vai trò của tập thực thể EMPLOYEE trong liên kết
SUPERVISES
Mối liên kết phản thân
Trang 33MÔ HÌNH THỰC THỂ KẾT HỢP
Hình 2.7 Biểu diễn thuộc tính của liên kết WOKRSON
trong CSDL COMPANY
Trang 34Thảo luận
• Xác định các kiểu liên kết tồn tại trong ví dụ mẫu
• Xác định chỉ số bội của từng kiểu liên kết trong ví dụ mẫu
• Xác định thuộc tính của mỗi kiểu liên kết trong ví dụ mẫu
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 34
Trang 35MÔ HÌNH THỰC THỂ KẾT HỢP
• Kiểu liên kết R từ E1 đến E2 gọi là hỗ trợ khi
• R là loại liên kết hai ngôi n:1 từ E1 đến E2
• Tập thực thể E1 không có khóa chính, nó nhận khóa chính của E2 về làm khóa cho nó
• Khi đó, E1 gọi là tập thực thể yếu
Trang 36MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 36
Hình 2.8 Tập thực thể yếu DEPDENDENT trong CSDL
COMPANY
Trang 37MÔ HÌNH THỰC THỂ KẾT HỢP
Trang 38MÔ HÌNH THỰC THỂ KẾT HỢP
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 38
Hình 2.9 Biểu diễn cơ sở dữ liệu COMPANY bằng mô hình thực thể kết hợp
Trang 39XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP
• Xác định tập thực thể
• Xác định mối quan hệ
• Xác định thuộc tính cho tập thực thể và mối quan hệ
• Xác định kiểu dữ liệu và miền giá trị cho thuộc tính
• Xác định thuộc tính khóa
• Xác định lượng số cho mối quan hệ
Trang 40XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP
Một số khó khăn khi thiết kế mô hình thực thể kết hợp
• Số ngôi của mối kết hợp
• Thực thể hay mối kết hợp?
• Thực thể hay thuộc tính?
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 40
Trang 41XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP
Một số nguyên tắc kiểm tra mô hình thực thể kết hợp
• Thuộc tính trong tập thực thể hay mối kết hợp: thuộc tính
là duy nhất của thực thể hoặc mối kết hợp
• Giá trị của thuộc tính trong một thể hiện: trong một thể hiện thuộc tính là duy nhất
Nhân viên
Ten_NV Con_NV
…
Trang 42XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP
Một số nguyên tắc kiểm tra mô hình thực thể kết hợp
• Thuộc tính của mối kết hợp
• Thuộc tính phụ thuộc thực thể nào?
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 42
Trang 43VÍ DỤ MẪU (tiếp theo)
• Nhân viên trong công ty được phân chia thành nhiều nhóm khác nhau dựa vào nhiệm vụ mà từng nhân viên đảm nhận trong công ty Có ba nhóm nhân viên: văn phòng, lái xe và kỹ thuật Mỗi nhóm ngoài việc có đầy đủ các thuộc tính của nhân viên thì có những đặc trưng riêng
• Công ty chỉ quan tâm đến người thân của kỹ sư
Trang 45Vấn đề: hạn chế của ERD
• Mô hình ER không hỗ trợ biểu diễn phân cấp
• Mô hình ER không hỗ trợ tính kế thừa, khái quát hóa và chuyên biệt hóa
Trang 46• Chuyên biệt hóa / khái quát hóa
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 46
Trang 47LIÊN KẾT CHA/CON
• Định nghĩa
• Phép chia một tập thực thể thành nhiều tập thực thể khác, nhỏ hơn
• Tập thực thể bị chia = lớp cha
• Tập thực thể được chia = lớp con
• Liên kết cha/con = liên kết ISA
Trang 48LIÊN KẾT CHA/CON
• Chia tập thực thể EMPLOYEE thành ba tập con ENGINEER, SECRETARY, và DRIVER
• Lớp cha: EMPLOYEE
• Lớp con: ENGINEER, SECRETARY, DRIVER
• Ba liên kết ISA từ lớp cha đến các lớp con
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 48
Trang 49• Không xuất hiện ở lớp con
• Một thực thể xuất hiện ở lớp con thì phải xuất hiện ở lớp cha
Trang 50VÍ DỤ MẪU
• Một người lái xe thì phải là nhân viên của công ty
• Một nhân viên của công ty thì có thể là lái xe, kỹ sư, hay là thư ký
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 50
Trang 52VÍ DỤ MẪU
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 52
Hình 3.1 Bên cạnh các thuộc tính được kế thừa từ lớp
cha, lớp con còn có thể có các thuộc tính riêng
Trang 53CHUYÊN BIỆT HÓA
• Định nghĩa
• Quá trình phân chia lớp cha thành nhiều lớp con
• Quá trình xác định tập các lớp con của một tập thực thể (lớp cha)
Trang 54VÍ DỤ MẪU
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 54
Hình 3.2 Hai phép chuyên biệt hóa theo thuộc tính thực hiện trên
EMPLOYEE
Trang 55CHUYÊN BIỆT HÓA
• Các bước thực hiện
• Định nghĩa một tập các lớp con
• Xác định thuộc tính riêng của từng lớp con
• Xác định các kiểu liên kết riêng của lớp con với các tập thực thể khác hoặc với các lớp con khác
Trang 56VÍ DỤ MẪU
• Phân tích các thuộc tính giống nhau của ba tập thực thể
tập thực thể mới EMPLOYEE
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 56
Trang 57PHÂN LOẠI CHUYÊN BIỆT HÓA
• Chuyên biệt hóa do giá trị tại một số thuộc tính phân nhóm
• Chuyên biệt hóa do người dùng tự định nghĩa
Trang 58VÍ DỤ MẪU
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 58
Hình 3.3 Chuyên biệt hóa lớp EMPLOYEE theo
thuộc tính JobType
Trang 59MỘT SỐ RÀNG BUỘC
• Các điều kiện mà quá trình chuyên biệt hóa /
khái quát hóa phải đáp ứng
Trang 60VÍ DỤ MẪU
Hình 3.4 Ràng buộc trong chuyên biệt hóa và
khái quát hóa
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 60
Trang 62CÂY (LƯỚI) PHÂN CẤP
• Một lớp cha có thể có nhiều lớp con
• Một lớp con có thể có nhiều lớp cha
• Từ đó hình thành cây phân cấp (đơn thừa kế) hay lưới phân cấp (đa thừa kế)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 62
Trang 63VÍ DỤ MẪU
Hình 3.5 Lưới phân cấp đối với tập thực thể EMPLOYEE
Trang 64VÍ DỤ MẪU
Hình 3.6 Mô hình thực thể kết hợp mở rộng của CSDL COMPANY
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 64
Trang 65BÀI TẬP 1
• Thiết kế lược đồ thực thể kết hợp ứng với cơ sở dữ liệu cho ngân hàng, bao gồm thông tin về khách hàng và các tài khoản của họ:
• Thông tin về khách hàng bao gồm họ tên, địa chỉ, số điện thoại, số chứng minh nhân dân
• Thông tin về tài khoản bao gồm số tài khoản, và số
dư trong tài khoản
• Mỗi khách hàng có thể có nhiều tài khoản, nhưng mỗi tài khoản chỉ thuộc một khách hàng nào đó mà thôi
Trang 66BÀI TẬP 1
• Mỗi khách hàng có thể có nhiều địa chỉ (mỗi địa chỉ gồm bốn thông tin về số nhà, tên đường, tên quận/huyện, và tên tỉnh/thành phố), và nhiều số điện thoại
• Mỗi khách hàng có thể có nhiều địa chỉ, mỗi địa chỉ lại gắn với nhiều số điện thoại khác nhau
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 66
Trang 67BÀI TẬP 2
• Thiết kế lược đồ thực thể kết hợp ứng với cơ sở dữ liệu về giải bóng đá Ngoại hạng Anh, bao gồm thông tin về các đội bóng, các cầu thủ, và các cổ động
viên, cụ thể như sau:
• Thông tin về đội bóng bao gồm: tên gọi, các cầu thủ thuộc biên chế, đội trưởng (là một cầu thủ
trong biên chế của đội), màu đồng phục
• Thông tin về cầu thủ bao gồm: họ và tên, ngày
sinh, chiều cao, vị trí thi đấu
Trang 68Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 68
Trang 69BÀI TẬP 3
• Thiết kế lược đồ thực thể kết hợp tương ứng với cơ sở
dữ liệu bao gồm các thông tin về sinh viên, khoa đào tạo, giảng viên, và lớp học với các giả định như sau:
• Sinh viên đăng ký vào các lớp học do khoa đào tạo
đề xuất và có một điểm số khi lớp học kết thúc
• Giảng viên được phân công phụ trách các lớp học
• Mỗi lớp học có một trợ giảng (là một sinh viên đăng
ký học lớp đó)
Trang 70Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 70
Trang 71• Khách hàng có thể tự do lựa chọn hoặc yêu cầu nhân viên bán hàng tư vấn để lựa chọn được món hàng
Trang 72• Học viên không thể tham gia cùng lúc hai lớp học
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 72
Trang 73• Công ty sản xuất nhiều sản phẩm, mỗi sản phẩm
có mã sp, tên sp, đơn vị tính, quy cách
• Công ty có nhiều nguyên vật liệu, mỗi nguyên vật liệu bao gồm: mã NVL, tên NVL, đơn vị tính
Trang 74BÀI TẬP 7
• Mỗi sản phẩm có một định mức nguyên vật liệu, định mức này
Trang 75BÀI TẬP 8
• Thiết kế lược đồ thực thể kết hợp tương ứng cho các yêu cầu dữ liệu được mô tả như sau:
• Mỗi giảng viên có các thông tin: Mã GV, họ tên,
hệ số lương, phái, điện thoại, địa chỉ bao gồm: thông tin về số nhà, tên đường, tên quận/huyện,
và tên tỉnh/thành phố), và nhiều số điện thoại
• Mỗi đề tài có các thông tin: Mã đề tài, tên đề tài, cấp quản lý, ngày bắt đầu, ngày kết thúc, kinh phí
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 75
Trang 76• Mỗi đề tài cũng thuộc một chủ đề nào đó có thông tin: Mã chủ đề, tên chủ đề
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 76
Trang 77BÀI TẬP 8
• Mỗi giảng viên có thể tham gia một hoặc nhiều công việc trong các đề tài và được phụ cấp cũng như được ghi nhận kết quả đã làm Giảng viên cũng có thể làm chủ nhiệm của đề tài
• Mỗi giảng viên trực thuộc một bộ môn được quản lý bởi các thông tin: Mã bộ môn, tên bộ môn, phòng, số điện thoại Mỗi bộ môn có 1 trưởng bộ môn là gv và ghi nhận thông tin ngày nhậm chức
• Mỗi bộ môn trực thuộc một khoa Mỗi khoa có các thông tin: Mã
giảng viên làm trưởng khoa (có ngày bổ nhiệm)