Tham gia DBMS: Các loại tham gia bên trong, THETA, bên ngoài, Equi Operations
Tham gia vào DBMS là gì?
Tham gia vào DBMS là một phép toán nhị phân cho phép bạn kết hợp sản phẩm nối và lựa chọn trong một câu lệnh duy nhất. Mục tiêu của việc tạo điều kiện nối là giúp bạn kết hợp dữ liệu từ hai hoặc nhiều bảng DBMS. Các bảng trong DBMS được liên kết bằng khóa chính và khóa ngoại.
Các loại tham gia
Chủ yếu có hai loại kết nối trong DBMS:
- Kết nối bên trong: Theta, Natural, EQUI
- Tham gia bên ngoài: Trái, Phải, Đầy đủ
Chúng ta hãy xem chúng một cách chi tiết:
Tham gia bên trong
Tham gia bên trong được sử dụng để trả về các hàng từ cả hai bảng thỏa mãn điều kiện đã cho. Đây là thao tác nối được sử dụng rộng rãi nhất và có thể được coi là kiểu nối mặc định
Phép nối bên trong hoặc phép nối đẳng thức là phép nối dựa trên bộ so sánh sử dụng các phép so sánh bằng nhau trong vị từ nối. Tuy nhiên, nếu bạn sử dụng các toán tử so sánh khác như “>” thì nó không thể được gọi là Equijoin.
Inner Join còn được chia thành ba loại phụ:
- Theta tham gia
- Tham gia tự nhiên
- THIẾT BỊ tham gia
Theta Tham gia
Theta Tham gia cho phép bạn hợp nhất hai bảng dựa trên điều kiện được biểu thị bởi theta. Theta tham gia làm việc cho tất cả các toán tử so sánh. Nó được biểu thị bằng ký hiệu θ. Trường hợp chung của thao tác JOIN được gọi là phép nối Theta.
Cú pháp:
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.
Hãy xem xét các bảng sau.
Bảng A | Bảng B | |||
---|---|---|---|---|
cột 1 | cột 2 | cột 1 | cột 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Ví dụ:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.cột 2 > B.cột 2 (B) | |
---|---|
cột 1 | cột 2 |
1 | 2 |
THIẾT BỊ Tham gia
THIẾT BỊ Tham gia được thực hiện khi phép nối Theta chỉ sử dụng điều kiện tương đương. Tham gia EQUI là hoạt động khó khăn nhất để thực hiện hiệu quả trong một RDBMSvà một lý do khiến RDBMS gặp phải các vấn đề cơ bản về hiệu suất.
Ví dụ:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.cột 2 = B.cột 2 (B) | |
---|---|
cột 1 | cột 2 |
1 | 1 |
Tham gia tự nhiên (⋈)
Tham gia tự nhiên không sử dụng bất kỳ toán tử so sánh nào. Trong kiểu liên kết này, các thuộc tính phải có cùng tên và miền. Trong Natural Join, phải có ít nhất một thuộc tính chung giữa hai quan hệ.
Nó thực hiện lựa chọn hình thành sự bình đẳng trên các thuộc tính xuất hiện trong cả hai quan hệ và loại bỏ các thuộc tính trùng lặp.
Ví dụ:
Hãy xem xét hai bảng sau
C | |
---|---|
Số | Square |
2 | 4 |
3 | 9 |
D | |
---|---|
Số | Cube |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
---|---|---|
Số | Square | Cube |
2 | 4 | 8 |
3 | 9 | 18 |
Tham gia bên ngoài
An Tham gia bên ngoài không yêu cầu mỗi bản ghi trong hai bảng nối phải có bản ghi trùng khớp. Trong kiểu liên kết này, bảng giữ lại từng bản ghi ngay cả khi không có bản ghi phù hợp nào khác tồn tại.
Ba loại Outer Joins là:
- 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
Nối ngoài bên trái (A ⟕ B)
Tham gia bên ngoài bên trái trả về tất cả các hàng từ bảng bên trái ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên phải. Khi không tìm thấy bản ghi phù hợp trong bảng bên phải, NULL sẽ được trả về.
Hãy xem xét 2 bảng sau
A | |
---|---|
Số | Square |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
---|---|
Số | Cube |
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
---|---|---|
Số | Square | Cube |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
Nối ngoài bên phải ( A ⟖ B )
Tham gia bên ngoài bên phải trả về tất cả các cột từ bảng bên phải ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên trái. Khi không tìm thấy kết quả trùng khớp nào trong bảng bên trái, NULL sẽ được trả về. RIGHT bên ngoài JOIN đối lập với LEFT JOIN
Trong ví dụ của chúng tôi, giả sử rằng bạn cần lấy tên của các thành viên và phim do họ thuê. Bây giờ chúng ta có thành viên mới chưa thuê phim nào.
AB
A ⋈ B | ||
---|---|---|
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 Tham gia đầy đủ bên ngoài , tất cả các bộ từ cả hai quan hệ đều được đưa vào kết quả, bất kể điều kiện khớp.
Ví dụ:
AB
A ⋈ B | ||
---|---|---|
Số | Square | Cube |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | – |
5 | – | 75 |
Tổng kết
- Chủ yếu có hai loại kết nối trong DBMS 1) Tham gia bên trong 2) Tham gia bên ngoài
- Kết nối bên trong là thao tác nối được sử dụng rộng rãi và có thể được coi là loại kết nối mặc định.
- Kết nối bên trong được chia thành ba loại phụ: 1) Kết nối Theta 2) Kết nối tự nhiên 3) Kết nối EQUI
- Theta Join cho phép bạn hợp nhất hai bảng dựa trên điều kiện được biểu thị bởi theta
- 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 không sử dụng bất kỳ toán tử so sánh nào.
- Phép nối ngoài không yêu cầu mỗi bản ghi trong hai bảng nối phải có bản ghi khớp.
- Tham gia bên ngoài được chia thành ba loại phụ là: 1) Tham gia bên ngoài bên trái 2) Tham gia bên ngoài bên phải 3) Tham gia bên ngoài đầy đủ
- LEFT Outer Join trả về tất cả các hàng từ bảng bên trái, ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên phải.
- RIGHT Outer Join trả về tất cả các cột từ bảng bên phải, ngay cả khi không tìm thấy hàng nào phù hợp trong bảng bên trái.
- 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.