Tổng quan về giáo trình
Tài liệu bài giảng "Chương 3: Đại số quan hệ" là học liệu thuộc học phần Cơ sở dữ liệu, do ThS. Nguyễn Đình Loan Phương biên soạn và giảng dạy tại Khoa Hệ thống Thông tin, Trường Đại học Công nghệ Thông tin (Đại học Quốc gia TP.HCM). Trong chương trình đào tạo bậc đại học các ngành Công nghệ Thông tin và Hệ thống Thông tin, học phần này giữ vị trí nền tảng, đóng vai trò bản lề giúp người học chuyển tiếp từ kiến thức mô hình hóa dữ liệu quan hệ sang lý thuyết truy vấn hình thức và thực thi ngôn ngữ SQL trong các hệ quản trị cơ sở dữ liệu.
Mục tiêu học tập của tài liệu tập trung vào việc trang bị cho sinh viên:
- Khả năng phân biệt hai loại xử lý dữ liệu cơ bản: xử lý làm thay đổi dữ liệu (cập nhật: thêm, xóa, sửa) và xử lý không làm thay đổi dữ liệu (rút trích / truy vấn dữ liệu).
- Nắm vững bản chất toán học của đại số quan hệ (Relational Algebra) dựa trên nền tảng lý thuyết tập hợp.
- Hiểu rõ định nghĩa, ký hiệu, điều kiện áp dụng và tính chất của 5 phép toán cơ bản cùng các phép toán mở rộng/phái sinh.
- Khả năng mô tả, biểu diễn các yêu cầu rút trích dữ liệu thực tế thành chuỗi biểu thức đại số quan hệ chính xác và nhận biết các biểu thức truy vấn tương đương nhằm phục vụ việc tối ưu hóa truy vấn.
Cấu trúc bài giảng được tổ chức tuần tự theo 4 phân mục chính:
- Tổng quan về Đại số quan hệ và khái niệm truy vấn dữ liệu.
- Nhóm các phép toán cơ bản.
- Nhóm các phép toán mở rộng và hữu ích khác.
- Các thao tác cập nhật và chuỗi biểu thức kết hợp.
Điểm đặc trưng của tài liệu là cách tiếp cận kết hợp chặt chẽ giữa định nghĩa toán học hình thức và các bảng dữ liệu cụ thể (như dữ liệu học viên, nhân viên, phòng ban), giúp trực quan hóa cơ chế hoạt động của từng toán tử trên các bộ dữ liệu mẫu.
Nội dung kiến thức cốt lõi
Các chương/chủ đề chính
Nội dung học liệu được phân chia thành các chủ đề kiến thức cụ thể như sau:
- Khái niệm mở đầu về truy vấn và ngôn ngữ truy vấn: Định nghĩa truy vấn cơ sở dữ liệu là quá trình đưa ra các câu hỏi để nhận lại câu trả lời từ dữ liệu đã lưu trữ. Phân loại hai nhóm xử lý: nhóm thay đổi dữ liệu (thêm mới, xóa, sửa) và nhóm không thay đổi dữ liệu (truy vấn rút trích). Phân định vị trí của Đại số quan hệ (biểu diễn câu truy vấn dạng biểu thức mang tính thủ tục), Phép tính quan hệ (Relational Calculus - biểu diễn kết quả mang tính khai báo) và SQL (Structured Query Language).
- Bản chất của Đại số quan hệ: Định nghĩa Đại số quan hệ là tập hợp các phép toán quan hệ có nền tảng từ lý thuyết tập hợp, trong đó toán hạng (biến) là các quan hệ (set) và kết quả trả về của một biểu thức đại số quan hệ luôn là một thể hiện của quan hệ.
- Năm phép toán cơ bản:
- Phép chọn ($\sigma_P(R)$ hoặc $R: P$): Rút trích các bộ (dòng) trong quan hệ $R$ thỏa mãn biểu thức điều kiện logic $P$. Kết quả có cùng danh sách thuộc tính với $R$, số bộ nhỏ hơn hoặc bằng $R$. Phép chọn có tính chất giao hoán: $\sigma_{P1}(\sigma_{P2}(R)) = \sigma_{P2}(\sigma_{P1}(R)) = \sigma_{P1 \land P2}(R)$.
- Phép chiếu ($\pi_{A_1, A_2, \dots, A_k}(R)$ hoặc $R[A_1, A_2, \dots, A_k]$): Rút trích các cột thuộc tính chỉ định, tự động loại bỏ các dòng trùng lắp. Phép chiếu không có tính giao hoán.
- Phép tích Descartes ($R \times S$): Tạo tổ hợp mọi bộ từ $R$ và $S$. Nếu $R$ có $u$ bộ, $n$ thuộc tính và $S$ có $v$ bộ, $m$ thuộc tính thì kết quả có $u \times v$ bộ và $n + m$ thuộc tính.
- Phép hội ($R \cup S$): Hợp các bộ thuộc $R$, thuộc $S$ hoặc thuộc cả hai, loại bỏ phần tử trùng. Yêu cầu $R$ và $S$ phải khả hợp (cùng bậc $n$ và cùng miền giá trị $Dom(A_i) = Dom(B_i)$).
- Phép hiệu ($R - S$): Lấy các bộ thuộc $R$ nhưng không thuộc $S$. Yêu cầu hai quan hệ phải khả hợp.
- Các phép toán mở rộng và phái sinh:
- Phép giao ($R \cap S$): Lấy các bộ đồng thời thuộc cả $R$ và $S$ trên hai quan hệ khả hợp.
- Phép kết ($R \bowtie_P S$): Tổ hợp các bộ có liên quan giữa hai quan hệ theo điều kiện kết $P$. Bao gồm: Kết Theta ($R \bowtie_P S$), Kết bằng (Equi-join khi điều kiện là phép so sánh bằng), và Kết tự nhiên ($R * S$ - kết trên các thuộc tính cùng tên và tự động loại bớt cột trùng lặp).
- Phép chia ($R \div S$): Rút trích các bộ trong quan hệ $R(Z)$ sao cho tương ứng với tất cả các bộ trong quan hệ $S(X)$ (với $X \subseteq Z$).
- Phép đổi tên ($\rho_S(R)$ hoặc $\rho_{S(X, C, D)}(R)$) và Phép gán ($\leftarrow$): Lưu trữ các bảng kết quả trung gian để xây dựng chuỗi truy vấn phức tạp.
- Phép chiếu tổng quát ($\pi_{F_1, F_2, \dots, F_n}(E)$): Cho phép tính toán các biểu thức số học trên thuộc tính (ví dụ:
HONV, TENNV, LUONG*1.1).
- Truy vấn tương đương: Định nghĩa hai truy vấn là tương đương nếu chúng bảo đảm trả về cùng một kết quả trên mọi thể hiện của cơ sở dữ liệu.
Kiến thức nền tảng được xây dựng
Học liệu xây dựng hệ thống tri thức dựa trên ba trụ cột lý thuyết:
- Lý thuyết tập hợp (Set Theory): Nền tảng xác lập các khái niệm quan hệ (tập hợp các bộ), miền giá trị ($Dom$), bậc của quan hệ, và tính khả hợp (Union-compatibility) giữa các quan hệ khi thực hiện các phép toán hội, giao, trừ.
- Tính đóng (Closure Property): Mọi phép toán trong đại số quan hệ khi nhận đầu vào là một hoặc nhiều quan hệ đều trả về đầu ra là một quan hệ duy nhất. Nguyên lý này cho phép lồng ghép liên tiếp các phép toán ($\pi$, $\sigma$, $\bowtie$) để tạo thành các biểu thức truy vấn phức hợp.
- Nguyên lý tương đương và tối ưu hóa: Cơ sở phân tích trật tự thực thi giữa các phép toán (ví dụ: thực hiện phép chọn $\sigma$ trước phép kết $\bowtie$ hoặc phép tích $\times$ để giảm kích thước dữ liệu trung gian).
Kỹ năng phát triển
Thông qua nội dung bài học, người học được rèn luyện các nhóm năng lực:
- Năng lực kỹ thuật: Kỹ năng viết biểu thức đại số quan hệ chuẩn xác theo ký hiệu toán học; phân rã câu hỏi truy vấn phức tạp thành các bước trung gian có sử dụng phép gán và đổi tên thuộc tính.
- Năng lực phân tích: Kỹ năng phân tích lược đồ dữ liệu, nhận diện đúng các thuộc tính liên kết giữa các bảng quan hệ; phân biệt chính xác việc sử dụng kết tự nhiên so với kết bằng/kết theta, và vận dụng phép chia cho các bài toán mang ngữ nghĩa "tất cả / với mọi".
- Năng lực thực hành trên lược đồ thực tế: Áp dụng trực tiếp vào lược đồ Cơ sở dữ liệu Quản lý nhân viên (
NHANVIEN,PHONGBAN,DDIEM_PHG,DEAN,THANNHAN) và Quản lý học viên (HOCVIEN,MONHOC,DOT1,DOT2).
Phương pháp giảng dạy và học tập
Tài liệu áp dụng phương pháp sư phạm quy nạp kết hợp diễn dịch (Inductive-Deductive Approach), đi từ tình huống thực tế đến chuẩn hóa toán học:
- Khởi động bằng bài toán thực tế: Đưa ra các câu hỏi truy vấn dưới dạng ngôn ngữ tự nhiên thường gặp trong quản trị dữ liệu (ví dụ: "Cho biết các khoa có hơn 100 sinh viên", "Tìm nhân viên có lương > 45000").
- Hình thức hóa toán học: Trình bày định nghĩa giải tích, cú pháp, miền giá trị và tính chất đại số của từng phép toán.
- Minh họa bằng bảng dữ liệu mẫu chi tiết:
- Sử dụng bảng
NVIEN_CHvàNVIEN_TV(gồm các trườngTENNV,NGSINH,PHAI) với các giá trị mẫu cụ thể (Tung,Hang,Nhu,Hung,Trinh,Khang,Phuong,Chau) để làm rõ tính khả hợp và điều kiện cùng bậc $n=3$. - Sử dụng bảng khen thưởng
DOT1vàDOT2với các mã học viênK1101,K1103,K1114,K1203,K1308để đối chiếu kết quả khác nhau giữa phép Hội ($\cup$), phép Giao ($\cap$) và phép Trừ ($-$). - Sử dụng bảng
HOCVIEN(Mahv,HoTen,Gioitinh,Noisinh,Malop) để minh họa phép chọn $\sigma_{Gioitinh='Nam' \land Noisinh='TpHCM'}(HOCVIEN)$ và phép chiếu $\pi_{Mahv, Hoten}$. - Sử dụng bảng
NHANVIENvàPHONGBANđể minh họa phép kết có điều kiện $TRPHG = MANV$ hoặc $PHG = MAPHG$.
- Sử dụng bảng
- Hệ thống bài tập đánh giá năng lực: Cuối bài giảng cung cấp danh mục 7 bài toán truy vấn tổng hợp trên lược đồ quản lý nhân viên, bao gồm:
- Tìm tên và địa chỉ của các nhân viên thuộc phòng "Nghien cuu".
- Rút trích tên nhân viên và tên phòng mà nhân viên đó làm việc.
- Tìm tên trưởng phòng và tên phòng mà người đó làm trưởng phòng.
- Tìm tên những trưởng phòng có ít nhất một thân nhân.
- Liệt kê tên những đề án có nhân viên "Nguyen Van A" và "Nguyen Van B" cùng tham gia.
- Tìm tên nhân viên không có thân nhân nào (ứng dụng phép hiệu).
- Tìm tên nhân viên phòng số 5 tham gia đề án "San pham X" do "Nguyen Thanh Tung" quản lý trực tiếp.
- Hướng dẫn tự học: Sinh viên được yêu cầu theo dõi từng bước tính toán trên giấy, tạo các bảng dữ liệu trung gian khi thực hiện phép gán ($\leftarrow$), và kiểm tra tính đúng đắn của biểu thức trước khi chuyển đổi sang câu lệnh SQL.
Điểm nổi bật và cập nhật
Nội dung học liệu phản ánh các chuẩn mực kinh điển trong lý thuyết cơ sở dữ liệu quan hệ của E. F. Codd, đồng thời có những điểm nhấn cụ thể:
- Tính phân loại rõ ràng: Tách bạch rành mạch giữa 5 phép toán nguyên thủy (chọn, chiếu, tích, hiệu, hội) và các phép toán dẫn xuất (giao, kết, chia). Điều này giúp sinh viên hiểu rõ cấu trúc tối thiểu cần thiết để xây dựng một ngôn ngữ truy vấn hoàn chỉnh.
- Mở rộng phép chiếu tổng quát: Bổ sung kiến thức về phép chiếu mở rộng ($\pi_{F_1, F_2, \dots, F_n}(E)$), cho phép nhúng các biểu thức số học (chẳng hạn tính lương sau tăng 10%:
LUONG * 1.1), tạo cầu nối trực tiếp đến mệnh đềSELECTcó biểu thức tính toán trong SQL thực tế. - Tiếp cận sâu về phép chia đại số: Phép chia quan hệ ($R \div S$) vốn là một trong những phép toán phức tạp nhất đối với người học, được trình bày chi tiết từ biểu thức hình thức $Y = Z - X$ kèm ví dụ bảng trừu tượng (với các tập giá trị $a, b, c, d, e, 1, 2, 3$) giúp người học nắm bắt cơ chế so khớp toàn bộ (universal quantification).
- Gắn liền với lược đồ dữ liệu doanh nghiệp thực tế: Việc chuẩn hóa bài tập xoay quanh lược đồ Quản lý nhân viên (QLNV) với các quan hệ liên kết (
NHANVIEN,PHONGBAN,DDIEM_PHG,DEAN,THANNHAN) phản ánh đúng các cấu trúc liên kết 1-n, n-n trong thực tế.
Đối tượng sử dụng giáo trình
Học liệu được thiết kế phục vụ các đối tượng cụ thể trong môi trường đào tạo đại học:
- Sinh viên đại học chính quy: Sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành Hệ thống thông tin, Công nghệ thông tin, Khoa học máy tính, Kỹ thuật phần mềm, Mạng máy tính và An toàn thông tin đang theo học học phần Cơ sở dữ liệu.
- Điều kiện 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ệ, đại số mệnh đề và logic vị từ).
- Đã học xong Chương 1 và Chương 2 của môn học (hiểu rõ khái niệm về mô hình dữ liệu quan hệ, khóa chính, khóa ngoại, ràng buộc toàn vẹn).
- Giảng viên và trợ giảng: Sử dụng làm khung bài giảng chuẩn trên lớp, khai thác hệ thống slide ví dụ từng bước và ngân hàng bài tập ở trang 48 để tổ chức bài tập nhóm hoặc đề thi kiểm tra giữa kỳ.
- Học viên tự học và ôn thi: Phục vụ sinh viên ôn thi chuẩn đầu ra, học viên cao học cần củng cố lại lý thuyết tối ưu hóa truy vấn trước khi nghiên cứu sâu về kiến trúc Hệ quản trị cơ sở dữ liệu (DBMS Internals).
Câu hỏi thường gặp
1. Giáo trình này phù hợp với ai?
Tài liệu được thiết kế cho sinh viên đại học khối ngành Công nghệ Thông tin và Hệ thống Thông tin đang học môn Cơ sở dữ liệu, cũng như những người cần nắm vững cơ sở toán học hình thức của việc rút trích dữ liệu.
2. Cần kiến thức nền nào để tiếp thu tốt nội dung này?
Người học cần có kiến thức cơ bản về lý thuyết tập hợp (toán rời rạc), các phép toán logic mệnh đề, cùng hiểu biết về cấu trúc bảng, dòng, cột và khóa trong mô hình dữ liệu quan hệ.
3. Điểm khác biệt giữa Đại số quan hệ và SQL là gì?
Đại số quan hệ là ngôn ngữ truy vấn hình thức mang tính thủ tục (procedural), chỉ rõ các bước và thứ tự phép toán cần thực hiện để lấy dữ liệu. Trong khi đó, SQL là ngôn ngữ khai báo (declarative), người dùng chỉ cần mô tả dữ liệu cần lấy là gì mà không cần chỉ định chi tiết thuật toán thực thi nội bộ.
4. Làm sao để học và tự giải các bài tập đại số quan hệ hiệu quả?
Người học nên bắt đầu từ việc phân tích câu hỏi để xác định các quan hệ chứa dữ liệu cần tìm, liệt kê các điều kiện lọc (phép chọn $\sigma$), các bảng cần kết nối (phép kết $\bowtie$), và danh sách thuộc tính cần xuất ra (phép chiếu $\pi$). Sử dụng phép gán ($\leftarrow$) để chia nhỏ bài toán thành các bước trung gian trước khi gộp thành một biểu thức duy nhất.
5. Có những tài liệu và lược đồ nào đi kèm bài giảng này?
Bài giảng đi kèm lược đồ Cơ sở dữ liệu Quản lý nhân viên (QLNV) gồm các quan hệ NHANVIEN, PHONGBAN, DDIEM_PHG, DEAN, THANNHAN, bộ dữ liệu quản lý khen thưởng học viên (DOT1, DOT2, HOCVIEN), cùng danh sách 7 bài tập truy vấn mẫu ở cuối chương.
Kết luận
Tài liệu bài giảng "Chương 3: Đại số quan hệ" của ThS. Nguyễn Đình Loan Phương (Khoa Hệ thống Thông tin - Trường ĐH Công nghệ Thông tin) cung cấp hệ thống tri thức toán học nền tảng cho việc truy vấn và tối ưu hóa dữ liệu trong mô hình quan hệ. Thông qua việc làm chủ 5 phép toán cơ bản, các phép toán mở rộng và kỹ năng thiết lập biểu thức tương đương, người học xây dựng được tư duy phân tích dữ liệu chặt chẽ, tạo tiền đề trực tiếp để học tập các ngôn ngữ thực thi như SQL và Phép tính quan hệ trong các chương học tiếp theo.