Τι είναι η συμμετοχή στο DBMS;
Η συμμετοχή στο DBMS είναι μια δυαδική λειτουργία που σας επιτρέπει να συνδυάσετε το προϊόν σύνδεσης και την επιλογή σε μία μόνο δήλωση. Ο στόχος της δημιουργίας συνθήκης σύνδεσης είναι ότι σας βοηθά να συνδυάσετε τα δεδομένα από δύο ή περισσότερους πίνακες DBMS. Οι πίνακες στο DBMS συνδέονται χρησιμοποιώντας το πρωτεύον κλειδί και τα ξένα κλειδιά.
Σε αυτό το σεμινάριο DBMS, θα μάθετε:
- Τύποι συμμετοχής
- Εσωτερική σύνδεση
- Εγγραφή
- Εγγραφή EQUI:
- Φυσική συμμετοχή (⋈)
- Εξωτερική συμμετοχή
- Αριστερή εξωτερική συμμετοχή (A B)
- Δεξιά εξωτερική συμμετοχή (A B)
- Πλήρης εξωτερική συμμετοχή (A B)
Τύποι συμμετοχής
Υπάρχουν κυρίως δύο τύποι συνδέσεων στο DBMS:
- Εσωτερικά ενώνει: Theta, Natural, EQUI
- Εξωτερική ένωση: Αριστερά, Δεξιά, Πλήρης
Ας τα δούμε αναλυτικά:
Εσωτερική σύνδεση
Το INNER JOIN χρησιμοποιείται για την επιστροφή σειρών και από τους δύο πίνακες που ικανοποιούν τη δεδομένη συνθήκη. Είναι η πιο ευρέως χρησιμοποιούμενη λειτουργία σύνδεσης και μπορεί να θεωρηθεί ως προεπιλεγμένος τύπος σύνδεσης
Το Inner join or equijoin είναι ένας συγκρίσιμος βασισμένος σύνδεσμος που χρησιμοποιεί συγκρίσεις ισότητας στο pred-predicate. Ωστόσο, αν χρησιμοποιείτε άλλους τελεστές σύγκρισης όπως ">" δεν μπορεί να ονομαστεί equijoin.
Το Inner Join διαιρείται περαιτέρω σε τρεις υπότυπους:
- Θήτα εγγραφείτε
- Φυσική ένωση
- Εγγραφή στο EQUI
Εγγραφή
Το THETA JOIN σας επιτρέπει να συγχωνεύσετε δύο πίνακες με βάση την συνθήκη που αντιπροσωπεύεται από το theta. Η σύνδεση Theta λειτουργεί για όλους τους τελεστές σύγκρισης Συμβολίζεται με το σύμβολο θ . Η γενική περίπτωση της λειτουργίας JOIN ονομάζεται ένωση Theta.
Σύνταξη:
A ⋈θ B
Το Theta join μπορεί να χρησιμοποιήσει οποιουσδήποτε όρους στα κριτήρια επιλογής.
Εξετάστε τους παρακάτω πίνακες.
Πίνακας Α | Πίνακας Β | |||
στήλη 1 | στήλη 2 | στήλη 1 | στήλη 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Για παράδειγμα:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. στήλη 2> B. στήλη 2 (B) | |
στήλη 1 | στήλη 2 |
1 | 2 |
Εγγραφή EQUI
Το EQUI JOIN γίνεται όταν ένας σύνδεσμος Theta χρησιμοποιεί μόνο την κατάσταση ισοδυναμίας. Το EQUI join είναι η πιο δύσκολη λειτουργία για αποτελεσματική εφαρμογή σε ένα RDBMS και ένας λόγος για τον οποίο το RDBMS έχει ουσιαστικά προβλήματα απόδοσης
Για παράδειγμα:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. στήλη 2 = B. στήλη 2 (B) | |
στήλη 1 | στήλη 2 |
1 | 1 |
Φυσική συμμετοχή (⋈)
Το NATURAL JOIN δεν χρησιμοποιεί κανέναν από τους τελεστές σύγκρισης. Σε αυτόν τον τύπο σύνδεσης, τα χαρακτηριστικά πρέπει να έχουν το ίδιο όνομα και τομέα. Στο Natural Join, θα πρέπει να υπάρχει τουλάχιστον ένα κοινό χαρακτηριστικό μεταξύ δύο σχέσεων.
Εκτελεί ισότητα σχηματισμού επιλογής σε εκείνα τα χαρακτηριστικά που εμφανίζονται και στις δύο σχέσεις και εξαλείφει τα διπλά χαρακτηριστικά.
Παράδειγμα:
Εξετάστε τους ακόλουθους δύο πίνακες
ντο | |
Όχι | τετράγωνο |
2 | 4 |
3 | 9 |
ρε | |
Όχι | Κύβος |
2 | 8 |
3 | 18 |
C ⋈ D
Γ-Δ | ||
Όχι | τετράγωνο | Κύβος |
2 | 4 | 8 |
3 | 9 | 18 |
Εξωτερική συμμετοχή
Η ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ δεν απαιτεί κάθε εγγραφή στους δύο πίνακες σύνδεσης να έχει αντίστοιχη εγγραφή. Σε αυτόν τον τύπο σύνδεσης, ο πίνακας διατηρεί κάθε εγγραφή ακόμα κι αν δεν υπάρχει άλλη εγγραφή που να ταιριάζει.
Τρεις τύποι εξωτερικών συνδέσεων είναι:
- Αριστερά εξωτερική εγγραφή
- Δεξιά εξωτερική συμμετοχή
- Πλήρης εξωτερική συμμετοχή
Αριστερή εξωτερική συμμετοχή (A B)
Το LEFT JOIN επιστρέφει όλες τις σειρές από τον πίνακα στα αριστερά, ακόμη και αν δεν έχουν βρεθεί αντίστοιχες σειρές στον πίνακα στα δεξιά. Όταν δεν βρέθηκε αντίστοιχη εγγραφή στον πίνακα στα δεξιά, επιστρέφεται το NULL.
Εξετάστε τους ακόλουθους 2 πίνακες
ΕΝΑ | |
Όχι | τετράγωνο |
2 | 4 |
3 | 9 |
4 | 16 |
σι | |
Όχι | Κύβος |
2 | 8 |
3 | 18 |
5 | 75 |
A B
Α ⋈ Β | ||
Όχι | τετράγωνο | Κύβος |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Δεξιά εξωτερική συμμετοχή (A B)
Το RIGHT JOIN επιστρέφει όλες τις στήλες από τον πίνακα στα δεξιά, ακόμη και αν δεν έχουν βρεθεί αντίστοιχες σειρές στον πίνακα στα αριστερά. Όπου δεν βρέθηκαν αγώνες στον πίνακα στα αριστερά, το NULL επιστρέφεται. Το δεξί εξωτερικό JOIN είναι το αντίθετο του LEFT JOIN
Στο παράδειγμά μας, ας υποθέσουμε ότι πρέπει να ενοικιάσετε τα ονόματα των μελών και των ταινιών. Τώρα έχουμε ένα νέο μέλος που δεν έχει ενοικιάσει καμία ταινία ακόμα.
A B
Α ⋈ Β | ||
Όχι | Κύβος | τετράγωνο |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Πλήρης εξωτερική συμμετοχή (A B)
Σε μια ΠΛΗΡΕΣ ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ , όλες οι πλειάδες και από τις δύο σχέσεις περιλαμβάνονται στο αποτέλεσμα, ανεξάρτητα από την αντίστοιχη συνθήκη.
Παράδειγμα:
A B
Α ⋈ Β | ||
Όχι | τετράγωνο | Κύβος |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Περίληψη:
- Υπάρχουν κυρίως δύο τύποι συνδέσεων στο DBMS 1) Εσωτερική ένωση 2) Εξωτερική ένωση
- Ένας εσωτερικός σύνδεσμος είναι η ευρέως χρησιμοποιούμενη λειτουργία σύνδεσης και μπορεί να θεωρηθεί ως προεπιλεγμένος τύπος σύνδεσης.
- Το Inner Join χωρίζεται περαιτέρω σε τρεις υπότυπους: 1) Theta join 2) Natural join 3) EQUI join
- Το Theta Join σάς επιτρέπει να συγχωνεύσετε δύο πίνακες με βάση την συνθήκη που αντιπροσωπεύεται από το theta
- Όταν μια σύνδεση theta χρησιμοποιεί μόνο συνθήκη ισοδυναμίας, γίνεται ένωση equi.
- Το Natural join δεν χρησιμοποιεί κανέναν από τους τελεστές σύγκρισης.
- Μια εξωτερική ένωση δεν απαιτεί κάθε εγγραφή στους δύο πίνακες σύνδεσης να έχει αντίστοιχη εγγραφή.
- Το Outer Join χωρίζεται περαιτέρω σε τρεις υπότυπους: 1) Left Outer Join 2) Right Outer Join 3) Full Outer Join
- Το LEFT Outer Join επιστρέφει όλες τις σειρές από τον πίνακα στα αριστερά, ακόμα και αν δεν έχουν βρεθεί αντίστοιχες σειρές στον πίνακα στα δεξιά.
- Το RIGHT Outer Join επιστρέφει όλες τις στήλες από τον πίνακα στα δεξιά, ακόμα και αν δεν έχουν βρεθεί αντίστοιχες σειρές στον πίνακα στα αριστερά.
- Σε μια πλήρη εξωτερική ένωση, όλες οι πλειάδες και των δύο σχέσεων περιλαμβάνονται στο αποτέλεσμα, ανεξάρτητα από την αντίστοιχη συνθήκη.