Δοκιμάστε το!
Η ισχύς μιας σχεσιακής βάσης δεδομένων έγκειται στο συνδυασμό δεδομένων σε πίνακες. Για να το κάνετε αυτό, πρέπει πρώτα να δημιουργήσετε σχέσεις μεταξύ των πινάκων σας. Στη συνέχεια, εργαστείτε με την Access για να συνδυάσετε δεδομένα σε ερωτήματα, φόρμες και αναφορές.
Για να δείτε όλες τις υπάρχουσες σχέσεις που έχουν οριστεί για μια βάση δεδομένων, ανοίξτε ένα πρότυπο της Access, μεταβείτε στην καρτέλα Εργαλεία βάσης δεδομένων και επιλέξτε Σχέσεις.
Σημείωση: Εάν ανοίξετε μια κενή βάση δεδομένων ή δεν έχετε ορίσει σχέσεις πινάκων, η Access σάς ζητά να προσθέσετε έναν πίνακα ή ένα ερώτημα. Για να προσθέσετε μια σχέση, χρειάζεστε τουλάχιστον δύο πίνακες. Ιδανικά, μπορείτε πρώτα να δημιουργήσετε όλους τους πίνακές σας. Για να μάθετε περισσότερα, ανατρέξτε στα θέματα Δημιουργία σχέσεων με τον Οδηγό αναζήτησης και Δημιουργία σχέσεων με το παράθυρο "Σχέσεις".
Κατανόηση της προβολής "Σχέσεις"
Οι γραμμές στην προβολή "Σχέσεις" υποδεικνύουν συνδέσεις μεταξύ των πινάκων. Στην παρακάτω εικόνα, ο πίνακας στα αριστερά είναι ο γονικός πίνακας. Ο πίνακας στα δεξιά είναι ο θυγατρικός πίνακας. Η γραμμή μεταξύ τους συνδέει τα πεδία (σε αυτή την περίπτωση, το Αναγνωριστικό παραγγελίας και το Αναγνωριστικό προϊόντος) που χρησιμοποιούνται για την αντιστοίχιση δεδομένων.
Οι γραμμές και τα σύμβολα σάς δείχνουν πώς σχετίζονται οι πίνακές σας:
-
Μια παχιά γραμμή σύνδεσης σημαίνει ότι επιβάλλετε την ακεραιότητα των δεδομένων αναφορών. Αυτό είναι καλό. Διατηρεί τα δεδομένα σας συγχρονισμένα.
-
Στην εικόνα μας, ο αριθμός 1 υποδεικνύει ότι μπορεί να υπάρχει μόνο μία αντίστοιχη εγγραφή σε αυτόν τον πίνακα. Στον πίνακα "Παραγγελίες" που εμφανίζεται εδώ, μόνο μία εγγραφή αντιστοιχεί σε κάθε παραγγελία.
-
Το σύμβολο ∞ υποδεικνύει ότι πολλές εγγραφές μπορεί να περιλαμβάνουν το ίδιο αναγνωριστικό. Στον πίνακα "Λεπτομέρειες παραγγελίας" που εμφανίζεται εδώ, μια παραγγελία (που υποδεικνύεται από το αναγνωριστικό παραγγελίας) ενδέχεται να εμφανιστεί περισσότερες από μία φορές, επειδή η ίδια παραγγελία μπορεί να περιλαμβάνει πολλά προϊόντα.
Τύποι σχέσεων μεταξύ πινάκων
Υπάρχουν τρεις τύποι σχέσεων μεταξύ πινάκων:
-
Ένα προς ένα. Όταν κάθε στοιχείο σε κάθε πίνακα εμφανίζεται μόνο μία φορά. Για παράδειγμα, κάθε εργαζόμενος μπορεί να έχει μόνο ένα εταιρικό αυτοκίνητο για χρήση. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δημιουργία σχέσεων ένα-προς-ένα.
-
Ένα προς πολλά. Όταν ένα στοιχείο σε έναν πίνακα μπορεί να έχει μια σχέση με πολλά στοιχεία σε έναν άλλο πίνακα. Για παράδειγμα, κάθε παραγγελία αγοράς μπορεί να περιλαμβάνει πολλά προϊόντα.
-
Πολλά προς πολλά. Όταν ένα ή περισσότερα στοιχεία ενός πίνακα μπορούν να έχουν σχέση με ένα ή περισσότερα στοιχεία ενός άλλου πίνακα. Για παράδειγμα, κάθε παραγγελία μπορεί να έχει πολλά προϊόντα και κάθε προϊόν μπορεί να εμφανίζεται σε πολλές παραγγελίες. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Δημιουργία σχέσεων πολλά-προς-πολλά.
Σχέσεις ένα-προς-πολλά
Μία από τις πιο κοινές σχέσεις μεταξύ πινάκων σε καλοσχεδιασμένες βάσεις δεδομένων είναι η σχέση ένα-προς-πολλά.
Οι σχέσεις μεταξύ πινάκων συνήθως βασίζονται στο πρωτεύον κλειδί σε έναν από τους πίνακες. Να θυμάστε ότι το πρωτεύον κλειδί είναι ένα μοναδικό αναγνωριστικό (συχνά αριθμητικό) για κάθε εγγραφή. Για να δείξετε ότι οι πληροφορίες σε δύο διαφορετικούς πίνακες σχετίζονται, δημιουργείτε συνήθως μια σχέση χρησιμοποιώντας το πρωτεύον κλειδί από έναν από τους πίνακες.
Στη σχέση που εμφανίζεται εδώ, για παράδειγμα, κάθε άτομο στον πίνακα "Επαφές" έχει ένα αναγνωριστικό, το οποίο είναι το πρωτεύον κλειδί (υποδεικνύεται από το σύμβολο κλειδιού δίπλα του). Αυτό το αναγνωριστικό εμφανίζεται επίσης στο πεδίο Κάτοχος στον πίνακα Στοιχεία. Για να στείλετε μήνυμα ηλεκτρονικού ταχυδρομείου στο άτομο που σχετίζεται με έναν πόρο, λάβετε την τιμή από το πεδίο Διεύθυνση ηλεκτρονικού ταχυδρομείου. Για να το κάνετε αυτό, αναζητήστε την τιμή στο πεδίο Κάτοχος του πίνακα "Πόρος" και, στη συνέχεια, αναζητήστε αυτό το αναγνωριστικό στον πίνακα "Επαφές". Ο αριθμός 1 στο ένα άκρο της γραμμής σύνδεσης και το σύμβολο ∞ στο άλλο άκρο υποδεικνύουν ότι πρόκειται για σχέση ένα-προς-πολλά, επομένως μια επαφή μπορεί να σχετίζεται με πολλούς πόρους.
Επεξεργασία σχέσης
Εάν τροποποιείτε μια υπάρχουσα βάση δεδομένων ή εάν έχετε δημιουργήσει τη βάση δεδομένων σας από ένα πρότυπο, μπορείτε να επεξεργαστείτε τις υπάρχουσες σχέσεις ώστε να ανταποκρίνονται στις ανάγκες σας.
Σημείωση: Εάν οι πίνακες με τους οποίους θέλετε να εργαστείτε χρησιμοποιούνται, πρέπει πρώτα να τους κλείσετε, μαζί με τυχόν ανοιχτά αντικείμενα που τους χρησιμοποιούν.
-
Επιλέξτε Εργαλεία βάσης δεδομένων > σχέσεις.
-
Επιλέξτε τη γραμμή που συνδέει δύο σχετικούς πίνακες.
Συμβουλή: Εάν δεν βλέπετε τη σχέση που θέλετε, στην καρτέλα Σχεδίαση , στην ομάδα Σχέσεις , επιλέξτε Όλες οι σχέσεις.
-
Στην καρτέλα Σχεδίαση , επιλέξτε Επεξεργασία σχέσεων.
Ο πίνακας/ερώτημα είναι ο γονικός πίνακας στα αριστερά (σε αυτό το παράδειγμα, "Πελάτες").
Ο Σχετικός πίνακας/Ερώτημα είναι ο θυγατρικός πίνακας (σε αυτό το παράδειγμα, παραγγελίες).
Ακόμη και αν οι πίνακες δεν εμφανίζονται με αυτή τη σειρά στην προβολή Σχέσεις, η τοποθέτησή τους στο παράθυρο διαλόγου υποδεικνύει την κατεύθυνση της γραμμής που τους συνδέει και τη σχέση. Αυτό είναι σημαντικό εάν, για παράδειγμα, πρόκειται για σχέση ένα-προς-πολλά, επειδή υποδεικνύει ότι ο πίνακας στα αριστερά είναι αυτός (ο γονικός πίνακας) και ο πίνακας στα δεξιά είναι οι πολλοί (θυγατρικός πίνακας).
-
Για να αλλάξετε τα πεδία που συνδέουν τους πίνακες, επιλέξτε ένα διαφορετικό πεδίο κάτω από κάθε πίνακα που εμφανίζεται. Σε αυτό το παράδειγμα, το πεδίο "Αναγνωριστικό" στον πίνακα "Πελάτες" συνδέεται με το πεδίο "Αναγνωριστικό πελάτη" στον πίνακα "Παραγγελίες".
-
Αλλάξτε τον τρόπο με τον οποίο η Access συγχρονίζει τα δεδομένα σας μεταξύ πινάκων.
Ενεργοποίηση ακεραιότητας αναφορών
Για να αποτρέψετε τα μη έγκυρα δεδομένα και να διατηρήσετε τις αναφορές συγχρονισμένες μεταξύ των σχέσεων πινάκων, επιλέξτε το εξής.
Για παράδειγμα, ας υποθέσουμε ότι έχετε μια σχέση ένα-προς-ένα μεταξύ των πινάκων "Υπάλληλοι" και "Παροχές υπαλλήλων". Εάν ένας υπάλληλος αποχωρήσει από την εταιρεία και τον καταργήσετε από τον πίνακα "Υπάλληλοι", καταργείται επίσης η σχετική εγγραφή υπαλλήλου στον πίνακα "Παροχές υπαλλήλων".
Ορισμένες φορές η επιβολή ακεραιότητας αναφορών δεν έχει νόημα. Για παράδειγμα, ας υποθέσουμε ότι έχετε μια σχέση ένα-προς-πολλά μεταξύ των πινάκων "Αποστολείς" και "Παραγγελίες". Διαγράφετε έναν αποστολέα και αυτός ο αποστολέας αντιστοιχίζετε τις παραγγελίες στον πίνακα "Παραγγελίες". Αυτές οι παραγγελίες γίνονται ορφανές, που σημαίνει ότι εξακολουθούν να περιέχουν ένα αναγνωριστικό αποστολέα, αλλά το αναγνωριστικό δεν είναι πλέον έγκυρο, επειδή η εγγραφή στην οποία αναφέρεται δεν υπάρχει πλέον.
Διαδοχική ενημέρωση των σχετικών πεδίων
Για να βεβαιωθείτε ότι τα δεδομένα σε σχετικά πεδία ενημερώνονται σε όλους τους σχετικούς πίνακες, επιλέξτε το εξής.
Για παράδειγμα, ας υποθέσουμε ότι θέλετε απλώς να αλλάξετε το αναγνωριστικό ενός αποστολέα. Ο ορισμός αυτής της επιλογής εξασφαλίζει ότι το αναγνωριστικό αποστολέα ενημερώνεται— όχι μόνο στον πίνακα "Αποστολέας" αλλά και σε οποιουσδήποτε άλλους πίνακες που συνδέονται με αυτό και οι οποίες περιλαμβάνουν επίσης το αναγνωριστικό αποστολέα, όπως τον πίνακα "Παραγγελίες".
Διαδοχική διαγραφή σχετικών εγγραφών
Η απόφαση για να το επιλέξετε εξαρτάται από το εάν πρέπει να διατηρήσετε τις εγγραφές σε ορισμένους πίνακες, παρόλο που ενδέχεται να διαγραφούν από άλλους πίνακες.
Για παράδειγμα, ας υποθέσουμε ότι διαγράφετε έναν αποστολέα. Εάν είναι ενεργοποιημένη αυτή η επιλογή, η Access διαγράφει όλες τις εγγραφές σε όλους τους πίνακες που αναφέρονται σε αυτό το αναγνωριστικό αποστολέα, συμπεριλαμβανομένων όλων των παραγγελιών (στον πίνακα "Παραγγελίες") που έχουν αποσταλεί από το συγκεκριμένο αποστολέα. Ενεργοποιήστε αυτήν την επιλογή μόνο αν είστε βέβαιοι ότι θέλετε να διαγραφεί το ιστορικό παραγγελιών.
-
Για να αλλάξετε τη σχέση μεταξύ των πινάκων από εσωτερικό σύνδεσμο σε εξωτερικό σύνδεσμο, επιλέξτε το κουμπί Τύπος συνδέσμου . Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δημιουργία ερωτημάτων με εξωτερικούς συνδέσμους.
Διαγραφή σχέσης πινάκων
Σημείωση: Εάν οι πίνακες με τους οποίους θέλετε να εργαστείτε χρησιμοποιούνται, πρέπει πρώτα να τους κλείσετε, μαζί με τυχόν ανοιχτά αντικείμενα που τους χρησιμοποιούν.
Για να καταργήσετε μια σχέση πινάκων:
-
Επιλέξτε Εργαλεία βάσης δεδομένων > σχέσεις.
-
Επιλέξτε τη γραμμή που συνδέει τους δύο σχετικούς πίνακες.
Συμβουλή: Εάν δεν βλέπετε τη σχέση που θέλετε, στην καρτέλα Σχεδίαση , στην ομάδα Σχέσεις , επιλέξτε Όλες οι σχέσεις.
-
Επιλέξτε το πλήκτρο Delete. Εάν σας ζητηθεί να επαληθεύσετε ότι θέλετε να διαγράψετε τη σχέση, επιλέξτε Ναι.
Σημείωση: Όταν καταργείτε μια σχέση, καταργείτε επίσης την υποστήριξη ακεραιότητας αναφορών για τη συγκεκριμένη σχέση, εάν υπάρχει. Ως αποτέλεσμα, η Access δεν θα εμποδίζει πλέον αλλαγές που έχουν ως αποτέλεσμα ορφανές εγγραφές στην πλευρά "πολλά" μιας σχέσης ένα-προς-πολλά.