Σχέσεις Πινάκων. Εισαγωγικά

Στη συνέχεια θα ασχοληθούμε με τις σχέσεις μεταξύ των πινάκων. Θα ανοίξουμε τον πίνακα “Πελάτες”, και τον πίνακα “Ενοικιάσεις”. Στον πίνακα “Πελάτες” έχουμε ήδη αναφέρει πολλές φορές πως καταγράφονται όλοι οι πελάτες μας. Ο κάθε πελάτης έχει έναν κωδικό. Ο Μάρκος Βαμβακάρης π.χ. έχει τον κωδικό 1. Στον πίνακα “Ενοικιάσεις” καταγράφουμε ποιες ταινίες νοίκιασε κάθε πελάτης. Ο πελάτης με τον κωδικό 1, ο Μάρκος Βαμβακάρης δηλαδή, νοίκιασε την ταινία με κωδικό 1, στις 9/2/2008. Αυτή τη στιγμή όμως, επειδή ανάμεσα στο πεδίο “ΚωδικόςΠελάτη” του πίνακα “Ενοικιάσεις”, και στο πεδίο “ΚωδικόςΠελάτη” του πίνακα “Πελάτες” δεν υπάρχει κάποια σχέση, το 1 σε αυτό το σημείο είναι απλώς ένας αριθμός, δεν αντιστοιχεί δηλαδή στον Βαμβακάρη Μάρκο. Για να αντιστοιχηθεί θα πρέπει να δημιουργήσουμε μία σχέση μεταξύ αυτών των δύο πεδίων. Επειδή στην Access δημιουργούμε σχέσεις μεταξύ πεδίων, η βάση δεδομένων ονομάζεται σχεσιακή. Ένα από τα πλεονεκτήματα των σχέσεων, είναι πως στον πίνακα “Ενοικιάσεις” δεν πληκτρολογούμε Μάρκος Βαμβακάρης, παρά τον κωδικό του πελάτη το “1”, εδώ, εδώ, εδώ, και ούτω καθεξής. Με αυτόν τον τρόπο, αποφεύγουμε τα λάθη από την καταχώρηση των ίδιων δεδομένων πολλές φορές. Στον πίνακα “Πελάτες” μόνο ο Μάρκος Βαμβακάρης έχει κωδικό πελάτη 1, και αυτό συμβαίνει επειδή το πεδίο “ΚωδικόςΠελάτη”, έχει οριστεί ως πρωτεύον κλειδί. Συνήθως στις σχέσεις η σύνδεση μεταξύ των δύο πεδίων γίνεται μεταξύ ενός πεδίου που έχει οριστεί ως πρωτεύον κλειδί, και ενός άλλου πεδίου στον δεύτερο πίνακα το οποίο ονομάζεται εξωτερικό κλειδί. Οι σχέσεις είναι τριών ειδών. “Ένα προς ένα”, “ένα προς πολλά”, και “πολλά προς πολλά”. Η σχέση “ένα προς ένα” είναι αμφιμονοσήμαντη, κάτι που σημαίνει πως, π.χ ένα πολίτης έχει έναν μόνο αριθμό δελτίου αστυνομικής ταυτότητας. Η σχέση αυτή δεν απαντάται συχνά στην Access, και στη συνέχεια των video-μαθημάτων δεν θα τη χρησιμοποιήσουμε καθόλου. Ο δεύτερος τύπος σχέσεων είναι ο τύπος “ένα προς πολλά”. Έχουμε δημιουργήσει τον πίνακα “Πελάτες”, και έχουμε δημιουργήσει και τον πίνακα “Τηλέφωνα”. Ας δούμε λίγο το εξής. Στον πίνακα “Πελάτες” ο Μάρκος Βαμβακάρης έχει τον κωδικό 1. Στον πίνακα “Τηλέφωνα” καταγράφουμε τα τηλέφωνα του κάθε πελάτη μας. Ασφαλώς κάθε πελάτης μπορεί να έχει περισσότερα από ένα τηλέφωνα. Βλέπουμε π.χ. πως ο πελάτης με κωδικό 1, ο οποίος αντιστοιχεί στον Μάρκο Βαμβακάρη έχει τον αριθμό τηλεφώνου 888771. Έχει επίσης και τον αριθμό 888772, όπως και τον αριθμό 889784. Ο πελάτης με κωδικό 2 έχει τέσσερα τηλέφωνα, ενώ ο πελάτης με κωδικό 7 έχει δύο τηλέφωνα.