Đại số quan hệ trong DBMS: Operacác ý kiến với các ví dụ
Đại số quan hệ
ĐẠI SỐ QUAN HỆ là một ngôn ngữ truy vấn thủ tục được sử dụng rộng rãi. Nó thu thập các thể hiện của quan hệ làm đầu vào và đưa ra các lần xuất hiện của quan hệ làm đầu ra. Nó sử dụng các hoạt động khác nhau để thực hiện hành động này. Các phép toán truy vấn đại số quan hệ SQL được thực hiện đệ quy trên một quan hệ. Đầu ra của các thao tác này là một quan hệ mới, có thể được hình thành từ một hoặc nhiều quan hệ đầu vào.
Đại số quan hệ SQL cơ bản Operations
Đại số quan hệ được chia thành nhiều nhóm khác nhau
Quan hệ một ngôi Operations
- CHỌN (ký hiệu: σ)
- DỰ ÁN (ký hiệu: π)
- ĐỔI TÊN (ký hiệu: ρ)
Đại số quan hệ OperaTừ lý thuyết tập hợp
- ĐOÀN (υ)
- NGÃ TƯ ( ),
- SỰ KHÁC BIỆT (-)
- SẢN PHẨM CARTES ( x )
Quan hệ nhị phân Operations
- THAM GIA
- KHOẢNG CÁCH
Hãy nghiên cứu chúng một cách chi tiết với các giải pháp:
CHỌN (σ)
Thao tác SELECT được sử dụng để chọn một tập hợp con của các bộ dữ liệu theo một điều kiện lựa chọn nhất định. Ký hiệu Sigma(σ) biểu thị nó. Nó được sử dụng như một biểu thức để chọn các bộ đáp ứng điều kiện lựa chọn. Toán tử chọn chọn các bộ dữ liệu thỏa mãn một vị từ nhất định.
σp(r)
σ
là vị ngữ
r
là viết tắt của mối quan hệ là tên của bảng
p
là logic giới từ
Ví dụ 1
σ topic = "Database" (Tutorials)
Đầu ra – Chọn các bộ dữ liệu từ Hướng dẫn trong đó chủ đề = 'Cơ sở dữ liệu'.
Ví dụ 2
σ topic = "Database" and author = "guru99"( Tutorials)
Đầu ra – Chọn các bộ dữ liệu từ Hướng dẫn có chủ đề là 'Cơ sở dữ liệu' và 'tác giả' là guru99.
Ví dụ 3
σ sales > 50000 (Customers)
Đầu ra – Chọn các bộ dữ liệu từ Khách hàng có doanh số lớn hơn 50000
Phép chiếu (π)
Phép chiếu loại bỏ tất cả các thuộc tính của quan hệ đầu vào ngoại trừ những thuộc tính được đề cập trong danh sách phép chiếu. Phương thức chiếu xác định một quan hệ chứa tập con theo chiều dọc của Quan hệ.
Điều này giúp trích xuất các giá trị của các thuộc tính được chỉ định để loại bỏ các giá trị trùng lặp. Ký hiệu (pi) được sử dụng để chọn các thuộc tính từ một quan hệ. Toán tử này giúp bạn giữ các cột cụ thể khỏi mối quan hệ và loại bỏ các cột khác.
Ví dụ về phép chiếu:
Hãy xem xét bảng sau
ID khách hàng | Tên khách hàng | Trạng thái |
---|---|---|
1 | hoạt động | |
2 | Amazon | hoạt động |
3 | Apple | Không hoạt động |
4 | Alibaba | hoạt động |
Ở đây, phép chiếu Tên khách hàng và trạng thái sẽ cho
Π CustomerName, Status (Customers)
Tên khách hàng | Trạng thái |
---|---|
hoạt động | |
Amazon | hoạt động |
Apple | Không hoạt động |
Alibaba | hoạt động |
Đổi tên (ρ)
Đổi tên là một phép toán một ngôi được sử dụng để đổi tên các thuộc tính của một quan hệ.
ρ (a/b)R sẽ đổi tên thuộc tính 'b' của quan hệ thành 'a'.
Hoạt động công đoàn (υ)
UNION được ký hiệu bằng ký hiệu ∪. Nó bao gồm tất cả các bộ dữ liệu trong bảng A hoặc trong B. Nó cũng loại bỏ các bộ dữ liệu trùng lặp. Vì vậy, tập A UNION tập B sẽ được biểu diễn dưới dạng:
Kết quả <- A ∪ B
Để một hoạt động liên minh có hiệu lực, các điều kiện sau đây phải được đáp ứng –
- R và S phải có cùng số thuộc tính.
- Các miền thuộc tính cần phải tương thích.
- Các bộ dữ liệu trùng lặp sẽ được tự động loại bỏ.
Ví dụ
Hãy xem xét các bảng sau.
cột 1 | cột 2 | cột 1 | cột 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B cho
cột 1 | cột 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Đặt Chênh lệch (-)
– Biểu tượng biểu thị nó. Kết quả của A – B là một mối quan hệ bao gồm tất cả các bộ thuộc A nhưng không thuộc B.
- Tên thuộc tính của A phải khớp với tên thuộc tính trong B.
- Mối quan hệ hai toán hạng A và B phải tương thích hoặc tương thích Union.
- Nó phải được xác định là mối quan hệ bao gồm các bộ dữ liệu nằm trong mối quan hệ A, nhưng không nằm trong B.
Ví dụ
A-B
cột 1 | cột 2 |
---|---|
1 | 2 |
Intersection
Giao điểm được xác định bằng ký hiệu ∩
Một ∩ B
Xác định một mối quan hệ bao gồm một tập hợp tất cả các bộ thuộc cả A và B. Tuy nhiên, A và B phải tương thích hợp.
Ví dụ:
A ∩ B
cột 1 | cột 2 |
---|---|
1 | 1 |
Tích Descartes(X) trong DBMS
Sản phẩm Descartes trong DBMS là một thao tác được sử dụng để hợp nhất các cột từ hai quan hệ. Nói chung, sản phẩm Descartes không bao giờ là một hoạt động có ý nghĩa khi nó hoạt động một mình. Tuy nhiên, nó trở nên có ý nghĩa khi được theo sau bởi các hoạt động khác. Nó còn được gọi là Sản phẩm chéo hoặc Tham gia chéo.
Ví dụ – Tích Descartes
σ cột 2 = '1' (AXB)
Đầu ra - Ví dụ trên hiển thị tất cả các hàng từ quan hệ A và B có cột 2 có giá trị 1
cột 1 | cột 2 |
---|---|
1 | 1 |
1 | 1 |
Tham gia Operations
Hoạt động tham gia về cơ bản là một sản phẩm Descartes theo sau là một tiêu chí lựa chọn.
Phép nối được ký hiệu là ⋈.
Hoạt động THAM GIA cũng cho phép nối các bộ dữ liệu có liên quan khác nhau từ các mối quan hệ khác nhau.
Các loại THAM GIA:
Các hình thức hoạt động tham gia khác nhau là:
Tham gia bên trong:
- Theta tham gia
- THIẾT BỊ tham gia
- Tham gia tự nhiên
Tham gia bên ngoài:
- Tham gia bên ngoài bên trái
- Tham gia bên ngoài bên phải
- Tham gia đầy đủ bên ngoài
Tham gia bên trong
Trong một phép nối bên trong, chỉ những bộ dữ liệu thỏa mãn tiêu chí phù hợp mới được đưa vào, trong khi những bộ còn lại sẽ bị loại trừ. Hãy cùng nghiên cứu các loại Inner Joins khác nhau:
Theta Tham gia
Trường hợp chung của thao tác JOIN được gọi là phép nối Theta. Nó được biểu thị bằng ký hiệu θ
Ví dụ
A ⋈θ B
Tham gia Theta có thể sử dụng bất kỳ điều kiện nào trong tiêu chí lựa chọn.
Ví dụ:
A ⋈ A.column 2 > B.column 2 (B)
cột 1 | cột 2 |
---|---|
1 | 2 |
THIẾT BỊ tham gia
Khi phép nối theta chỉ sử dụng điều kiện tương đương, nó sẽ trở thành phép nối đẳng cấp.
Ví dụ:
A ⋈ A.column 2 = B.column 2 (B)
cột 1 | cột 2 |
---|---|
1 | 1 |
Tham gia THIẾT BỊ là hoạt động khó triển khai hiệu quả nhất bằng cách sử dụng SQL trong RDBMS và một lý do tại sao RDBMS có vấn đề hiệu suất thiết yếu.
THAM GIA TỰ NHIÊN (⋈)
Phép nối tự nhiên chỉ có thể được thực hiện nếu có một thuộc tính (cột) chung giữa các mối quan hệ. Tên và loại thuộc tính phải giống nhau.
Ví dụ
Hãy xem xét hai bảng sau
Số | Square |
---|---|
2 | 4 |
3 | 9 |
Số | Cube |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
Số | Square | Cube |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
THAM GIA NGOÀI TRỜI
Trong phép nối ngoài, cùng với các bộ dữ liệu thỏa mãn tiêu chí phù hợp, chúng tôi cũng bao gồm một số hoặc tất cả các bộ dữ liệu không khớp với tiêu chí.
Nối ngoài bên trái(A ⟕ B)
Trong phép nối ngoài bên trái, thao tác cho phép giữ tất cả các bộ trong quan hệ bên trái. Tuy nhiên, nếu không tìm thấy bộ nào phù hợp trong quan hệ đúng thì các thuộc tính của quan hệ đúng trong kết quả nối sẽ chứa đầy các giá trị null.
Hãy xem xét 2 bảng sau
Số | Square |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
Số | Cube |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
Số | Square | Cube |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
Nối ngoài bên phải ( A ⟖ B )
Trong phép nối ngoài bên phải, thao tác cho phép giữ tất cả các bộ dữ liệu trong mối quan hệ đúng. Tuy nhiên, nếu không tìm thấy bộ dữ liệu nào phù hợp trong quan hệ bên trái thì các thuộc tính của quan hệ bên trái trong kết quả nối sẽ được lấp đầy bằng các giá trị null.
AB
Số | Cube | Square |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | – |
Tham gia toàn bộ bên ngoài ( A ⟗ B)
Trong một phép nối ngoài đầy đủ, tất cả các bộ dữ liệu từ cả hai quan hệ đều được đưa vào kết quả, bất kể điều kiện khớp.
AB
Số | Cube | Square |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
5 | – | 75 |
Tổng kết
Operation(Biểu tượng) | Mục đích |
---|---|
Chọn(σ) | Thao tác SELECT được sử dụng để chọn một tập hợp con của các bộ dữ liệu theo một điều kiện lựa chọn nhất định |
Phép chiếu (π) | Phép chiếu loại bỏ tất cả các thuộc tính của quan hệ đầu vào ngoại trừ những thuộc tính được đề cập trong danh sách phép chiếu. |
liên hiệp Operasự thay đổi(∪) | UNION được ký hiệu bằng biểu tượng. Nó bao gồm tất cả các bộ dữ liệu trong bảng A hoặc trong B. |
Đặt sự khác biệt(-) | – Biểu tượng biểu thị nó. Kết quả của A – B là một mối quan hệ bao gồm tất cả các bộ thuộc A nhưng không thuộc B. |
Giao lộ(∩) | Giao lộ xác định một mối quan hệ bao gồm một tập hợp tất cả các bộ thuộc cả A và B. |
Sản phẩm Descartes(X) | Phép toán Descartes rất hữu ích để hợp nhất các cột từ hai quan hệ. |
Tham gia bên trong | Kết nối bên trong, chỉ bao gồm những bộ dữ liệu thỏa mãn tiêu chí phù hợp. |
Tham gia Theta(θ) | Trường hợp chung của thao tác JOIN được gọi là phép nối Theta. Nó được ký hiệu bằng ký hiệu θ. |
THIẾT BỊ Tham gia | Khi phép nối theta chỉ sử dụng điều kiện tương đương, nó sẽ trở thành phép nối đẳng cấp. |
Tham gia tự nhiên(⋈) | Phép nối tự nhiên chỉ có thể được thực hiện nếu có một thuộc tính (cột) chung giữa các mối quan hệ. |
Tham gia bên ngoài | Trong một phép nối ngoài, cùng với các bộ dữ liệu thỏa mãn tiêu chí khớp. |
Tham gia bên ngoài bên trái( |
Trong phép nối ngoài bên trái, thao tác cho phép giữ tất cả các bộ trong quan hệ bên trái. |
Tham gia bên ngoài bên phải ( |
Trong phép nối ngoài bên phải, thao tác cho phép giữ tất cả các bộ dữ liệu trong mối quan hệ đúng. |
Tham gia đầy đủ bên ngoài( |
Trong một phép nối ngoài đầy đủ, tất cả các bộ dữ liệu từ cả hai mối quan hệ đều được đưa vào kết quả bất kể điều kiện khớp. |