← Về danh sách
Cơ sở dữ liệu
#데이터모델링#식별관계#비식별관계#정규화#ERD#133회
Cập nhật lần cuối · 2026-07-07

Mô hình hóa dữ liệu RDBMS (quan hệ định danh·không định danh)

1. Tổng quan

A. Định nghĩa

Quá trình trừu tượng hóa·cấu trúc hóa nghiệp vụ·dữ liệu của thế giới thực thành cấu trúc CSDL quan hệ, thiết kế để bảo đảm tính toàn vẹn·nhất quán·khả năng tái sử dụng của dữ liệu.

Mô hình hóa dữ liệu không đơn thuần là vẽ bảng mà là đưa quy tắc nghiệp vụ vào cấu trúc dữ liệu để dữ liệu sai ngay từ đầu không thể đi vào. Cấu trúc chính là quy tắc, nên chất lượng mô hình hóa quyết định độ phức tạp·hiệu năng·khả năng bảo trì của ứng dụng về sau.

B. Nội dung thực hiện theo từng giai đoạn mô hình hóa

Mô hình hóa đi qua 3 giai đoạn khái niệm→logic→vật lý từ góc nhìn trừu tượng tới hiện thực cụ thể. Lý do chia giai đoạn như vậy là phải nắm bắt bản chất nghiệp vụ trước mà không bị ràng buộc bởi hạn chế của một DBMS cụ thể ngay từ đầu, rồi cụ thể hóa dần thì khả năng tái sử dụng·tính di động mới cao.

flowchart LR
  C[Mô hình hóa khái niệm<br/>ERD·thực thể] --> L[Mô hình hóa logic<br/>chuẩn hóa·quan hệ·khóa]
  L --> P[Mô hình hóa vật lý<br/>bảng·chỉ mục·phân vùng]
Giai đoạn Nội dung thực hiện Sản phẩm đầu ra
Khái niệm Xác định thực thể·quan hệ cốt lõi, phản ánh quy tắc nghiệp vụ (độc lập DBMS) ERD khái niệm
Logic Định nghĩa thuộc tính·định danh, chuẩn hóa, thiết lập quan hệ·bản số (cardinality) ERD logic
Vật lý Phản ánh đặc tính DBMS (kiểu dữ liệu·chỉ mục·phân vùng·phi chuẩn hóa) Lược đồ bảng

Giai đoạn khái niệm trả lời "quản lý cái gì", giai đoạn logic dùng chuẩn hóa tinh lọc dữ liệu thành cấu trúc không có dị thường, và đến giai đoạn vật lý mới xét đặc tính hiệu năng·lưu trữ để áp dụng chỉ mục·phân vùng·phi chuẩn hóa.

2. Quan hệ định danh vs quan hệ không định danh

Trong mô hình hóa quan hệ, khi khóa chính (PK) của cha được kế thừa sang con, sẽ phân hóa giữa dùng khóa đó làm một phần PK của con (định danh) hay chỉ dùng làm khóa ngoại thông thường (không định danh). Lựa chọn này không phải vấn đề ký hiệu mà là vấn đề quy định sự phụ thuộc tồn tại của hai thực thể như thế nào.

erDiagram
  ORDER ||--|{ ORDER_ITEM : "định danh (nét liền)"
  DEPT ||--o{ EMP : "không định danh (nét đứt)"

A. Quan hệ định danh (Identifying)

Là quan hệ trong đó PK của cha nằm trong PK của con, con không thể tồn tại nếu không có cha. Ví dụ, Chi tiết đơn hàng chỉ có ý nghĩa khi thuộc về một Đơn hàng nào đó, nên PK của Chi tiết đơn hàng trở thành khóa phức hợp bao gồm khóa cha như (Số đơn hàng + Số thứ tự chi tiết). Ưu điểm là khóa cha tiếp tục lan truyền xuống con khiến điều kiện kết nối (join) trở nên tự nhiên, nhưng nhược điểm là khi kế thừa kéo dài qua nhiều cấp thì PK của bảng cấp dưới ngày càng phình to. Trong ERD được ký hiệu bằng nét liền.

B. Quan hệ không định danh (Non-Identifying)

Là quan hệ trong đó PK của cha chỉ được kế thừa thành thuộc tính thông thường (FK) của con, và con có PK riêng. Được dùng khi con có thể tồn tại độc lập với cha. Ví dụ, Nhân viên có Mã nhân viên của mình làm PK và chỉ tham chiếu Mã phòng ban làm FK, nên dù chưa được phân phòng ban hay đổi phòng ban, bản ghi nhân viên vẫn tồn tại độc lập. Ưu điểm là PK được giữ đơn giản, và trong ERD được ký hiệu bằng nét đứt.

Phân loại Định danh (Identifying) Không định danh (Non-Identifying)
Khái niệm PK cha được kế thừa thành một phần PK của con PK cha được kế thừa thành FK thông thường của con
Ký hiệu (ERD) Nét liền Nét đứt
Tính phụ thuộc Phụ thuộc mạnh — không có cha thì không có con Phụ thuộc yếu — con có thể tồn tại độc lập
Cấu thành PK Bao gồm khóa cha (khóa phức hợp) Con có PK riêng
Ví dụ Đơn hàng ↔ Chi tiết đơn hàng Phòng ban ↔ Nhân viên
Ảnh hưởng Đơn giản hóa join, rủi ro PK phình to PK đơn giản, dùng FK khi join

Tiêu chí lựa chọn rốt cuộc là về nghiệp vụ, con có thành lập được khi không có cha hay không. Nguyên tắc là nếu không thể thành lập (phụ thuộc mạnh) thì chọn định danh, nếu có thể thành lập (phụ thuộc yếu) thì chọn không định danh; lạm dụng quan hệ định danh bừa bãi sẽ dẫn tới PK cấp dưới phình to và suy giảm hiệu năng join.

3. Lưu ý khi mô hình hóa dữ liệu

Chuẩn hóa và phi chuẩn hóa là công cụ tiêu biểu để điều hòa đánh đổi giữa toàn vẹn và hiệu năng. Chuẩn hóa loại bỏ trùng lặp để ngăn dị thường (dữ liệu không nhất quán khi chèn·cập nhật·xóa) nhưng số lần join tăng nên hiệu năng truy vấn có thể giảm, còn phi chuẩn hóa dùng trùng lặp có chủ đích để truy vấn nhanh hơn nhưng làm tăng gánh nặng quản lý toàn vẹn khi cập nhật.

Phân loại Nội dung cần xem xét
Chuẩn hóa Loại bỏ dị thường (chèn·cập nhật·xóa), tối thiểu trùng lặp bằng 1NF~BCNF
Phi chuẩn hóa Cho phép trùng lặp có chủ đích ở đoạn truy vấn thường xuyên, cân bằng với chuẩn hóa
Toàn vẹn Bắt buộc toàn vẹn thực thể·tham chiếu·miền·nghiệp vụ bằng ràng buộc
Thiết kế khóa Khóa nhân tạo (Surrogate) vs khóa bản chất, tính ổn định·bất biến của định danh
Chuẩn hóa đặt tên·lịch sử Tiêu chuẩn đặt tên, quản lý lịch sử·thay đổi, bảo đảm khả năng mở rộng

Trong thiết kế khóa, nếu dùng khóa nhân tạo (ví dụ: ID tự tăng) thì dù khóa bản chất thay đổi, quan hệ vẫn được duy trì ổn định, nhưng vì không mang ý nghĩa nghiệp vụ nên cần thêm ràng buộc duy nhất riêng. Chọn định danh ổn định và không thay đổi là nền tảng của toàn vẹn join·tham chiếu.

4. Lưu ý và hàm ý

Nguyên tắc thiết kế thực tiễn là bảo đảm toàn vẹn trước bằng chuẩn hóa, sau đó chỉ áp dụng phi chuẩn hóa có chọn lọc ở những đoạn xác nhận được yêu cầu hiệu năng thực tế. Nếu ngay từ đầu phi chuẩn hóa vì lý do hiệu năng thì chỉ làm tăng rủi ro toàn vẹn. Quan hệ định danh/không định danh cũng phải được phán đoán tổng hợp theo tính phụ thuộc·lan truyền PK·hiệu năng join, và cần cảnh giác thói quen chỉ dùng một loại. Hơn nữa, trong môi trường dung lượng lớn·phân tán, hướng đi từ góc nhìn Kỹ sư chuyên nghiệp là vượt qua giới hạn của một RDBMS đơn lẻ bằng mở rộng ngang với phân vùng·sharding, hoặc mở rộng sang thiết kế polyglot dùng lẫn NoSQL cho vùng dữ liệu phi cấu trúc·siêu lớn.


Tóm tắt một câu: Mô hình hóa dữ liệu tiến hành theo các giai đoạn khái niệm→logic→vật lý; quan hệ định danh (PK cha kế thừa vào PK con, phụ thuộc mạnh·nét liền) và quan hệ không định danh (FK thông thường, phụ thuộc yếu·nét đứt) được chọn theo sự phụ thuộc tồn tại, còn chuẩn hóa·phi chuẩn hóa·toàn vẹn·thiết kế khóa được xử lý cân bằng từ góc nhìn đánh đổi.