ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 11Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα του Πανεπιστημίου Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2
Περιεχόμενα 1. Σκοπός της άσκησης... 4 2. Εισαγωγή: Βασικές Έννοιες... 4 3. Πιθανές χρήσεις Βάσεων Δεδομένων... 4 4. Βήματα Δημιουργίας μιας Βάσης Δεδομένων... 5 5. Άσκηση 1... 5 5.1 Ερώτημα 1... 5 5.2 Ερώτημα 2... 5 5.3 Ερώτημα 3... 6 5.4 Ερώτημα 4... 6 5.5 Ερώτημα 5... 7 5.5.1 Υποερώτημα 1... 7 5.5.2 Υποερώτημα 2... 7 5.5.3 Υποερώτημα 3... 8 5.6 Ερώτημα 6... 8 5.6.1 Υποερώτημα 1... 8 5.6.2 Υποερώτημα 2... 9 5.6.3 Υποερώτημα 3... 9 3
1. Σκοπός της άσκησης Σκοπός αυτής της εργαστηριακής άσκησης είναι η εισαγωγή στις βασικές έννοιες των βάσεων δεδομένων καθώς και η δημιουργία μίας βάσης και μίας φόρμας. 2. Εισαγωγή: Βασικές Έννοιες Βάση Δεδομένων (Database) Μια συλλογή πληροφοριών σχετικά με ένα συγκεκριμένο θέμα ή σκοπό, και που είναι οργανωμένη με τέτοιο τρόπο ώστε εύκολα να γίνεται η ανάκληση επιθυμητών δεδομένων από κάποιο πρόγραμμα Πίνακας (Table) Πληροφορίες οργανωμένες σε γραμμές και στήλες. Ο χώρος στον οποίο συλλέγονται οι πληροφορίες για κάθε ένα από τα θέματα που θα αποφασίσετε να παρακολουθήσετε. Πχ. Στην βάση Τράπεζα, τα στοιχεία όλων των πελατών αποτελούν έναν πίνακα Πεδίο (Field) Κάθε κατηγορία πληροφοριών που έχει συλλεχτεί σε έναν πίνακα. Πχ. Όνομα, επίθετο κλπ Εγγραφή (Record) Το ολοκληρωμένο σύνολο πληροφοριών για κάθε μια από τις οντότητες που παρακολουθεί η βάση. Πχ κάθε πελάτης αποτελεί μια εγγραφή Πρωτεύον κλειδί (Primary Key) πεδίο ΑΦΜ Ένα πεδίο που προσδιορίζει μοναδικά κάθε εγγραφή πχ το Φόρμες (Forms) Χρησιμοποιούνται στις Βάσεις για να διευκολύνουν και να κάνουν πιο φιλική την εισαγωγή και τροποποίηση πληροφοριών-εγγραφών σε πίνακες Ερωτήματα (Queries) Εντοπίζουν σε μια βάση τις εγγραφές που μας ενδιαφέρουν, βάση κριτηρίων που θέτουμε Συσχέτιση(Relationship) Ο σύνδεσμος μεταξύ δύο πινάκων μιας βάσης δεδομένων που έχουν συσχετιζόμενες μεταξύ τους πληροφορίες. Πχ συσχέτιση μεταξύ των πινάκων «φοιτητές» και «μαθήματα» Έκθεση (Report) Χρησιμοποιούνται για να παρουσιάσουν τις πληροφορίες πινάκων αυτούσιες ή μορφοποιημένες προς εκτύπωση 3. Πιθανές χρήσεις Βάσεων Δεδομένων Αποθήκευση στοιχείων φοιτητών και βαθμών Αποθήκευση στοιχείων βιβλίων μιας βιβλιοθήκης και δανεισμούς αυτών Αποθήκευση στοιχείων πελατών και λογαριασμών σε μια τράπεζα (γράψτε άλλες πιθανές χρήσεις ΒΔ) 4
4. Βήματα Δημιουργίας μιας Βάσης Δεδομένων 1. Σαφής καθορισμός του σκοπού της ΒΔ 2. Τι πληροφορίες θέλω να παίρνω από την Βάση μου; Πχ εβδομαδιαία εκτύπωση των δανεισμών των βιβλίων 3. Ποιες πληροφορίες θα πρέπει να αποθηκευτούν στην βάση για να μπορώ να πάρω τις παραπάνω πληροφορίες; 4. Σχεδιασμός (χωρισμός, συσχέτιση) πινάκων για την αποθήκευση των πληροφοριών αυτών στην βάση και καθορισμός των πεδίων σε κάθε πίνακα 5. Δημιουργία αρχείου ΒΔ στην Access και δημιουργία των πινάκων 6. Δημιουργία φορμών για την υποστήριξη φιλικού περιβάλλοντος εισαγωγής πληροφοριών από τον χρήστη της ΒΔ 7. Δημιουργία ερωτημάτων για την ανάκληση επιθυμητών πληροφοριώνεγγράφων από την ΒΔ 8. Δημιουργία εκθέσεων για την παρουσίαση των πληροφοριών σε αυτούσια ή μορφοποιημένη μορφή έτοιμη προς εκτύπωση 5. Άσκηση 1 5.1 Ερώτημα 1 Δημιουργήστε μια βάση δεδομένων με όνομα «Πανεπιστήμιο» 5.2 Ερώτημα 2 Δημιουργήστε τον πίνακα «Φοιτητές» με τα ακόλουθα πεδία: Ονομασία πεδίου Κωδικός Φοιτητή Όνομα Επίθετο Ημ/νία Γέννησης Χαρακτηρισμός πεδίου Αριθμός αυτόματα αυξανόμενος Κείμενο μήκους 20 χαρακτήρων Κείμενο μήκους 30 χαρακτήρων Δεδομένα τύπου ημερομηνία 5
Πόλη Διεύθυνση Τηλέφωνο Εξάμηνο Κατατακτήριες Κείμενο μήκους 20 χαρακτήρων Κείμενο μήκους 40 χαρακτήρων Κείμενο μήκους 20 χαρακτήρων Κείμενο μήκους 5 χαρακτήρων Λίστα τιμών (Όχι, Ναι) Το πρωτεύον κλειδί θα ναι το πεδίο Κωδικός Φοιτητή Δεν θα επιτρέπεται στο χρήστη να αφήσει κενά τα πεδία Όνομα και Επίθετο Το πεδίο Ημ/νία Γέννησης θα δέχεται δεδομένα τύπου ημερομηνία και συγκεκριμένα της μορφής 20-Φεβ-90, ενώ οι επιτρεπτές ημερομηνίες γέννησης των φοιτητών είναι από 1-1-1920 μέχρι και σήμερα. Στην περίπτωση μη επιτρεπτής τιμής θα εμφανίζεται το μήνυμα «λάθος ημ/νία γέννησης» Το πεδίο Κατατακτήριες θα δέχεται τις τιμές «Όχι» και «Ναι» από μια λίστα τιμών. Προεπιλεγμένη τιμή θα ναι η «Όχι» 5.3 Ερώτημα 3 Σε προβολή φύλλου δεδομένων να εισάγετε στον πίνακα τις ακόλουθες εγγραφές 5.4 Ερώτημα 4 Δημιουργήστε με τη βοήθεια του οδηγού μια φόρμα που θα ονομάζεται «καταγραφή φοιτητών». Η φόρμα θα βασίζεται στον παρακάτω πίνακα και μέσω αυτής θα εισάγετε στον πίνακα τις ακόλουθες εγγραφές ΚωδΦοιτ Όνομα Επίθετο Ημ/νία Γεν Πόλη Διεύθυνση Τηλέφωνο Εξάμηνο Κατατακτήριες 6 Γεωργία Πρίντεζη 17-Αυγ-72 Αθήνα Κάτω 210565895 ΣΤ Ναι Πατήσια 32 7 Σωτηρία Βλαχοδήμου 14-Σεπ-89 Κοζάνη Βερμίου 10 2461056985 Γ Όχι 6
5.5 Ερώτημα 5 Να δημιουργήσετε τα παρακάτω ερωτήματα σε προβολή Σχεδίασης: 5.5.1 Υποερώτημα 1 a. Ποιοι φοιτητές έχουν εισαχθεί από κατατακτήριες; 5.5.2 Υποερώτημα 2 b. Ποιοι φοιτητές είναι από Αθήνα; 7
5.5.3 Υποερώτημα 3 c. Ποιοι οι Φοιτητές που το επίθετό τους ξεκινά από «Π»; 5.6 Ερώτημα 6 Να δημιουργήσετε τα παρακάτω ερωτήματα σε προβολή SQL: 5.6.1 Υποερώτημα 1 a. Ποιοι φοιτητές Α εξαμήνου είναι από Κοζάνη; 8
5.6.2 Υποερώτημα 2 b. Παραμετρικό ερώτημα: να δίνει ο χρήστης το κριτήριο την στιγμή που εκτελείται το ερώτημα. Έτσι δημιουργώντας ένα ερώτημα μόνον, μπορείτε να απαντήσετε σε ένα μεγάλο πλήθος συναφών ερωτημάτων. Πχ να δίνετε το επίθετο ή / και το Όνομα από τον χρήστη. 5.6.3 Υποερώτημα 3 c. Τροποποιήστε το παραπάνω ερώτημα ώστε να επιστρέφονται εγγραφές έστω και αν δεν είναι ολοκληρωμένο το επίθετο ή το όνομα των φοιτητών δηλ πχ δίνοντας «Πα» ως επίθετο να βγουν όλες οι εγγραφές που ξεκινούν από «Πα».. δηλ εδώ Παπαδόπουλος και Παπαδημητρίου 9