Đại số quan hệ là ngôn ngữ truy vấn thủ tục, dùng để cung cấp một bảng/quan hệ đơn lẻ làm kết quả của việc thực hiện phép toán trên nhiều quan hệ. Một số quan hệ cơ bản sẽ được thảo luận ở đây.
Trong quá trình học, chúng ta sẽ sử dụng ba quan hệ (bảng):
Bảng 1: course
| Course_id | Name |
|---|---|
| 1 | Computer science |
| 2 | Information Technology |
| 3 | mechanical |
Bảng 2: students
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
Bảng 3: Hostel
| St. No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
Trên các quan hệ này, ta sẽ thực hiện một số phép toán để tạo quan hệ mới dựa trên phép toán thực hiện.
Phép chọn (σ) − Toán tử chọn ký hiệu sigma σ dùng để chọn các tuple của quan hệ dựa trên điều kiện. Chỉ các tuple thỏa mãn điều kiện được chọn.
Cú pháp
σ(condition)(relation_name)
Ví dụ
Chọn sinh viên với course_id = 1. σ(course_id = 1)(student)
Kết quả
| Roll No. | Name | address | age |
|---|---|---|---|
| 4 | Faiz | Delhi | 22 |
Phép chiếu (π) Toán tử chiếu ký hiệu π dùng để chọn cột từ quan hệ cụ thể. Chỉ các cột cụ thể được chọn.
Cú pháp
π(column1, column2, ..., columnn)(relation_name)
Ví dụ
Chọn tên và số của tất cả sinh viên ở ký túc xá. π(st. No., name)(hostel)
Kết quả
| St. No. | Name |
|---|---|
| 1 | Ram |
| 2 | Akash |
| 3 | neha |
Các hàng luôn khác biệt trong chiếu, tức là nếu có sinh viên khác tên cũng là panjak thì cái kia bị loại.
Tích Descartes (X) - Tích Descartes ký hiệu bằng X, dùng để tìm giá trị join của hai biến. Trong tích Descartes, mỗi tuple của quan hệ 1 kết hợp với mỗi tuple của quan hệ 2. Kết quả quan hệ xuất ra bậc nXm, n là số tuple quan hệ 1, m là số tuple quan hệ 2.
Cú pháp
relation1 X relation2
Ví dụ
Tìm tích Descartes của bảng course và hostel.
student X course
| St. No. | Name | address | age | Course_id | Name |
|---|---|---|---|---|---|
| 1 | Ram | Delhi | 18 | 1 | Computer science |
| 1 | Ram | Delhi | 18 | 2 | Information Technology |
| 1 | Ram | Delhi | 18 | 3 | mechanical |
| 2 | Akash | hyderabad | 20 | 1 | Computer science |
| 2 | Akash | hyderabad | 20 | 2 | Information Technology |
| 2 | Akash | hyderabad | 20 | 3 | mechanical |
| 3 | neha | Jhansi | 21 | 1 | Computer science |
| 3 | neha | Jhansi | 21 | 2 | Information Technology |
| 3 | neha | Jhansi | 21 | 3 | mechanical |
Hợp (U) - Hợp của hai quan hệ relation1 và relation2 cho các tuple nằm trong relation1 hoặc relation2 nhưng tuple nằm trong cả hai chỉ tính một lần. Cả hai quan hệ phải cùng miền để tìm hợp.
Cú pháp
relation1 U relation2
Ví dụ
Tìm hợp của student và hostel
student U hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
Hiệu (-) toán tử - Toán tử hiệu ký hiệu bằng -. Relation1 - relation2 cho quan hệ chứa tuple trong relation1 và không trong relation2. Để tính hiệu, quan hệ phải union compatible.
Cú pháp
relation1 - relation2
Ví dụ
Thực hiện student - hostel
student - hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
Đổi tên (ρ) − Phép đổi tên ký hiệu bằng ρ dùng để đổi tên quan hệ cho trước thành tên khác.
Cú pháp
ρ(new_name, old_name)