Bài học

CHƯƠNG 2. MÔ HÌNH THỰC THỂ - MỐI QUAN HỆ (E-R MODEL)

Chương này tập trung vào Mô hình Thực thể - Mối quan hệ (Entity-Relationship Model hay E-R Model), một công cụ thiết kế dữ liệu cấp cao, giúp sinh viên hiểu và biểu diễn cấu trúc logic của cơ sở dữ liệu từ các yêu cầu thực tế. Nắm vững E-R Model là bước thiết yếu để chuyển từ yêu cầu nghiệp vụ sang thiết kế cơ sở dữ liệu quan hệ.

2.1. Các khái niệm cơ bản trong E-R Model

Mô hình E-R được xây dựng dựa trên ba thành phần cốt lõi: Thực thể, Thuộc tính và Mối quan hệ.

2.1.1. Thực thể (Entity)

Thực thể là một đối tượng, sự vật, hoặc khái niệm trong thế giới thực mà chúng ta muốn lưu trữ thông tin về nó. Thực thể có thể là hữu hình (ví dụ: SINH VIÊN, SẢN PHẨM) hoặc vô hình (ví dụ: KHÓA HỌC, ĐƠN HÀNG).

  • Tập thực thể (Entity Set): Là một tập hợp các thực thể có cùng loại (ví dụ: tập hợp tất cả các sinh viên trong trường).

2.1.2. Thuộc tính (Attribute)

Thuộc tính là đặc tính mô tả một thực thể. Mỗi thực thể được mô tả bằng một tập hợp các thuộc tính.

Các loại thuộc tính:

  • Thuộc tính đơn (Simple Attribute): Không thể chia nhỏ hơn được nữa (ví dụ: Mã sinh viên).
  • Thuộc tính phức hợp (Composite Attribute): Có thể được chia thành các thuộc tính nhỏ hơn có ý nghĩa (ví dụ: Họ tên chia thành Họ đệm và Tên).
  • Thuộc tính đa giá trị (Multivalued Attribute): Có thể có nhiều hơn một giá trị cho một thực thể (ví dụ: Số điện thoại của một nhân viên).
  • Thuộc tính suy diễn (Derived Attribute): Giá trị của thuộc tính có thể được tính toán từ các thuộc tính khác (ví dụ: Tuổi được suy diễn từ Ngày sinh).
  • Thuộc tính khóa (Key Attribute): Là thuộc tính hoặc tập hợp các thuộc tính có giá trị duy nhất cho mỗi thực thể trong tập thực thể (ví dụ: Mã số sinh viên).

2.1.3. Mối quan hệ (Relationship)

Mối quan hệ là sự liên kết giữa hai hoặc nhiều thực thể. Mối quan hệ có thể có tên và cũng có thể có thuộc tính riêng.

Bậc của mối quan hệ (Degree):

  • Quan hệ một ngôi (Unary/Recursive): Mối quan hệ giữa các thực thể của cùng một tập thực thể (ví dụ: Nhân viên quản lý Nhân viên khác).
  • Quan hệ hai ngôi (Binary): Mối quan hệ giữa hai tập thực thể (phổ biến nhất, ví dụ: Sinh viên ĐĂNG KÝ Khóa học).
  • Quan hệ ba ngôi (Ternary) hoặc nhiều hơn (N-ary): Mối quan hệ giữa ba hoặc nhiều tập thực thể.

Lực lượng (Cardinality) của mối quan hệ:

Lực lượng xác định số lượng thực thể tối thiểu và tối đa có thể tham gia vào một mối quan hệ.

  • 1:1 (Một - Một): Một thực thể của tập này liên kết tối đa với một thực thể của tập kia (ví dụ: TRƯỞNG KHOA PHỤ TRÁCH Khoa).
  • 1:N (Một - Nhiều): Một thực thể của tập này liên kết tối đa với nhiều thực thể của tập kia (ví dụ: KHOA CHỦ QUẢN Sinh viên).
  • M:N (Nhiều - Nhiều): Một thực thể của tập này có thể liên kết với nhiều thực thể của tập kia và ngược lại (ví dụ: Sinh viên ĐĂNG KÝ nhiều Khóa học và ngược lại).

2.2. Qui tắc biểu diễn sơ đồ thực thể - mối quan hệ

Sơ đồ E-R (E-R Diagram) sử dụng một bộ ký hiệu đồ họa chuẩn hóa để biểu diễn các khái niệm trên. Getty Images

Các ký hiệu cơ bản (Sử dụng chuẩn Chen hoặc Crow's Foot):

  • Hình chữ nhật: Biểu diễn Thực thể (Entity).
  • Hình elip: Biểu diễn Thuộc tính (Attribute).
    • Gạch chân thuộc tính: Biểu diễn Thuộc tính khóa (Key Attribute).
    • Elip đôi: Biểu diễn Thuộc tính đa giá trị (Multivalued Attribute).
    • Elip nét đứt: Biểu diễn Thuộc tính suy diễn (Derived Attribute).
  • Hình thoi: Biểu diễn Mối quan hệ (Relationship).
  • Đường nối (Lines): Nối các thực thể với các mối quan hệ.

Quy tắc biểu diễn Lực lượng (Cardinality):

Thông thường, việc biểu diễn lực lượng (tối thiểu và tối đa) được gắn trên đường nối giữa thực thể và mối quan hệ (ví dụ: dùng ký hiệu Crow's Foot là phổ biến trong công nghiệp).

Ký hiệu (Crow's Foot) Ý nghĩa
Gạch dọc đơn (|) Tối thiểu một (Bắt buộc phải tham gia).
Vòng tròn nhỏ (o) Tối thiểu không (Tùy ý tham gia).
Chân quạ (Crow's Foot) Tối đa nhiều (N).
Gạch dọc đôi (||) Tối đa một (1).

Thực thể yếu (Weak Entity):

Là thực thể mà sự tồn tại của nó phụ thuộc vào một thực thể khác (thực thể mạnh). Nó được biểu diễn bằng hình chữ nhật đôi và mối quan hệ xác định (Identifying Relationship) được biểu diễn bằng hình thoi đôi. Shutterstock

2.3. Ví dụ minh họa Sơ đồ E-R

Bài toán: Quản lý đăng ký khóa học

Một hệ thống cần quản lý thông tin về Sinh viên, Khóa học và Giảng viên. Sinh viên có thể đăng ký nhiều Khóa học. Mỗi Khóa học có nhiều Sinh viên đăng ký. Mỗi Khóa học do một Giảng viên phụ trách, và một Giảng viên có thể phụ trách nhiều Khóa học. Thông tin về việc đăng ký bao gồm Điểm số.

Xác định các thành phần:

  1. Thực thể:
    • SINH VIÊN (Thuộc tính khóa: MaSV)
    • KHÓA HỌC (Thuộc tính khóa: MaKH)
    • GIẢNG VIÊN (Thuộc tính khóa: MaGV)
  2. Mối quan hệ:
    • PHỤ TRÁCH: Giữa GIẢNG VIÊN và KHÓA HỌC. Lực lượng 1:N (1 Giảng viên phụ trách N Khóa học).
    • ĐĂNG KÝ: Giữa SINH VIÊN và KHÓA HỌC. Lực lượng M:N (Nhiều Sinh viên đăng ký Nhiều Khóa học). Mối quan hệ này có thuộc tính riêng là Điểm số.

Biểu diễn Sơ đồ E-R: