Mô Hình Dữ Liệu Quan Hệ và Phương Pháp Chuyển Đổi ER/EER (Relational Data Model and ER/EER-to-Relational Mapping)
Tổng quan về giáo trình
Tài liệu thuộc học phần Cơ sở dữ liệu (Database Systems), giữ vị trí nền tảng trong chương trình đào tạo bậc Đại học và Sau đại học thuộc các ngành Khoa học máy tính, Kỹ thuật phần mềm và Hệ thống thông tin. Nội dung tài liệu tập trung vào Chương 4: "Mô hình Dữ liệu Quan hệ và Phương pháp Chuyển đổi ER/EER sang Mô hình Quan hệ" (Relational Data Model and ER/EER-to-Relational Mapping).
Mục tiêu học tập của tài liệu bao gồm:
- Trang bị hệ thống khái niệm hình thức và thuật ngữ tương đương của mô hình dữ liệu quan hệ (được đề xuất bởi Tiến sĩ E. F. Codd thuộc IBM năm 1970).
- Phân tích các ràng buộc toàn vẹn quan hệ (toàn vẹn thực thể, toàn vẹn tham chiếu, ràng buộc khóa) và cách xử lý các vi phạm trong thao tác cập nhật (Insert, Delete, Modify).
- Làm rõ vị trí của giai đoạn thiết kế logic (Logical Database Design) trong quy trình thiết kế cơ sở dữ liệu tổng thể.
- Hướng dẫn thuật toán chuyển đổi có hệ thống từ mô hình Thực thể - Liên kết (ER/EER) sang lược đồ cơ sở dữ liệu quan hệ tương đương.
Cách tiếp cận của tài liệu đi từ nền tảng toán học (lý thuyết tập hợp) đến các quy tắc kỹ thuật và lược đồ cơ sở dữ liệu ứng dụng. Điểm đặc thù trong cấu trúc bài giảng là sự phân định rõ ràng giữa các thuật ngữ hình thức toán học (Formal Terms) và thuật ngữ triển khai trực quan (Informal Terms), kết hợp quy trình ánh xạ 9 bước cụ thể giữa mô hình quan niệm và mô hình logic.
Nội dung kiến thức cốt lõi
Các chương/chủ đề chính
Tài liệu được phân chia theo ba chủ đề kỹ thuật trọng tâm:
-
Mô hình Dữ liệu Quan hệ (Relational Data Model):
- Khái niệm cơ bản: Trình bày định nghĩa quan hệ dựa trên lý thuyết tập hợp, xuất phát từ bài báo nền tảng "A Relational Model for Large Shared Data Banks" (ACM, 1970) của Tiến sĩ E. F. Codd. Cung cấp định nghĩa về quan hệ dạng bảng 2 chiều gồm các hàng và cột; lược đồ quan hệ $R(A_1, A_2, \dots, A_n)$; bậc của quan hệ (Degree - số lượng thuộc tính $n$); miền giá trị (Domain - tập giá trị nguyên tố và các quy tắc kiểm tra tính hợp lệ); bộ dữ liệu (Tuple - danh sách có thứ tự $n$ giá trị $\langle v_1, v_2, \dots, v_n \rangle$); lực lượng của quan hệ (Cardinality - số lượng bộ dữ liệu); trạng thái quan hệ $r(R)$; và lược đồ cơ sở dữ liệu $S = {R_1, R_2, \dots, R_m}$.
- Ràng buộc toàn vẹn quan hệ (Relational Integrity Constraints): Phân tích giá trị Null (biểu diễn dữ liệu chưa biết hoặc không áp dụng, tách biệt hoàn toàn với giá trị 0 hoặc khoảng trắng); Siêu khóa (Superkey - tập thuộc tính $SK$ phân biệt các bộ dữ liệu khác nhau trong mọi thể hiện $r(R)$); Khóa (Key - siêu khóa tối thiểu); Khóa ứng viên (Candidate Key); Khóa chính (Primary Key - thuộc tính được gạch chân); Ràng buộc toàn vẹn thực thể (Entity Integrity - thuộc tính khóa chính không được phép nhận giá trị Null: $t[PK] \neq \text{null}$); Ràng buộc toàn vẹn tham chiếu (Referential Integrity - mối quan hệ giữa quan hệ tham chiếu $R_1$ chứa $FK$ và quan hệ được tham chiếu $R_2$ chứa $PK$, quy định $t_1[FK] = t_2[PK]$ hoặc $t_1[FK] = \text{null}$); Các ràng buộc ngữ nghĩa bổ sung (Semantic Integrity Constraints như Triggers, Assertions trong SQL-99; ràng buộc trạng thái/tĩnh và chuyển đổi/động).
- Các thao tác cập nhật trên quan hệ (Update Operations): Thao tác Chèn (INSERT), Xóa (DELETE), Sửa đổi (MODIFY); các nguyên tắc bảo toàn ràng buộc toàn vẹn và các tùy chọn giải quyết khi vi phạm (REJECT, CASCADE, SET NULL, hoặc quy trình hiệu chỉnh do người dùng chỉ định).
-
Các giai đoạn chính trong Thiết kế Cơ sở Dữ liệu (Main Phases of Database Design):
- Thu thập và phân tích yêu cầu (Requirements Collection & Analysis).
- Thiết kế quan niệm (Conceptual Design) độc lập với hệ quản trị cơ sở dữ liệu (DBMS-independent) để sinh ra lược đồ quan niệm (Conceptual Schema / ERD).
- Thiết kế logic (Logical Design / Data Model Mapping) để chuyển đổi lược đồ quan niệm sang lược đồ quan hệ phù hợp với mô hình dữ liệu của DBMS thương mại (DBMS-specific), kết hợp kỹ thuật chuẩn hóa (Normalization).
- Thiết kế vật lý (Physical Design) để tạo ra lược đồ trong (Internal Schema) và cấu trúc lưu trữ.
-
Quy trình Ánh xạ ER/EER sang Quan hệ (ER-/EER-to-Relational Mapping):
- Quy trình chuyển đổi ER gồm 7 bước:
- Bước 1: Ánh xạ các kiểu thực thể thông thường (Regular/Strong Entity Types) như
EMPLOYEE, DEPARTMENT, PROJECT.
- Bước 2: Ánh xạ các kiểu thực thể yếu (Weak Entity Types) như
DEPENDENT (kết hợp khóa chính của thực thể chủ EMPLOYEE.SSN làm khóa ngoại ESSN, kết hợp với khóa bộ phận DEPENDENT_NAME tạo thành khóa chính kép {ESSN, DEPENDENT_NAME}).
- Bước 3: Ánh xạ liên kết nhị phân $1:1$ (Binary 1:1 Relationship Types).
- Bước 4: Ánh xạ liên kết nhị phân $1:N$ (Binary 1:N Relationship Types) dựa trên tính bắt buộc (Mandatory) hoặc tùy chọn (Optional) của mối quan hệ tham gia (ví dụ:
DEPARTMENT-OFFER-MODULE và BORROWER-ON_LOAN-BOOK).
- Bước 5: Ánh xạ liên kết nhị phân $M:N$ (Binary M:N Relationship Types).
- Bước 6: Ánh xạ thuộc tính đa trị (Multivalued Attributes).
- Bước 7: Ánh xạ liên kết $N$-ngôi ($N$-ary Relationship Types).
- Quy trình mở rộng EER gồm 2 bước:
- Bước 8: Các phương án ánh xạ Chuyên biệt hóa hoặc Tổng quát hóa (Specialization / Generalization).
- Bước 9: Ánh xạ các kiểu hợp/chủng loại (Union Types / Categories).
+-------------------------------------------------------------------------------+
| TIẾN TRÌNH NỘI DUNG TÀI LIỆU |
+-------------------------------------------------------------------------------+
| 1. Lý thuyết toán học Codd (1970) -> Khái niệm Bảng, Khóa, Domain |
| 2. Ràng buộc toàn vẹn & Hành vi Cập nhật (Entity, Referential, Semantic) |
| 3. Phân kỳ Thiết kế: Quan niệm (ERD) -> Logic (Mapping) -> Vật lý (Internal) |
| 4. Thuật toán chuyển đổi ER/EER 9 bước (Thực thể mạnh/yếu, Quan hệ, Subclass) |
+-------------------------------------------------------------------------------+
Bảng đối chiếu thuật ngữ hình thức và phi hình thức (Formal vs. Informal Terms)
| Thuật ngữ hình thức (Formal Terms) |
Thuật ngữ phi hình thức (Informal Terms) |
Ý nghĩa kỹ thuật |
| Relation |
Table |
Cấu trúc bảng 2 chiều chứa dữ liệu |
| Attribute |
Column Header |
Tiêu đề cột / Thuộc tính mô tả |
| Domain |
All possible Column Values |
Miền giá trị nguyên tố hợp lệ cho cột |
| Tuple |
Row |
Dòng dữ liệu / Bản ghi (Record) |
| Schema of a Relation |
Table Definition |
Định nghĩa cấu trúc bảng $R(A_1, \dots, A_n)$ |
| State of the Relation |
Populated Table |
Thể hiện dữ liệu thực tế tại một thời điểm $r(R)$ |
Kiến thức nền tảng được xây dựng
- Nguyên lý đại số quan hệ và lý thuyết tập hợp: Xem một quan hệ là một tập con của tích Descartes giữa các miền giá trị $dom(A_1) \times dom(A_2) \times \dots \times dom(A_n)$.
- Nguyên tắc xác định khóa: Phân biệt ranh giới toán học giữa siêu khóa ($SK$) và khóa tối thiểu ($K$), ví dụ lược đồ
CAR(State, Reg#, SerialNo, Make, Model, Year) với hai khóa ứng viên $Key_1 = {\text{State, Reg#}}$ và $Key_2 = {\text{SerialNo}}$, trong khi ${\text{SerialNo, Make}}$ là siêu khóa nhưng không phải khóa.
- Ràng buộc phụ thuộc tham chiếu: Cơ chế thiết lập liên kết thông qua cung định hướng từ thuộc tính khóa ngoại ($FK$) của bảng tham chiếu đến khóa chính ($PK$) của bảng được tham chiếu.
Kỹ năng phát triển
- Kỹ năng phân tích lược đồ: Khả năng xác định bậc (degree), lực lượng (cardinality), miền giá trị và các khóa ứng viên trên một lược đồ quan hệ cho trước (như ví dụ quan hệ
STUDENT).
- Kỹ năng thiết kế logic: Kỹ thuật ánh xạ trực tiếp từ sơ đồ ER/EER sang hệ thống bảng quan hệ mà không làm mất mát ngữ nghĩa hoặc vi phạm các ràng buộc toàn vẹn.
- Kỹ năng kiểm soát dữ liệu: Xác định các phương án xử lý vi phạm toàn vẹn (REJECT, CASCADE, SET NULL) khi thực hiện các phép cập nhật dữ liệu.
Phương pháp giảng dạy và học tập
Phương pháp sư phạm
Tài liệu được xây dựng theo phương pháp suy diễn kết hợp minh họa thực nghiệm:
- Trình bày định nghĩa hình thức (Formal Definition) dựa trên toán học.
- Quy đổi sang thuật ngữ trực quan (Informal Terminology) để đơn giản hóa quá trình nắm bắt.
- Sử dụng các câu hỏi kiểm tra nhanh dạng điền khuyết ngay trên slide (ví dụ:
STUDENT(Name, SSN, HomePhone, Address, OfficePhone, Age, GPA) -> Degree = ??, dom(GPA) = ??) để kích hoạt tư duy người học.
- Minh họa trực quan các quy tắc ánh xạ bằng các bài toán kinh điển (cơ sở dữ liệu
COMPANY, hệ thống quản lý xe CAR, hệ thống môn học DEPARTMENT - OFFER - MODULE, hệ thống mượn sách BORROWER - ON_LOAN - BOOK).
+------------------------------------------------------------------------+
| MÔ HÌNH HÓA VÍ DỤ CHUYỂN ĐỔI 1:N |
+------------------------------------------------------------------------+
| [DEPARTMENT] 1 <------- OFFER -------> N [MODULE] |
| |
| -> Phương án bắt buộc (Mandatory): |
| MODULE(MDL-NUMBER, TITLE, TERM, ..., DNAME) |
| (DNAME là khóa ngoại tham chiếu đến DEPARTMENT) |
+------------------------------------------------------------------------+
Bài tập và bài thực hành
- Bài tập xác định khóa: Cho lược đồ và dữ liệu mẫu, yêu cầu sinh viên liệt kê toàn bộ siêu khóa, khóa ứng viên và chọn khóa chính tương ứng.
- Bài tập ánh xạ lược đồ: Cho một sơ đồ ER/EER hoàn chỉnh của doanh nghiệp (ERD for COMPANY Database), thực hiện tuần tự từ Bước 1 đến Bước 9 để tạo lập danh sách các bảng, xác định toàn bộ khóa chính, khóa ngoại và biểu diễn các cung tham chiếu liên quan.
- Bài tập xử lý vi phạm cập nhật (Homework Assignment): Xây dựng kịch bản kiểm tra hành vi của hệ thống khi thực hiện lệnh DELETE/INSERT trên các bảng có ràng buộc khóa ngoại (phân tích sự khác biệt giữa CASCADE và SET NULL).
Hướng dẫn tự học và đánh giá
- Người học cần nắm vững lý thuyết quan hệ trước khi tiến hành vẽ sơ đồ hoặc cài đặt SQL.
- Phương pháp đánh giá dựa trên mức độ chuẩn xác trong việc thiết lập khóa, bảo đảm toàn vẹn tham chiếu và tính tối ưu của các phương án ánh xạ thực thể yếu, liên kết $1:1$, $1:N$, $M:N$.
Điểm nổi bật và cập nhật
- Tính quy chuẩn học thuật: Nội dung bám sát khung kiến thức chuẩn quốc tế về Cơ sở dữ liệu theo định hướng của Dr. E. F. Codd và giáo trình chuẩn của Elmasri & Navathe.
- Tích hợp các tiêu chuẩn SQL mở rộng: Đề cập trực tiếp đến chuẩn SQL-99 trong việc cài đặt các ràng buộc ngữ nghĩa thông qua cơ chế kích hoạt (Triggers) và xác nhận (ASSERTIONS).
- Phân tách rành mạch các trạng thái ràng buộc: Tài liệu phân loại rõ ràng giữa ràng buộc trạng thái/tĩnh (State/Static Constraints - dữ liệu tại một thời điểm) và ràng buộc chuyển đổi/động (Transition/Dynamic Constraints - ví dụ quy tắc nghiệp vụ "Lương của nhân viên chỉ có thể tăng, không được giảm").
- Tối ưu hóa phương án thiết kế: Trong ánh xạ liên kết $1:N$ có tính chất tùy chọn (Optional Membership), tài liệu so sánh trực tiếp giữa phương án gộp thuộc tính và phương án tách bảng mới để tối ưu hóa không gian lưu trữ và tránh giá trị Null dư thừa (ví dụ bài toán
BORROWER và BOOK).
Đối tượng sử dụng giáo trình
Phân loại đối tượng
- Sinh viên đại học: Sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các khối ngành Công nghệ thông tin, Khoa học dữ liệu, Hệ thống thông tin quản lý.
- Học viên cao học: Học viên cần củng cố cơ sở lý thuyết hình thức về mô hình quan hệ và tối ưu hóa thiết kế cơ sở dữ liệu logic.
- Kỹ sư phát triển phần mềm và DBA: Tài liệu tham khảo để chuẩn hóa quy trình thiết kế bảng dữ liệu từ tài liệu phân tích nghiệp vụ thực tế.
Yêu cầu tiên quyết (Prerequisites)
- Đã hoàn thành học phần Toán rời rạc (nắm vững lý thuyết tập hợp, quan hệ, tích Descartes).
- Đã học phần đầu của môn Cơ sở dữ liệu (kỹ thuật phân tích yêu cầu và mô hình hóa thực thể - liên kết ER/EER).
Câu hỏi thường gặp
1. Giáo trình này phù hợp với đối tượng nào?
Tài liệu được thiết kế cho sinh viên chuyên ngành Công nghệ Thông tin, Khoa học Máy tính ở bậc đại học/cao học và các kỹ sư phần mềm cần nắm vững nguyên lý chuyển đổi từ mô hình thiết kế quan niệm sang lược đồ cơ sở dữ liệu quan hệ.
2. Cần kiến thức nền tảng nào trước khi tiếp cận chương này?
Người học cần có kiến thức cơ bản về Toán rời rạc (đặc biệt là lý thuyết tập hợp) và hiểu rõ cách xây dựng sơ đồ Thực thể - Liên kết (ERD/EERD) ở giai đoạn thiết kế quan niệm.
3. Điểm khác biệt cốt lõi giữa siêu khóa (Superkey) và khóa (Key) là gì?
Theo định nghĩa trong tài liệu, siêu khóa ($SK$) là một tập hợp thuộc tính giúp định danh duy nhất một bộ dữ liệu. Khóa ($K$) là một siêu khóa tối thiểu, nghĩa là nếu loại bỏ bất kỳ thuộc tính nào khỏi $K$, tập hợp còn lại sẽ không còn là một siêu khóa.
4. Khi nào thực thể yếu (Weak Entity) được chuyển đổi thành bảng quan hệ?
Thực thể yếu được chuyển đổi ở Bước 2 của quy trình ánh xạ. Bảng mới sẽ bao gồm toàn bộ các thuộc tính đơn của thực thể yếu, kết hợp với khóa chính của thực thể chủ (Owner Entity) đóng vai trò làm khóa ngoại. Khóa chính của bảng này là tổ hợp gồm khóa chính của thực thể chủ và khóa bộ phận (Partial Key) của thực thể yếu.
5. Các phương án xử lý chính khi xảy ra vi phạm ràng buộc toàn vẹn là gì?
Hệ thống có thể thực hiện 4 phương án: (1) Hủy bỏ thao tác gây vi phạm (REJECT); (2) Thực hiện thao tác nhưng gửi cảnh báo; (3) Kích hoạt các cập nhật bổ sung để tự động sửa vi phạm (CASCADE, SET NULL); (4) Kích hoạt thủ tục xử lý lỗi do người dùng định nghĩa.
Kết luận
Chương 4 của giáo trình cung cấp hệ thống lý thuyết chuẩn mực về mô hình dữ liệu quan hệ và quy trình 9 bước chuyển đổi từ mô hình ER/EER sang lược đồ quan hệ. Việc nắm vững các ràng buộc toàn vẹn (thực thể, tham chiếu, khóa) cùng logic ánh xạ giúp sinh viên xây dựng cấu trúc cơ sở dữ liệu bảo đảm tính toàn vẹn dữ liệu và sẵn sàng cho giai đoạn chuẩn hóa (Normalization) cũng như cài đặt vật lý trên các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).