Đại số quan hệ
Đại số quan hệ (tiếng Anh: relational algebra) dùng phổ biến trong lý thuyết cơ sở dữ liệu quan hệ là một bộ các toán tử và các quy tắc tương ứng có thể được sử dụng để thao tác trên các toán học (relation) và tạo ra kết quả là một quan hệ khác. Trước đây, đại số quan hệ ít được quan tâm cho đến khi Edgar F. Codd đưa ra mô hình dữ liệu quan hệ (relational model) vào năm 1970. Từ đó đến nay, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn cơ sở dữ liệu.
Quan hệ khả hợp
[sửa | sửa mã nguồn]Cho hai lược đồ quan hệ R(A1, A2,..., An) và S(B1, B2,..., Bm) được gọi là khả hợp nếu:
- Chúng có cùng bậc: m = n.
- Miền giá trị (DOM) của các thuộc tính tương ứng bằng nhau: DOM(Ai) = DOM(Bi) với 1 ≤ i ≤ n.
Các phép toán
[sửa | sửa mã nguồn]NHANVIEN | ||||||
---|---|---|---|---|---|---|
MaNV | HoNV | TenNV | SDT | Phong | Luong | |
NV01 | Nguyen Van | A | email1@domain.com | 0123456789 | 1 | 20000 |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 |
NV03 | Tran Thi | C | email3@domain.org | 0388888888 | 3 | 15000 |
NV04 | Cao Quoc | D | email4@domain.net | 0246802468 | 2 | 17000 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV06 | Nguyen Minh | E | email6@domain.com.vn | 0888888888 | 3 | 18000 |
NV07 | Tran Tien | F | email7@domain.vn | 07111111111 | 4 | 19500 |
NV08 | Huynh Thi | C | email8@domain.vn | 0505050505 | 4 | 15600 |
PHONGBAN | |
---|---|
MaPB | TenPB |
1 | Phong ban 1 |
2 | Phong ban 2 |
3 | Phong ban 3 |
4 | Phong ban 4 |
5 | Phong ban 5 |
6 | Phong ban 6 |
Phép hợp
[sửa | sửa mã nguồn]Cho hai quan hệ R(U) và S(U) (U là tập hữu hạn các thuộc tính). Điều kiện: R,S khả hợp.
Ký hiệu: R∪S
Kết quả: A = R∪S là một quan hệ (trên tập thuộc tính U) gồm các bộ r thỏa mãn r ∈ R hoặc r ∈ S.
QUANLY | ||||||
---|---|---|---|---|---|---|
MaNV | HoNV | TenNV | SDT | Phong | Luong | |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV06 | Nguyen Minh | E | email6@domain.com.vn | 0888888888 | 3 | 18000 |
NV07 | Tran Tien | F | email7@domain.vn | 07111111111 | 4 | 19500 |
NV09 | Ho Huu | P | email9@domain.co.uk | 0378978900 | 5 | 23000 |
NV10 | Nguyen Huynh | T | email10@domain.com | 0388883456 | 6 | 22500 |
MaNV | HoNV | TenNV | SDT | Phong | Luong | |
NV01 | Nguyen Van | A | email1@domain.com | 0123456789 | 1 | 20000 |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 |
NV03 | Tran Thi | C | email3@domain.org | 0388888888 | 3 | 15000 |
NV04 | Cao Quoc | D | email4@domain.net | 0246802468 | 2 | 17000 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV06 | Nguyen Minh | E | email6@domain.com.vn | 0888888888 | 3 | 18000 |
NV07 | Tran Tien | F | email7@domain.vn | 07111111111 | 4 | 19500 |
NV08 | Huynh Thi | C | email8@domain.vn | 0505050505 | 4 | 15600 |
NV09 | Ho Huu | P | email9@domain.co.uk | 0378978900 | 5 | 23000 |
NV10 | Nguyen Huynh | T | email10@domain.com | 0388883456 | 6 | 22500 |
Phép giao
[sửa | sửa mã nguồn]Giao của 2 tập hợp R và S khả hợp là tập hợp các bộ t sao cho .
Kí hiệu: . Trong đó:
- R và S là 2 quan hệ khả hợp.
- : kí hiệu phép giao tập hợp.
MaNV | HoNV | TenNV | SDT | Phong | Luong | |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 |
NV06 | Nguyen Minh | E | email6@domain.com.vn | 0888888888 | 3 | 18000 |
NV07 | Tran Tien | F | email7@domain.vn | 07111111111 | 4 | 19500 |
Phép trừ
[sửa | sửa mã nguồn]Cho 2 quan hệ R & S là 2 quan hệ trên tập thuộc tính U. Hiệu 2 quan hệ R & S ký hiệu là R\S. là một quan hệ trên tập thuộc tính U và được xác định như sau: R\S={t sao cho t thuộc R và t không thuộc S}
Tích Descartes
[sửa | sửa mã nguồn]Tích Descartes (hay tích Đềcác) của hai tập hợp A và B, ký hiệu là A×B, là một tập hợp chứa tất cả các bộ có dạng (a, b) với a là một phần tử của A và b là một phần tử của B. Hay, viết trong ngôn ngữ của lý thuyết tập hợp:[1]
Phép chọn
[sửa | sửa mã nguồn]Định nghĩa
[sửa | sửa mã nguồn]Phép chọn trên một quan hệ R là thao tác chọn ra tập con của các bộ (hàng) trong quan hệ R sao cho thỏa mãn điều kiện chọn. Nói đơn giản, thì phép chọn như là một bộ lọc, dùng để lọc các bộ dữ liệu, chỉ giữ lại các bộ thỏa mãn điều kiện chọn và loại bỏ đi các bộ không thỏa. Kết quả trả về là một quan hệ mới.
Kí hiệu: . Trong đó:
- σ: kí hiệu phép chọn.
- c: điều kiện chọn, là một biểu thức mệnh đề, có thể chứa các toán tử logic như (OR - hoặc), (AND - và), ¬ (Negation - phủ định).
- R: quan hệ R.
MaNV | HoNV | TenNV | SDT | Phong | Luong | |
NV01 | Nguyen Van | A | email1@domain.com | 0123456789 | 1 | 20000 |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 |
Tính chất
[sửa | sửa mã nguồn]- Giao hoán:
- Kết hợp:
Phép chiếu
[sửa | sửa mã nguồn]Phép chiếu dùng để chọn ra danh sách các thuộc tính trong một quan hệ, và loại bỏ những thuộc tính không cần thiết. Kết quả trả về là một quan hệ mới.
Kí hiệu: . Trong đó:
- : kí hiệu phép chiếu.
- : danh sách các thuộc tính cần chiếu có trong bảng quan hệ R.
- R: quan hệ R.
MaNV | HoNV | TenNV | Luong |
NV01 | Nguyen Van | A | 20000 |
NV02 | Tran Thanh | B | 22000 |
NV03 | Tran Thi | C | 15000 |
NV04 | Cao Quoc | D | 17000 |
NV05 | Bui Dinh | E | 19500 |
NV06 | Nguyen Minh | E | 18000 |
NV07 | Tran Tien | F | 19500 |
NV08 | Huynh Thi | C | 15600 |
Phép đổi tên
[sửa | sửa mã nguồn]Kí hiệu: hoặc hoặc . Trong đó:
- : kí hiệu của phép đổi tên.
- hay hay : là tên mới của quan hệ được đổi tên, với các thuộc tính của nó.
- R: quan hệ R.
Ví dụ: , hay dùng để đổi tên quan hệ NHANVIEN thành quan hệ mới, NV.
Phép kết nối
[sửa | sửa mã nguồn]Phép nối tự nhiên
[sửa | sửa mã nguồn]Phép nối
[sửa | sửa mã nguồn]Kí hiệu: . Trong đó:
- R và S: là các quan hệ.
- : kí hiệu của phép nối , với là một biểu thức logic.
MaNV | HoNV | TenNV | SDT | Phong | Luong | TenPB | |
NV01 | Nguyen Van | A | email1@domain.com | 0123456789 | 1 | 20000 | Phong ban 1 |
NV02 | Tran Thanh | B | email2@domain.com | 0987643210 | 1 | 22000 | Phong ban 1 |
NV03 | Tran Thi | C | email3@domain.org | 0388888888 | 3 | 15000 | Phong ban 3 |
NV04 | Cao Quoc | D | email4@domain.net | 0246802468 | 2 | 17000 | Phong ban 2 |
NV05 | Bui Dinh | E | email5@domain.edu.vn | 0135791357 | 2 | 19500 | Phong ban 2 |
NV06 | Nguyen Minh | E | email6@domain.com.vn | 0888888888 | 3 | 18000 | Phong ban 3 |
NV07 | Tran Tien | F | email7@domain.vn | 07111111111 | 4 | 19500 | Phong ban 4 |
NV08 | Huynh Thi | C | email8@domain.vn | 0505050505 | 4 | 15600 | Phong ban 4 |
Nhận xét:
Phép nối ngoài
[sửa | sửa mã nguồn]Phép nối ngoài - bên trái
[sửa | sửa mã nguồn]Phép nối ngoài - bên phải
[sửa | sửa mã nguồn]Phép nối ngoài đầy đủ
[sửa | sửa mã nguồn]Phép chia
[sửa | sửa mã nguồn]Xem thêm
[sửa | sửa mã nguồn]Tham khảo
[sửa | sửa mã nguồn]- ^ “Tích Descartes”, Wikipedia tiếng Việt, 17 tháng 8 năm 2021, truy cập ngày 15 tháng 4 năm 2024