Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών ΛΕΞΙΚΟ ΔΕΔΟΜΕΝΩΝ Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Λεξικό Δεδομένων Αφού ολοκληρωθεί ένα ΔΡΔ (μετά από διαδοχικά επίπεδα ανάλυσης), οι αναλυτές συστημάτων χρησιμοποιούν το ΔΡΔ για να καταγράψουν τις διάφορες διαδικασίες, ροές, βάσεις και δομές δεδομένων, κι άλλα σχετικά στοιχεία σε ένα λεξικό δεδομένων. Ιδιαίτερη προσοχή δίνεται στα ονόματα που χρησιμοποιούνται για την περιγραφή των δεδομένων. Όπως ένα κοινό λεξικό, ένα λεξικό δεδομένων περιλαμβάνει δεδομένα που επεξηγούν/περιγράφουν άλλα δεδομένα (metadata). Ένα λεξικό δεδομένων χρησιμεύει ως κοινό σημείο αναφοράς για τα δεδομένα που έχουν συλλεχθεί καθώς και για τους αναλυτές που μπορεί να χρησιμοποιούν διαφορετικούς όρους για τα ίδια δεδομένα. Το λεξικό δεδομένων μπορεί έτσι να βοηθήσει στην καλύτερη επικοινωνία μεταξύ διαφόρων τμημάτων και αναλυτών που χρησιμοποιούν κοινές βάσεις δεδομένων. Με τα αυτοματοποιημένα λεξικά αλλαγές σε ένα πρόγραμμα μπορεί να περάσουν σε όλα τα προγράμματα που χρησιμοποιούν κοινά στοιχεία και δεδομένα.
Η δημιουργία ενός λεξικού δεδομένων περιλαμβάνει τα ακόλουθα βήματα: Υπάρχουν τέσσερις κατηγορίες λεξικών: ροές δεδομένων, δομές δεδομένων, στοιχεία δεδομένων και αρχεία δεδομένων. Η δημιουργία ενός λεξικού δεδομένων περιλαμβάνει τα ακόλουθα βήματα: Συλλογή όλων των στοιχείων και δεδομένων σε ένα καταχωρητή (repository). Λεπτομερής προσδιορισμός των ροών δεδομένων (data flows) και περιγραφή των δομών δεδομένων (data structure). Πλήρης περιγραφή των στοιχείων (data elements). Ανάπτυξη των αρχείων δεδομένων (data stores). Με τη δημιουργία του λεξικού ο αναλυτής έχει τη δυνατότητα να αντιληφθεί το σύστημα και πως λειτουργεί.
ΠΑΡΑΔΕΙΓΜΑ: επιχείρηση παραγγελιών κι αποστολής ενδυμάτων ταχυδρομικώς Θα αναφερθούμε στο παράδειγμα με παραγγελίες ενδυμάτων από κατάλογο και ταχυδρομική αποστολή. Αρχικά θα πρέπει να προσδιορίσουμε τις λεπτομέρειες της παραγγελίας: περιγραφή παραγγελίας, μέγεθος, χρώμα, τιμή, ποσότητα, κλπ. Ο τρόπος πληρωμής (από τον πελάτη) επίσης πρέπει να καθοριστεί.
Σχ. 10.2: Παράδειγμα παραγγελίας
Ροές Δεδομένων Στη ροή δεδομένων, που μπορεί να αποτυπωθεί σε ένα απλό έντυπο, περιλαμβάνονται τα ακόλουθα: (προαιρετικά) ένας αριθμός ένα (διακριτό) όνομα μια γενική περιγραφή της ροής η πηγή των δεδομένων ο προορισμός των δεδομένων ο τύπος της ροής, π.χ. εάν είναι μια εγγραφή από αρχείο, την οθόνη κλπ, ή μεταξύ διαδικασιών το όνομα της δομής δεδομένων η ποσότητα ανά μονάδα χρόνου μια κενή περιοχή για περαιτέρω σχόλια και παρατηρήσεις
Σχ. 10.3: Παράδειγμα περιγραφής ροής δεδομένων
Δομές Δεδομένων Συνήθως μια δομή δεδομένων περιγράφεται χρησιμοποιώντας τα ακόλουθα σύμβολα: το ‘=’ σημαίνει «αποτελείται από» το ‘+’ σημαίνει «και» τα ‘{, }’ υποδηλούν επαναλαμβανόμενα στοιχεία τα ‘[, |, ]’ χρησιμοποιούνται για τις «ή/είτε» περιπτώσεις οι ‘(,)’ απεικονίζουν προαιρετικά στοιχεία. Προαιρετικά στοιχεία μπορεί να μένουν κοινά στις οθόνες εισαγωγής δεδομένων και μπορεί να περιέχουν κενά ή μηδενικά Στο παράδειγμα μας η οθόνη εισαγωγής νέου πελάτη περιλαμβάνει τα πεδία στο αριστερό μέρος του ‘=’.
Σχ. 10.5: Παράδειγμα δομής δεδομένων για την εισαγωγή μιας παραγγελίας
Επιπροσθέτως μπρούμε να ορίσουμε και φυσικές δομές δεδομένων οι οποίες συμπεριλαμβάνουν απαραίτητα στοιχεία για την υλοποίηση του συστήματος, όπως πεδία-κλειδιά για την εύρεση εγγραφών σε ένα αρχείο, κωδικούς συναλλαγών ή ακόμα για το αν το αρχείο ενός υπαλλήλου είναι ενεργό ή όχι. Στο ακόλουθο σχήμα που αναφέρεται στη χρέωση πελάτη φαίνεται ότι το πεδίο ORDER LINE μπορεί να επαναληφθεί έως 5 φορές, μια για κάθε αντικείμενο που παραγγέλνεται.
Σχ. 10.6: Φυσική δομή δεδομένων που συνοδεύει τη λογική δομή δεδομένων.
Στοιχεία Δεδομένων Κάθε στοιχείο περιγράφεται από τα ακόλουθα: (προαιρετικά) τον αριθμό του στοιχείου το όνομα του στοιχείου άλλες εναλλακτικές ονομασίες του στοιχείου μια γενική περιγραφή του στοιχείου εάν το στοιχείο είναι βασικό ή παραγώμενο. Το όνομα ενός πελάτη είναι βασικό στοιχείο, ενώ ένα στοιχείο που μπορεί να είναι προϊόν υπολογισμών, όπως το ποσό οφειλής, είναι παραγώμενο. το μήκος του στοιχείου, το οποίο μπορεί να είναι σταθερό (πχ ταχ. κώδικας) ή μεταβλητό. ο τύπος του στοιχείου: αριθμητικό, αλφαβητικό ή συνδυασμός, για ημερομηνίες καθορίζεται η μορφή τους (πχ. ΗΗΜΜΧΧΧΧ). η μορφή των διαφόρων πεδίων. Ο συμβολισμός είναι: Χ:γράμμα, 9:ψηφίο, Ζ: παρουσίαση μηδενικών ως κενά, V:ένδειξη θέσης δεκαδικών ψηφίων, πχ. Χ(5) συμβολίζει πεδίο πέντε γρμμάτων ΧΧΧΧΧ. κριτήρια που να πιστοποιούν την ακρίβεια των δεδομένων που εισάγονται στο σύστημα, όπως όρια αριθμητικών πεδίων (πχ. ο μήνας έχει τιμές 01-12). κάποια αυτόματη (default) τιμή, που εμφανίζεται στην οθόνη και μπορεί να αλλαχθεί αν χρειαστεί μια κενή περιοχή για περαιτέρω σχόλια και παρατηρήσεις
Σχ. 10.7: Παράδειγμα περιγραφής ενός στοιχείου
Εναποθηκευτές (Αρχεία) Δεδομένων Όλα τα βασικά στοιχεία πρέπει να αποθηκευτούν στο σύστημα. Παραγώμενα στοιχεία (πχ. οι απολαβές ενός υπαλλήλου) μπορούν επίσης να αποθηκευτούν. Ένα αρχείο (ή εναποθηκευτής) δεδομένων περιγράφεται από: τον αριθμό του αρχείου το όνομα του αρχείου, που είναι μοναδικό κάποια εναλλακτική ονομασία του αρχείου μια σύντομη περιγραφή του αρχείου ο τύπος του αρχείου, ηλεκτρονικό ή μή εάν το αρχείο είναι ηλεκτρονικό τότε επισημαίνεται εάν αυτό είναι κάποια βάση δεδομένων ή ένα απλό αρχείο. ο μέγιστος και μέσος όρος εγγραφών του αρχείου καθώς και ο ετήσιος ρυθμός αύξησης. το ηλεκτρονικό όνομα του αρχείου (εάν αυτό είναι γνωστό). η αναφερόμενη δομή δεδομένων πρέπει να χρησιμοποιεί ονόματα (πχ. για τα κλειδιά) κοινά με τα άλλα λεξικά με τα οποία συνδέεται.
Σχ. 10.11: Παράδειγμα εναποθηκευτή δεδομένων
Ανάλυση Εισαγωγής – Εξαγωγής Δεδομένων Σημαντικό βήμα στη δημιουργία του λεξικού δεδομένων αποτελεί η επισήμανση και κατηγοριοποίηση των ροών εισαγωγής κι εξαγωγής δεδομένων. Η ανάλυση περιλαμβάνει: ένα περιγραφικό όνομα για την εισαγωγή/εξαγωγή το όνομα του χρήστη υπευθύνου για την ανάλυση εάν πρόκειται για εισαγωγή/εξαγωγή δεδομένων τη μορφή της ροής δεδομένων; εάν πρόκειται για το λογικό στάδιο σχεδιασμού τότε μπορεί να παραληφθεί. στοιχεία σχετικά με τη σειρά που τα δεδομένα εμφανίζονται στην οθόνη ή στην αναφορά. μια λίστα από όλα τα στοιχεία, συμπεριλαμβανομένων των ονομάτων τους, μήκους τους, αν είναι βασικά ή παραγώμενα και των τύπων τους.
Σχ. 10.14: Παράδειγμα ανάλυσης εισαγωγής/εξαγωγής δεδομένων
Με την ανάλυση των δεδομένων πρέπει να παρατηρήσουμε αν ορισμένα στοιχεία μπορούν να ομαδοποιηθούν ώστε να συμπεριληφθούν στην ίδια εγγραφή. Αφού έχουμε προσδιορίσει αναλυτικά τις ροές δεδομένων στο σύστημά μας, οι αντλούμενες πληροφορίες μπορούν να αποθηκευτούν στις δομές δεδομένων που μπορεί να υπάρχουν σε διάφορα μέρη του συστήματος. Στους εναποθηκευτές δεδομένων καταχωρούνται μόνιμα ή ημιμόνιμα στοιχεία. Πχ. ενώ το ποσοστό του ΦΠΑ είναι μόνιμο στοιχείο, ο υπολογίσιμος φόρος επί του ποσού είναι παραγώμενο στοιχείο κι άρα δε χρειάζεται να εναποθηκευτεί. Οι εναποθηκευτές δεδομένων μπορούν επιπροσθέτως να εμπλουτιστούν μετά από περαιτέρω ανάλυση των ροών.
Σχ. 10.16: Παράδειγμα εναποθηκευτή δεδομένων προϊόν παραγγελίας
Σχ. 10.17: Παράδειγμα δομής δεδομένων για την εκτέλεση παραγγελίας
Χρήση των Λεξικών Δεδομένων Ένα λεξικό δεδομένων μπορεί να χρησιμοποιηθεί για τη δημιουργία οθονών, αναφορών κι εντύπων. Η δομή δεδομένων καθώς και τα στοιχεία των εναποθηκευτών δεδομένων μπορούν να χρησιμοποιηθούν για τη δημιουργία κώδικα προγραμμάτων. Τα λεξικά δεδομένων σε συνδυασμό με τα ΔΡΔ μπορούν να χρησιμεύσουν στην ανάλυση και στο σχεδιασμό ενός συστήματος, ανακαλύπτοντας τυχόν λάθη και παραλείψεις. Το λεξικό δεδομένων αποτελεί μια κοινή πηγή πληροφοριών, απαντήσεων και επίλυσης διαφωνιών για τους αναλυτές. Στο ακόλουθο σχήμα βλέπουμε την εντολή εκτέλεσης παραγγελίας που δημιουργήθηκε από το λεξικό δεδομένων.
Σχ. 10.18: Οθόνη εντολής εκτέλεσης παραγγελίας ως αποτέλεσμα χρήσης του λεξικού δεδομένων
ΑΣΚΗΣΗ Δώστε τη Δομή Δεδομένων του Λεξικού Δεδομένων για μια εταιρεία ανταλλακτικών αυτοκινήτων. Η εταιρεία διατηρεί μια σειρά από ανταλλακτικά για κάθε μάρκα αυτοκινήτου. Δώστε μετά ένα παράδειγμα σχεδιασμού οθόνης με τα στοιχεία του λεξικού δεδομένων. Στη συνέχεια δώστε τους σχετικούς εναποθηκευτές δεδομένων.
Κατάλογος Ανταλλακτικών = Κωδικός Εταιρείας + Όνομα Εταιρείας + Διεύθυνση + Τηλέφωνο + Ημερομηνία + {Είδος Ανταλλακτικού} + Σύνολο Ανταλλακτικών Είδος Ανταλλακτικού = Κωδικός Μάρκας Αυτοκινήτου + Μάρκα Αυτοκινήτου + Κωδικός Ανταλλακτικού + Περιγραφή + Ημερομηνία Δημιουργίας + Ημερομηνία Παραγγελίας + Τιμή + Ποσότητα + Χώρος Αποθήκευσης Χώρος Αποθήκευσης = Δωμάτιο + Διάδρομος + Ράφι Τιμή = Τιμή Χονδρικής + Τιμή Λιανικής Διεύθυνση = Οδός + Αριθμός + Ταχ. Κώδικας + Πόλη + (Χώρα) Τηλέφωνο = Κωδικός + Αριθμός
ΚΑΤΑΛΟΓΟΣ ΑΝΤΑΛΛΑΚΤΙΚΩΝ ΚΑΤΑΛΟΓΟΣ ΑΝΤΑΛΛΑΚΤΙΚΩΝ Κωδικός Αντιπροσωπείας: 9999 Όνομα Αντιπροσωπείας: ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ Οδός: ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ Αριθμός: 9999 Ταχ. Κώδικας: 999 99 Χώρα: ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ Τηλέφωνο: (99999) ZZ99999 Ημερομηνία: Ζ9/Ζ9/9999 Κωδ. Αυτ. Μάρκα Κωδ. Αντ. Περιγρ. Ημ. Δημ. Ημ. Παρ. Τιμή Χονδ. Τιμή Λιαν. Ποσότητα Δωμ. Διάδ. Ράφι 9999 ΧΧΧΧΧΧΧ 999999 ΧΧΧΧΧΧΧΧ Ζ9/Ζ9/99 Ζ9/Ζ9/99 ΖΖ.ΖΖ9,99 ΖΖ.ΖΖ9,99 ΖΖ9 Χ99 Ζ9 Ζ9 999999 ΧΧΧΧΧΧΧΧ Ζ9/Ζ9/99 Ζ9/Ζ9/99 ΖΖ.ΖΖ9,99 ΖΖ.ΖΖ9,99 ΖΖ9 Χ99 Ζ9 Ζ9 9999 ΧΧΧΧΧΧΧ 999999 ΧΧΧΧΧΧΧΧ Ζ9/Ζ9/99 Ζ9/Ζ9/99 ΖΖ.ΖΖ9,99 ΖΖ.ΖΖ9,99 ΖΖ9 Χ99 Ζ9 Ζ9 Σύνολο Ανταλλακτικών:ΖΖΖΖ9
Χρησιμοποιούμε δύο εναποθηκευτές δεδομένων: Χρησιμοποιούμε δύο εναποθηκευτές δεδομένων: - ένα βασικό αρχείο για τις μάρκες των αυτοκινήτων - ένα βασικό αρχείο για τα ανταλλακτικά της κάθε μάρκας Με βάση αυτά τα αρχεία μπορούμε να συντάξουμε τον πλήρη κατάλογο των ανταλλακτικών που μπορεί να διατηρεί μια εταιρεία ανταλλακτικών.
{Μοντέλο} Αρχείο Μάρκας Αυτοκινήτων = Όνομα + Αντιπροσωπεία + Διεύθυνση + Τηλέφωνο + Χώρα Προέλευσης + {Μοντέλο} Αρχείο Ανταλλακτικών = Κωδικός Ανταλλακτικού + Περιγραφή + Μάρκα Αυτοκινήτου + Μοντέλο + Ενδεικτική Τιμή Μοντέλο = Όνομα + Χρονολογία + Τύπος + Κυβικά + Ίπποι + Διαστάσεις + Άλλα Χαρακτηριστικά + Τιμή Aυτοκινήτου Διαστάσεις = Μήκος + Πλάτος + Ύψος + Βάρος Άλλα Χαρακτηριστικά = ΑΒS + Airbag + Aποσκευές + km/h + lt/100 Τιμή Αυτ. = Τιμή χωρίς τέλος + Τιμή με τέλος ταξινόμησης Διεύθυνση = Οδός + Αριθμός + Ταχ. Κώδικας + Πόλη + (Χώρα) Τηλέφωνο = Κωδικός + Αριθμός