Đại số quan hệ trong cơ sở dữ liệu: Tìm hiểu các phép toán trong cơ sở dữ liệu
12/12/2025Đại số quan hệ trong cơ sở dữ liệu được định nghĩa là một ngôn ngữ truy vấn thủ tục. Tại đây, việc truy xuất dữ liệu không diễn ra ngẫu nhiên mà được thực thi thông qua một hệ thống các toán tử chặt chẽ và logic. Trong bài viết này, hãy cùng Viettel IDC đi sâu tìm hiểu bản chất của đại số quan hệ, đồng thời khám phá các phép toán cốt lõi đang vận hành bên trong nó.

Đại số quan hệ trong cơ sở dữ liệu là gì?
Đại số quan hệ được giới thiệu lần đầu vào năm 1970 bởi Edgar F. Codd – người được mệnh danh là "Cha đẻ của DBMS". Đây được coi là nền tảng lý thuyết vững chắc cho các hệ cơ sở dữ liệu hiện đại.
Đại số quan hệ trong cơ sở dữ liệu được phân loại là một ngôn ngữ truy vấn thủ tục (Procedural Query Language - PQL). Sự khác biệt cốt lõi của PQL nằm ở chỗ, khi thực hiện truy vấn, người dùng (hoặc lập trình viên) bắt buộc phải xác định rõ hai yếu tố:
- "Làm cái gì”: Xác định dữ liệu nào cần được truy xuất.
- "Làm như thế nào”: Chỉ định rõ lộ trình, phương pháp hoặc thuật toán cụ thể để hệ thống đi tìm và lấy dữ liệu đó từ cơ sở dữ liệu.
Nói cách khác, nếu dữ liệu là kho báu, thì đại số quan hệ không chỉ yêu cầu bạn nói "Tôi muốn kho báu", mà còn bắt bạn phải vẽ ra tấm bản đồ chỉ đường để đến được kho báu đó.
Các loại phép toán trong cơ sở dữ liệu
Trong đại số quan hệ trong cơ sở dữ liệu, hệ thống các toán tử xử lý dữ liệu được chia thành hai nhóm chính:
- Các phép toán Cơ bản (Basic Operations)
- Các phép toán Dẫn xuất (Derived Operations)
Lưu ý: Một đặc điểm cốt lõi của đại số quan hệ là tính khép kín. Khi bạn áp dụng bất kỳ phép toán nào lên các quan hệ (bảng dữ liệu đầu vào), kết quả trả về sẽ luôn là một quan hệ mới (bảng dữ liệu đầu ra). Điều này cho phép chúng ta thực hiện các truy vấn phức tạp bằng cách lồng ghép nhiều phép toán lại với nhau.
Các phép toán cơ bản của đại số quan hệ trong cơ sở dữ liệu
Dưới đây là chi tiết về 6 phép toán cơ bản của đại số quan hệ trong cơ sở dữ liệu. Đây là những công cụ cốt lõi giúp thực hiện phần lớn các thao tác truy xuất dữ liệu.
Trước khi đi vào chi tiết, chúng ta hãy thiết lập bối cảnh với hai bảng dữ liệu (Quan hệ) mẫu là SINH VIÊN và NHÂN VIÊN để sử dụng cho các ví dụ bên dưới.
Bảng SINH_VIÊN gồm Mã số (MSSV), Tên và Tuổi.
Bảng NHÂN_VIÊN gồm Mã nhân viên (MSNV), Tên và Tuổi.
1. Phép Chọn (σ)
Phép chọn được thực hiện bởi Toán tử Chọn, ký hiệu là "sigma" (σ). Nó được sử dụng để lấy các bộ (hàng/dòng) từ bảng thỏa mãn một điều kiện nhất định. Trong đại số quan hệ trong cơ sở dữ liệu thì đây là toán tử một ngôi (unary).
Ký hiệu: σP(R)
- σ: Đại diện cho PHÉP CHỌN
- R: Đại diện cho QUAN HỆ (Bảng)
- p: Công thức logic (Điều kiện)
Giả sử chúng ta muốn tìm các dòng trong bảng SINH_VIÊN có "TUỔI" là 20.
σTuổi=20(SINH_VIÊN)
Kết quả trả về:
2. Phép Chiếu (⨅)
Đối với đại số quan hệ trong cơ sở dữ liệu, phép chiếu được thực hiện bởi Toán tử Chiếu, ký hiệu là "pi" (⨅). Nó được dùng để lấy các thuộc tính (cột) cụ thể từ bảng. Phép này còn gọi là phân hoạch dọc.
Ký hiệu: a(r)
- ⨅: Đại diện cho PHÉP CHIẾU
- r: Đại diện cho QUAN HỆ
- a: Danh sách thuộc tính cần lấy
Giả sử chúng ta muốn lấy tên của tất cả sinh viên trong bảng SINH_VIÊN: TÊN(SINH_VIÊN)
Kết quả trả về:
Lưu ý: Như bạn thấy trong kết quả trên, tên "Giang" xuất hiện 2 lần trong bảng gốc nhưng đã được tự động loại bỏ giá trị trùng lặp.
Đối với nhiều thuộc tính, chúng ta dùng dấu phẩy "," để ngăn cách: MSSV,TÊN(SINH_VIÊN)
Kết quả:
3. Phép đổi tên (ρ)
Phép đổi tên được ký hiệu là "Rho" (ρ). Đúng như tên gọi, nó được dùng để đổi tên quan hệ đầu ra.
Ký hiệu: ρ(R, S)
- R: Tên quan hệ mới
- S: Tên quan hệ cũ
Giả sử chúng ta đang lấy tên của sinh viên từ bảng SINH_VIÊN. Chúng ta muốn đổi tên bảng kết quả này thành DANH_SACH_SV.
ρ(DANH_SÁCH_SV, TÊN(SINH_VIÊN))
Kết quả:
Bảng dưới đây có tên là "DANH_SÁCH_SV".
DANH_SÁCH_SV
4. Phép Hợp (∪)
Đối với đại số quan hệ trong cơ sở dữ liệu, phép hợp sử dụng ký hiệu "union" (∪). Giống như trong lý thuyết tập hợp, nó chọn tất cả các bộ (dòng) từ cả hai quan hệ. Tuy nhiên, điều kiện bắt buộc là hai bảng phải có cùng tập hợp thuộc tính (tương thích hợp).
Ký hiệu: R ∪ S
- R: Quan hệ thứ nhất
- S: Quan hệ thứ hai
Lưu ý: Nếu các quan hệ không có cùng tập thuộc tính, kết quả sẽ bị lỗi hoặc trả về NULL.
Giả sử chúng ta muốn lấy danh sách tất cả TÊN từ cả bảng SINH_VIÊN và NHÂN_VIÊN.
TÊN(SINH_VIÊN) ∪ TÊN(NHÂN_VIÊN)
Kết quả trả về:
(Đã loại bỏ trùng lặp và gộp tên từ cả 2 bảng)
5. Phép Trừ (-)
Phép trừ (hay Hiệu tập hợp) là sự khác biệt giữa hai quan hệ (R - S). Nó được ký hiệu bằng dấu gạch nối (-) và trả về tất cả các dòng có trong quan hệ R nhưng không có trong quan hệ S.
Ký hiệu: R - S
Tương tự như phép hợp, phép trừ cũng yêu cầu hai quan hệ phải có cùng tập thuộc tính.
Ví dụ: Chúng ta muốn biết tên những người là SINH_VIÊN nhưng không phải là NHÂN_VIÊN.
TÊN(SINH_VIÊN) - TÊN(NHÂN_VIÊN)
Kết quả trả về:
(Loại bỏ Cường và Dũng vì họ cũng có tên trong danh sách Nhân viên)
6. Tích đề các (X)
Tích Đề các được ký hiệu bằng dấu "X". Giả sử có hai quan hệ R và S. Tích Đề các sẽ kết hợp mọi dòng từ R với tất cả các dòng từ S.
- Ký hiệu: RxS
Ví dụ: Hãy kết hợp hai bảng SINH_VIÊN và NHÂN_VIÊN.
SINH_VIÊN x NHÂN_VIÊN
Kết quả trả về (Một phần):
(Và cứ thế tiếp tục cho đến hết các dòng)

Các phép toán dẫn xuất của đại số quan hệ trong cơ sở dữ liệu
Các phép toán dẫn xuất từ đại số quan hệ trong cơ sở dữ liệu được gọi là các phép toán mở rộng, bao gồm 3 loại chính: Phép toán kết hợp, phép toán giao và phép toán chia.
1. Phép Giao (∩)
Phép giao trả về các bộ (dòng) xuất hiện trong CẢ HAI quan hệ. Điều kiện là hai quan hệ phải tương thích hợp (cùng số lượng và kiểu thuộc tính).
Ký hiệu: R ∩ S
Ví dụ: Tìm những người có tên xuất hiện ở cả bảng SINH_VIÊN và bảng NHÂN_VIÊN.
TÊN(SINH_VIÊN) ∩ TÊN(NHÂN_VIÊN)
Kết quả:
(Lưu ý: Trong ví dụ ở các phép toán cơ bản của đại số quan hệ trong cơ sở dữ liệu, nếu xét kỹ dữ liệu thì chỉ có Giang (hoặc tên trùng nhau tùy dữ liệu mẫu) là xuất hiện ở cả hai nơi).
2. Phép Chia (÷ hoặc /)
Phép chia của đại số quan hệ trong cơ sở dữ liệu là công cụ mạnh mẽ để giải quyết các truy vấn có tính chất "bao trùm tất cả".
Ký hiệu: R/S Nghĩa là: Tìm các đối tượng trong bảng R có quan hệ với tất cả các đối tượng trong bảng S.
Để dễ hiểu, hãy xét ví dụ nhỏ sau:
Bảng ĐĂNG_KÝ (R) Danh sách sinh viên và các môn họ đã đăng ký.
Bảng MÔN_BẮT_BUỘC (S) Danh sách các môn yêu cầu phải học đủ.
Câu hỏi: Tìm sinh viên đã đăng ký tất cả các môn có trong bảng MÔN_BẮT_BUỘC (tức là phải học cả Toán và Lý).
ĐĂNG_KÝ÷MÔN_BẮT_BUỘC
Kết quả:
3. Phép kết nối
Phép kết nối là phép toán hai ngôi cho phép kết hợp hai hoặc nhiều quan hệ lại với nhau. Để dễ hiểu, chúng ta sẽ thiết lập 2 bảng dữ liệu mới:
Bảng NHÂN_VIÊN mô tả thông tin nhân viên gồm Mã, Tên, Thành phố và Kinh nghiệm.
Bảng PHÒNG_BAN mô tả thông tin phòng ban và yêu cầu kinh nghiệm tối thiểu.
Trước khi đi vào phép kết nối của đại số quan hệ trong cơ sở dữ liệu, hãy xem qua Tích đề các của 2 bảng này. Việc hình dung ra bảng Tích Đề các sẽ giúp bạn hiểu cực nhanh cách Join hoạt động (vì Join thực chất là Tích Đề các + Lọc điều kiện).
Bảng tích đề các (NHÂN_VIÊN X PHÒNG_BAN) (Ghép mọi dòng nhân viên với mọi dòng phòng ban)
a. Phép nối Theta (θ)
Theta Join kết hợp hai quan hệ bằng một điều kiện tổng quát, ký hiệu là "theta" (θ). Điều kiện này có thể là các phép so sánh như >, <, >=, <=, =.
Ký hiệu: R ⋈θ S
Ví dụ: Tìm danh sách kết hợp mà ở đó KINH_NGHIỆM của nhân viên lớn hơn hoặc bằng KN_TỐI_THIỂU của phòng ban.
NHÂN_VIÊN⋈NHÂN_VIÊN.KINH_NGHIỆM>=PHÒNG_BAN.KN_TỐI_THIỂUPHÒNG_BAN
Cách làm: Nhìn vào bảng Tích Đề các ở trên, giữ lại dòng nào thỏa mãn
KINH_NGHIỆM >= KN_TỐI_THIỂU.
b. Kết nối bằng
Equi Join là trường hợp đặc biệt của Theta Join, nơi điều kiện chỉ chứa phép so sánh BẰNG (=).
Ví dụ: Kết nối bảng NHÂN_VIÊN và PHÒNG_BAN sao cho MÃ_NV ở bảng này bằng MÃ_NV ở bảng kia.
NHÂN_VIÊN⋈NHÂN_VIÊN.MÃ_NV=PHÒNG_BAN.MÃ_NVPHÒNG_BAN
Kết quả:
c. Kết nối tự nhiên (⋈)
Kết nối tự nhiên không cần đến phép so sánh. Nó tự động tìm các thuộc tính (cột) có cùng tên và cùng miền giá trị ở hai bảng để kết nối, đặc biệt tự động loại bỏ các cột trùng lặp. Kết nối tự nhiên thường xuất hiện trên khóa ngoại (Foreign key).
Ví dụ: Kết nối tự nhiên NHÂN_VIÊN và PHÒNG_BAN (Hệ thống tự nhận diện cột chung là MÃ_NV).
NHÂN_VIÊN ⋈ PHÒNG_BAN
Kết quả:
Đại số quan hệ trong cơ sở dữ liệu là mô hình lý thuyết đóng vai trò "xương sống", là nền tảng xây dựng nên ngôn ngữ SQL hiện đại. Hy vọng qua bài viết trên, Viettel IDC đã giúp bạn hiểu hơn về các ngôn ngữ truy vấn, đạt hiệu quả tốt khi thao tác trên cơ sở dữ liệu.
Nếu bạn cần một giải pháp hỗ trợ toàn diện cho việc quản trị, sao lưu và bảo vệ cơ sở dữ liệu, hãy tham khảo https://viettelidc.com.vn/viettel-database-service. Dịch vụ giúp bạn triển khai, quản lý, giám sát và sao lưu database trên hạ tầng đạt chuẩn quốc tế, với đội ngũ kỹ thuật 24/7 luôn đồng hành cùng hệ thống.
Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:
- Hotline: 1800 8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
Tin nổi bật
Tin liên quan
Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng
Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.
Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến
Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.
Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết
Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.
Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật
Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.
Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á
Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.
Ghidra là gì? Chức năng và ứng dụng trong reverse engineering
Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.
10 công cụ tối ưu hóa website theo từng mục tiêu
Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.
So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng
WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.
Cách test tải hệ thống: Quy trình và công cụ phổ biến
Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.
Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring
Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng
Bình luận ()