Λογικός σχεδιασμός Αρχείων
Το μοντέλο οντοτήτων Οντότητες (Entities) Πεδία (Attributes) Συσχετίσεις (Relationships) Κλειδιά (Identifiers) Οντότητες είναι υποψήφια αρχεία
Τι είναι Οντότητες Είναι συλλογή ομοειδών αντικειμένων τα οποία έχουν όλα τις ίδιες ιδιότητες και κάθε ένα από τα αντικείμενα αυτά είναι σαφώς διακριτό από τα υπόλοιπα. Παραδείγματα : Ομάδες αντικειμένων (προϊόντα, υλικά, μηχανήματα ) Ομάδες ατόμων (εργαζόμενοι, προμηθευτές, πελάτες ) Τοποθεσίες ς (πόλεις, ποτάμια,, αποθήκες, γραφεία ) Οργανωτικές δομές (επιχειρήσεις, διευθύνσεις, τμήματα ) Λειτουργίες ροές (συμφωνία, δρομολόγιο, λογαριασμός ) Ομοειδή γεγονότα που συνέβησαν κάποιο χρονικό διάστημα Εγγραφή, ημερολόγιο, Ισολογισμός
Τι περιλαμβάνουν Κλειδί Λογικές Εγγραφές Αρχείο
Τα χαρακτηριστικά τους Πρωτεύον κλειδί Πεδία Δευτερεύον κλειδί Λογικές Εγγραφές ΜΗΤΡΩΟ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΠΑΤΡΩΝΥΜΟ Ο99314 ΑΝΔΡΕΑΣ ΠΛΟΥΜΙΣΤΟΣ ΙΩΑΝΝΗΣ Ο99225 ΚΩΝ/ΝΟΣ ΤΣΑΜΗΣ ΓΕΩΡΓΙΟΣ Ο99200 ΚΩΝΣΤΑΝΤΙΝΟΣ ΚΑΙΔΑΝΤΖΗΣ ΕΥΑΓΓΕΛΟΣ Ο99313 ΒΑΣΙΛΕΙΟΣ ΠΑΠΑΔΗΜΗΤΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ Ο99086 ΝΙΚΟΛΑΟΣ ΜΑΝΩΛΑΣ ΠΑΝΑΓΙΩΤΗΣ Ο99058 ΚΩΝ/ΝΟΣ ΚΟΤΣΩΝΗΣ ΠΑΝΑΓΙΩΤΗΣ Ο99061 ΒΑΣΙΛΕΙΟΣ ΑΝΤΩΝΟΠΟΥΛΟΣ ΦΩΤΙΟΣ Ο99131 ΓΕΩΡΓΙΟΣ ΚΑΡΑΔΗΜΑΣ ΑΝΑΣΤΑΣΙΟΣ Αρχείο - Πίνακας
Συσχετισμοί οντοτήτων Ένας συσχετισμός χαρακτηρίζει μία σχέση π.χ. Κάθε τμήμα αποτελείται από εργαζόμενους Κάθε γεωγραφική περιοχή ανήκει σε μία περιφέρεια Ένας συσχετισμός ορίζει έναν επιχειρηματικό κανόνα π.χ. Κάθε πελάτης μπορεί να τοποθετεί μία ή περισσότερες παραγγελίες Κάθε εργαζόμενος μπορεί να ανήκει ένα ή περισσότερα ταμεία ασφάλισης
Οι βασικές μεθοδολογίες οργάνωσης αρχείων Σειριακή Οργάνωση (Sequential Access) Άμεσης μ Προσπέλασης ης( (Direct Access) Βάσεις Δεδομένων (Data Bases)
Σειριακή προσπέλαση Αριθμός Μητρώου Όνομα Επώνυμο Πατρώνυμο Αριθμός Μητρώου Όνομα Επώνυμο Πατρώνυμο Αριθμός Μητρώου Κενό
Άμεση προσπέλαση Πίνακας Μετατροπής Κλειδιού σε Φυσική Διεύθυνση (Index file) Κλειδί Διεύθυνση Data File Διεύθυνση Λογική Εγγραφή 099200 312 312 Κων/νος Καιδαντζής
Σχεσιακές βάσεις δεδομένων Φοιτητές Entity Μαθήματα A.M. ΕΠΩΝΥΜΟ ΟΝΟΜΑ ΚΩΔΙΚΟΣ ΠΕΡΙΓΡΑΦΗ 099131 ΚΑΡΑΔΗΜΑΣ ΓΕΩΡΓΙΟΣ 0111 Εισαγωγή στους Η/Υ 099225 ΤΣΑΜΗΣ ΚΩΝ/ΝΟΣ 0120 Χρηματοοικονομική 099313 ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΒΑΣΙΛΕΙΟΣ 0230 Στατιστική 099314 ΠΛΟΥΜΙΣΤΟΣ ΙΩΑΝΝΗΣ 0317 Διοίκηση Επιχειρήσεων Μαθήματα Φοιτητών Attribute Relationship A.M. ΚΩΔΙΚΟΣ 099225 0111 099225 0230 099313 0111 099313 0317 099314 0111 099314 0120 099314 0230
Λογικός σχεδιασμός μοντέλου αρχείων
Διαγράμματα συσχετισμού οντοτήτων Πελάτες Παραγγελίες Τιμολόγια Χ Γραμμές Πελάτες Χ Συμβολισμοί Οντότητα Συσχετισμός ένα προς ένα Συσχετισμός πολλά προς ένα Προαιρετικός συσχετισμός Υποχρεωτικός συσχετισμός
Τι υποδηλώνουν οι συσχετισμοί
Λογικές παγίδες συσχετισμών Πολλά προς πολλά (chasm trap) Συσχετισμός έλικα (fan trap) Μεταβατικός συσχετισμός (transitive relationship) Συσχετισμός συνδέσμου (connection trap)
Συσχετισμός πολλά προς πολλά (Chasm trap) Είδη Προμηθευτές Λογική παγίδα. Δεν μπορεί να δημιουργηθεί σχέση αρχείων γιατί δεν γνωρίζουμε κάθε είδος σε ποιους προμηθευτές ανήκει και κάθε προμηθευτής ποια είδη προμηθεύει. Κωδικός Περιγραφή Προμηθευτής 12345 Μολύβι??? Κωδικός Επωνυμία Είδος 5000001 Προμηθευτική???
Επίλυση παγίδας Είδη Είδη Προμηθευτή Προμηθευτές Η παγίδα επιλύεται με την δημιουργία μιας ενδιάμεσης οντότητας (Είδη Προμηθευτή) η οποία έχει μία λογική εγγραφή για κάθε συνδυασμό Είδους Προμηθευτή. Η οντότητα αυτή έχει ένα σύνθετο κλειδί που αποτελείται από το πρωτεύον μοναδικό κλειδί κάθε μιας από τις δύο οντότητες (κωδικός είδους κωδικός προμηθευτή). Είδος Προμηθευτής.. 12345 5000001..
Συσχετισμός έλικα (Fan trap) Διευθύνσεις Τμήματα Εργαζόμενοι Μπορεί να μην υπάρχει πρόβλημα. Είναι σημείο προβληματισμού κατά πόσον υπάρχει συσχετισμός μεταξύ Τμήματος και Εργαζομένου και κατά πόσον ισχύουν οι υπάρχοντες συσχετισμοί.
Επίλυση παγίδας Διευθύνσεις Τμήματα Εργαζόμενοι Εάν πράγματι κάθε εργαζόμενος ανήκει μόνο σε ένα τμήμα και κανείς δεν ανήκει κατ ευθείαν στην Διεύθυνση τότε η επίλυση είναι η ανωτέρω. Αν όμως υπάρχει έστω και ένας εργαζόμενος που δεν ανήκει σε Τμήμα αλλά ανήκει κατ ευθείαν στην Διεύθυνση (π.χ. χ Διευθυντής), τότε η επίλυση φαίνεται πιο κάτω : Διευθύνσεις Τμήματα Εργαζόμενοι
Ο μεταβατικός συσχετισμός (Transitive relationship) Πελάτες Τιμολόγια Γραμμές Αφορά άένα κλειστό διάγραμμα δά τριών ή περισσοτέρων οντοτήτων, όπου οι οντότητες συνδέονται μεταξύ τους περιφερειακά. Είναι σημείο προβληματισμού κατά πόσον χρειάζονται όλοι οι συσχετισμοί μεταξύ τους.
Επίλυση παγίδας Πλά Πελάτες Τιμολόγια Γραμμές Στην συγκεκριμένη περίπτωση οι αναλυτικές γραμμές των τιμολογίων (που περιέχουν τα είδη του τιμολογίου) συσχετίζονται με το τιμολόγιο και όχι με τον πελάτη.
Συσχετισμός Συνδέσμου (Connection trap) Διευθύνσεις Τμήματα Εργαζόμενοι Η ύπαρξης ενός προαιρετικού συσχετισμού μεταξύ Τμήματος και Εργαζομένου δί δείχνει ότι θα υπάρχουν περιπτώσεις όπου κάποιοι εργαζόμενοι δεν θα ανήκουν πουθενά.
Επίλυση παγίδας Διευθύνσεις Τμήματα Εργαζόμενοι Δύο είναι οι λύσεις : 1. Δημιουργείται συσχετισμός μεταξύ Διεύθυνσης και εργαζομένου για τους Διευθυντές που δεν ανήκουν σε Τμήμα. 2. Δημιουργείται ένα εικονικό Τμήμα με τίτλο Διεύθυνση και δεν είναι πλέον προαιρετικός ο συσχετισμός. Διευθύνσεις Τμήματα Εργαζόμενοι
Διαγράμματα πολλαπλών επιπέδων Ο1 Α Φοιτητές Ο2 Πτυχία Σ Ο4 Σ Τμήματα Ο3 Σ Μαθήματα
Ανάλυση συγκεντρωτικών οντοτήτων Ο1 Α Φοιτητές Ο2 Πτυχία Σ Ο4. Τμήματα Ο4.1 Α Πτυχία Ο3 Σ Ο4.2 Α Μαθήματα Μαθήματα
Κανονικοποίηση (Normalization)
Γιατί χρειάζεται η κανονικοποίηση Σε κάθε νέα λογική εγγραφή πρέπει να επαναλαμβάνονται πληροφορίες που ήδη είναι καταχωρημένες σε άλλες λογικές εγγραφές Τα σφάλματα καταχώρησης ης έχουν σαν αποτέλεσμα διαφορετικές φρ τιμές μςγ για την ίδια πληροφορία σε διαφορετικές λογικές εγγραφές. Δεν μπορούν να προστεθούν νέες πληροφορίες (πόλεις, συσκευές) εάν δεν υπάρξει πρώτα ο πρώτος πελάτης που θα τον αφορούν Διαγραφή κάποιων λογικών εγγραφών συνεπάγεται απώλεια πληροφοριών που δεν έχουν άμεση σχέση με το πρωτεύον κλειδί. σημαντικών Μπορεί να γίνουν αλλαγές σε μια λογική εγγραφή χωρίς να αλλάξουν και όλες οι άλλες λογικές εγγραφές που επηρεάζονται από την αλλαγή αυτή.
Αρχές κανονικοποίησης 1η μορφή Κανονικοποίησης 2η μορφή Κανονικοποίησης 3η μορφή Κανονικοποίησης Περαιτέρω μορφές Κανονικοποίησης
Πρώτη κανονικοποιημένη μορφή Κάθε πίνακας πρέπει να έχει ένα ή περισσότερα υποψήφια κλειδιά. Τα πεδία του πίνακα δεν πρέπει να περιέχουν απαγορεύονται : Πολυδιάστατα πεδία (arrays) Πεδία που μπορούν να αναλυθούν σε άλλα πεδία Επαναλαμβανόμενα πρωτεύοντα κλειδιά ομαδοποιήσεις. Δη-λαδή Επομένως κάθε πεδίο πρέπει να είναι απλής μορφής, ήτοι πεδίο χαρακτήρων, αριθμητικό, ημερομηνία, κ.λ.π. και κάθε υποψήφιο πρωτεύον κλειδί πρέπει να είναι μοναδικό
Δεύτερη κανονικοποιημένη μορφή Κάθε πίνακας πρέπει να βρίσκεται σε 1 η κανονικοποιημένη μορφή Κάθε κλειδί πρέπει να καθορίζει πλήρως κάθε πεδίο που δεν συμμετέχει στο κλειδί Επομένως οι κανόνες της 2 ης μορφής κανονικοποίησης εφαρμόζονται σε πίνακες με σύνθετα κλειδιά και ελέγχονται όλα τα πεδία που δεν είναι κλειδιά ως προς κάθε πεδίο που συνθέτει κάθε σύνθετο κλειδί
Τρίτη κανονικοποιημένη μορφή Κάθε πίνακας πρέπει να είναι σε 2 η κανονικοποιημένη μορφή (επομένως και σε πρώτη). Το πρωτεύον κλειδί πρέπει να καθορίζει όλα τα άλλα πεδία Επομένως οι κανόνες της 3 ης μορφής κανονικοποίησης εφαρμόζονται σε πίνακες με περισσότερα του ενός πεδία και ελέγχονται όλα τα πεδία που δεν είναι κλειδιά μεταξύ τους
Όλοι οι κανονικοποιημένοι πίνακες Συσκευές πελατών Πελάτες Συσκευές Πόλεις
Κανονικοποιημένες οντότητες Πόλεις Πόλη Πελάτες Κωδ.πελάτη Συσκευές πελατών Κωδ.πελάτη - συσκευή Συσκευές Συσκευή