Đại số quan hệ

Bách khoa toàn thư mở Wikipedia
Bước tới điều hướng Bước tới tìm kiếm

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

Quan hệ NHANVIEN có các thể hiện:
NHANVIEN
MaNV HoNV TenNV Email 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
Quan hệ PHONGBAN với các thể hiện:
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 Email 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
Ví dụ:
MaNV HoNV TenNV Email 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 Email 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]

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.
Ví dụ:
MaNV HoNV TenNV Email 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.
Ví dụ:
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.
Ví dụ:
MaNV HoNV TenNV Email 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 vạy nên ta phải làm như thế[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]