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

Τύποι σχέσεων βάσεων δεδομένων
Οι σχέσεις σάς επιτρέπουν να περιγράφετε τις συνδέσεις μεταξύ πινάκων βάσεων δεδομένων με ισχυρούς τρόπους. Αυτές οι σχέσεις μπορούν στη συνέχεια να αξιοποιηθούν για την εκτέλεση ισχυρών ερωτημάτων μεταξύ πινάκων, γνωστών ως JOIN.
Υπάρχουν τρεις τύποι σχέσεων βάσης δεδομένων, καθένας από τους οποίους ονομάζεται σύμφωνα με τον αριθμό των σειρών του πίνακα που εμπλέκονται στη σχέση. Καθένας από αυτούς τους τρεις τύπους σχέσεων υπάρχει μεταξύ δύο πινάκων.
- Σχέσεις ένας προς έναν εμφανίζονται όταν κάθε καταχώρηση στον πρώτο πίνακα έχει μόνο ένα αντίστοιχο στον δεύτερο πίνακα. Οι σχέσεις ένας προς έναν χρησιμοποιούνται σπάνια επειδή είναι συχνά πιο αποτελεσματικό να τοποθετούνται όλες οι πληροφορίες σε έναν μόνο πίνακα. Ορισμένοι σχεδιαστές βάσεων δεδομένων εκμεταλλεύονται αυτή τη σχέση δημιουργώντας πίνακες που περιέχουν ένα υποσύνολο δεδομένων από άλλον πίνακα.
- Σχέσεις ένα προς πολλά είναι ο πιο κοινός τύπος σχέσης βάσης δεδομένων. Εμφανίζονται όταν κάθε εγγραφή στον Πίνακα Α αντιστοιχεί σε μία ή περισσότερες εγγραφές στον Πίνακα Β, αλλά κάθε εγγραφή στον Πίνακα Β αντιστοιχεί μόνο σε μία εγγραφή στον Πίνακα Α. Για παράδειγμα, η σχέση μεταξύ ενός πίνακα δασκάλων και ενός πίνακα μαθητών σε ένα δημοτικό σχολείο Η βάση δεδομένων είναι πιθανό να είναι μια σχέση ένα προς πολλά επειδή κάθε μαθητής έχει μόνο έναν δάσκαλο, αλλά κάθε δάσκαλος έχει πολλούς μαθητές. Αυτή η σχεδίαση ένα προς πολλά βοηθά στην εξάλειψη των διπλών δεδομένων.
- Σχέσεις πολλών προς πολλές εμφανίζονται όταν κάθε εγγραφή στον Πίνακα Α αντιστοιχεί σε μία ή περισσότερες εγγραφές στον Πίνακα Β και κάθε εγγραφή στον Πίνακα Β αντιστοιχεί σε μία ή περισσότερες εγγραφές στον Πίνακα Α. Για παράδειγμα, η σχέση μεταξύ ενός πίνακα καθηγητών και ενός πίνακα μαθημάτων θα ήταν πιθανότατα πολλά-προς-πολλά επειδή κάθε δάσκαλος μπορεί να διδάξει περισσότερα από ένα μαθήματα και κάθε μάθημα μπορεί να έχει περισσότερους από έναν εκπαιδευτές.
Κατώτατη γραμμή
Σχέσεις αυτοαναφοράς εμφανίζονται όταν εμπλέκεται μόνο ένας πίνακας. Ένα συνηθισμένο παράδειγμα είναι ένας πίνακας Υπαλλήλων που περιέχει πληροφορίες για τον προϊστάμενο κάθε υπαλλήλου. Κάθε προϊστάμενος είναι επίσης υπάλληλος και έχει έναν προϊστάμενο. Σε αυτήν την περίπτωση, υπάρχει μια σχέση αυτοαναφοράς ένα προς πολλά, καθώς κάθε υπάλληλος έχει έναν προϊστάμενο, αλλά κάθε προϊστάμενος μπορεί να έχει περισσότερους από έναν υπαλλήλους.
Δημιουργία σχέσεων με ξένα κλειδιά
Δημιουργείτε σχέσεις μεταξύ πινάκων καθορίζοντας ένα ξένο κλειδί. Αυτό το κλειδί λέει στη σχεσιακή βάση δεδομένων πώς σχετίζονται οι πίνακες. Σε πολλές περιπτώσεις, μια στήλη στον Πίνακα Α περιέχει πρωτεύοντα κλειδιά που αναφέρονται από τον Πίνακα Β.
Εξετάστε το παράδειγμα των πινάκων Καθηγητές και Μαθητές. Ο πίνακας Teachers περιέχει ένα αναγνωριστικό, ένα όνομα και μια στήλη μαθήματος:
InstructorID | Όνομα_Δασκάλου | Μάθημα |
001 | John Doe | Αγγλικά |
002 | Jane Schmoe | Μαθηματικά |
Ο πίνακας Students περιλαμβάνει ένα αναγνωριστικό, όνομα και μια στήλη ξένου κλειδιού:
StudentID | Student_Name | Teacher_FK |
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
Η στήλη Teacher_FK στον πίνακα Students αναφέρεται στην τιμή του πρωτεύοντος κλειδιού ενός εκπαιδευτή στον πίνακα Teachers. Συχνά, οι σχεδιαστές βάσεων δεδομένων χρησιμοποιούν PK ή FK στο όνομα της στήλης για να προσδιορίσουν ένα πρωτεύον κλειδί ή μια στήλη ξένου κλειδιού.
Αυτοί οι δύο πίνακες απεικονίζουν μια σχέση ένα προς πολλά μεταξύ των δασκάλων και των μαθητών.
Σχέσεις και Αναφορική Ακεραιότητα
Μετά την προσθήκη ενός ξένου κλειδιού σε έναν πίνακα, δημιουργήστε έναν περιορισμό βάσης δεδομένων που επιβάλλει την ακεραιότητα αναφοράς μεταξύ των δύο πινάκων. Αυτό το βήμα διασφαλίζει ότι οι σχέσεις μεταξύ των πινάκων παραμένουν συνεπείς. Όταν ένας πίνακας έχει ένα ξένο κλειδί σε έναν άλλο πίνακα, η ακεραιότητα αναφοράς απαιτεί ότι οποιαδήποτε τιμή ξένου κλειδιού στον Πίνακα Β πρέπει να αναφέρεται σε μια υπάρχουσα εγγραφή στον Πίνακα Α.
Εφαρμογή Σχέσεων
Ανάλογα με τη βάση δεδομένων σας, θα εφαρμόσετε σχέσεις μεταξύ πινάκων με διαφορετικούς τρόπους. Η Microsoft Access παρέχει έναν οδηγό που σας επιτρέπει να συνδέετε πίνακες και επίσης να επιβάλλετε την ακεραιότητα αναφοράς.
Εάν γράφετε απευθείας SQL, δημιουργήστε πρώτα τον πίνακα Teachers, δηλώνοντας μια στήλη ID ως το κύριο κλειδί:
CREATE TABLE Teachers (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Μάθημα VARCHAR(100));
Όταν δημιουργείτε τον πίνακα Students, δηλώνετε ότι η στήλη Teacher_FK είναι ξένο κλειδί που αναφέρεται στη στήλη InstructorID στον πίνακα Teachers':
CREATE TABLE Students (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN RE_KEYT));
Χρήση των σχέσεων για συμμετοχή σε τραπέζια
Αφού δημιουργήσετε μία ή περισσότερες σχέσεις στη βάση δεδομένων σας, αξιοποιήστε τη δύναμή τους χρησιμοποιώντας ερωτήματα SQL JOIN για να συνδυάσετε πληροφορίες από πολλούς πίνακες. Ο πιο συνηθισμένος τύπος σύνδεσης είναι το SQL INNER JOIN, το οποίο είναι μια απλή σύνδεση. Αυτός ο τύπος σύνδεσης επιστρέφει όλες τις εγγραφές που πληρούν την συνθήκη σύνδεσης από έναν ή περισσότερους πίνακες.
Για παράδειγμα, αυτή η συνθήκη JOIN επιστρέφει Student_Name, Teacher_Name και Course, όπου το ξένο κλειδί στον πίνακα Students ταιριάζει με το κύριο κλειδί στον πίνακα Teachers:
SELECT Students. Student_Name, Teachers. Teacher_Name, Teachers. Course
FROM Students
INNER JOIN TeachersON Students. Teacher_FK=Teachers;
Αυτή η δήλωση δημιουργεί έναν πίνακα κάπως έτσι:
Όνομα_μαθητή | Όνομα_Δασκάλου | Μάθημα |
Lowell Smith | John Doe | Αγγλικά |
Brian Short | John Doe | Αγγλικά |
Corky Mendez | Jane Schmoe | Μαθηματικά |
Monica Jones | John Doe | Αγγλικά |