Βάσεις Δεδομένων Εργαστήριο 1 Διαφάνεια 1
Πώς να δημιουργήσω ένα νέο πίνακα στην ACCESS, όταν έχω την αντίστοιχη οντότητα; Ας υποθέσουμε ότι έχουμε την οντότητα φοιτητής, με ιδιότητες (γνωρίσματα), όπως στην παρακάτω εικόνα: Διαφάνεια 2
Ιδιότητα οντότητας ΑΜ Όνομα Επώνυμο Όνομα πατρός Αγόρι / Κορίτσι Διεύθυνση Ύψος E-mail Επίπεδο Οικογενειακού εισοδήματος Περιοχή προέλευσης Ημερομηνία γέννησης Το Όνομα (πχ Νικόλαος) Η διεύθυνση κατοικίας (πχ Παπάφη 85, 54545, Θεσσαλονίκη) Το ύψος σε μέτρα (πχ 1.76) Περιγραφή Ο αριθμός μητρώου του φοιτητή (πχ 07403) Το Επώνυμο (πχ Παπαδόπουλος) Το Όνομα πατρός (πχ Αλέξανδρος) Αν είναι αγόρι ή κορίτσι (πχ αγόρι) Το Ηλεκτρονικό ταχυδρομείο (πχ ies03074@uom.gr) Το επίπεδο εισοδήματος της οικογένειας του, το οποίο παίρνει τιμές από μια λίστα, όπως υψηλό, μεσαίο, χαμηλό (πχ μεσαίο) Περιοχή προέλευσης, από μια λίστα όπως αστική, ημιαστική, αγροτική (πχ αστική) Η ημερομηνία γέννησης (πχ 25/9/1983) Διαφάνεια 3
Όπως είναι γνωστό, κάθε οντότητα από το μοντέλο οντοτήτων-συσχετίσεων μετατρέπεται σε σχέση στο σχεσιακό μοντέλο Δηλαδή θα πρέπει να δημιουργηθεί ένας πίνακας με ονόματα πεδίων τις αντίστοιχες ιδιότητες Ο κακός σχεδιασμός είναι προφανής, αλλά για την ώρα μπορούμε να δεχτούμε ότι η σχέση (πίνακας) που δημιουργείται είναι στην επιθυμητή μορφή και να προχωρήσουμε Κατασκευάσουμε λοιπόν την παρακάτω σχέση (το ονόματα που δίνουμε είναι με κεφαλαίους λατινικούς χαρακτήρες): Διαφάνεια 4
Ιδιότητα (από ER) Όνομα πεδίου Πεδίο ορισμού ΑΜ ΑΜ Πρωτεύον κλειδί, Κείμενο αποτελούμενο από 5 αριθμητικά ψηφία (αν λιγότερα τότε 0) Όνομα NAME Κείμενο μέχρι 30 χαρακτήρες, υποχρεωτική εισαγωγή (επιτρέπονται μόνο χαρακτήρες του αλφάβητου και το κενό) Επώνυμο SURNAME Κείμενο μέχρι 30 χαρακτήρες (επιτρέπονται μόνο χαρακτήρες του αλφάβητου και το κενό) Όνομα πατρός FNAME Κείμενο μέχρι 30 χαρακτήρες (επιτρέπονται μόνο χαρακτήρες του αλφάβητου και το κενό) Αγόρι / Κορίτσι GENDER Τύπος ΝΑΙ/ΟΧΙ (πχ ΝΑΙ = αγόρι, ΟΧΙ = κορίτσι) Διεύθυνση ADDRESS Κείμενο μέχρι 50 χαρακτήρες Ύψος HEIGHT Δεκαδικός (θετικός) αριθμός απλής ακρίβειας (single) με 2 δεκαδικά ψηφία Διαφάνεια 5 E-mail EMAIL Υπερσύνδεσμος Επίπεδο Οικογενειακού εισοδήματος LEVEL Κείμενο μέχρι 10 χαρακτήρες Περιοχή προέλευσης Ημερομηνία γέννησης PLACE BDATE Κείμενο μέχρι 10 χαρακτήρες Ημερομηνία
Ακολουθούμε τα παρακάτω βήματα Ανοίγουμε την ACCESS και δημιουργούμε μια κενή βάση δεδομένων Μετακινούμαστε στα αντικείμενα Πίνακες και κάνουμε κλικ στη σχεδίαση (Διπλό κλικ στην Δημιουργία Πίνακα σε Προβολή Σχεδίασης) Διαφάνεια 6
Ακολουθούμε τα παρακάτω βήματα Εισάγουμε το όνομα του πεδίου (ιδιότητα οντότητας, γνώρισμα σχέσης), τον τύπο δεδομένων και (προαιρετικά) κάποιο σχόλιο Καλό είναι να οριστεί τώρα το πρωτεύον κλειδί. Πριν λοιπόν κάνουμε κάτι άλλο, μετακινούμαστε με το δείκτη του ποντικιού στο "κλειδάκι" και πατούμε το αριστερό πλήκτρο (αριστερό κλικ) Διαφάνεια 7
Ακολουθούμε τα παρακάτω βήματα Μετά το πάτημα θα ενεργοποιηθεί το πρωτεύον κλειδί, προσέχουμε το "κλειδάκι" στο αριστερά του ονόματος πεδίου Επίσης, τώρα που ο πίνακας έχει πρωτεύον κλειδί, καλό είναι να τον αποθηκεύσουμε (Κάνουμε αριστερό κλικ πάνω στη δισκέτα ή Αρχείο > Αποθήκευση [ως]) και του δίνουμε ένα όνομα. Στο εξής θα χρησιμοποιούμε μόνο λατινικούς χαρακτήρες στα ονόματα πινάκων. Αυτό βέβαια είναι συμβατικό, αν έχετε ελληνική έκδοση της ACCESS μπορείτε να χρησιμοποιείται και ελληνικούς χαρακτήρες Διαφάνεια 8
Ακολουθούμε τα παρακάτω βήματα Το "Πίνακας1" είναι η προεπιλογή, αλλά είναι πολύ κακή συνήθεια να αφήνουμε τέτοια ονόματα για τα αντικείμενα της ACCESS. Προτιμούμε ένα όνομα ενδεικτικό για το περιεχόμενο του πίνακα. Το πρόθεμα TBL είναι επίσης συμβατικό, μπαίνει με σκοπό να ξεχωρίζουν τα ονόματα των πινάκων (TABLES) από άλλα αντικείμενα της ACCESS (ερωτήματα, φόρμες κτλ). Αλλάζουμε το όνομα και πατούμε το ΟΚ Θα πρέπει να βλέπουμε κάτι που να μοιάζει με τη διπλανή εικόνα. Παρατηρούμε το όνομα του πίνακα στη γραμμή τίτλων Διαφάνεια 9
Ακολουθούμε τα παρακάτω βήματα Τοποθετούμε ένα νέο πεδίο. Προσοχή, εδώ το "NAME" έχει εισαχθεί με λατινικούς χαρακτήρες. Έχουμε πάντα υπ' όψιν μας ότι το "ΝΑΜΕ" με ελληνικούς χαρακτήρες είναι κάτι το διαφορετικό (αν και οπτικά όμοιο!!!) Κοιτούμε το κάτω μέρος της σχεδίασης πίνακα. Εδώ, υπάρχουν μια σειρά από παραμέτρους για να ελέγξουμε τον τύπο δεδομένων, την εμφάνιση του πεδίου, την υποχρεωτική ή όχι εισαγωγή του κτλ. Διαφάνεια 10
Ακολουθούμε τα παρακάτω βήματα Αλλάζουμε το μέγεθος πεδίου σε 30. Αυτό σημαίνει ότι δεν μπορούν να εισαχθούν παραπάνω από 30 χαρακτήρες σε αυτό το πεδίο. Δηλαδή, τοποθετούμε το λογικό περιορισμό: ένα όνομα δεν μπορεί να έχει πάνω από 30 χαρακτήρες Επαναλαμβάνουμε τα ίδια βήματα για την εισαγωγή του "Επώνυμο", SURNAME. Εδώ θα προσθέσουμε μια ακόμα ιδιότητα: θα θέσουμε υποχρεωτική την εισαγωγή τιμής σε αυτό το πεδίο (γνώρισμα), ώστε κάθε νέα εγγραφή να περιλαμβάνει υποχρεωτικά το επώνυμο Διαφάνεια 11
Ακολουθούμε τα παρακάτω βήματα Επίσης από την αναπτυσσόμενη λίστα της ιδιότητας "Με ευρετήριο", διαλέξτε Ναι, επιτρέπονται διπλότυπα. Η εισαγωγή ευρετηρίου σε ένα πεδίο, επιταχύνει την αναζήτηση σε αυτό το πεδίο. Με λίγα λόγια όταν ψάχνουμε κάποιον με επώνυμο "ΧΧΧ" αυτό γίνεται ταχύτερα, αν σε αυτό το πεδίο έχει εισαχθεί ευρετήριο. Τα ευρετήρια, από την άλλη μεριά, καταλαμβάνουν αρκετά χώρο στο σκληρό δίσκο. Η επιλογή για τα διπλότυπα σημαίνει (όπως λέει) ότι επιτρέπεται το πεδίο να έχει δύο ίδιες τιμές (πχ να υπάρχουνδύομετοίδιοεπώνυμο). Σε άλλες περιπτώσεις είναι επιθυμητή η άρση των διπλότυπων. Για παράδειγμα, το πρωτεύον κλειδί είναι πάντα με ευρετήριο, χωρίς διπλότυπα Διαφάνεια 12
Ακολουθούμε τα παρακάτω βήματα Για το "Όνομα πατρός" θα εφαρμόσουμε ένα τρυκ, το οποίο δεν είναι απαραίτητο να γίνει, είναι καλό όμως να το γνωρίζουμε. Δεν είναι τίποτα άλλο από το γνωστό "Αντιγραφή-Επικόλληση". Για το πεδίο "Όνομα πατρός" ισχύουν ότι και για το "Όνομα", απλώς αλλάζει το όνομα του πεδίου από NAME σε FNAME. Στο αριστερό μέρος από το NAME κάντε δεξί κλικ και επιλέξτε αντιγραφή ή απλά πατήστε CTRL+V Διαφάνεια 13
Ακολουθούμε τα παρακάτω βήματα Ακριβώς κάτω από το SURNAME, κάνουμε δεξί κλικ και επιλέγουμε επικόλλησηήαπλά πατούμε CTRL+V. Θα πρέπει να έχουμε τη διπλανή εικόνα. Μαζί με το όνομα πεδίου, έχουν αντιγραφεί και όλες οι ιδιότητές του: μήκος, μάσκα εισαγωγής, ευρετήρια κτλ. Διαφάνεια 14
Ακολουθούμε τα παρακάτω βήματα Αλλάζουμε το όνομα πεδίου σε FNAME. Δεν είναι δυνατόν να υπάρχουν δύο πεδία με το ίδιο όνομα Εισάγουμε το επόμενο πεδίο με όνομα GENDER (αγόρι ή κορίτσι). Στο τύπο δεδομένων, από την αναπτυσσόμενη λίστα, διαλέγουμε ΝΑΙ / ΟΧΙ Διαφάνεια 15
Ακολουθούμε τα παρακάτω βήματα Σε προβολή φύλλου δεδομένων πρέπει να έχουμε αυτή την εικόνα. Βλέπουμε το μικρό τετραγωνάκι στο πεδίο GENDER. Μπορεί να είναι τσεκαρισμένοήόχι. Η μίατιμή αντιστοιχεί στο αγόρι και η άλλη στο κορίτσι. Μπορούμε να χρησιμοποιήσουμε αυτό το τύπο και για άλλα πεδία με δύο μόνο δυνατές τιμές Εισάγουμε το πεδίο της διεύθυνσης. Παραβλέπουμε προς το παρόν ότι αυτή η ιδιότητα της οντότητας φοιτητής είναι σύνθετη και ότι το πεδίο μπορεί να "διασπαστεί" σε άλλα όπως Οδός, Αριθμός, ΤΚ κτλ. Διαφάνεια 16
Ακολουθούμε τα παρακάτω βήματα Εισάγουμε το πεδίο HEIGHT (ύψος). Θέτουμε τον τύπο δεδομένων σε αριθμό. Από τις ιδιότητες τουπεδίουθέτουμετον αριθμό σε πραγματικό απλής ακρίβειας (single) Διαφάνεια 17
Ακολουθούμε τα παρακάτω βήματα Αλλάζουμε τις δεκαδικές θέσεις από "αυτόματα" σε δύο. Αυτό σημαίνει ότι οι αριθμοί αποθηκεύονται με δύο δεκαδικά ψηφία Θέτουμε τη μορφή σε σταθερή Διαφάνεια 18
Ακολουθούμε τα παρακάτω βήματα Στην ιδιότητα κανόνας επικύρωσης, τοποθετούμε το >0. Αυτό σημαίνει ότι μόνο θετικές τιμές μπορούν να εισαχθούν σε αυτό το πεδίο. Ο περιορισμός αυτός προέρχεται από τονφυσικόπεριορισμόότιτούψος είναι πάντα θετικός αριθμός. Στην ιδιότητα "κείμενο επικύρωσης" τοποθετούμε τη φράση "Πρέπει να εισαχθεί θετικός αριθμός". Η φράση αυτή εμφανίζεται σαν μήνυμα από τον υπολογιστή, κάθε φορά που από λάθος εισάγεται αρνητικός αριθμός ή εισάγεται μη αριθμητικός χαρακτήρας. Τέτοια μηνύματα βοηθούν πολύ τους χρήστες που καταχωρούν δεδομένα ή όπως λέγεται ενημερώνουν τη βάση Διαφάνεια 19
Ακολουθούμε τα παρακάτω βήματα Εισάγουμε το επόμενο πεδίο, το EMAIL και θέτουμε τον τύπο δεδομένων σε υπερσύνδεσμο. Αυτό θα αυτοματοποιήσει τη διαδικασία κλήσης του προγράμματος διαχείρισης ηλεκτρονικού ταχυδρομείου (πχ Netscape Messenger, Outlook, κτλ) όταν θα χρειαστεί να στείλουμε e-mail Μέχρι τώρα, αν έχουμε κάνει όλα τα βήματα σωστά, θα πρέπει να έχουμε τη διπλανή εικόνα Διαφάνεια 20
Ακολουθούμε τα παρακάτω βήματα Εισάγουμε τα πεδία Οικογενειακού εισοδήματος (LEVEL) και Προέλευσης (PLACE) με ιδιότητες τις προεπιλεγμένες (default) ιδιότητες του κειμένου. Εισάγετε το πεδίο ημερομηνία γέννησης (BDATE) και θέτουμε τον τύπο δεδομένων σε ημερομηνία Διαφάνεια 21
Ακολουθούμε τα παρακάτω βήματα Τέλοςμετιςπροσθήκεςπεδίων και τις ρυθμίσεις ιδιοτήτων. Κλείνουμετησχεδίασητου πίνακα. H ACCESS θα μας ρωτήσει αν θέλουμε να αποθηκεύσουμε τις αλλαγές στησχεδίασητουπίνακα. Πατούμε Ναι. (Προσοχή!!! υπάρχουν περιπτώσεις στις οποίες δεν θέλουμε να αποθηκευτούν οι αλλαγές. Η απάντηση κάνει ότι ακριβώς λέει η ερώτηση: Αποθηκεύει ή όχι αλλαγές στη σχεδίαση του πίνακα) Διαφάνεια 22
Ακολουθούμε τα παρακάτω βήματα Επιστροφή στη διαχείριση αντικειμένων της βάσης. Ο πίνακας TBL_STUDENTS είναι τώρα διαθέσιμος! Συχγαρητήρια! Διαφάνεια 23