Ερωτήματα

Στη συνέχεια θα αναφερθούμε στα ερωτήματα. Τα ερωτήματα είναι μία από τις σημαντικότερες λειτουργίες των βάσεων δεδομένων. Έχουμε ήδη αναφέρει πως τα δεδομένα μας είναι αποθηκευμένα στους πίνακες. Ένα ερώτημα λαμβάνει δεδομένα από έναν ή περισσότερους πίνακες. Μεταβαίνουμε στην καρτέλα Δημιουργία, και ξεκινάμε την δημιουργία ερωτήματος σε προβολή σχεδίασης, κάνοντας κλικ εδώ. Στο σημείο αυτό εμφανίζεται ένα παράθυρο, μέσω του οποίου μπορούμε να διαλέξουμε τον πίνακα από τον οποίο θα παίρνει δεδομένα το ερώτημα μας. Ας υποθέσουμε πως θέλουμε να δημιουργήσουμε ένα ερώτημα, το οποίο θα μας εμφανίζει όλες τις εγγραφές των πελατών μας που έχουν γεννηθεί στην Αθήνα. Τα δεδομένα αυτά υπάρχούν στον πίνακα “Πελάτες”. Οπότε επιλέγουμε τον πίνακα “Πελάτες”, και κάνουμε κλικ στο κουμπί “Προσθήκη”, και ο πίνακας εμφανίζεται σε αυτό το σημείο. Εάν θέλουνε μπορούμε να επιλέξουμε και άλλον πίνακα. Κάνοντας κλικ σε αυτό το σημείο επιλέγουμε τον πίνακα “Ταινίες”, και τον προσθέτουμε. Στην συνέχεια εάν θέλουμε κλείνουμε το παράθυρο. Σε αυτό το σημείο είμαστε στην προβολή σχεδίασης του ερωτήματος. Εάν έχουμε προσθέσει κατά λάθος έναν πίνακα όπως τον πίνακα “Ταινίες”, τον διαγράφουμε επιλέγοντας τον πρώτα, και πατώντας το πλήκτρο DELETE. Εάν κατά λάθος διαγράψουμε και τον πίνακα “Πελάτες”, ο οποίος μας ενδιαφέρει βέβαια, θα πρέπει να τον προσθέσουμε ξανά. Για να τον προσθέσουμε θα πρέπει να κάνουμε σ’ αυτόν τον κενό χώρο εδώ, δεξί κλικ, και κλικ στην εντολή “Εμφάνιση πίνακα”. Εμφανίζεται πάλι το παράθυρο με τους πίνακες, οπότε έχουμε την δυνατότητα να επιλέξουμε τον πίνακα και να τον προσθέσουμε. Έχουμε ήδη αναφέρει πως το ερώτημα το οποίο θέλουμε να δημιουργήσουμε, θέλουμε να μας εμφανίζει τους πελάτες που γεννήθηκαν στην Αθήνα. ʼρα μας ενδιαφέρει το πεδίο “Τόπος Γέννησης”. Κάνουμε διπλό κλικ σε αυτό το σημείο, και το πεδίο προστίθεται εδώ, στο πλέγμα. Εάν αυτή τη στιγμή εκτελέσουμε το ερώτημα κάνοντας κλικ σε αυτό το εικονίδιο, η Access θα μας επιστρέψει όλες τις εγγραφές του πίνακα, οι οποίες είναι 314. Μεταβαίνουμε πάλι στην προβολή σχεδίασης του ερωτήματος, για να δούμε το γιατί. Ζητήσαμε να μας εμφανίσει τον τόπο γέννησης, αλλά δεν εφαρμόσαμε κάποιο κριτήριο. Στη γραμμή αυτή του πλέγματος θα πρέπει να πληκτρολογήσουμε το κριτήριο, την Αθήνα δηλαδή. Εάν τώρα εκτελέσουμε το ερώτημα, η Access θα μας επιστρέψει όλες τις εγγραφές οι οποίες στο πεδίο “Τόπος Γέννησης”, έχουν την τιμή Αθήνα. Εκτελούμε λοιπόν το ερώτημα, και παρατηρούμε πως μας επιστρέφει 52 εγγραφές, και όλες έχουν την λέξη Αθήνα. Με αυτόν τον τρόπο όμως δεν βλέπουμε σε ποιον ανήκει αυτή η εγγραφή, επειδή εμφανίζει μόνο το πεδίο “Τόπος Γέννησης”. Μεταβαίνουμε ξανά στην προβολή σχεδίασης, και προσθέτουμε και το πεδίο “Επώνυμο”, κάνοντας διπλό κλικ σε αυτό το σημείο. Το πεδίο προστίθεται αμέσως μετά το πεδίο “Τόπος Γέννησης”. Εάν θέλουμε μπορούμε να προσθέσουμε και το πεδίο “Όνομα”. Εάν τώρα εκτελέσουμε το ερώτημα, θα εμφανιστούν πάλι οι 52 εγγραφές, όπως μπορούμε να δούμε εδώ, αλλά τώρα για κάθε εγγραφή εμφανίζεται και το πεδίο “Επώνυμο”, και το πεδίο “Όνομα”. Μεταβαίνουμε πάλι στην προβολή σχεδίασης. Σε αυτή τη γραμμή του πλέγματος, στην εμφάνιση, βλέπουμε πως είναι επιλεγμένα τα πεδία “Όνομα”, “Επώνυμο”, και “Τόπος Γέννησης”. Εάν το αποεπιλέξουμε, και εκτελέσουμε το ερώτημα, θα εμφανιστούν πάλι οι 52 εγγραφές οι οποίες ικανοποιούν το κριτήριο ο τόπος γέννησης να είναι Αθήνα, αλλά θα εμφανιστούν μόνο τα πεδία “Επώνυμο” και “Όνομα”, δεν θα εμφανισθεί δηλαδή το πεδίο “Τόπος Γέννησης”, επειδή είχαμε επιλέξει να μην εμφανίζεται. Αυτό βέβαια δεν σημαίνει πως δεν θα πρέπει να ικανοποιείται το κριτήριο. Στη συνέχεια θα αποθηκεύσουμε το ερώτημα, κάνοντας κλικ στο εικονίδιο αποθήκευση. Δίνουμε το όνομα Αθήνα, κάνουμε κλικ στο “ΟΚ”, και το κλείνουμε. Το ερώτημα εμφανίζεται σε αυτό το σημείο. Εάν θέλουμε να το ξανατρέξουμε κάνουμε διπλό κλικ επάνω του, και μας εμφανίζει τις 52 εγγραφές οι οποίες ικανοποιούν το κριτήριο. Θα πρέπει να αναφέρουμε πως το ερώτημα δεν αποθηκεύει δεδομένα. Τα δεδομένα τα αντλεί από τον πίνακα κάθε φορά που το εκτελούμε. Στη συνέχεια θα δημιουργήσουμε ένα ερώτημα το οποίο θα βασίζεται στον πίνακα “Ταινίες”. Εάν τον ανοίξουμε, μπορούμε να δούμε ότι έχουμε καταχωρίσει τον τίτλο της ταινίας, και το έτος κυκλοφορίας. Θα δημιουργήσουμε ένα ερώτημα το οποίο θα μας επιστρέφει όλες τις ταινίες τις οποίες έχουν έτος κυκλοφορίας μετά το 1990. Κλείνουμε τον πίνακα, μεταβαίνουμε στην καρτέλα Δημιουργία, και κάνουμε κλικ στην εντολή “Σχεδίαση ερωτήματος”. Από το παράθυρο προστεθούμε τον πίνακα “Ταινίες”. Μας ενδιαφέρει το έτος κυκλοφορίας. Καλό είναι να εμφανισθεί και ο τίτλος της ταινίας, για τους λόγους που αναφέραμε προηγουμένως. Στη γραμμή κριτηρίων, και σε αυτό το σημείο του πεδίου “ΈτοςΚυκλοφορίας”, θα πληκτρολογήσουμε >1990. Όταν θα εκτελέσουμε το ερώτημα, θα εμφανισθεί ο τίτλος της ταινίας, και το έτος κυκλοφορίας, όλων των ταινιών θα είναι μεγαλύτερο από 1990. Εκτελούμε λοιπόν το ερώτημα. Εμφανίζονται 13 ταινίες. Είναι αυτές, αυτός είναι ο τίτλος, και αυτό είναι το έτος. Εάν θέλουμε να τις ταξινομήσουμε για να επαληθεύσουμε το ερώτημα, κάνουμε ένα κλικ σε αυτό το εικονίδιο για να ταξινομήσουμε σε αύξουσα σειρά. Παρατηρούμε πως τα αποτελέσματα, το πρώτο είναι 1991, και το τελευταίο 2006. Όλα λοιπόν είναι μεγαλύτερα από το 1990. Εάν θέλουμε να το αποθηκεύσουμε κάνουμε κλικ στο εικονίδιο της δισκέτας, πληκτρολογούμε >1990, και κλείνουμε το ερώτημα. Το ερώτημα μας εμφανίζεται σε αυτό το σημείο. Εάν θέλουμε να το τροποποιήσουμε, για να μας εμφανίζει π.χ. όλες τις ταινίες που κυκλοφόρησαν μετά το 2000, θα κάνουμε δεξί κλικ στο ερώτημα, και θα μεταβούμε στην προβολή σχεδίασης. Στην γραμμή κριτηρίων του πεδίου “Έτος Κυκλοφορίας” διαγράφουμε το 1990, και πληκτρολογούμε το 2000. Εκτελούμε το ερώτημα, και η access μας εμφανίζει 6 εγγραφές. Όλες οι ταινίες οι οποίες εμφανίζονται έχουν έτος κυκλοφορίας μετά το 2000. Στη συνέχεια θα το αποθηκεύσουμε με διαφορετικό όνομα μέσω του μενού “Αρχείου”, και της εντολής “Αποθήκευση αντικειμένου ως”. Πληκτρολογούμε >2000, και κάνουμε κλικ στο “ΟΚ”. Στη συνέχεια κλείνουμε το ερώτημα. Αυτή τη στιγμή έχουμε δημιουργήσει τρία ερωτήματα. Στη συνέχεια θα δημιουργήσουμε ένα ερώτημα το οποίο θα παίρνει δεδομένα από τρεις πίνακες. Υπενθυμίζουμε πως στον πίνακα “Ταινίες” έχουμε εισάγει τις ταινίες μας, στο πίνακα “Πελάτες” τους πελάτες μας, και στον πίνακα “Ενοικιάσεις” έχουμε εισάγει ποιος πελάτης νοίκιασε ποια ταινία και ποτέ. Ξεκινάμε την δημιουργία σε προβολή σχεδίασης, και εισάγουμε και τους τρεις πίνακες, και τους πελάτες, και τις ταινίες, και τις ενοικιάσεις. Αυτό που θέλουμε να γνωρίζουμε είναι το επώνυμο και το όνομα του πελάτη, το οποίο υπάρχει στον πίνακα “Πελάτες”. Κάνουμε διπλό κλικ στο επώνυμο, και στο όνομα για να εισαχθούν στο πλέγμα. Στη συνέχεια θα θέλαμε να γνωρίζουμε και τον τίτλο της ταινίας, ο οποίος βρίσκεται στον πίνακα “Ταινίες”, καθώς και την ημερομηνία ενοικίασης της ταινίας, η οποία υπάρχει στον πίνακα “Ενοικιάσεις”. Συνδέουμε τους πίνακες με ενώσεις, στις οποίες θα αναφερθούμε αργότερα. Εάν αυτή τη στιγμή εκτελέσουμε το ερώτημα, η Access θα μας εμφανίσει όλους τους πελάτες, με το επώνυμο και το όνομα τους και ποια ταινία νοίκιασαν και πότε. Αποθηκεύουμε το ερώτημα με όνομα “ενοικιάσεις2”. Στη συνέχεια κλείνουμε το ερώτημα μας. Αυτή τη στιγμή έχουμε δημιουργήσει αυτά τα τέσσερα ερωτήματα. Στο επόμενο παράδειγμα θα ασχοληθούμε με το ερώτημα “not Αθήνα”. Αυτό το ερώτημα μας επιστρέφει όλες τις εγγραφές των πελατών μας οι οποίοι δεν γεννήθηκαν στην Αθήνα. Για να το εκτελέσουμε κάνουμε διπλό κλικ επάνω του. Το ερώτημα μας επιστρέφει 261 εγγραφές. Εάν μεταβούμε στην προβολή σχεδίασης, θα διαπιστώσουμε πως στο κριτήριο του πεδίου τόπου γέννησης, πληκτρολογήσαμε αυτό. Η πρώτη αλλαγή που θα κάνουμε είναι να διαγράψουμε το πεδίο “Πόλη”. Το επιλέγουμε, και πατάμε το πλήκτρο DELETE. Στη συνέχεια ας υποθέσουμε πως θέλουμε το πεδίο “Επώνυμο”, να εμφανίζεται πριν από το πεδίο “Όνομα”. Επιλέγουμε το πεδίο “Επώνυμο”, και στη συνέχεια, με πατημένο το αριστερό πλήκτρο το σύρουμε στην πρώτη θέση. Εάν εκτελέσουμε αυτή τη στιγμή το ερώτημα, το πεδίο “Επώνυμο”, θα εμφανισθεί πριν από το πεδίο “Όνομα”, ενώ το πεδίο πόλη δεν θα εμφανισθεί καθόλου. Αποθηκεύουμε τα ερώτημα κάνοντας κλικ εδώ, και το κλείνουμε. Σε ένα τελευταίο παράδειγμα θα ξεκινήσουμε τη δημιουργία σε προβολή σχεδίασης ενός ερωτήματος, το οποίο θα παίρνει δεδομένα από τον πίνακα “Πελάτες”. Ας υποθέσουμε πως θέλουμε να εμφανίζονται όλοι οι πελάτες οι οποίοι γεννήθηκαν στην Αθήνα. Θα θέλαμε το ερώτημα να εμφανίζει όλα τα πεδία του πίνακα “Πελάτες”. Θα μπορούσαμε κάλλιστα να τα εισάγουμε ένα-ένα, κάτι που όμως είναι χρονοβόρο. Στη περίπτωση που θέλουμε να εισάγουμε όλα τα πεδία ενός πίνακα, κάνουμε διπλό κλικ στο *. Εάν αυτή τη στιγμή εκτελέσουμε το ερώτημα, θα πάρουμε αυτή την εικόνα. Εδώ εμφανίζονται τα πεδία, και οι εγγραφές. Εμείς όμως θέλουμε να εφαρμόσουμε ένα κριτήριο στο πεδίο “Τόπος Γέννησης”. Να μας εμφανίζει μόνο αυτούς που γεννήθηκαν στην Αθήνα. Εάν επιστρέψουμε στην προβολή σχεδίασης, θα παρατηρήσουμε πως σε αυτό το σημείο δεν μπορούμε να πληκτρολογήσουμε το κριτήριο, επειδή αυτό το πεδίο δεν είναι το πεδίο “Τόπος Γέννησης”. Εισάγουμε λοιπόν το πεδίο “Τόπος Γέννησης”, και στην γραμμή κριτηρίων πληκτρολογούμε το κριτήριο ΑΘΗΝΑ. Εάν αυτή τη στιγμή εκτελέσουμε το ερώτημα, θα πάρουμε μεν 52 εγγραφές, αλλά στη στήλη που περιμένουμε να εμφανισθεί το πεδίο “Τόπος Γέννησης”, παίρνουμε την επιγραφή “Πεδίο0”, ενώ εδώ μας εμφανίζει το όνομα του πεδίου “ΤόποςΓέννησης” μ’ αυτόν τον τρόπο. Εμφανίζετε δηλαδή δύο φορές. Στη προβολή σχεδίασης, θα έπρεπε να επιλέξουμε, να μην εμφανίζεται το πεδίο “Τόπος Γέννησης”, επειδή έχουμε επιλέξει το *. Σε αυτή την περίπτωση θα λάβουμε ως αποτέλεσμα πάλι τις 52 εγγραφές, αλλά το πεδίο “Τόπος Γέννησης” θα εμφανισθεί μία φορά. Εάν θέλουμε να διαγράψουμε ένα ερώτημα, κάνουμε δεξί κλικ επάνω στο ερώτημα, και επιλέγουμε “Διαγραφή”.