Mô hình thực thể liên kết (ER)

Mô hình thực thể liên kết (Entity - Relation Model) là một mô hình dữ liệu, phù hợp để mô hình hóa dữ liệu cho cơ sở dữ liệu.

Các khái niệm chính

Thực thể

Thực thể là một đối tượng nào đó. Đối tượng này có thể tồn tại thực hoặc là một khái niệm trừu tượng dùng trong bài toán.

Tập thực thể là một nhóm các thực thể có cùng tính chất.

Thuộc tính là một đặc tính của một tập thực thể. Tập các giá trị có thể của một thuộc tính được gọi là miền giá trị của thuộc tính đó. Các kiểu thuộc tính:

Khóa là thuộc tính/tập thuộc tính xác định duy nhất một thực thể trong tập thực thể

Liên kết

Liên kết là mối liên hệ giữa các thực thể

Tập liên kết là một nhóm các liên kết cùng kiểu.

Các loại liên kết:

Biểu diễn thực thể và liên kết

Tập thực thể được biểu diễn bằng hình chữ nhật

Thuộc tính đơn giản được biểu diễn bằng hình elip nối với tập thực thể bằng một đoạn thẳng.

Thuộc tính phức được tách thành nhiều thuộc tính đơn

Thuộc tính đa trị được biểu diễn trong 2 hình elip cùng tiêu điểm.

Khóa có tên thuộc tính được gạch chân.

Liên kết được biểu diễn qua một đường thẳng giữa hai tập thực thể, với tên liên kết đặt trong hình thoi nằm giữa đường thẳng.

Chuyển mô hình thực thể liên kết sang mô hình dữ liệu quan hệ

Các tập thực thể được chuyển thành các quan hệ, với mỗi thực thể là một bộ. Thuộc tính của tập thực thể trở thành thuộc tính (cột) của quan hệ. Khóa của tập thực thể thành khóa của quan hệ.

Thuộc tính phức được thay bằng các thuộc tính thành phần.

Thuộc tính đa trị được thay bằng một bảng mới xác định bởi thuộc tính đa trị và khóa của tập thực thể tương ứng.

Các thuộc tính suy diễn được bỏ qua.

Nếu một tập thực thể được xác định từ tập thực thể khác, được xác định bằng một quan hệ chứa khóa của tập thực thể ban đầu.

Liên kết 1 - 1 được chuyển thành khóa ngoại.

Liên kết 1 - nhiều được chuyển thành khóa ngoại, trong đó khóa chính của quan hệ bên "1" được thêm vào quan hệ bên "nhiều" thành khóa ngoại.

Liên kết nhiều - nhiều được chuyển thành một quan hệ mới xác định bởi các khóa chính của các thực thể liên quan và thuộc tính của liên kết.

Cuối cùng, các quan hệ có chung khóa có thể được gộp lại.

Ví dụ

Mô tả vấn đề: Trường CNTT & TT (SOICT) muốn xây dựng một ứng dụng quản lý thông tin về việc sử dụng các phòng thực hành sau:

Sơ đồ ER:

Sơ đồ quan hệ (khóa chính in đậm, khóa ngoại in nghiêng):

Labs(labID, location, managing_department, student_capacity)

Students(studentID, full_name, class, email_address, phone_number, academic_term, leaderID )

Groups(groupID, group_name, subject_name)

GroupMembers(groupID, studentID)

LabGroupSessions(labID, groupID, date, start_time, end_time, managerID)

LabStudentSessions(labID,studentID, date, start_time, end_time, purpose, managerID)

Staff(staffID, name, phone_number, email)

Bài 2:
Viện CNTT & TT muốn xây dựng một ứng dụng cho phép đăng ký đề tài làm thực tập tốt nghiệp
như sau:

Sơ đồ quan hệ (khóa chính **in đậm**, khóa ngoại _in nghiêng_): GiaoVien(**MSGV**, Hoten, HocHam, HocVi, _TenBoMon_) BoMon(**TenBoMon**, VanPhong, SDT) DeTai(**TenDeTai**, MoTaTomTat, _MSGVDeXuat_) SinhVien(**MSSV**, HoTen, NgaySinh, TenLop) ThamGia(**_MSSV_**, **_TenDeTai_**, TrangThaiDangKy)