Ο πίνακας αντιπροσωπεύει μία οντότητα. Όχι παραπάνω.
Μέχρι στιγμής, έχει κατασκευαστεί μόνο ένας Πίνακας με τίτλο "Μαθητής"
Οι μαθητές, ωστόσο, ανήκουν σε τάξεις. Οπότε είναι αναγκαίο να δημιουργηθεί μία νέα οντότητα (Πίνακας), η Τάξη. Αυτή έχει ένα πρωτεύον κλειδί που περιγράφει κάθε εγγραφή της με μοναδικό τρόπο, έστω ότι είναι το πεδίο Κ_ΤΑΞΗΣ (δηλ. κωδικός τάξης) με τύπο είτε αυτόματη αρίθμηση , ή αριθμός, αρκεί να είμαστε σίγουροι ότι ο αριθμός δε θα επαναληφθεί ποτέ! Επιπλέον, η κάθε τάξη περιγράφεται με ένα ΟΝΟΜΑ (π.χ. Α, Β, Γ).
Επειδή, όμως, οι μαθητές ανήκουν σε τάξη, πρέπει αυτός ο κωδικός τάξης (Κ_ΤΑΞΗΣ) να υπάρχει και στον πίνακα ΜΑΘΗΤΗΣ, για να συνδεθούν μεταξύ τους οι δύο Πίνακες με κάποιο τρόπο.
Επομένως, προστίθεται στον Πίνακα ΜΑΘΗΤΗΣ ένα ακόμη πεδίο με τίτλο Κ_ΤΑΞΗΣ (τύπος αριθμός). Αυτό λέγεται ξένο κλειδί, αφού ειναι πρωτεύον κλειδί άλλου Πίνακα.
Στη συνέχεια, συμπληρώνουμε τους Πίνακες. Πρώτα τον Πίνακα ΤΑΞΗ και κατόπιν, το Πεδίο Κ_ΤΑΞΗΣ του πίνακα ΜΑΘΗΤΗΣ, ανάλογα με το σε ποια τάξη ανήκει ο κάθε μαθητής.
Και τώρα είμαστε έτοιμη να δηλώσουμε στην ACCESS τη σχέση που έχουν οι δύο πίνακες.
Πρόκειται για μία σχέση ΕΝΑ ΠΡΟΣ ΠΟΛΛΑ, αφού πολλοί μαθητές ανήκουν σε μία Τάξη, αλλά ένας μαθητής αποκλείεται να ανήκει σε δύο ή περισσότερες Τάξεις.
Πηγαίνοντας στο μενού "Εργαλεία Βάσης Δεδομένων", επιλέξτε "Σχέσεις".
Από το κουμπί "Εμφάνιση Πίνακα", επιλέξτε τους Πίνακες ΜΑΘΗΤΗΣ και ΤΑΞΗ.
Πατήστε πάνω στο πεδίο Κ_ΤΑΞΗΣ του ενός και σύρτε με πατημένο το αριστερό πλήκτρο πάνω στο πεδίο Κ_ΤΑΞΗΣ του άλλου πίνακα.
Αμέσως η Access εντοπίζει ότι η σχέση είναι ΕΝΑ ΠΡΟΣ ΠΟΛΛΑ.
Σας προτείνει να κάνετε Ενεργοποίηση ακεραιότητας αναφορών. Επιλέξτε το.
Αυτό αποτρέπει από το να υπάρξει ασυνέπεια (incosistency).
Δηλαδή, άλλα στοιχεία να έχει ο ένας πίνακας για το Κ_ΤΑΞΗΣ και άλλα ο άλλος, μετά από κάποια αλλαγή σε έναν από τους δύο.
Επιλέξτε και το Διαδοχική Ενημέρωση σχετικών εγγραφών, καθώς και το Διαδοχική διαγραφή σχετικών εγγραφών, ακριβώς για τον ίδιο λόγο.
1. Και τώρα δημιουργήστε ένα νέο ερώτημα που θα σας εμφανίζει όλους τους μαθητές, ομαδοποιημένους κατά Τάξη.
Γυρίστε σε προβολή SQL και δείτε πως δηλώνει η γλώσσα αυτή τη σύνδεση των πινάκων Μαθητής και Τάξη:
ΤΑΞΗ INNER JOIN ΜΑΘΗΤΗΣ ON ΤΑΞΗ.Κ_ΤΑΞΗΣ= ΜΑΘΗΤΗΣ.[Κ_ΤΑΞΗΣ]
2. Βρείτε το πλήθος των μαθητών ανά τάξη
3. Βρείτε όλους τους μαθητές , ομαδοποιημένους ανά τάξη , που γεννήθηκαν μετά την 01/01/2002
4. Βρείτε τους μαθητές της Α που το επώνυμό τους αρχίζει από Κ
5. Βρείτε τους μαθητές της Β που η ηλικία τους είναι μεταξύ 14 και 16 ετών
6. Βρείτε τους μαθητές της Γ που εξετάζονται προφορικά
7. Βρείτε τη μεγαλύτερη ηλικία του μαθητή της Α τάξης
8 Βρείτε πόσοι μαθητές της Β μένουν στην Ερυθραία
9. Βρείτε ποιοι μαθητές της Γ είναι ενήλικοι.
Στη συνέχεια, δημιουργήστε ένα νέο Πίνακα με όνομα ΤΜΗΜΑ και πεδία Κ_ΤΜΗΜΑ και ΟΝΟΜΑ, όπως κάνατε και παραπάνω. Επαναλάβετε τη διαδικασία για το ΤΜΗΜΑ, καταχωρώντας τους μαθητές σε κάθε Τμήμα.
Δημιουργήστε μία σχέση Ένα προς πολλά μεταξύ των Πινάκων Μαθητής και Τμήμα.
Θεωρούμε ότι ένας μαθητής δεν είναι δυνατό να ανήκει σε δύο τμήματα (πχ άλλογενικής παιδείας και άλλο κατεύθυνσης. )
Αν συνέβαινε κάτι τέτοιο, θα έπρεπε να φτιάξουμε κι άλλους πίνακες με τμήματα (π.χ. Τμήμα_Επιλογής, Τμήμα_Γενικής_Παιδείας, Τμήμα_Κατεύθυνσης κ.ο.κ)
1. Βρείτε τα ονόματα και τα επίθετα των μαθητών ομαδοποιημένα ανά τμήμα.
2.Βρείτε το πλήθος των μαθητών ανά τμήμα
3. Βρείτε πόσοι μαθητές εξετάζονται προφορικά ανά τμήμα
4. Βρείτε ποιοι μαθητές εξετάζονται προοφορικά ανά τμήμα
5. Βρείτε ποιοι μαθητές από το ΓΠ είναι ενήλικοι
6. Βρείτε ποιοι μαθητές από το ΒΜηχ έχουν ηλικία από 17 ως και 18 ετών
7. Βρείτε όλους τους μαθητές του ΒΥγ που το δεύτερο γράμμα του επιθέτου τους είναι "α".
9. Βρείτε πόσοι μαθητές από το Α1 μένουν στην Κηφησιά
Μέχρι στιγμής, έχει κατασκευαστεί μόνο ένας Πίνακας με τίτλο "Μαθητής"
Οι μαθητές, ωστόσο, ανήκουν σε τάξεις. Οπότε είναι αναγκαίο να δημιουργηθεί μία νέα οντότητα (Πίνακας), η Τάξη. Αυτή έχει ένα πρωτεύον κλειδί που περιγράφει κάθε εγγραφή της με μοναδικό τρόπο, έστω ότι είναι το πεδίο Κ_ΤΑΞΗΣ (δηλ. κωδικός τάξης) με τύπο είτε αυτόματη αρίθμηση , ή αριθμός, αρκεί να είμαστε σίγουροι ότι ο αριθμός δε θα επαναληφθεί ποτέ! Επιπλέον, η κάθε τάξη περιγράφεται με ένα ΟΝΟΜΑ (π.χ. Α, Β, Γ).
Επειδή, όμως, οι μαθητές ανήκουν σε τάξη, πρέπει αυτός ο κωδικός τάξης (Κ_ΤΑΞΗΣ) να υπάρχει και στον πίνακα ΜΑΘΗΤΗΣ, για να συνδεθούν μεταξύ τους οι δύο Πίνακες με κάποιο τρόπο.
Επομένως, προστίθεται στον Πίνακα ΜΑΘΗΤΗΣ ένα ακόμη πεδίο με τίτλο Κ_ΤΑΞΗΣ (τύπος αριθμός). Αυτό λέγεται ξένο κλειδί, αφού ειναι πρωτεύον κλειδί άλλου Πίνακα.
Στη συνέχεια, συμπληρώνουμε τους Πίνακες. Πρώτα τον Πίνακα ΤΑΞΗ και κατόπιν, το Πεδίο Κ_ΤΑΞΗΣ του πίνακα ΜΑΘΗΤΗΣ, ανάλογα με το σε ποια τάξη ανήκει ο κάθε μαθητής.
Και τώρα είμαστε έτοιμη να δηλώσουμε στην ACCESS τη σχέση που έχουν οι δύο πίνακες.
Πρόκειται για μία σχέση ΕΝΑ ΠΡΟΣ ΠΟΛΛΑ, αφού πολλοί μαθητές ανήκουν σε μία Τάξη, αλλά ένας μαθητής αποκλείεται να ανήκει σε δύο ή περισσότερες Τάξεις.
Πηγαίνοντας στο μενού "Εργαλεία Βάσης Δεδομένων", επιλέξτε "Σχέσεις".
Από το κουμπί "Εμφάνιση Πίνακα", επιλέξτε τους Πίνακες ΜΑΘΗΤΗΣ και ΤΑΞΗ.
Πατήστε πάνω στο πεδίο Κ_ΤΑΞΗΣ του ενός και σύρτε με πατημένο το αριστερό πλήκτρο πάνω στο πεδίο Κ_ΤΑΞΗΣ του άλλου πίνακα.
Αμέσως η Access εντοπίζει ότι η σχέση είναι ΕΝΑ ΠΡΟΣ ΠΟΛΛΑ.
Σας προτείνει να κάνετε Ενεργοποίηση ακεραιότητας αναφορών. Επιλέξτε το.
Αυτό αποτρέπει από το να υπάρξει ασυνέπεια (incosistency).
Δηλαδή, άλλα στοιχεία να έχει ο ένας πίνακας για το Κ_ΤΑΞΗΣ και άλλα ο άλλος, μετά από κάποια αλλαγή σε έναν από τους δύο.
Επιλέξτε και το Διαδοχική Ενημέρωση σχετικών εγγραφών, καθώς και το Διαδοχική διαγραφή σχετικών εγγραφών, ακριβώς για τον ίδιο λόγο.
1. Και τώρα δημιουργήστε ένα νέο ερώτημα που θα σας εμφανίζει όλους τους μαθητές, ομαδοποιημένους κατά Τάξη.
Γυρίστε σε προβολή SQL και δείτε πως δηλώνει η γλώσσα αυτή τη σύνδεση των πινάκων Μαθητής και Τάξη:
ΤΑΞΗ INNER JOIN ΜΑΘΗΤΗΣ ON ΤΑΞΗ.Κ_ΤΑΞΗΣ= ΜΑΘΗΤΗΣ.[Κ_ΤΑΞΗΣ]
2. Βρείτε το πλήθος των μαθητών ανά τάξη
3. Βρείτε όλους τους μαθητές , ομαδοποιημένους ανά τάξη , που γεννήθηκαν μετά την 01/01/2002
4. Βρείτε τους μαθητές της Α που το επώνυμό τους αρχίζει από Κ
5. Βρείτε τους μαθητές της Β που η ηλικία τους είναι μεταξύ 14 και 16 ετών
6. Βρείτε τους μαθητές της Γ που εξετάζονται προφορικά
7. Βρείτε τη μεγαλύτερη ηλικία του μαθητή της Α τάξης
8 Βρείτε πόσοι μαθητές της Β μένουν στην Ερυθραία
9. Βρείτε ποιοι μαθητές της Γ είναι ενήλικοι.
Στη συνέχεια, δημιουργήστε ένα νέο Πίνακα με όνομα ΤΜΗΜΑ και πεδία Κ_ΤΜΗΜΑ και ΟΝΟΜΑ, όπως κάνατε και παραπάνω. Επαναλάβετε τη διαδικασία για το ΤΜΗΜΑ, καταχωρώντας τους μαθητές σε κάθε Τμήμα.
Δημιουργήστε μία σχέση Ένα προς πολλά μεταξύ των Πινάκων Μαθητής και Τμήμα.
Θεωρούμε ότι ένας μαθητής δεν είναι δυνατό να ανήκει σε δύο τμήματα (πχ άλλογενικής παιδείας και άλλο κατεύθυνσης. )
Αν συνέβαινε κάτι τέτοιο, θα έπρεπε να φτιάξουμε κι άλλους πίνακες με τμήματα (π.χ. Τμήμα_Επιλογής, Τμήμα_Γενικής_Παιδείας, Τμήμα_Κατεύθυνσης κ.ο.κ)
1. Βρείτε τα ονόματα και τα επίθετα των μαθητών ομαδοποιημένα ανά τμήμα.
2.Βρείτε το πλήθος των μαθητών ανά τμήμα
3. Βρείτε πόσοι μαθητές εξετάζονται προφορικά ανά τμήμα
4. Βρείτε ποιοι μαθητές εξετάζονται προοφορικά ανά τμήμα
5. Βρείτε ποιοι μαθητές από το ΓΠ είναι ενήλικοι
6. Βρείτε ποιοι μαθητές από το ΒΜηχ έχουν ηλικία από 17 ως και 18 ετών
7. Βρείτε όλους τους μαθητές του ΒΥγ που το δεύτερο γράμμα του επιθέτου τους είναι "α".
9. Βρείτε πόσοι μαθητές από το Α1 μένουν στην Κηφησιά
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.