1. Giới thiệu về ERD
Sơ đồ Entiti-Quan hệ (ERD) đóng vai trò là một công cụ trực quan mạnh mẽ để mô phỏng toàn diện cấu trúc của một cơ sở dữ liệu. Nó cung cấp một biểu diễn đồ họa về cách các thực thể khác nhau trong cơ sở dữ liệu liên kết với nhau, đồng thời làm nổi bật các thuộc tính liên quan đến từng thực thể. ERD cực kỳ quý giá trong giai đoạn thiết kế cơ sở dữ liệu vì chúng hỗ trợ quá trình xác định yêu cầu dữ liệu và xây dựng sự hiểu biết rõ ràng về kiến trúc cơ sở dữ liệu. Hơn nữa, chúng xuất sắc trong việc truyền đạt các mối quan hệ dữ liệu phức tạp, trở thành công cụ giao tiếp không thể thiếu cho cả các bên liên quan kỹ thuật và phi kỹ thuật trong các dự án phát triển cơ sở dữ liệu.
Ví dụ về ERD
Sơ đồ Entiti-Quan hệ (ERD) tổng quát là một biểu diễn trực quan được sử dụng trong thiết kế cơ sở dữ liệu để minh họa cấu trúc và các mối quan hệ bên trong cơ sở dữ liệu.
Cách một ERD trông có thể thay đổi tùy thuộc vào độ phức tạp của cơ sở dữ liệu và các quy ước mô hình hóa được sử dụng. Tuy nhiên, trong một ERD tổng quát, bạn sẽ thấy các thực thể được biểu diễn dưới dạng hình chữ nhật với các thuộc tính được liệt kê bên trong. Các đường nối giữa các thực thể cho thấy mối quan hệ giữa chúng, và các nhãn trên các đường này xác định bản chất của các mối quan hệ đó. Dưới đây là một biểu diễn văn bản đơn giản về cách một ERD tổng quát có thể trông như thế nào:

2. Các thành phần cơ bản của ERD
Trước khi đi sâu vào các khái niệm nâng cao, hãy cùng xem lại nhanh các thành phần cơ bản của ERD:
- Thực thể:Đại diện cho một đối tượng hoặc khái niệm trong thế giới thực, chẳng hạn như một con người, địa điểm hoặc vật thể. Các thực thể được biểu diễn dưới dạng hình chữ nhật trong ERD.
- Thuộc tính:Mô tả một thuộc tính hoặc đặc điểm của một thực thể. Các thuộc tính thường được hiển thị dưới dạng hình elip kết nối với các thực thể tương ứng.
- Mối quan hệ:Minh họa cách các thực thể liên kết với nhau. Các mối quan hệ được biểu diễn bằng các đường nối giữa các thực thể, thường kèm theo một cụm động từ mô tả sự liên kết.
- Số lượng:Xác định số lượng các thể hiện của một thực thể có thể liên kết với một thực thể khác. Các ký hiệu phổ biến về số lượng bao gồm “1” cho một, “N” cho nhiều, và “0..1” cho các mối quan hệ tùy chọn.
- Khóa chính (PK):Khóa chính là một định danh duy nhất cho mỗi bản ghi (hàng) trong một bảng cơ sở dữ liệu. Nó đảm bảo rằng mỗi hàng có một giá trị duy nhất và không rỗng, làm cho nó trở thành một thành phần quan trọng cho tính toàn vẹn dữ liệu và truy xuất dữ liệu hiệu quả. Trong ERD, khóa chính được biểu diễn bằng một thuộc tính được gạch chân bên trong một thực thể.
- Khóa ngoại (FK):Khóa ngoại là một thuộc tính hoặc tập hợp các thuộc tính trong một bảng tham chiếu đến khóa chính của một bảng khác. Nó thiết lập một liên kết hoặc mối quan hệ giữa dữ liệu trong hai bảng. Trong ERD, khóa ngoại được biểu diễn bằng một đường liền nối hai thực thể, thường kèm theo một ký hiệu chỉ rõ mối quan hệ, chẳng hạn như “1:N” cho mối quan hệ một-đa.
3. Các khái niệm ERD nâng cao
a. Các kiểu con và kiểu cha
Trong một số trường hợp, các thực thể có thể được chia thành các kiểu con, mỗi kiểu có các thuộc tính riêng biệt. Khái niệm này được sử dụng để biểu diễn các mối quan hệ phân cấp bên trong một thực thể.
Ví dụ: Xét một thực thể “Người” với các kiểu con là “Nhân viên” và “Khách hàng.” Kiểu con “Nhân viên” có thể có các thuộc tính như “Mã nhân viên” và “Ngày tuyển dụng,” trong khi kiểu con “Khách hàng” có các thuộc tính như “Mã khách hàng” và “Ngày đăng ký.”
b. Các thực thể liên kết
Các thực thể liên kết được sử dụng để biểu diễn mối quan hệ nhiều-đa giữa hai thực thể. Chúng tạo ra một thực thể mới để giải quyết mối quan hệ nhiều-đa.
Ví dụ: Trong một cơ sở dữ liệu trường đại học, bạn có thể có thực thể “Sinh viên” và thực thể “Khóa học.” Để biểu diễn mối quan hệ nhiều-đa giữa sinh viên và khóa học, bạn sẽ giới thiệu một thực thể “Đăng ký” với các thuộc tính như “Mã đăng ký” và “Ngày đăng ký.”
c. Các thuộc tính đa giá trị
Các thuộc tính đa giá trị có thể có nhiều giá trị cho một thực thể duy nhất. Chúng thường được biểu diễn bằng các hình elip kép gắn vào thực thể.
Ví dụ: Trong một thực thể “Sách,” bạn có thể có một thuộc tính đa giá trị “Tác giả” có thể chứa nhiều tên tác giả.
d. Thuộc tính suy ra
Các thuộc tính suy ra là các thuộc tính có giá trị có thể được suy ra từ các thuộc tính khác trong cơ sở dữ liệu. Chúng thường được biểu diễn bằng các hình elip nét đứt.
Ví dụ: Trong một thực thể “Người”, bạn có thể có một thuộc tính suy ra là “Tuổi”, có thể được tính toán dựa trên “Ngày sinh.”
4. Ví dụ về sơ đồ ERD nâng cao
a. Hệ thống quản lý thư viện
Hãy cùng tạo một sơ đồ ERD cho một hệ thống quản lý thư viện với các khái niệm nâng cao:
- Các thực thể: Sách, Tác giả, Sinh viên, Thủ thư, Giao dịch
- Các kiểu con: Nhân viên (Thủ thư), Khách hàng (Sinh viên)
- Thực thể liên kết: Bản sao sách (để quản lý nhiều bản sao của một cuốn sách)
- Thuộc tính nhiều giá trị: Tên tác giả
- Thuộc tính suy ra: Tuổi sinh viên

b. Nền tảng thương mại điện tử
Xem xét một nền tảng thương mại điện tử với các tính năng nâng cao:
- Các thực thể: Người dùng, Sản phẩm, Đơn hàng, Thanh toán
- Các kiểu con: Khách hàng, Người bán
- Thực thể liên kết: Chi tiết đơn hàng (để biểu diễn sản phẩm trong một đơn hàng)
- Thuộc tính nhiều giá trị: Thuộc tính sản phẩm (ví dụ: kích cỡ, màu sắc)
- Thuộc tính suy ra: Tổng giá đơn hàng

6. Kết luận
Việc tạo các sơ đồ ERD nâng cao bao gồm việc mô hình hóa các mối quan hệ và thuộc tính dữ liệu phức tạp. Việc hiểu rõ các kiểu con, kiểu cha, thực thể liên kết, thuộc tính nhiều giá trị và thuộc tính suy ra là điều cần thiết để thiết kế các hệ thống cơ sở dữ liệu toàn diện. Với các công cụ và khái niệm phù hợp, bạn có thể biểu diễn và truyền đạt hiệu quả cấu trúc của các mô hình dữ liệu của mình.











