Tuyển dụng
Viettel IDC

Đạ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ệ 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.

MSSV

TÊN

TUỔI

1

Anh

20

2

Bình

18

3

Cường

19

4

Dũng

20

5

Giang

21

6

Giang

23

Bảng NHÂN_VIÊN  gồm Mã nhân viên (MSNV), Tên và Tuổi.

MSNV

TÊN

TUỔI

NV-1

Hùng

20

NV-2

Lan

23

NV-3

Cường

25

NV-4

Dũng

20

NV-5

Mai

22

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ề:

MSSV

TÊN

TUỔI

1

Anh

20

4

Dũng

20

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ề:

TÊN

Anh

Bình

Cường

Dũng

Giang

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ả:

MSSV

TÊN

1

Anh

2

Bình

3

Cường

4

Dũng

5

Giang

6

Giang

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

TÊN

Anh

Bình

Cường

Dũng

Giang

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)

TÊN

Anh

Bình

Cường

Dũng

Giang

Hùng

Lan

Mai

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)

TÊN

Anh

Bình

Giang

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):

MSSV

TÊN

TUỔI

MSNV

TÊN

TUỔI

1

Anh

20

NV-1

Hùng

20

1

Anh

20

NV-2

Lan

23

1

Anh

20

NV-3

Cường

25

1

Anh

20

NV-4

Dũng

20

1

Anh

20

NV-5

Mai

22

2

Bình

18

NV-1

Hùng

20

2

Bình

18

NV-2

Lan

23

...

...

...

...

...

...

(Và cứ thế tiếp tục cho đến hết các dòng)

Các phép toán cơ bản của đại số quan hệ trong cơ sở dữ liệu

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ả:

TÊN

Giang

(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ý.

SINH_VIÊN

MÔN_HỌC

An

Toán

An

Lý

Bình

Toán

Cường

Toán

Cường

Lý

Cường

Hóa

Bảng MÔN_BẮT_BUỘC (S) Danh sách các môn yêu cầu phải học đủ.

MÔN_HỌC

Toán

Lý

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ả:

SINH_VIÊN

An

Cường

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.

MÃ_NV

TÊN

THÀNH_PHỐ

KINH_NGHIỆM

NV-1

Lâm

Hà Nội

04

NV-2

Vinh

Đà Nẵng

09

NV-3

Hùng

TP.HCM

03

NV-4

An

Cần Thơ

07

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.

MÃ_PB

TÊN_PB

MÃ_NV

KN_TỐI_THIỂU

PB-1

Nhân sự

NV-1

03

PB-2

CNTT

NV-2

05

PB-3

Tiếp thị

NV-3

02

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)

MÃ_NV

TÊN

THÀNH_PHỐ

KINH_NGHIỆM

MÃ_PB

TÊN_PB

MÃ_NV 

KN_TỐI_THIỂU

NV-1

Lâm

Hà Nội

04

PB-1

Nhân sự

NV-1

03

NV-1

Lâm

Hà Nội

04

PB-2

CNTT

NV-2

05

NV-1

Lâm

Hà Nội

04

PB-3

Tiếp thị

NV-3

02

NV-2

Vinh

Đà Nẵng

09

PB-1

Nhân sự

NV-1

03

NV-2

Vinh

Đà Nẵng

09

PB-2

CNTT

NV-2

05

NV-2

Vinh

Đà Nẵng

09

PB-3

Tiếp thị

NV-3

02

NV-3

Hùng

TP.HCM

03

PB-1

Nhân sự

NV-1

03

NV-3

Hùng

TP.HCM

03

PB-2

CNTT

NV-2

05

NV-3

Hùng

TP.HCM

03

PB-3

Tiếp thị

NV-3

02

NV-4

An

Cần Thơ

07

PB-1

Nhân sự

NV-1

03

NV-4

An

Cần Thơ

07

PB-2

CNTT

NV-2

05

NV-4

An

Cần Thơ

07

PB-3

Tiếp thị

NV-3

02

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.

MÃ_NV

TÊN

THÀNH_PHỐ

KINH_
NGHIỆM

MÃ_PB

TÊN_PB

MÃ_NV 

KN_TỐI_THIỂU

NV-1

Lâm

Hà Nội

04

PB-1

Nhân sự

NV-1

03

NV-1

Lâm

Hà Nội

04

PB-3

Tiếp thị

NV-3

02

NV-2

Vinh

Đà Nẵng

09

PB-1

Nhân sự

NV-1

03

NV-2

Vinh

Đà Nẵng

09

PB-2

CNTT

NV-2

05

NV-2

Vinh

Đà Nẵng

09

PB-3

Tiếp thị

NV-3

02

NV-3

Hùng

TP.HCM

03

PB-1

Nhân sự

NV-1

03

NV-3

Hùng

TP.HCM

03

PB-3

Tiếp thị

NV-3

02

NV-4

An

Cần Thơ

07

PB-1

Nhân sự

NV-1

03

NV-4

An

Cần Thơ

07

PB-2

CNTT

NV-2

05

NV-4

An

Cần Thơ

07

PB-3

Tiếp thị

NV-3

02

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ả:

MÃ_NV

TÊN

THÀNH_PHỐ

KINH_
NGHIỆM

MÃ_PB

TÊN_PB

MÃ_NV 

KN_TỐI_
THIỂU

NV-1

Lâm

Hà Nội

04

PB-1

Nhân sự

NV-1

03

NV-2

Vinh

Đà Nẵng

09

PB-2

CNTT

NV-2

05

NV-3

Hùng

TP.HCM

03

PB-3

Tiếp thị

NV-3

02

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ả:

MÃ_NV

TÊN

THÀNH_PHỐ

KINH_
NGHIỆM

MÃ_PB

TÊN_PB

KN_TỐI_THIỂU

NV-1

Lâm

Hà Nội

04

PB-1

Nhân sự

03

NV-2

Vinh

Đà Nẵng

09

PB-2

CNTT

05

NV-3

Hùng

TP.HCM

03

PB-3

Tiếp thị

02

Đạ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  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

28/09/2026

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.

28/09/2026

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ế.

28/09/2026

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.

28/09/2026

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ả.

28/09/2026

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.

25/09/2026

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.

25/09/2026

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.

25/09/2026

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.

25/09/2026

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.

16/01/2025

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