Σχεσιακή Άλγεβρα σε ΣΔΒΔ με Παραδείγματα

⚡ Έξυπνη Σύνοψη

Η Σχεσιακή Άλγεβρα στο ΣΔΒΔ είναι μια διαδικαστική γλώσσα ερωτημάτων που δέχεται σχέσεις ως είσοδο και παράγει νέες σχέσεις ως έξοδο. Ομαδοποιεί τους τελεστές σε κατηγορίες μοναδιαίου, συνόλου και δυαδικού χαρακτήρα, παρέχοντας τη θεωρητική βάση που οι μηχανές SQL μεταφράζουν σε εκτελέσιμα σχέδια ερωτημάτων.

  • 🔍 Ξεκινήστε με μοναδιαίους τελεστές: Οι επιλογές ΕΠΙΛΟΓΗ, ΠΡΟΒΟΛΗ και ΜΕΤΟΝΟΜΑ φιλτράρουν γραμμές, επιλέγουν στήλες και μετονομάζουν χαρακτηριστικά σε μία μόνο σχέση.
  • 📚 Εφαρμογή της θεωρίας συνόλων: Οι συναρτήσεις ΕΝΩΣΗ, ΤΟΜΗ, ΔΙΑΦΟΡΑ και ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ συνδυάζουν σχέσεις συμβατές με την ένωση σε νέα αποτελέσματα.
  • 🔗 Συμμετέχετε σκόπιμα: Οι συνδέσεις Theta, Equi και Natural χειρίζονται τις εσωτερικές αντιστοιχίσεις, ενώ οι συνδέσεις Left, Right και Full Outer διατηρούν τις μη ταιριασμένες πλειάδες με null.
  • 📐 Συμβατότητα ρολογιών: Να επιβεβαιώνετε πάντα ότι η αρτιότητα, τα ονόματα χαρακτηριστικών και οι τομείς ευθυγραμμίζονται πριν από οποιαδήποτε λειτουργία συνόλου ή ένωσης.
  • 🤖 Χρησιμοποιήστε την Τεχνητή Νοημοσύνη για να μεταφράσετε: Οι βοηθοί τεχνητής νοημοσύνης μετατρέπουν αλγεβρικές εκφράσεις σε SQL, εξηγούν την προτεραιότητα τελεστή και επισημαίνουν ελλείπουσες συνθήκες σύνδεσης σε απλά αγγλικά.

Σχεσιακή Άλγεβρα στο ΣΔΒΔ

Τι είναι η Σχεσιακή Άλγεβρα;

Σχεσιακή άλγεβρα είναι μια διαδικαστική γλώσσα ερωτημάτων που δέχεται στιγμιότυπα σχέσεων ως είσοδο και επιστρέφει νέες στιγμιότυπα σχέσεων ως έξοδο. Εφαρμόζει ένα σταθερό σύνολο τελεστών αναδρομικά σε μία ή περισσότερες σχέσεις και το αποτέλεσμα κάθε τελεστή είναι το ίδιο μια σχέση που μπορεί να τροφοδοτηθεί στην επόμενη λειτουργία. Οι μηχανές SQL βασίζονται σε αυτήν την άλγεβρα για να σχεδιάσουν και να εκτελέσουν ερωτήματα.

Βασική Σχεσιακή Άλγεβρα Operaσεις

Οι τελεστές σχεσιακής άλγεβρας εμπίπτουν σε τρεις ομάδες.

Unary Relational Operaσεις

  • ΕΠΙΛΟΓΗ (σ)
  • ΕΡΓΟ (π)
  • ΜΕΤΟΝΟΜΑΣΙΑ (ρ)

Operaστάσεις από τη Θεωρία Συνόλων

  • ΕΝΩΣΗ (∪)
  • ΔΙΑΣΤΑΥΡΩΣΗ (∩)
  • ΔΙΑΦΟΡΑ (−)
  • ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ (×)

Δυαδική Σχεσιακή Operaσεις

  • Ενώνω
  • ΔΙΕΥΘΥΝΣΗ

Οι παρακάτω ενότητες περιγράφουν κάθε τελεστή με παραδείγματα που έχουν επεξεργαστεί.

ΕΠΙΛΟΓΗ (σ)

The SELECT Η λειτουργία επιλέγει ένα υποσύνολο πλειάδων που ικανοποιούν ένα δεδομένο κατηγόρημα. Το σύμβολο σίγμα σ το υποδηλώνει:

σp(r)

όπου σ είναι ο χειριστής, p είναι η προτασιακή συνθήκη, και r είναι η σχέση (πίνακας). Η SELECT διατηρεί το σχήμα και απορρίπτει τις γραμμές που δεν πληρούν το κατηγόρημα.

Παράδειγμα 1

σ topic = "Database" (Tutorials)

Επιλέγει πλειάδες από Οδηγίες όπου το θέμα ισούται με «Βάση δεδομένων».

Παράδειγμα 2

σ topic = "Database" AND author = "guru99" (Tutorials)

Επιλέγει πλειάδες από Οδηγίες όπου το θέμα είναι «Βάση δεδομένων» και ο συγγραφέας είναι ο guru99.

Παράδειγμα 3

σ sales > 50000 (Customers)

Επιλέγει πλειάδες από Πελάτες των οποίων η αξία πώλησης είναι μεγαλύτερη από 50,000.

Προβολή (π)

The προβολή Ο τελεστής αφαιρεί κάθε χαρακτηριστικό από τη σχέση εισόδου εκτός από αυτά που αναφέρονται, παράγοντας ένα κατακόρυφο υποσύνολο. Η προβολή εξαλείφει επίσης τις διπλότυπες γραμμές που προκύπτουν από την απόρριψηping χαρακτηριστικά. Το σύμβολο π π το υποδηλώνει.

Παράδειγμα: λάβετε υπόψη τον ακόλουθο πίνακα.

Κωδικός πελάτη Ονομα πελάτη Κατάσταση
1 Google Ενεργή
2 Amazon Ενεργή
3 Apple Αδρανής
4 Alibaba Ενεργή

Προβολή στο Όνομα Πελάτη και την Κατάσταση:

π CustomerName, Status (Customers)
Ονομα πελάτη Κατάσταση
Google Ενεργή
Amazon Ενεργή
Apple Αδρανής
Alibaba Ενεργή

Μετονομασία (ρ)

The μετονομασία Ο τελεστής είναι μια μοναδιαία λειτουργία που δίνει ένα νέο όνομα σε ένα χαρακτηριστικό (ή σε μια ολόκληρη σχέση). Για παράδειγμα, ρ(a/b) R μετονομάζει το χαρακτηριστικό b σχέσης R προς την aΗ Μετονομασία είναι ιδιαίτερα χρήσιμη όταν χρειάζεται να εκτελέσετε μια αυτο-ένωση ή να ενώσετε δύο σχέσεις που μοιράζονται ονόματα χαρακτηριστικών.

Ένωση Operaση (∪)

The ΕΝΩΣΗ τελεστής, που συμβολίζεται με , επιστρέφει κάθε πλειάδα που εμφανίζεται είτε στη σχέση Α είτε στη σχέση Β, αφαιρώντας αυτόματα τα διπλότυπα.

Result ← A ∪ B

Για να είναι έγκυρη μια ένωση:

  • Τα Α και Β πρέπει να έχουν τον ίδιο αριθμό χαρακτηριστικών (ίδια αρτιότητα).
  • Τα αντίστοιχα πεδία χαρακτηριστικών πρέπει να είναι συμβατά.
  • Οι διπλότυπες πλειάδες αφαιρούνται αυτόματα.

Παράδειγμα. Σκεφτείτε αυτούς τους δύο πίνακες:

Πίνακας Α Πίνακας Β
στήλη 1 στήλη 2 στήλη 1 στήλη 2
1 1 1 1
1 2 1 3

A ∪ B δίνει:

στήλη 1 στήλη 2
1 1
1 2
1 3

Ορισμός Διαφοράς (−)

Το σύμβολο μείον υποδηλώνει διαφορά σετΤο αποτέλεσμα του A − B είναι μια σχέση που περιέχει όλες τις πλειάδες που βρίσκονται στο Α αλλά όχι στο Β.

  • Τα Α και Β πρέπει να είναι συμβατά ως προς την ένωση.
  • Τα ονόματα των χαρακτηριστικών και οι τομείς πρέπει να ευθυγραμμίζονται.

Παράδειγμα: Α − Β

στήλη 1 στήλη 2
1 2

Διασταύρωση (∩)

The διασταύρωση τελεστής, που συμβολίζεται με , ορίζει μια σχέση που περιέχει κάθε πλειάδα που εμφανίζεται τόσο στο A όσο και στο B. Τα A και B πρέπει να είναι συμβατά ως προς την ένωση.

Οπτικός ορισμός της διασταύρωσης

Οπτικός ορισμός της τομής.

Παράδειγμα: A ∩ B

στήλη 1 στήλη 2
1 1

Καρτεσιανό γινόμενο (×) σε ΣΔΒΔ

The καρτεσιανό προϊόν Συνδυάζει κάθε πλειάδα μιας σχέσης με κάθε πλειάδα μιας άλλης, συγχωνεύοντας τις στήλες τους. Από μόνο του, το αποτέλεσμα σπάνια είναι χρήσιμο, αλλά σε συνδυασμό με ένα κατηγόρημα SELECT γίνεται η βάση της JOIN. Ονομάζεται επίσης διασταυρούμενο γινόμενο ή διασταυρούμενη ένωση.

Παράδειγμα: σ στήλη 2 = '1' (A × B)

Η έκφραση επιστρέφει κάθε γραμμή του A × B του οποίου column 2 η τιμή είναι 1.

στήλη 1 στήλη 2
1 1
1 1

Συμμετοχή Operaσεις

A ενταχθούν είναι ένα καρτεσιανό γινόμενο ακολουθούμενο από ένα κατηγόρημα επιλογής. Οι ενώσεις συμβολίζονται με σύμβολο και σας επιτρέπει να συνδυάζετε σχετικές πλειάδες από διαφορετικές σχέσεις με ουσιαστικό τρόπο.

Τύποι σύνδεσης:

  • Εσωτερικές ενώσεις: Σύνδεση Θήτα, σύνδεση Equi, φυσική σύνδεση.
  • Εξωτερικές ενώσεις: Αριστερή, δεξιά και πλήρης εξωτερική σύνδεση.

Εσωτερική σύνδεση

Σε μία εσωτερική σύνδεση, περιλαμβάνονται μόνο οι πλειάδες που ικανοποιούν τα κριτήρια αντιστοίχισης· οι υπόλοιπες απορρίπτονται.

Εγγραφή Θήτα

Η γενική μορφή του JOIN είναι η Θήτα εγγραφείτε, που συμβολίζεται με θ. Η σύνδεση θ μπορεί να χρησιμοποιήσει οποιαδήποτε συνθήκη σύγκρισης στα κριτήρια επιλογής της.

A ⋈θ B

Για παράδειγμα:

A ⋈ A.column 2 > B.column 2 (B)
στήλη 1 στήλη 2
1 2

Equi Join

Όταν μια σύνδεση Θήτα χρησιμοποιεί μόνο συνθήκες ισότητας, γίνεται Equi join.

A ⋈ A.column 2 = B.column 2 (B)
στήλη 1 στήλη 2
1 1

Το Equi join είναι ένα από τα πιο συχνά χρησιμοποιούμενα στυλ σύνδεσης και το RDBMS Το query optimizer συνήθως καταβάλλει σημαντική προσπάθεια για να το κάνει αποτελεσματικό.

Φυσική ένωση (⋈)

A Φυσική ένωση απαιτεί ένα κοινό χαρακτηριστικό (στήλη) μεταξύ των σχέσεων. Το κοινόχρηστο χαρακτηριστικό πρέπει να έχει το ίδιο όνομα και τομέα. Το αποτέλεσμα περιέχει ένα αντίγραφο της αντίστοιχης στήλης.

Σκεφτείτε αυτούς τους δύο πίνακες.

Πίνακας Γ
Σε Τετράγωνο
2 4
3 9
Πίνακας Δ
Σε Κύβος
2 8
3 27

C ⋈ D παράγει:

Σε Τετράγωνο Κύβος
2 4 8
3 9 27

Εξωτερική συμμετοχή

An εξωτερική ένωση διατηρεί πλειάδες που ικανοποιούν τα κριτήρια αντιστοίχισης πλειάδες που δεν το κάνουν, γεμίζοντας τις στήλες που λείπουν με NULL.

Αριστερή εξωτερική ένωση (A ⟕ B)

Η αριστερή εξωτερική ένωση διατηρεί κάθε πλειάδα στην αριστερή σχέση. Εάν μια γραμμή στο A δεν έχει αντίστοιχη γραμμή στο B, τα χαρακτηριστικά που συνεισφέρει το B συμπληρώνονται με NULL.

Αριστερά εξωτερική εγγραφή

Λάβετε υπόψη τους ακόλουθους πίνακες:

Πίνακας Α
Σε Τετράγωνο
2 4
3 9
4 16
Πίνακας Β
Σε Κύβος
2 8
3 18
5 75

A ⟕ B δίνει:

Σε Τετράγωνο Κύβος
2 4 8
3 9 18
4 16 Τιμή NULL

Δεξιά εξωτερική ένωση (A ⟖ B)

Η δεξιά εξωτερική ένωση διατηρεί κάθε πλειάδα στη σωστή σχέση. Εάν μια γραμμή στο Β δεν έχει αντίστοιχη γραμμή στο Α, οι στήλες που συνεισφέρει το Α συμπληρώνονται με NULL.

Δεξιά εξωτερική συμμετοχή

A ⟖ B δίνει:

Σε Κύβος Τετράγωνο
2 8 4
3 18 9
5 75 Τιμή NULL

Πλήρης εξωτερική ένωση (A ⟗ B)

Η πλήρης εξωτερική ένωση διατηρεί κάθε πλειάδα και από τις δύο σχέσεις, ανεξάρτητα από το αν η συνθήκη σύνδεσης ταιριάζει. Οι τιμές που λείπουν σε κάθε πλευρά γίνονται NULL.

A ⟗ B δίνει:

Σε Τετράγωνο Κύβος
2 4 8
3 9 18
4 16 Τιμή NULL
5 Τιμή NULL 75

OperaΣύνοψη Αναφοράς Tor

Χρησιμοποιήστε αυτόν τον πίνακα αναφοράς για να θυμηθείτε τι κάνει κάθε χειριστής με μια ματιά.

Operaση (Σύμβολο) Σκοπός
ΕΠΙΛΟΓΗ (σ) Επιλέγει ένα υποσύνολο πλειάδων που ικανοποιούν ένα δεδομένο κατηγόρημα.
ΕΡΓΟ (π) Διατηρεί μόνο τα χαρακτηριστικά που αναφέρονται και καταργεί τις διπλότυπες γραμμές.
ΕΝΩΣΗ (∪) Επιστρέφει κάθε πλειάδα που εμφανίζεται είτε στο A είτε στο B χωρίς διπλότυπα.
ΔΙΑΦΟΡΑ ΣΥΝΟΛΟΥ (−) Επιστρέφει πλειάδες στο A που δεν βρίσκονται στο B.
ΔΙΑΣΤΑΥΡΩΣΗ (∩) Επιστρέφει πλειάδες που εμφανίζονται και στο Α και στο Β.
ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ (×) Συνδυάζει κάθε πλειάδα του A με κάθε πλειάδα του B.
ΕΣΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ Διατηρεί μόνο πλειάδες που ταιριάζουν με τη συνθήκη σύνδεσης.
ΘΗΤΑ ΣΥΝΔΕΣΗ (θ) Σύνδεση γενικής μορφής χρησιμοποιώντας οποιοδήποτε κατηγόρημα σύγκρισης.
EQUI JOIN Σύνδεσμος θήτα που χρησιμοποιεί μόνο συγκρίσεις ισότητας.
NATURAL JOIN (⋈) Ενώνει σχέσεις σε χαρακτηριστικά που μοιράζονται το ίδιο όνομα και τομέα.
ΑΡΙΣΤΕΡΗ ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ (⟕) Διατηρεί κάθε πλειάδα από την αριστερή σχέση, γεμίζει τη δεξιά με NULL.
ΔΕΞΙΑ ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ (⟖) Διατηρεί κάθε πλειάδα από τη δεξιά σχέση, γεμίζει την αριστερή πλευρά με NULL.
ΠΛΗΡΗΣ ΕΞΩΤΕΡΙΚΗ ΣΥΝΔΕΣΗ (⟗) Διατηρεί κάθε πλειάδα και από τις δύο σχέσεις, συμπληρώνοντας τις τιμές που λείπουν με NULL.

Συχνές Ερωτήσεις

Η σχεσιακή άλγεβρα είναι μια διαδικαστική μαθηματική γλώσσα που χρησιμοποιείται για τον ορισμό πράξεων σε σχέσεις. Η SQL είναι μια δηλωτική γλώσσα ερωτημάτων που οι μηχανές βάσεων δεδομένων μεταφράζουν εσωτερικά σε σχέδια εκτέλεσης τύπου άλγεβρας.

Δύο σχέσεις είναι συμβατές με ένωση όταν έχουν τον ίδιο αριθμό χαρακτηριστικών και κάθε αντίστοιχο χαρακτηριστικό μοιράζεται το ίδιο πεδίο ορισμού. Η ΕΝΩΣΗ, η ΤΟΜΗ και η ΔΙΑΦΟΡΑ απαιτούν συμβατότητα ένωσης.

Ένα καρτεσιανό γινόμενο πολλαπλασιάζει κάθε γραμμή του A με κάθε γραμμή του B, παράγοντας τεράστιες ενδιάμεσες σχέσεις με μικρή σημασία. Συνήθως ακολουθείται από ένα κατηγόρημα SELECT για να γίνει μια χρήσιμη ένωση.

Όχι. Η καθαρή σχεσιακή άλγεβρα αντιμετωπίζει τις σχέσεις ως σύνολα, επομένως τα διπλότυπα εξαλείφονται αυτόματα μετά από κάθε λειτουργία. Η SQL συμπεριφέρεται διαφορετικά — λειτουργεί σε πολλαπλά σύνολα και αφαιρεί τα διπλότυπα μόνο όταν χρησιμοποιείται η DISTINCT.

Ο τελεστής DIVISION απαντά σε ερωτήματα «για όλα» — για παράδειγμα, εύρεση πελατών που παρήγγειλαν κάθε προϊόν σε έναν κατάλογο. Επιστρέφει τις πλειάδες μιας σχέσης που ταιριάζουν με κάθε πλειάδα μιας άλλης.

Χρησιμοποιήστε μια εξωτερική ένωση όταν οι μη ταιριασμένες γραμμές εξακολουθούν να έχουν νόημα — για παράδειγμα, καταγράφοντας κάθε πελάτη μαζί με προαιρετικά δεδομένα παραγγελίας. Οι εσωτερικές ενώσεις καταργούν αυτές τις μη ταιριασμένες γραμμές. Οι εξωτερικές ενώσεις τις διατηρούν με συμπληρώματα NULL.

Οι βοηθοί τεχνητής νοημοσύνης μεταφράζουν τις αλγεβρικές εκφράσεις σε SQL και αντίστροφα, εξηγούν την προτεραιότητα των τελεστών βήμα προς βήμα και επισημαίνουν τα κατηγήματα σύνδεσης που λείπουν και τα οποία διαφορετικά θα μετέτρεπαν ένα ερώτημα σε ένα αργό καρτεσιανό γινόμενο.

Ναι. Τα εργαλεία τεχνητής νοημοσύνης μετατρέπουν απλές ερωτήσεις όπως «πελάτες από την Ινδία που αγόρασαν κάθε προϊόν» σε αλγεβρικά δέντρα με τελεστές SELECT, PROJECT και DIVISION και, στη συνέχεια, τις μετατρέπουν σε εκτελέσιμη SQL.

Συνοψίστε αυτήν την ανάρτηση με: