Τύποι σύνδεσης οντοτήτων μοντέλου. Σχεδιασμός σχεσιακών βάσεων δεδομένων με χρήση σημασιολογικών μοντέλων: Διαγράμματα ER

[επεξεργασία]

Υλικό από τη Wikipedia - την ελεύθερη εγκυκλοπαίδεια

Αυτός ο όρος έχει άλλες έννοιες, βλ ER.

Μοντέλο σχέσης οντοτήτων (μοντέλο ER)(Αγγλικά) μοντέλο σχέσης οντότητας, ERM) είναι ένα μοντέλο δεδομένων που σας επιτρέπει να περιγράφετε εννοιολογικά διαγράμματα μιας θεματικής περιοχής.

Το μοντέλο ER χρησιμοποιείται στον σχεδιασμό βάσεων δεδομένων υψηλού επιπέδου (εννοιολογική). Με τη βοήθειά του, μπορείτε να προσδιορίσετε βασικές οντότητες και να εντοπίσετε συνδέσεις που μπορούν να δημιουργηθούν μεταξύ αυτών των οντοτήτων.

Κατά τον σχεδιασμό της βάσης δεδομένων, το μοντέλο ER μετατρέπεται σε ένα συγκεκριμένο σχήμα βάσης δεδομένων με βάση το επιλεγμένο μοντέλο δεδομένων (σχεσιακό, αντικείμενο, δίκτυο κ.λπ.).

Το μοντέλο ER είναι ένα επίσημο σχέδιο, το οποίο από μόνο του δεν προδιαγράφει κανένα γραφικό μέσο οπτικοποίησής του. Ως τυπική γραφική σημείωση με την οποία οπτικοποιείται το μοντέλο ER, έχει προταθεί διάγραμμα σχέσης οντότητας (διάγραμμα ER)(Αγγλικά) διάγραμμα σχέσης οντότητας, ERD).

Έννοιες Μοντέλο ERΚαι Διάγραμμα ERσυχνά κατά λάθος δεν διακρίνονται, αν και έχουν προταθεί άλλες γραφικές σημειώσεις για την οπτικοποίηση μοντέλων ER (βλ. παρακάτω).

  • Ιστορία της δημιουργίας[επεξεργασία]

  • Το μοντέλο σχέσης οντοτήτων προτάθηκε το 1976 από τον Peter Ping-Shen Chen. Πίτερ Πιν-Σεν Τσενακούστε), Αμερικανός καθηγητής επιστήμης υπολογιστών στο Πολιτειακό Πανεπιστήμιο της Λουιζιάνα.

  • Σημειώσεις[επεξεργασία]

  • Σημειογραφία Peter Chen[επεξεργασία]

  • Ένα απλό μοντέλο MMORPG ER που χρησιμοποιεί τη σημειογραφία του Peter Chen

    Τα σύνολα οντοτήτων απεικονίζονται ως ορθογώνια, τα σύνολα σχέσεων απεικονίζονται ως διαμάντια. Εάν μια οντότητα εμπλέκεται σε μια σχέση, συνδέονται με μια γραμμή. Εάν η σχέση είναι προαιρετική, τότε η γραμμή είναι διακεκομμένη. Τα χαρακτηριστικά απεικονίζονται ως οβάλ και συνδέονται με μια γραμμή σε μια σχέση ή μια οντότητα.

  • Crow's Foot[επεξεργασία]

  • Ένα παράδειγμα σχέσης μεταξύ οντοτήτων σύμφωνα με τον συμβολισμό του Crow's Foot

    Αυτή η σημείωση προτάθηκε από τον Γκόρντον Έβερεστ. Γκόρντον Έβερεστ) που ονομάζεται Inverted Arrow ("ανεστραμμένο βέλος"), αλλά τώρα ονομάζεται πιο συχνά Crow's Foot ("πόδι του κοράκου") ή Fork ("fork").

    Σύμφωνα με αυτή τη σημείωση, ουσίααπεικονίζεται ως ορθογώνιο που περιέχει το όνομά της, που εκφράζεται ως ουσιαστικό. Το όνομα της οντότητας πρέπει να είναι μοναδικό στο ίδιο μοντέλο. Ταυτόχρονα, το όνομα οντότητας είναι το όνομα του τύπου και όχι μια συγκεκριμένη παρουσία αυτού του τύπου. Μια παρουσία οντότητας είναι ένας συγκεκριμένος εκπρόσωπος αυτής της οντότητας.

    Σύνδεσηαντιπροσωπεύεται από μια γραμμή που συνδέει δύο οντότητες που εμπλέκονται σε μια σχέση. Ο βαθμός τερματισμού ενός δεσμού υποδεικνύεται γραφικά, η πολλαπλότητα του δεσμού απεικονίζεται ως «διχάλα» στο τέλος του δεσμού. Ο τρόπος σύνδεσης απεικονίζεται επίσης γραφικά - η προαιρετική σύνδεση σημειώνεται με έναν κύκλο στο τέλος της σύνδεσης. Η ονομασία εκφράζεται συνήθως με ένα ρήμα στην παρούσα ενδεικτική διάθεση: «Έχει», «Ανήκει» κ.λπ. ή ένα ρήμα με επεξηγηματικές λέξεις: «Περιλαμβάνει» κ.λπ. Το όνομα μπορεί να είναι ένα για ολόκληρη τη σύνδεση ή δύο για κάθε άκρο της σύνδεσης. Στη δεύτερη περίπτωση, το όνομα του αριστερού άκρου της σύνδεσης υποδεικνύεται πάνω από τη γραμμή επικοινωνίας και το όνομα του δεξιού άκρου υποδεικνύεται κάτω από τη γραμμή. Κάθε ένα από τα ονόματα βρίσκεται δίπλα στην οντότητα στην οποία αναφέρεται.

    ΓνωρίσματαΟι οντότητες γράφονται μέσα σε ένα ορθογώνιο που απεικονίζει την οντότητα και εκφράζονται με ένα ουσιαστικό ενικού (πιθανώς με λέξεις που χαρακτηρίζουν). Μεταξύ των χαρακτηριστικών, ξεχωρίζει το κλειδί οντότητας - ένα μη περιττό σύνολο χαρακτηριστικών, οι τιμές των οποίων μαζί είναι μοναδικές για κάθε παρουσία της οντότητας.

  • 6.2.2. Βασικές έννοιες του μοντέλου Οντότητα-Σχέση

  • Οι περισσότερες σύγχρονες προσεγγίσεις στο σχεδιασμό βάσεων δεδομένων (κυρίως σχεσιακές) βασίζονται στη χρήση παραλλαγών του μοντέλου ER. Το μοντέλο προτάθηκε από τον Chen το 1976. Μοντελοποίηση θεματική ενότηταβασίζεται στη χρήση γραφικών διαγραμμάτων που περιλαμβάνουν μικρό αριθμό ετερογενών στοιχείων. Λόγω της σαφήνειας της παρουσίασης των εννοιολογικών διαγραμμάτων βάσεων δεδομένων, τα μοντέλα ER έχουν γίνει ευρέως διαδεδομένα σε συστήματα CASE που υποστηρίζουν σχεδιασμό με τη βοήθεια υπολογιστή σχεσιακές βάσεις δεδομένωνδεδομένα.

    Μεταξύ των πολλών ποικιλιών μοντέλων ER, ένα από τα πιο ανεπτυγμένα χρησιμοποιείται στο σύστημα CASE από την ORACLE. Θα το εξετάσουμε. Πιο συγκεκριμένα, θα επικεντρωθούμε στο δομικό μέρος αυτού του μοντέλου.

    Μια οντότητα είναι ένα πραγματικό ή φανταστικό αντικείμενο για το οποίο οι πληροφορίες πρέπει να είναι αποθηκευμένες και προσβάσιμες. Στα διαγράμματα μοντέλων ER, μια οντότητα αναπαρίσταται ως ένα ορθογώνιο που περιέχει το όνομα της οντότητας. Σε αυτήν την περίπτωση, το όνομα της οντότητας είναι το όνομα του τύπου και όχι κάποιου συγκεκριμένου στιγμιότυπου αυτού του τύπου. Για μεγαλύτερη εκφραστικότητα και καλύτερη κατανόηση, το όνομα της οντότητας μπορεί να συνοδεύεται από παραδείγματα συγκεκριμένων αντικειμένων αυτού του τύπου.

    Παρακάτω είναι μια οντότητα ΑΕΡΟΔΡΟΜΙΟ με παραδείγματα αντικείμενα Sheremetyevo και Heathrow:

    Κάθε παρουσία μιας οντότητας πρέπει να είναι διακριτή από κάθε άλλη παρουσία της ίδιας οντότητας (αυτή η απαίτηση είναι κάπως ανάλογη με την απαίτηση να μην υπάρχουν διπλότυπες πλειάδες σε σχεσιακούς πίνακες).

    Μια σχέση είναι μια γραφικά αναπαριστώμενη συσχέτιση που δημιουργείται μεταξύ δύο οντοτήτων. Αυτή η συσχέτιση είναι πάντα δυαδική και μπορεί να υπάρχει μεταξύ δύο διαφορετικών οντοτήτων ή μεταξύ μιας οντότητας και της ίδιας (αναδρομική σχέση). Σε οποιαδήποτε σύνδεση, προσδιορίζονται δύο άκρα (σύμφωνα με το υπάρχον ζεύγος συνδεδεμένων οντοτήτων), καθένα από τα οποία υποδεικνύει το όνομα του τέλους της σύνδεσης, τον βαθμό του τέλους της σύνδεσης (πόσες περιπτώσεις αυτής της οντότητας συνδέονται ), την υποχρεωτική φύση της σύνδεσης (δηλαδή, εάν κάποια παρουσία αυτής της οντότητας πρέπει να συμμετάσχει ως προς αυτό).

    Μια σύνδεση αναπαρίσταται ως μια γραμμή που συνδέει δύο οντότητες ή οδηγεί από μια οντότητα στον εαυτό της. Σε αυτήν την περίπτωση, στο σημείο όπου η σύνδεση «ενώνεται» με την οντότητα, χρησιμοποιείται μια είσοδος τριών σημείων στο ορθογώνιο της οντότητας, εάν πολλές περιπτώσεις της οντότητας μπορούν να χρησιμοποιηθούν για αυτήν την οντότητα στη σύνδεση, και ένα μονοσημείο καταχώρηση, εάν μόνο ένα στιγμιότυπο της οντότητας μπορεί να συμμετάσχει στη σύνδεση. Το απαιτούμενο άκρο της σύνδεσης απεικονίζεται με μια συμπαγή γραμμή και το προαιρετικό άκρο με μια διακεκομμένη γραμμή.

    Όπως μια οντότητα, μια σχέση είναι μια γενική έννοια.

    Στο παρακάτω παράδειγμα, η σχέση μεταξύ των οντοτήτων TICKET και PASSENGER συνδέει εισιτήρια και επιβάτες. Επιπλέον, το τέλος της οντότητας με το όνομα «για» σάς επιτρέπει να συσχετίσετε περισσότερα από ένα εισιτήρια με έναν επιβάτη και κάθε εισιτήριο πρέπει να σχετίζεται με κάποιον επιβάτη. Το τέλος της οντότητας που ονομάζεται "has" σημαίνει ότι κάθε εισιτήριο μπορεί να ανήκει μόνο σε έναν επιβάτη και ότι ο επιβάτης δεν απαιτείται να έχει τουλάχιστον ένα εισιτήριο.

  • Μια λακωνική προφορική ερμηνεία του διαγράμματος που απεικονίζεται έχει ως εξής:

      Κάθε ΕΙΣΙΤΗΡΙΟ είναι για έναν και μόνο ΕΠΙΒΑΤΗ.

      Κάθε ΕΠΙΒΑΤΗΣ μπορεί να έχει ένα ή περισσότερα ΕΙΣΙΤΗΡΙΑ.

      Κάθε ΠΡΟΣΩΠΟ είναι γιος ενός και μόνο ενός ΑΤΟΜΟΥ.

      Κάθε PERSON μπορεί να είναι πατέρας ενός ή περισσότερων ΑΤΟΜΩΝ ("PERSONS").

    Μοντέλα ER μεμονωμένα από το θέμα του σχεδιασμού σχεσιακών βάσεων δεδομένων.

    Αλλά εάν πρέπει να χρησιμοποιήσετε ταυτόχρονα τους όρους του μοντέλου ER και του μοντέλου σχεσιακών δεδομένων, τότε, φυσικά, πρέπει να χρησιμοποιήσετε τους όρους σχέσηΚαι σχέσηδιάφορα ρωσικά ισοδύναμα. Πίσω από αυτούς τους όρους υπάρχουν πολλά διάφορες έννοιες. Στο σχεσιακό μοντέλο, η σχέση είναι η μόνη γενική δομή δεδομένων. Αυτός ο ίδιος μηχανισμός χρησιμοποιείται για την αναπαράσταση «σχετικών» οντοτήτων (θυμηθείτε, για παράδειγμα, ξένα κλειδιά). Όπως θα δούμε λίγο αργότερα, το μοντέλο ER χρησιμοποιεί δύο ίσες έννοιες για να αναπαραστήσει το σχήμα της βάσης δεδομένων - οντότητα και σχέση. Οι σχέσεις στο μοντέλο ER παίζουν διαφορετικό ρόλο από τις σχέσεις στο μοντέλο σχεσιακών δεδομένων.

    Επιπλέον, η καθαρή μεταγραφή του όρου έχει εισέλθει και στη ρωσική ορολογία σχέσηακριβώς με την έννοια στάση. Μιλάμε, για παράδειγμα, για σχεσιακό μοντέλο δεδομένων, σχεσιακή άλγεβρα κ.λπ., κατανόηση του μοντέλου δεδομένων που βασίζεται σε σχέσεις, σχεσιακή άλγεβρα κ.λπ. Με την ευκαιρία αυτή, από τουλάχιστον, στο πλαίσιο των βάσεων δεδομένων, είναι εύλογο να επιφυλάξουμε επιτέλους τους όρους σχέσηΚαι στάσηγια να δηλώσετε τις έννοιες του μοντέλου σχεσιακών δεδομένων και για τον όρο σχέσηχρησιμοποιήστε ένα άλλο αποδεκτό ισοδύναμο στη ρωσική γλώσσα - επικοινωνία.

    Σε χρήση διαφορετικές επιλογέςΗ πλειοψηφία των μοντέλων ER βασίζεται σύγχρονες προσεγγίσειςστο σχεδιασμό της βάσης δεδομένων (κυρίως σχεσιακή). Το μοντέλο προτάθηκε από τον Peter Chen το 1976. Μοντελοποίηση θεματική ενότηταμε βάση τη χρήση γραφικά διαγράμματα, συμπεριλαμβανομένου ενός μικρού αριθμού ετερογενών συστατικών. Απλότητα και σαφήνεια παρουσίασης εννοιολογικά διαγράμματα βάσης δεδομένωνστο μοντέλο ER οδήγησε στην ευρεία χρήση του σε συστήματα CASE που υποστηρίζουν αυτοματοποιημένα σχεδιασμός σχεσιακής βάσης δεδομένων. Μεταξύ των πολλών ποικιλιών μοντέλων ER, ένα από τα πιο δημοφιλή και ανεπτυγμένα χρησιμοποιήθηκε στο σύστημα Oracle CASE. Θα συζητήσουμε κάποια απλοποιημένη έκδοση αυτού του μοντέλου. Για να είμαστε πιο ακριβείς, ας εστιάσουμε στα δομικά και αναπόσπαστα μέρη του.

    Βασικές έννοιες του μοντέλου ER

    Οι κύριες έννοιες του μοντέλου ER είναι η οντότητα, η σχέση και το χαρακτηριστικό. Ουσίαείναι ένα πραγματικό ή φανταστικό αντικείμενο, οι πληροφορίες για το οποίο πρέπει να είναι αποθηκευμένες και προσβάσιμες. 4 Είναι σαφές ότι αυτός ο «ορισμός» είναι στην πραγματικότητα μια ταυτολογία, αφού, πρώτον, προσπαθούμε να ορίσουμε τον όρο οντότητα μέσω του απροσδιόριστου όρου αντικείμενο, και δεύτερον, οι προσπάθειες να ορίσουμε τον όρο αντικείμενο είναι εξίσου απελπιστικές. Συνήθως, οι συγγραφείς προσπαθούν να δικαιολογηθούν λέγοντας ότι σε ένα τέτοιο πλαίσιο εννοούν την «καθημερινή» και όχι κάποια επισημοποιημένη έννοια ενός αντικειμένου. Φυσικά, αυτό δεν διευκολύνει καθόλου, αφού η έννοια της ουσίας πρέπει να κατανοηθεί με μια αρκετά ακριβή έννοια. Αλλά αυτή η ταυτολογία δεν επινοήθηκε από τον συγγραφέα αυτού του μαθήματος. είναι παραδοσιακό για τον τομέα της σημασιολογικής μοντελοποίησης. Σε αυτόν τον τομέα προσπαθούν να αποφύγουν όσο γίνεται τις τυπικότητες.Στα διαγράμματα μοντέλων ER, μια οντότητα αναπαρίσταται ως ένα ορθογώνιο που περιέχει το όνομα της οντότητας. Σε αυτήν την περίπτωση, το όνομα της οντότητας είναι το όνομα του τύπου και όχι κάποιου συγκεκριμένου στιγμιότυπου αυτού του τύπου. 5 Αν και θα ήταν πιο σωστό να χρησιμοποιείτε πάντα τους όρους οντότητα τύπος και παράδειγμα τύπου οντότητας, για να αποφύγουμε τον βερμπαλισμό (και να ακολουθήσουμε την παράδοση) σε περιπτώσεις που δεν οδηγεί σε ασάφεια, θα χρησιμοποιήσουμε τον όρο οντότητα για να σημαίνει τύπο οντότητας.Για μεγαλύτερη εκφραστικότητα και καλύτερη κατανόηση, ένα όνομα οντότητας μπορεί να συνοδεύεται από παραδείγματα συγκεκριμένων περιπτώσεων αυτού του τύπου.


    Ρύζι. 9.1.

    Στο Σχ. Το Σχήμα 9.1 δείχνει την ουσία του ΑΕΡΟΔΡΟΜΙΟΥ με υποδειγματικές περιπτώσεις Sheremetyevo και Heathrow. Αυτό το πρωτόγονο διάγραμμα ωστόσο φέρει σημαντικές πληροφορίες. Πρώτον, δείχνει ότι η βάση δεδομένων θα περιέχει τον ίδιο τύπο δομών δεδομένων ( περιπτώσεις οντοτήτων), περιγράφοντας αεροδρόμια. Δεύτερον, δεδομένου ότι στη ζωή υπάρχουν πολλές απόψεις στα αεροδρόμια (για παράδειγμα, η άποψη ενός πιλότου, η άποψη ενός επιβάτη, η άποψη ενός διαχειριστή) και διαφορετικές δομές δεδομένων αντιστοιχούν σε αυτά τα σημεία Από την άποψη, τα παραδείγματα των αεροδρομίων μας επιτρέπουν να περιορίσουμε κάπως το αποδεκτό σύνολο απόψεων. Στην περίπτωσή μας δίνονται παραδείγματα διεθνή αεροδρόμια, οπότε πιθανότατα υπάρχει η άποψη ενός διεθνούς επιβάτη ή πιλότου.

    Όταν ορίζετε έναν τύπο οντότητας, πρέπει να διασφαλίζετε ότι κάθε περίπτωση οντότηταςμπορεί να διακριθεί από οποιοδήποτε άλλο παράδειγμα της ίδιας οντότητας. Αυτή η απαίτηση είναι κάπως παρόμοια με την απαίτηση να μην υπάρχουν διπλές πλειάδες σε σχεσιακούς πίνακες.

    Σύνδεσηείναι ένας γραφικά απεικονιζόμενος συσχετισμός που δημιουργείται μεταξύ δύο τύπους οντοτήτων. Όπως μια οντότητα, μια σχέση είναι μια γενική έννοια. Ως εκ τούτου, είναι πιο σωστό να μιλάμε για τον τύπο σύνδεσης που δημιουργείται μεταξύ των τύπων οντοτήτων και για περιπτώσεις τύπου σύνδεσης, εγκατεστημένο μεταξύ περιπτώσεις του τύπου οντότητας. 6Ωστόσο, όπως και με τον τύπο οντότητας, θα χρησιμοποιούμε συχνά τον όρο σχέση για να σημαίνει τον τύπο σχέσης.Στην έκδοση του μοντέλου ER που συζητείται εδώ, αυτή η συσχέτιση είναι πάντα δυαδική και μπορεί να υπάρχει μεταξύ δύο διαφορετικών τύπους οντοτήτωνή μεταξύ του τύπου της οντότητας και της ίδιας ( αναδρομική σύνδεση). Σε οποιαδήποτε σύνδεση, προσδιορίζονται δύο άκρα (σύμφωνα με το υπάρχον ζεύγος συνδεδεμένων οντοτήτων), σε καθένα από τα οποία αναγράφεται το όνομα του τέλους της σύνδεσης, βαθμός λήξης της σύνδεσης(πόσες περιπτώσεις ενός δεδομένου τύπου οντότητας πρέπει να υπάρχουν σε κάθε παρουσία ενός δεδομένου τύπου σχέσης), υποχρεωτική επικοινωνία(δηλαδή, εάν οποιαδήποτε παρουσία ενός δεδομένου τύπου οντότητας πρέπει να συμμετέχει σε κάποια παρουσία ενός δεδομένου τύπου σχέσης). 7 Σε ορισμένες εκδόσεις του μοντέλου ER, καλείται το τέλος της σύνδεσης ρόλο της επικοινωνίαςσε αυτήν την οντότητα. Τότε μπορούμε να μιλήσουμε για το όνομα του ρόλου, τον βαθμό του ρόλου και την υποχρέωση του επικοινωνιακού ρόλου σε αυτή την οντότητα.

    Μια σύνδεση αναπαρίσταται ως μια μη κατευθυνόμενη γραμμή που συνδέει δύο οντότητες ή οδηγεί από μια οντότητα στον εαυτό της. Σε αυτήν την περίπτωση, στο σημείο σύνδεσης με την οντότητα, χρησιμοποιούνται τα ακόλουθα:

    • είσοδος τριών σημείων σε ένα ορθογώνιο οντότητας εάν για αυτήν την οντότητα η σχέση μπορεί (ή πρέπει) να χρησιμοποιήσει πολλά ( Πολλά) περιπτώσεις οντοτήτων ;
    • είσοδος ενός σημείου, εάν μόνο ένας μπορεί (ή πρέπει) να συμμετέχει στη σύνδεση περίπτωση οντότητας.

    Το απαιτούμενο άκρο της σύνδεσης απεικονίζεται με μια συμπαγή γραμμή και το προαιρετικό άκρο με μια διακεκομμένη γραμμή.

    Η σχέση μεταξύ των οντοτήτων TICKET και PASSENGER, που φαίνεται στο Σχ. 9.2, συνδέει εισιτήρια και επιβάτες. Ένα τέλος συνδέσμου με το όνομα "για" επιτρέπει σε περισσότερα από ένα εισιτήρια να συσχετίζονται με τον ίδιο επιβάτη, με κάθε εισιτήριο να σχετίζεται με διαφορετικό επιβάτη. Το τέλος του συνδέσμου με το όνομα "has" υποδεικνύει ότι κάθε εισιτήριο μπορεί να ανήκει μόνο σε έναν επιβάτη και ότι ο επιβάτης δεν απαιτείται να έχει τουλάχιστον ένα εισιτήριο.


    Ρύζι. 9.2.
    • Κάθε ΕΙΣΙΤΗΡΙΟ προορίζεται για έναν και μόνο ΕΠΙΒΑΤΗ.
    • Κάθε ΕΠΙΒΑΤΗΣ μπορεί να έχει ένα ή περισσότερα ΕΙΣΙΤΗΡΙΑ ή και κανένα.

    Το ακόλουθο παράδειγμα (Εικ. 9.3) δείχνει αναδρομική σύνδεση, συνδέοντας την ουσία του ΑΝΘΡΩΠΟΥ με τον εαυτό του. Το τέλος της σύνδεσης με το όνομα «γιος» ορίζει το γεγονός ότι πολλά άτομα μπορούν να είναι γιοι του ίδιου πατέρα. Το τέλος της σύνδεσης με το όνομα «πατέρας» σημαίνει ότι δεν πρέπει κάθε άντρας να έχει γιους.

    Μια λακωνική προφορική ερμηνεία του διαγράμματος που απεικονίζεται έχει ως εξής:

    • Κάθε ΑΝΘΡΩΠΟΣ είναι γιος ενός και μόνο ΑΝΘΡΩΠΟΥ.
    • κάθε ΑΝΤΡΑΣ μπορεί να είναι πατέρας ενός ή περισσότερων ΑΝΔΡΩΝ.

    Χαρακτηριστικό οντότηταςείναι κάθε λεπτομέρεια που χρησιμεύει για την αποσαφήνιση, τον προσδιορισμό, την ταξινόμηση, τον αριθμητικό χαρακτηρισμό ή την έκφραση της κατάστασης μιας οντότητας. Τα ονόματα των χαρακτηριστικών εισάγονται σε ένα ορθογώνιο που απεικονίζει

    Μοντέλο βάσης δεδομένων ER

    Το μοντέλο σχέσης οντοτήτων (ERM) σας επιτρέπει να περιγράφετε εννοιολογικά διαγράμματα μιας θεματικής περιοχής.

    Το μοντέλο ER χρησιμοποιείται στο σχεδιασμό βάσεων δεδομένων υψηλού επιπέδου. Με τη βοήθειά του, μπορείτε να προσδιορίσετε βασικές οντότητες και να εντοπίσετε συνδέσεις που μπορούν να δημιουργηθούν μεταξύ αυτών των οντοτήτων. Το μοντέλο ER είναι ένα επίσημο σχέδιο που δεν καθορίζει τα γραφικά μέσα της αναπαράστασής του. Ως τυπική γραφική αναπαράσταση του μοντέλου ER, αναπτύχθηκε το διάγραμμα Entity Relationship Diagram (ER). Κατά το σχεδιασμό βάσεων δεδομένων, το μοντέλο ER μετατρέπεται σε ένα συγκεκριμένο σχήμα βάσης δεδομένων.

    Όπως γνωρίζετε, η βασική έννοια των σχεσιακών βάσεων δεδομένων είναι ένας πίνακας (σχέση). Ένας πίνακας χρησιμοποιείται για τη δομή και την αποθήκευση πληροφοριών. Στις σχεσιακές βάσεις δεδομένων, κάθε κελί πίνακα περιέχει μία τιμή. Επιπλέον, μέσα σε μία βάση δεδομένων υπάρχουν σχέσεις μεταξύ πινάκων, καθένας από τους οποίους καθορίζει την κοινή χρήση δεδομένων πίνακα.

    Το διάγραμμα ER αναπαριστά γραφικά τη δομή δεδομένων της σχεδιασμένης βάσης δεδομένων. Οι οντότητες εμφανίζονται χρησιμοποιώντας ορθογώνια και πίνακες που περιέχουν το όνομα της οντότητας - τον πίνακα της βάσης δεδομένων. Οι σχέσεις οντοτήτων εμφανίζονται ως γραμμές που συνδέουν μεμονωμένες οντότητες.

    Μια σχέση δείχνει ότι τα δεδομένα μιας οντότητας αναφέρονται ή σχετίζονται με τα δεδομένα μιας άλλης.

    Ο βαθμός τερματισμού ενός δεσμού υποδεικνύεται γραφικά, η πολλαπλότητα του δεσμού απεικονίζεται ως «διχάλα» στο τέλος του δεσμού. Ο τρόπος σύνδεσης απεικονίζεται επίσης γραφικά - η προαιρετική σύνδεση σημειώνεται με έναν κύκλο στο τέλος της σύνδεσης. Η ονομασία μιας σύνδεσης εκφράζεται με ένα ρήμα (Εικ. 13).

    Εικ. 13.

    Γνωρίσματαοι οντότητες γράφονται μέσα σε ένα ορθογώνιο που αντιπροσωπεύει την οντότητα και εκφράζονται με ένα ουσιαστικό ενικού.

    Μεταξύ των χαρακτηριστικών, ξεχωρίζει το κλειδί οντότητας. Κατά τη δημιουργία μιας οντότητας, είναι απαραίτητο να επιλέξετε μια ομάδα χαρακτηριστικών που μπορεί να είναι το πρωτεύον κλειδί και, στη συνέχεια, να επιλέξετε χαρακτηριστικά για συμπερίληψη στη σύνθεση πρωτεύων κλειδί:

    · Το πρωτεύον κλειδί πρέπει να επιλεγεί με τέτοιο τρόπο ώστε οι τιμές των χαρακτηριστικών που περιλαμβάνονται σε αυτό να μπορούν να προσδιορίσουν με ακρίβεια μια παρουσία οντότητας.

    · Κανένα από τα χαρακτηριστικά του πρωτεύοντος κλειδιού δεν πρέπει να έχει τιμή null.

    · Οι τιμές των χαρακτηριστικών του πρωτεύοντος κλειδιού δεν πρέπει να αλλάζουν. Εάν η τιμή έχει αλλάξει, τότε πρόκειται για διαφορετική παρουσία της οντότητας.

    Κατά την επιλογή ενός πρωτεύοντος κλειδιού, κατά κανόνα, εισάγεται ένα πρόσθετο χαρακτηριστικό στην οντότητα, το οποίο γίνεται το κλειδί.

    Έτσι, για τον προσδιορισμό του πρωτεύοντος κλειδιού, χρησιμοποιούνται συχνά μοναδικοί αριθμοί, οι οποίοι μπορούν να δημιουργηθούν αυτόματα από το σύστημα κατά την προσθήκη μιας παρουσίας οντότητας στη βάση δεδομένων. Η χρήση μοναδικών αριθμών διευκολύνει τη διαδικασία ευρετηρίασης και αναζήτησης στη βάση δεδομένων.

    Το πρώτο βήμα κατά τη δημιουργία λογικό μοντέλοΜια βάση δεδομένων είναι η κατασκευή ενός διαγράμματος ER, που αποτελείται από τρία μέρη: οντότητες, χαρακτηριστικά και σχέσεις.

    Πολλά εργαλεία για οπτική δημιουργία διαγραμμάτων ER έχουν αναπτυχθεί για διάφορες πλατφόρμες. Αυτό το έργο χρησιμοποίησε την ανάπτυξη Πάγκος εργασίας MySQL.

    Αυτό το εργαλείο απλοποιεί το σχεδιασμό και τη συντήρηση της βάσης δεδομένων, αυτοματοποιεί τη χρονοβόρα και επιρρεπής σε λάθηεργασίες και βελτιώνει την επικοινωνία μεταξύ των ομάδων ανάπτυξης και των αρχιτεκτόνων βάσεων δεδομένων. Επιτρέπει στους αρχιτέκτονες δεδομένων να οπτικοποιούν τις απαιτήσεις, να επικοινωνούν με τους ενδιαφερόμενους για θέματα σχεδιασμού πριν από την πραγματοποίηση επενδύσεων στο έργο. Αυτό παρέχει σχεδιασμό βάσης δεδομένων βάσει μοντέλου, η οποία είναι η πιο αποτελεσματική μεθοδολογία για τη δημιουργία πραγματικών και καλά σχεδιασμένων βάσεων δεδομένων. ER - διάγραμμα βάσης δεδομένων συστήματος απομακρυσμένων δοκιμών ( control_tests) φαίνεται στο σχήμα (Εικ. 14). Δύο κάθετες ράβδοι στη μία πλευρά και μια «τρίαινα» στην άλλη υποδηλώνουν μια «σχέση ένα προς πολλά», αντίστοιχα.

    Ρύζι. 14. ER - σύστημα απομακρυσμένων δοκιμών control_test διάγραμμα βάσης δεδομένων


    Κανονικοποίηση βάσης δεδομένων

    Στη σχεσιακή θεωρία των βάσεων δεδομένων, δεν υπάρχουν καθολικοί κανονισμοί ή νόμοι για το σχεδιασμό μιας αξιόπιστης, σχεδιασμένης μια για πάντα βάσης δεδομένων. Οι προγραμματιστές λαμβάνουν τις αποφάσεις σχεδιασμού της βάσης δεδομένων τους βασιζόμενοι σε μεγάλο βαθμό στην εμπειρία, τη διαίσθηση και διάφορα εργαλεία και τεχνικές σχεδιασμού.

    Ωστόσο, ορισμένοι κανόνες και κανόνες εξακολουθούν να υπάρχουν. Τέτοιοι κανόνες περιλαμβάνουν κανόνες κανονικοποίησης, π.χ. επαναφέροντας τις σχέσεις στο φυσιολογικό.

    Όπως κάθε μοντέλο, το μοντέλο σχέσης οντοτήτων έχει πολλά ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ, που σχηματίζουν τα αρχικά τούβλα από τα οποία είναι κτισμένα περισσότερα σύνθετα αντικείμενασύμφωνα με προκαθορισμένους κανόνες.

    Αυτό το μοντέλο είναι πιο συνεπές με την έννοια του αντικειμενοστρεφούς σχεδιασμού, η οποία επί του παρόντοςείναι αναμφίβολα βασικό για την ανάπτυξη πολύπλοκων συστημάτων λογισμικού, έτσι πολλές έννοιες μπορεί να σας φαίνονται γνωστές, και αν αυτό είναι αλήθεια, τόσο πιο εύκολο θα είναι για εσάς να κατακτήσετε την τεχνολογία σχεδιασμού βάσεων δεδομένων με βάση το μοντέλο ER.

    Το μοντέλο ER βασίζεται στις ακόλουθες βασικές έννοιες:

    • Ουσία, μεμε τη βοήθεια του οποίου μοντελοποιείται μια κατηγορία ομοειδών αντικειμένων. Μια οντότητα έχει ένα όνομα που είναι μοναδικό στο σύστημα που μοντελοποιείται. Εφόσον μια οντότητα αντιστοιχεί σε μια συγκεκριμένη κατηγορία αντικειμένων του ίδιου τύπου, υποτίθεται ότι υπάρχουν πολλές περιπτώσεις αυτής της οντότητας στο σύστημα. Το αντικείμενο στο οποίο αντιστοιχεί η έννοια της οντότητας έχει το δικό του σύνολο ιδιότητες -χαρακτηριστικά που καθορίζουν τις ιδιότητες μιας δεδομένης αντιπροσωπευτικής κλάσης. Σε αυτήν την περίπτωση, το σύνολο των χαρακτηριστικών πρέπει να είναι τέτοιο ώστε να είναι δυνατή η διάκριση συγκεκριμένων περιπτώσεων της οντότητας. Για παράδειγμα, η οντότητα Υπάλληλος μπορεί να έχει το ακόλουθο σύνολο χαρακτηριστικών: Αριθμός προσωπικού, Επώνυμο, Όνομα, Πατρώνυμο, Ημερομηνία γέννησης, Αριθμός παιδιών, Παρουσία συγγενών στο εξωτερικό. Καλείται ένα σύνολο χαρακτηριστικών που προσδιορίζει μοναδικά ένα συγκεκριμένο στιγμιότυπο μιας οντότητας κλειδί.Για την οντότητα Υπάλληλος, το βασικό χαρακτηριστικό θα είναι Αριθμός Προσωπικού, αφού για όλους τους εργαζόμενους αυτής της επιχείρησηςοι αριθμοί προσωπικού θα είναι διαφορετικοί. Ένα παράδειγμα της οντότητας Εργαζόμενος θα είναι μια περιγραφή ενός συγκεκριμένου υπαλλήλου της επιχείρησης. Ένα από τα γενικά αποδεκτά γραφικά σύμβολαοντότητες - ένα ορθογώνιο, στο επάνω μέρος του οποίου αναγράφεται το όνομα της οντότητας και τα χαρακτηριστικά παρατίθενται παρακάτω, με βασικά χαρακτηριστικά σημειωμένα, για παράδειγμα, με υπογράμμιση ή ειδική γραμματοσειρά (Εικ. 7.1):

    Ρύζι. 7.1.Παράδειγμα ορισμού οντότητας στο μοντέλο ER

    Μεταξύ οντοτήτων μπορεί να οριστεί διαβιβάσεις- δυαδικές συσχετίσεις που δείχνουν πώς οι οντότητες σχετίζονται ή αλληλεπιδρούν μεταξύ τους. Μια σχέση μπορεί να υπάρχει μεταξύ δύο διαφορετικών οντοτήτων ή μεταξύ μιας οντότητας και του εαυτού της (αναδρομική σύνδεση).Δείχνει πώς οι περιπτώσεις οντοτήτων σχετίζονται μεταξύ τους. Εάν δημιουργηθεί μια σχέση μεταξύ δύο οντοτήτων, τότε ορίζει τη σχέση μεταξύ των περιπτώσεων της μιας και της άλλης οντότητας. Για παράδειγμα, εάν έχουμε μια σύνδεση μεταξύ της οντότητας «Φοιτητής» και της οντότητας «Δάσκαλος» και αυτή η σύνδεση είναι η επίβλεψη διπλωματικών έργων, τότε κάθε μαθητής έχει μόνο έναν επιβλέποντα, αλλά ο ίδιος δάσκαλος μπορεί να επιβλέπει πολλούς μεταπτυχιακούς φοιτητές. Επομένως, θα είναι μια σχέση ένα προς πολλά (1:M), ένα στην πλευρά του Δάσκαλου και πολλά στην πλευρά του Μαθητή (βλ. Εικόνα 7.2).


    Ρύζι. 7.2.Ένα παράδειγμα σχέσης ένα προς πολλά κατά τη σύνδεση των οντοτήτων "Μαθητής" και "Δάσκαλος"

    Διαφορετικοί συμβολισμοί εκφράζουν διαφορετικά την επικοινωνιακή ισχύ. Στο παράδειγμά μας χρησιμοποιούμε τον συμβολισμό CASE του συστήματος POWER DESIGNER, εδώ η πολλαπλότητα απεικονίζεται διαιρώντας τη σύνδεση με το 3. Ο σύνδεσμος έχει ένα κοινό όνομα "Discipline Design" και έχει ονόματα ρόλων στην πλευρά και των δύο οντοτήτων. Από την πλευρά του μαθητή, αυτός ο ρόλος ονομάζεται «Γράφει μια διατριβή υπό καθοδήγηση», από την πλευρά του δασκάλου, αυτή η σύνδεση ονομάζεται «Καθοδήγηση». Μια γραφική ερμηνεία μιας σχέσης σας επιτρέπει να διαβάσετε αμέσως το νόημα της σχέσης μεταξύ οντοτήτων είναι οπτική και εύκολη στην ερμηνεία. Οι συνδέσεις χωρίζονται σε τρεις τύπους ανάλογα με την πολλαπλότητά τους: ένα προς ένα(1:1), od και i-to-πολλά(1M), πολλά-προς-πολλά(ΜΜ). Μια σχέση ένα προς ένα σημαίνει ότι μια παρουσία μιας οντότητας σχετίζεται μόνο με μια παρουσία μιας άλλης οντότητας.

    Σχέση 1: M σημαίνει ότι ένα στιγμιότυπο μιας οντότητας που βρίσκεται στην αριστερή πλευρά μιας σχέσης μπορεί να συσχετιστεί με πολλές περιπτώσεις μιας οντότητας που βρίσκεται στη δεξιά πλευρά μιας σχέσης. Μια σχέση ένα προς ένα (1:1) σημαίνει ότι μια παρουσία μιας οντότητας συσχετίζεται μόνο με μια παρουσία μιας άλλης οντότητας, ενώ μια σχέση πολλών προς πολλά (M:M) σημαίνει ότι μια παρουσία της πρώτης μια οντότητα μπορεί να συσχετιστεί με πολλαπλές παρουσίες μιας δεύτερης οντότητας και αντιστρόφως, μια παρουσία μιας δεύτερης οντότητας μπορεί να συσχετιστεί με πολλαπλές εμφανίσεις μιας πρώτης οντότητας. Για παράδειγμα, αν λάβουμε υπόψη μια σχέση τύπου «Μελέτη» μεταξύ των οντοτήτων «Μαθητής» και «Πειθαρχία», τότε αυτή είναι μια σχέση τύπου «πολλά προς πολλούς» (Μ:Μ), επειδή κάθε μαθητής μπορεί να μελετήσει πολλά κλάδους, αλλά κάθε κλάδος μελετάται από πολλούς μαθητές Μια τέτοια σύνδεση φαίνεται στο Σχ. 7.3.

    • Οποιοσδήποτε αριθμός συνδέσεων με διαφορετικά σημασιολογικά φορτία μπορεί να καθοριστεί μεταξύ δύο οντοτήτων. Για παράδειγμα, μεταξύ δύο οντοτήτων "Μαθητής" και "Δάσκαλος", μπορούν να δημιουργηθούν δύο σημασιολογικές συνδέσεις, η μία είναι η "Σχεδίαση Διπλώματος" που συζητήθηκε προηγουμένως και η δεύτερη μπορεί να ονομαστεί υπό όρους "Διαλέξεις" και καθορίζει ποιοι δάσκαλοι ακούν τις διαλέξεις αυτός ο μαθητήςκαι σε ποιους μαθητές δίνει διαλέξεις αυτός ο δάσκαλος. Είναι σαφές ότι πρόκειται για μια σύνδεση όπως πολλά-προς-πολλά.Ένα παράδειγμα αυτών των συνδέσεων φαίνεται στο Σχ. 7.3.

    Ρύζι. 7.3.Παράδειγμα μοντελοποίησης μιας σχέσης πολλά-προς-πολλά

    • Οποιοσδήποτε από αυτούς τους τύπους επικοινωνίας μπορεί να είναι επιτακτικός,εάν κάθε περίπτωση μιας οντότητας πρέπει να συμμετέχει σε μια δεδομένη σχέση, προαιρετικός -Αν όχι, κάθε στιγμιότυπο οντότητας πρέπει να συμμετέχει σε μια δεδομένη σχέση. Σε αυτή την περίπτωση, η σύνδεση μπορεί να είναι υποχρεωτικό αφενόςΚαι προαιρετικό από την άλλη.Η υποχρεωτική φύση της σύνδεσης υποδεικνύεται επίσης διαφορετικά σε διαφορετικές σημειώσεις. Χρησιμοποιούμε και πάλι τον συμβολισμό POWER DESIGNER. Εδώ, η προαιρετική σύνδεση υποδεικνύεται με έναν κενό κύκλο στο τέλος της σύνδεσης και η υποχρέωση υποδεικνύεται από μια κάθετη γραμμή που διασχίζει τη σύνδεση. Και αυτή η σημειογραφία έχει μια απλή ερμηνεία. Ένας κύκλος σημαίνει ότι καμία περίπτωση δεν μπορεί να συμμετάσχει σε αυτή τη σύνδεση. Και η κάθετη ερμηνεύεται ότι σημαίνει ότι τουλάχιστον μία παρουσία της οντότητας εμπλέκεται σε αυτή τη σύνδεση.

    Για να το κάνετε αυτό, εξετάστε το προηγούμενο παράδειγμα της σύνδεσης "Σχεδιασμός Διπλώματος". Στο σχήμα μας, αυτή η σύνδεση ερμηνεύεται ως προαιρετική και στις δύο πλευρές. Αλλά στην πραγματικότητα, κάθε φοιτητής που γράφει μια διατριβή πρέπει να έχει τον δικό του επιβλέποντα έργου, αλλά, από την άλλη πλευρά, δεν πρέπει κάθε δάσκαλος να ηγείται της διατριβής. Επομένως, σε αυτή τη σημασιολογική διατύπωση, η εικόνα αυτής της σύνδεσης θα αλλάξει και θα μοιάζει με την ίδια όπως φαίνεται στο Σχ. 7.4.

    Ρύζι. 7.4.Ένα παράδειγμα μιας υποχρεωτικής και προαιρετικής σχέσης μεταξύ οντοτήτων

    Επιπλέον, το μοντέλο ER επιτρέπει την αρχή της κατηγοριοποίησης των οντοτήτων. Αυτό σημαίνει ότι, όπως στις αντικειμενοστρεφείς γλώσσες προγραμματισμού, εισάγεται η έννοια του υποτύπου οντότητας, δηλαδή, μια οντότητα μπορεί να αναπαρασταθεί ως δύο ή περισσότεροι από τους υποτύπους της - οντότητες,καθένα από τα οποία μπορεί να έχει κοινά χαρακτηριστικά και σχέσεις ή/και ιδιότητες και σχέσεις που ορίζονται ταυτόχρονα ανώτερο επίπεδοκαι κληρονομούνται στο κατώτερο επίπεδο. Όλοι οι υποτύποι μιας οντότητας θεωρούνται αμοιβαία αποκλειόμενοι και όταν διαιρείται μια οντότητα σε υποτύπους, θα πρέπει να παρουσιάζεται με τη μορφή πλήρες σεταλληλοαποκλειόμενους υποτύπους. Εάν στο επίπεδο της ανάλυσης δεν είναι δυνατός ο προσδιορισμός μιας πλήρους λίστας υποτύπων, τότε εισάγεται ένας ειδικός υποτύπος, υπό όρους που ονομάζεται ΑΛΛΟΣ, ο οποίος μπορεί να διευκρινιστεί περαιτέρω. ΣΕ πραγματικά συστήματαΜερικές φορές αρκεί η εισαγωγή υποτυποποίησης σε δύο ή τρία επίπεδα.

    Η οντότητα βάσει της οποίας χτίζονται οι υποτύποι καλείται υπερτύπος.Οποιοδήποτε παράδειγμα ενός υπερτύπου πρέπει να ανήκει σε έναν συγκεκριμένο υποτύπο. Για γραφική εικόνααρχή κατηγοριοποίησης ή δακτυλογράφησης μιας οντότητας, μια ειδική γραφικό στοιχείο, που ονομάζεται κόμβος διάκρισης,στη σημειογραφία POWER DESIGNER απεικονίζεται ως ημικύκλιο, με την κυρτή πλευρά του στραμμένη προς την υπερ-οντότητα. Αυτή η πλευρά συνδέεται με ένα κατευθυνόμενο βέλος στην υπερ-οντότητα και οι υποτύποι αυτής της οντότητας συνδέονται με τη διάμετρο αυτού του κύκλου με βέλη (βλ. Εικ. 7.5).

    Ρύζι. 7.5.Δοκιμαστικό διάγραμμα υποτύπου οντότητας

    Αυτό το διάγραμμα μπορεί να αποκρυπτογραφηθεί ως εξής. Κάθε δοκιμή σε ένα σύστημα δοκιμών είναι είτε ένα τεστ γνώσης της γλώσσας SQL, είτε κάποια αναλυτική εργασία που εκτελείται χρησιμοποιώντας προγραμμένες μικροεφαρμογές Java, είτε μια δοκιμή σε κάποιον τομέα γνώσης, που αποτελείται από ένα σύνολο ερωτήσεων και ένα σύνολο απαντήσεων που προτείνονται για κάθε ερώτηση.

    Ως αποτέλεσμα της κατασκευής ενός μοντέλου τομέα με τη μορφή ενός συνόλου οντοτήτων και σχέσεων, λαμβάνουμε ένα συνδεδεμένο γράφημα. Στο γράφημα που προκύπτει, είναι απαραίτητο να αποφευχθούν οι κυκλικές συνδέσεις - αποκαλύπτουν την ανακρίβεια του μοντέλου.

    Ως παράδειγμα, θα σχεδιάσουμε ένα μυθολογικό μοντέλο ενός συστήματος σχεδιασμένου να αποθηκεύει πληροφορίες σχετικά με βιβλία και τομείς γνώσης που παρουσιάζονται στη βιβλιοθήκη. Η περιγραφή της θεματικής περιοχής δόθηκε νωρίτερα. Ας ξεκινήσουμε την ανάπτυξη του μοντέλου προσδιορίζοντας τις κύριες οντότητες.

    Πρώτα απ 'όλα, υπάρχει η οντότητα "Βιβλίο", κάθε βιβλίο έχει έναν μοναδικό κρυπτογράφηση, που είναι το κλειδί του, και μια σειρά από χαρακτηριστικά που λαμβάνονται από την περιγραφή της θεματικής περιοχής. Το σύνολο των παρουσιών οντοτήτων ορίζει το σύνολο των βιβλίων που αποθηκεύονται στη βιβλιοθήκη. Κάθε παρουσία της οντότητας «Βιβλίο» δεν αντιστοιχεί σε ένα συγκεκριμένο βιβλίο στο ράφι, αλλά σε μια περιγραφή ενός συγκεκριμένου βιβλίου, η οποία συνήθως δίνεται στον θεματικό κατάλογο της βιβλιοθήκης. Κάθε βιβλίο μπορεί να υπάρχει σε πολλά αντίτυπα και αυτά είναι μόνο τα συγκεκριμένα βιβλία που βρίσκονται στα ράφια της βιβλιοθήκης.

    Για να αντικατοπτριστεί αυτό, πρέπει να εισαγάγουμε μια οντότητα Instances, η οποία θα περιέχει περιγραφές όλων των αντιγράφων των βιβλίων που είναι αποθηκευμένα στη βιβλιοθήκη. Κάθε παρουσία της οντότητας Instances αντιστοιχεί σε ένα συγκεκριμένο βιβλίο στο ράφι. Κάθε αντίγραφο έχει έναν μοναδικό αριθμό πρόσβασης που προσδιορίζει μοναδικά ένα συγκεκριμένο βιβλίο. Επιπλέον, κάθε αντίγραφο ενός βιβλίου μπορεί να βρίσκεται είτε στη βιβλιοθήκη είτε στα χέρια ενός συγκεκριμένου αναγνώστη, και στην τελευταία περίπτωση, για ένα δεδομένο αντίγραφο, την ημερομηνία που ο αναγνώστης πήρε το βιβλίο και την ημερομηνία της αναμενόμενης επιστροφής του βιβλίου. βιβλίο υποδεικνύονται επιπλέον.

    Υπάρχει μια σχέση ένα προς πολλά (1:M) μεταξύ των οντοτήτων "Βιβλία" και "Περιπτώσεις", η οποία απαιτείται και από τις δύο πλευρές. Αυτό που καθορίζει αυτός ο τύποςσυνδέσεις; Μπορούμε να υποθέσουμε ότι κάθε βιβλίο μπορεί να υπάρχει στη βιβλιοθήκη σε πολλά αντίτυπα, εξ ου και η σχέση ένα προς πολλά. Επιπλέον, εάν η βιβλιοθήκη δεν έχει ούτε ένα αντίγραφο ενός δεδομένου βιβλίου, τότε δεν θα αποθηκεύσουμε την περιγραφή του, επομένως εάν το βιβλίο περιγράφεται στην ουσία "Βιβλίο", τότε τουλάχιστον ένα αντίγραφο αυτού του βιβλίου υπάρχει στη βιβλιοθήκη . Αυτό σημαίνει ότι από την πλευρά του βιβλίου η σύνδεση είναι υποχρεωτική. Όσον αφορά την οντότητα «Αντίγραφα», δεν μπορεί να υπάρχει ούτε ένα αντίγραφο στη βιβλιοθήκη που να μην σχετίζεται με ένα συγκεκριμένο βιβλίο, επομένως η σύνδεση από την πλευρά «Αντίγραφα» είναι επίσης υποχρεωτική.

    Τώρα πρέπει να καθορίσουμε πώς θα εκπροσωπείται ο αναγνώστης στο σύστημά μας. Είναι φυσικό να προτείνουμε την εισαγωγή της οντότητας «Αναγνώστες» για το σκοπό αυτό, κάθε περίπτωση της οποίας θα αντιστοιχεί σε έναν συγκεκριμένο αναγνώστη. Στη βιβλιοθήκη, σε κάθε αναγνώστη εκχωρείται ένας μοναδικός αριθμός κάρτας βιβλιοθήκης, ο οποίος θα προσδιορίζει μοναδικά τον αναγνώστη μας. Ο αριθμός της κάρτας βιβλιοθήκης θα είναι ένα βασικό χαρακτηριστικό της οντότητας Readers.

    Επιπλέον, στην οντότητα «Αναγνώστες» πρέπει να υπάρχουν πρόσθετα χαρακτηριστικά που απαιτούνται για την επίλυση των εργασιών που έχουν ανατεθεί, αυτά τα χαρακτηριστικά θα είναι: «Επώνυμο Όνομα Πατρόνυμο», «Διεύθυνση αναγνώστη», «Τηλέφωνο σπιτιού» και «Τηλέφωνο εργασίας». . Γιατί εισαγάγαμε δύο ξεχωριστά χαρακτηριστικά για τηλέφωνα; Γιατί είναι απαραίτητο διαφορετική ώρακαλέστε αυτούς τους αριθμούς για να πιάσετε έναν αναγνώστη, επομένως θα είναι σημαντικό για τη διοίκηση της βιβλιοθήκης να γνωρίζει τον τύπο αυτό το τηλέφωνο. Στην περιγραφή της θεματικής μας περιοχής, υπάρχει περιορισμός στην ηλικία των αναγνωστών μας, επομένως στην οντότητα "Αναγνώστες" πρέπει να εισαγάγουμε ένα υποχρεωτικό χαρακτηριστικό "Ημερομηνία Γέννησης", το οποίο θα μας επιτρέπει να ελέγχουμε την ηλικία των αναγνωστών μας .

    Από την περιγραφή της θεματικής περιοχής, γνωρίζουμε ότι κάθε αναγνώστης μπορεί να κρατήσει πολλά αντίτυπα βιβλίων στα χέρια του. Για να αντικατοπτρίσουμε αυτήν την κατάσταση, πρέπει να κάνουμε μια σύνδεση μεταξύ των οντοτήτων "Αναγνώστες" και "Περιπτώσεις". Γιατί όχι μεταξύ των οντοτήτων «Αναγνώστες» και «Βιβλία»; Γιατί ο αναγνώστης παίρνει ένα συγκεκριμένο αντίγραφο ενός συγκεκριμένου βιβλίου από τη βιβλιοθήκη και όχι απλώς ένα βιβλίο. Πώς μπορείτε να μάθετε ποιο βιβλίο έχει ένας δεδομένος αναγνώστης; Και αυτό μπορεί να διαπιστωθεί από πρόσθετη επικοινωνίαμεταξύ των οντοτήτων «Αντίγραφα» και «Βιβλία», και αυτή η σύνδεση συσχετίζει κάθε αντίγραφο με ένα βιβλίο, ώστε να μπορούμε ανά πάσα στιγμή να προσδιορίσουμε με σαφήνεια ποια βιβλία βρίσκονται στα χέρια του αναγνώστη, αν και συσχετίζουμε μόνο τους αριθμούς αποθέματος των βιβλίων που λαμβάνονται με τον αναγνώστη. Καθιερώνεται μια σχέση ένα προς πολλά μεταξύ των οντοτήτων «Αναγνώστες» και «Περιπτώσεις», και ταυτόχρονα είναι προαιρετική και από τις δύο πλευρές. Αναγνώστης μέσα αυτή τη στιγμήμπορεί να μην κρατά ούτε ένα βιβλίο στα χέρια του, και από την άλλη, αυτό το αντίγραφο του βιβλίου μπορεί να μην είναι στην κατοχή κανενός αναγνώστη, αλλά απλώς να βρίσκεται σε ένα ράφι στη βιβλιοθήκη.

    Τώρα πρέπει να αντικατοπτρίζουμε την τελευταία οντότητα που σχετίζεται με τον κατάλογο του συστήματος. Ο κατάλογος του συστήματος περιέχει μια λίστα με όλους τους τομείς γνώσης, πληροφορίες για τις οποίες περιέχονται στα βιβλία της βιβλιοθήκης. Μπορούμε να ανακαλέσουμε τον κατάλογο του συστήματος στη βιβλιοθήκη, από τον οποίο συνήθως ξεκινάμε την αναζήτηση για τα βιβλία που χρειαζόμαστε αν δεν γνωρίζουμε τους συγγραφείς και τους τίτλους τους. Το όνομα της περιοχής γνώσης μπορεί να είναι μεγάλο και να αποτελείται από πολλές λέξεις, επομένως για να μοντελοποιήσουμε τον κατάλογο του συστήματος θα εισαγάγουμε την οντότητα «Κατάλογος συστήματος» με δύο χαρακτηριστικά: «Κωδικός περιοχής γνώσης» και «Όνομα περιοχής γνώσης». Το χαρακτηριστικό Knowledge Area Code θα είναι το βασικό χαρακτηριστικό της οντότητας.

    Από την περιγραφή της θεματικής περιοχής, γνωρίζουμε ότι κάθε βιβλίο μπορεί να περιέχει πληροφορίες από διάφορους τομείς γνώσης, και από την άλλη πλευρά, από την πρακτική γνωρίζουμε ότι μια βιβλιοθήκη μπορεί να περιέχει πολλά βιβλία που σχετίζονται με τον ίδιο γνωστικό τομέα. πρέπει να καθιερώσουμε μεταξύ οντοτήτων «Κατάλογος συστήματος» και «Βιβλία» είναι μια σχέση πολλών προς πολλά, υποχρεωτική και από τις δύο πλευρές. Πράγματι, σε κατάλογο συστήματοςΔεν πρέπει να υπάρχει τέτοιο γνωστικό πεδίο, πληροφορίες για το οποίο δεν παρουσιάζονται σε κανένα βιβλίο της βιβλιοθήκης μας, το αντίθετο θα ήταν άνευ σημασίας. Και αντίστροφα, κάθε βιβλίο θα πρέπει να ανατίθεται σε έναν ή περισσότερους τομείς γνώσης, ώστε ο αναγνώστης να το βρίσκει πιο γρήγορα.

    Το μυθολογικό μοντέλο της θεματικής περιοχής «Βιβλιοθήκη» παρουσιάζεται στο Σχ. 7.6.

    Ρύζι. 7.6.Μυθολογικό μοντέλο "Βιβλιοθήκη"

    Αναπτύξαμε το μυθολογικό μοντέλο «Βιβλιοθήκη» για τις εργασίες που αναφέρθηκαν προηγουμένως. Σε αυτές τις εργασίες, δεν θέσαμε όρους για την αποθήκευση του ιστορικού της ανάγνωσης ενός βιβλίου, για παράδειγμα, με στόχο να βρούμε κάποιον που κρατούσε προηγουμένως το βιβλίο και θα μπορούσε να το είχε βλάψει ή να το αφήσει σε αυτό κατά λάθος μια μεγάλη ποσότηταχρήματα. Αν βάλαμε στον εαυτό μας το καθήκον να αποθηκεύσουμε αυτές τις πληροφορίες, τότε το πληροφοριακό-λογικό μας μοντέλο θα ήταν διαφορετικό. Θα αφήσω αυτό το καθήκον για την ανεξάρτητη δημιουργικότητά σας.

    Λογικό μοντέλοΤα δεδομένα (οντότητα) είναι μια ανεξάρτητη λογική αναπαράσταση των δεδομένων.

    Φυσικό μοντέλοΤα δεδομένα (πίνακας) περιέχουν ορισμούς όλων των υλοποιημένων αντικειμένων σε μια συγκεκριμένη βάση δεδομένων για ένα συγκεκριμένο DBMS.

    Τα μοντέλα είναι ο ακρογωνιαίος λίθος του σχεδιασμού. Οι μηχανικοί πρέπει να κατασκευάσουν ένα μοντέλο του αυτοκινήτου και να επεξεργαστούν όλες τις λεπτομέρειες πριν το βάλουν στην παραγωγή. Με τον ίδιο τρόπο, οι μηχανικοί συστημάτων αναπτύσσουν πρώτα μοντέλα για να μελετήσουν την επιχειρηματική λογική και να εμβαθύνουν στην κατανόηση της δομής της βάσης δεδομένων.

    Στην τελευταία διάλεξη, γνωρίσαμε τις μεθοδολογίες IDEF0 και DFD, οι οποίες μας επιτρέπουν να περιγράψουμε επιχειρηματικές διαδικασίες που συμβαίνουν σε ένα πληροφοριακό σύστημα. Στο μοντέλο DFD, θεωρήσαμε ένα στοιχείο - έναν χώρο αποθήκευσης δεδομένων, που δείχνει τους τύπους πληροφοριών στους οποίους λειτουργεί το σύστημα. Ωστόσο, αυτή η μεθοδολογία δεν προορίζεται να περιγράψει τη δομή των αποθηκευμένων πληροφοριών. Διάφορα διαγράμματα σχέσεων οντοτήτων (entity diagrams) είναι πιο κατάλληλα για αυτό, σκοπός των οποίων είναι να περιγράψουν τη δομή των αποθηκευμένων δεδομένων και τις σχέσεις μεταξύ τους. Έχουν αναπτυχθεί μέθοδοι που σας επιτρέπουν να μετατρέψετε τέτοια δεδομένα σε ένα σύνολο εντολών που θα δημιουργήσουν τον απαραίτητο χώρο αποθήκευσης (πίνακες) μέσα στη βάση δεδομένων του συστήματος πληροφοριών.

    Μοντελοποίηση ER

    Στα πληροφοριακά συστήματα, τα δεδομένα χωρίζονται σε ξεχωριστές κατηγορίες ή οντότητες. Εξάλλου, θυμόμαστε ότι μια βάση δεδομένων είναι ένα σύνολο δομημένων δεδομένων. Δεδομένα διάφοροι τύποιαποθηκεύονται χωριστά. Ο στόχος του μοντέλου ER είναι να δείξει ποιοι τύποι πληροφοριών αποθηκεύονται στο σύστημα, ποια είναι η δομή τους και πώς συνδέονται μεταξύ τους. Το μοντέλο ER είναι χτισμένο με βάση μια επιχειρηματική ανάλυση (κατασκευασμένο διάγραμμα DF). Σε αυτήν την περίπτωση, αρχικά, κάθε κατάστημα στο διάγραμμα DF γίνεται μια οντότητα στο διάγραμμα ER. Κατά την περαιτέρω ανάλυση, μπορούν να αναλυθούν στα συστατικά μέρη τους. Αξίζει να σημειωθεί ότι τα μοντέλα ER είναι πιο ανθεκτικά στις αλλαγές στη δομή της επιχείρησης από τα διαγράμματα DF. Οι επιχειρηματικές διαδικασίες μπορεί να αλλάξουν, αλλά οι πληροφορίες που απαιτούνται για την εφαρμογή τους συχνά παραμένουν αμετάβλητες.

    Τα κύρια πλεονεκτήματα των μοντέλων ER:

    • Μια ακριβής και κατανοητή μορφή για την τεκμηρίωση της δομής των πληροφοριών.
    • Σας επιτρέπει να καθορίσετε απαιτήσεις για δεδομένα και σχέσεις μεταξύ τους.
    • Σας επιτρέπει να εμφανίζετε με σαφήνεια τη δομή αποθήκευσης για να διευκολύνετε το σχεδιασμό της βάσης δεδομένων.
    • Υπάρχουν μέθοδοι για την αντιστοίχιση μοντέλων ER σε πίνακες βάσεων δεδομένων και αντίστροφα.
    • Θέτει τα θεμέλια για την ενοποίηση με άλλες εφαρμογές.

    Οι κύριοι τύποι αντικειμένων στο διάγραμμα ER:

    • Η οντότητα είναι ένας τύπος αντικειμένων, πληροφορίες για τα οποία θα αποθηκευτούν στη βάση δεδομένων. Για παράδειγμα: τμήματα, υπάλληλοι, εμπορεύματα, τιμολόγια.
    • Χαρακτηριστικό - στοιχεία που απαρτίζουν οντότητες. Για παράδειγμα, για την οντότητα «προϊόντα», τα χαρακτηριστικά μπορεί να είναι «όνομα», «περιγραφή», «ποσότητα», «τιμή» και άλλα, ανάλογα με τις ανάγκες του πληροφοριακού συστήματος. Ανάλογα με τη σημείωση του διαγράμματος ER, δίπλα στο χαρακτηριστικό, εκτός από το όνομά του, αναφέρετε τον τύπο και την υποχρεωτική πλήρωση. Η διαφάνεια δείχνει ένα διάγραμμα ER στη σημείωση «Information Engineering», σύμφωνα με το οποίο υποδεικνύεται το όνομα, ο τύπος και εάν πρόκειται για εξωτερική ή/και κύρια κλήση για το χαρακτηριστικό.
    • Οι σχέσεις δείχνουν συνδέσεις μεταξύ οντοτήτων. Για παράδειγμα, ένας υπάλληλος εργάζεται σε ένα τμήμα, όπου το "τμήμα" και το "τμήμα" είναι οντότητες.

    Μια οντότητα είναι ένα σύνολο αντικειμένων του πραγματικού κόσμου, καθένα από τα οποία έχει τα ακόλουθα χαρακτηριστικά:

    • Μοναδικό (μπορεί να διαχωριστεί από όλα τα άλλα με κάποιο τρόπο)
    • Παίζει ρόλο στο σύστημα που διαμορφώνεται
    • Μπορεί να περιγραφεί με μία ή περισσότερες πληροφορίες (Ιδιότητα)

    Παράδειγμα: άτομα, προσωπικό, εκδηλώσεις, παραγγελίες, πωλήσεις, πελάτες, προμηθευτές

    Ένα χαρακτηριστικό περιγράφει ορισμένες ιδιότητες μιας οντότητας. Μια οντότητα μπορεί να έχει πολλά χαρακτηριστικά, αλλά επιλέγονται μόνο εκείνα που είναι σημαντικά για το σύστημα. Τα χαρακτηριστικά χωρίζονται σε βασικά (Entity Keys) και σε περιγραφικά (Entity Descriptors). Τα βασικά χαρακτηριστικά πρέπει να προσδιορίζουν μοναδικά τα στιγμιότυπα μιας οντότητας. Για κάθε χαρακτηριστικό, πρέπει να καθοριστεί ένας τομέας (τύπος, περιοχή θέματος).

    Η διαφάνεια δείχνει πώς γράφονται οι οντότητες και τα χαρακτηριστικά σε διάφορους συμβολισμούς μοντέλων ER. Σε όλες τις σημειώσεις, μια οντότητα είναι ένα ορθογώνιο αντικείμενο, στην κορυφή του οποίου αναγράφεται το όνομα της οντότητας. Τα χαρακτηριστικά παρατίθενται κάτω από το όνομα της οντότητας.

    Ας ρίξουμε μια πιο προσεκτική ματιά σε ποια είναι τα βασικά χαρακτηριστικά. Αυτό είναι σημαντικό για την κατανόηση των τύπων σχέσεων μεταξύ οντοτήτων.

    Βασικοί όροι

    Το σχεσιακό μοντέλο, εάν είναι απαραίτητο, μπορεί να περιγραφεί με μαθηματική γλώσσα, δηλαδή την πιο ακριβή που εφευρέθηκε από τον άνθρωπο. Παρακάτω είναι χαλαροί ορισμοί ορισμένων εννοιών του σχεσιακού μοντέλου.

    • "Τύπος δεδομένων" (τύπος, τομέας - τομέας) - ένα σύνολο επιτρεπόμενων τιμών ("τομέας") και λειτουργιών. Όλοι οι τύποι έχουν λειτουργίες σύγκρισης και ανάθεσης. Οι ποσότητες δεν απαγορεύεται να έχουν τη δομή, για παράδειγμα, ενός αντικειμένου.
    • "Σχέση" (σχέση) - ένα σύνολο χαρακτηριστικών: μοναδικά ονόματα με διευκρίνιση του τύπου δεδομένων. συν ένα σύνολο «συνόλων τιμών» («σειρές») που αντιστοιχούν στα χαρακτηριστικά. Οι τιμές σε σύνολα μπορούν να αναπαρασταθούν μόνο από μεμονωμένες τιμές των τύπων που αντιστοιχούν στα χαρακτηριστικά, δηλαδή, μπορούν να είναι βαθμωτές ("1η κανονική μορφή").
    • Το "Κλειδί" (κλειδί) είναι μια ομάδα χαρακτηριστικών των οποίων οι τιμές σε όλα τα σύνολα είναι διαφορετικές σε σχέση, αλλά καμία υποομάδα αυτών των χαρακτηριστικών δεν έχει ήδη μια τέτοια ιδιότητα (η ιδιότητα "ελαχιστοποίηση" του κλειδιού). Συγκεκριμένα, μια ομάδα μπορεί να αποτελείται από ένα μόνο χαρακτηριστικό. Ένα κλειδί σε μια σχέση πρέπει να υπάρχει πάντα, και αν υπάρχουν πολλά από αυτά, ένα από αυτά πρέπει να χαρακτηριστεί «κύριο».
    • Το "Ξένο κλειδί" είναι μια ομάδα χαρακτηριστικών των οποίων οι τιμές σε κάθε σύνολο τιμών σχέσης πρέπει να ταιριάζουν με τις τιμές ενός κλειδιού μιας πιθανώς διαφορετικής σχέσης. Τα ξένα κλειδιά σε μια σχέση είναι προαιρετικά και δηλώνονται σύμφωνα με τις ανάγκες μοντελοποίησης.
    • "Λειτουργίες" (λειτουργία) - σύνολο γενικές ενέργειεςπάνω από σχέσεις, οι οποίες καταλήγουν και πάλι σε σχέσεις («κλειστό των λειτουργιών»). Χρησιμοποιούνται για τη λήψη νέων σχέσεων για τις ανάγκες μεταγενέστερης μοντελοποίησης ή κατά την εξαγωγή των απαραίτητων δεδομένων από τη βάση δεδομένων. Η λίστα των λειτουργιών μπορεί να οριστεί με διαφορετικούς τρόπους. στις πρώτες προτάσεις του μοντέλου δόθηκαν οκτώ λειτουργίες (προβολή, σύνδεση, επιλογή κ.λπ.), όχι πλέον ελάχιστο σετ, ως συμβιβασμός μεταξύ έλλειψης πλεονασμού και ευκολίας χρήσης.
    • " Σχεσιακή βάση δεδομένων" (σχεσιακή βάση δεδομένων) - ένα σύνολο σχέσεων.

    Ένας "τύπος δεδομένων" μερικές φορές ονομάζεται "τομέας", αλλά μερικές φορές ο "τομέας" αναφέρεται μόνο στον "τομέα ορισμού" των τιμών. Ένα "σύνολο ποσοτήτων" (τουπλού) στα ρωσικά ονομάζεται αλλιώς "tuple" ή "n-coy".

    Για ευκολία, οι σχέσεις απεικονίζονται συχνά με τη μορφή πινάκων, αν και μια τέτοια αναπαράσταση είναι αθέμιτη (ούτε η σειρά των χαρακτηριστικών ούτε η σειρά των συνόλων τιμών ορίζεται σε μια σχέση, σε αντίθεση με έναν πίνακα). Στην SQL, πάνω στην οποία είναι χτισμένο το Oracle DBMS, η έννοια της «σχέσης» ως εργαλείο μοντελοποίησης αντικαθίσταται από τον «πίνακα». Μια άλλη αναπαράσταση δεδομένων σχέσεων μπορεί να είναι ένας υπερκύβος, και μερικές φορές είναι επίσης βολικό να καταφεύγουμε σε αυτόν για να συλλογίσουμε μια υπάρχουσα βάση δεδομένων.

    Εάν εγκαταλείψουμε την καθοριστική λέξη ανίχνευσης "σχεσιακή", τότε ο όρος "σχεσιακή βάση δεδομένων" μπορεί να μεταφραστεί ως "βάση δεδομένων σχέσεων" (πιο συγκεκριμένα, "κατασκευασμένη βάση δεδομένων διά μέσουσχέσεις"· σχέσεις ως εργαλείο, όχι ως αντικείμενο μοντελοποίησης: διαφορετικά ο αρχικός όρος θα ήταν βάση δεδομένων σχέσεων). Με τον ίδιο τρόπο, ο όρος "σχεσιακό μοντέλο" μπορεί να μεταφραστεί ως "μοντέλο σχέσεων", δηλαδή "ένα σύστημα εννοιών για την κατασκευή ενός μοντέλου μιας θεματικής περιοχής με τη μορφή συνόλου σχέσεων." Για διάφορους λόγους, συμπεριλαμβανομένων ιστορικών και γλωσσικών, αυτό δεν έγινε εκείνη την εποχή.

    Περιγράφονται όλες οι σχέσεις δεδομένων προφανώςΚαι μόνοτιμές σε σύνολα (αυτό μπορεί να είναι διαφορετικό σε άλλες προσεγγίσεις μοντελοποίησης). Δεν υπάρχουν «σιωπηρές» εξαρτήσεις (συμπεριλαμβανομένου του επιπέδου της λογικής του προγράμματος), εκτός από τις σχέσεις που διατυπώνονται από μεταβλητές. Η σχεσιακή προσέγγιση κάνει διάκριση μεταξύ της περιγραφής των δεδομένων και συνοδευτική αίτησηλογική προγράμματος (σε αντίθεση, για παράδειγμα, με την προσέγγιση αντικειμένου).

    Η παραπάνω άποψη μιας σχεσιακής βάσης δεδομένων (ένα σύνολο σχέσεων και πράξεων) είναι χαρακτηριστική για σχεσιακή άλγεβρα. Αυτή δεν είναι η μόνη άποψη. Κάθε σύνολο τιμών σε μια μεταβλητή σχέσης μπορεί να γίνει κατανοητό ως μια αληθινή δήλωση ("κατηγόρημα"): υπάρχει αυτός και ένας τέτοιος υπάλληλος με τέτοιες ιδιότητες. τάδε τμήμα και ούτω καθεξής. Έτσι, η σχεσιακή βάση δεδομένων σε κάθε χρονική στιγμή είναι ένα σύνολο αληθών δηλώσεων σχετικά με την θεματική περιοχή, που διατυπώνονται μέσω σχέσεων. Ουσιαστικά, ένα σύνολο δηλώσεων στο μεταβλητές σχέσηςκαι σχηματίζει ένα μοντέλο τομέα που αντιπροσωπεύεται από τη βάση δεδομένων. Αυτή η προβολή μιας σχεσιακής βάσης δεδομένων είναι τυπική για σχεσιακός λογισμός. Και οι δύο απόψεις για σχεσιακό μοντέλοέχουν μελετηθεί καλά και έχει αποδειχθεί η εκφραστική τους ισοδυναμία.

    Για τους όρους που παρατίθενται στην προηγούμενη διαφάνεια, υπάρχουν άτυπα ισοδύναμα για να γίνει ευκολότερη η κατανόηση και η απομνημόνευση της σημασίας τους:

    • Σχέση → Πίνακας
    • Πλειάδα → Χορδή, εγγραφή
    • Κάρδινα → Αριθμός γραμμών
    • Χαρακτηριστικό → Στήλη, πεδίο
    • Βαθμός → Αριθμός στηλών
    • Πρωτεύον κλειδί → Αναγνωριστικό
    • Τομέας → Εύρος αποδεκτών τιμών

    Βασικά πεδία

    Μερικά από τα χαρακτηριστικά μιας σχέσης είναι κλειδιά ή κλειδιά. Υπάρχουν διάφοροι τύποι κλειδιών:

    • Ένα απλό κλειδί αποτελείται από ένα χαρακτηριστικό, ένα σύνθετο κλειδί αποτελείται από πολλά.
    • Πιθανό κλειδί- ένα χαρακτηριστικό ή ένα σύνολο χαρακτηριστικών που μπορεί να προσδιορίσει καθεμία από τις πλειάδες μιας σχέσης. Για παράδειγμα, σε σχέση με το γραφείο διαβατηρίων ("Αριθμός διαβατηρίου") και ("Ονοματεπώνυμο" και "Ημερομηνία γέννησης") είναι πιθανά κλειδιά που σας επιτρέπουν να αναγνωρίζετε μοναδικά κάθε άτομο.
    • Κάθε σχέση μπορεί να έχει μόνο ένα πρωτεύον κλειδί - ένα χαρακτηριστικό ή ένα σύνολο τιμών χαρακτηριστικών των οποίων οι τιμές προσδιορίζουν μοναδικά κάθε εγγραφή. Εάν πολλά σύνολα χαρακτηριστικών έχουν τέτοιες ιδιότητες, τότε ένα από αυτά επιλέγεται ως το κύριο και όλα τα άλλα επιλέγονται ως εναλλακτικά.
    • Ξένο κλειδί - καταστήματα έννοιατο πρωταρχικό κλειδί μιας άλλης σχέσης. Τα ξένα κλειδιά χρησιμοποιούνται για την επικοινωνία μεταξύ των σχέσεων.

    Πρωτεύων κλειδί

    • Κάθε σχεσιακή σχέση έχει μόνο 1 πρωτεύον κλειδί, όλα τα άλλα είναι εναλλακτικά κλειδιά.
    • Η τιμή όλων των χαρακτηριστικών του πρωτεύοντος κλειδιού ΔενΜπορεί απροσδιόριστος.Για παράδειγμα, μια σχέση αποθηκεύει πληροφορίες για τους κατοίκους μιας πόλης. Το πρωτεύον κλειδί είναι σύνθετο (ΟΝΟΜΑ, ΕΠΩΝΥΜΟ, ημερομηνία γέννησης). Σύστημα πληροφορίωνεγκατεστημένο στην Ισλανδία, όπου δεν χρησιμοποιούν επώνυμα, πράγμα που σημαίνει ότι το χαρακτηριστικό "επώνυμο" θα είναι κενό για τις περισσότερες πλειάδες. Παρόλα αυτά, το σύνθετο πρωτεύον κλειδί θα συνεχίσει να αναγνωρίζει μοναδικά καθεμία από τις πλειάδες. Ωστόσο, είναι απαράδεκτο οι τιμές όλων των χαρακτηριστικών του πρωτεύοντος κλειδιού να είναι ταυτόχρονα κενές.
    • Η τιμή του πρωτεύοντος κλειδιού δεν επηρεάζει τη θέση των πλειάδων στην προβολή πίνακα της σχέσης. Ακόμα κι αν η τιμή του πρωτεύοντος κλειδιού είναι ένας αριθμός (για παράδειγμα 1,2,3...) γενικά αυτό δεν εγγυάται ότι οι πλειάδες μέσα στη βάση δεδομένων αποθηκεύονται με την ίδια σειρά και θα εξάγονται με την ίδια σειρά. Στη "γενική περίπτωση" σημαίνει ότι μερικές φορές, λόγω των ιδιαιτεροτήτων ενός συγκεκριμένου DBMS, οι σειρές μπορούν να αποθηκευτούν με τη σειρά από το πρωτεύον κλειδί, αλλά αυτό είναι μάλλον μια εξαίρεση. Κατά την έξοδο των αποτελεσμάτων ερωτήματος, πρέπει να προσδιορίσουμε ρητά τη σειρά με την οποία θα πρέπει να εξάγονται οι σειρές εάν αυτή η σειρά είναι σημαντική. Τα αποτελέσματα του ερωτήματος «δώστε μου τα πρώτα 5 άτομα» είναι απρόβλεπτα εάν δεν προσδιορίσουμε με ποιο κριτήριο θα πρέπει να είναι «πρώτοι».
    • Το πρωτεύον κλειδί δεν επηρεάζει την πρόσβαση στα χαρακτηριστικά μιας πλειάδας. Για παράδειγμα, σε σχέση με το «γραφείο διαβατηρίων», η διεύθυνση εγγραφής του ατόμου αποθηκεύεται μαζί με το πλήρες όνομα και την ημερομηνία γέννησης. Μπορούμε να ζητήσουμε από τη βάση δεδομένων να εξαγάγει όλες τις διευθύνσεις χωρίς να γνωρίζουμε το πλήρες όνομα και την ημερομηνία γέννησης.

    Εξωτερικό κλειδί

    Ένα ξένο κλειδί χρησιμοποιείται για τη δημιουργία συνδέσεων μεταξύ των σχέσεων. Για παράδειγμα, ας πάρουμε δύο σχέσεις «Ιδιοκτήτες» (κύριο κλειδί «αριθμός διαβατηρίου») και «Ακίνητη περιουσία». Για να καθορίσουμε σε ποιον ανήκει κάθε ιδιοκτησία, θα συνδέσουμε αυτές τις σχέσεις με την τιμή του χαρακτηριστικού "αριθμός διαβατηρίου". Σε αντίθεση με το πρωτεύον κλειδί, η τιμή ενός ξένου κλειδιού μπορεί να είναι απροσδιόριστη (γραμμή 4 στη διαφάνεια) - εάν δεν γνωρίζουμε τον ιδιοκτήτη του ακινήτου, δεν τον υποδεικνύουμε. Σε αντίθεση με το πρωτεύον κλειδί, η τιμή του ξένου κλειδιού μπορεί να επαναληφθεί (απόθεμα 1,3 στη διαφάνεια) - ένας ιδιοκτήτης μπορεί να έχει πολλά ακίνητα. Ωστόσο, το γεγονός ότι το χαρακτηριστικό "passport number" στη σχέση "Real Estate" είναι ξένο κλειδί στο πρωτεύον κλειδί της σχέσης "Ιδιοκτήτης" εγγυάται ότι η τιμή του χαρακτηριστικού "pastor number" μπορεί να είναι μόνο τιμές από το πρωτεύον κλειδί. Δεν μπορούμε να προσδιορίσουμε τον αριθμό παρόχου ενός ατόμου ως τιμή χαρακτηριστικού που δεν υπάρχει ήδη στη σχέση Owner (γραμμή 5).

    Ορίζοντας ένα ξένο κλειδί, μπορείτε να ορίσετε ρητά τη συμπεριφορά του DBMS εάν αλλάξετε την τιμή του πρωτεύοντος κλειδιού ή διαγράψετε μια πλειάδα. Ωστόσο, ο κανόνας "το ξένο κλειδί αποθηκεύει μόνο τις τιμές που βρίσκονται στο πρωτεύον κλειδί ή μια απροσδιόριστη τιμή (NULL)" παραμένει ο ίδιος.

    Ένα ξένο κλειδί μεταξύ των σχέσεων καθορίζεται συνήθως κατά το σχεδιασμό μιας βάσης δεδομένων. Ωστόσο, μπορεί να αφαιρεθεί ανά πάσα στιγμή ή να επανεγκατασταθεί εάν η προσθήκη αυτού του περιορισμού δεν έρχεται σε αντίθεση με τις ιδιότητες του ξένου κλειδιού. Η αφαίρεση/εγκατάσταση ξένων κλειδιών γίνεται συνήθως κατά την εισαγωγή πολύ μεγάλους όγκουςδεδομένα, για να επιταχύνει αυτή τη διαδικασία - το DBMS δεν μπορεί να αποθηκεύσει ασυνεπή (λανθασμένα, λανθασμένα) δεδομένα, επομένως ελέγχει κάθε περιορισμό κατά την εισαγωγή κάθε σειράς.

    Μοντέλα ER: συνδέσεις

    Στα μοντέλα ER, τα ξένα κλειδιά εμφανίζονται ως σχέσεις.

    Κάθε σύνδεση χαρακτηρίζεται από 4 ιδιότητες - δύναμη, ισχύς, βαθμός και συμμετοχή της οντότητας στη σύνδεση.

    Ας δούμε αυτά τα χαρακτηριστικά.

    Συμμετοχή της οντότητας στη σχέση

    Υποδεικνύεται στη σύνδεση με εγκάρσια γραμμή ή κύκλο.

    Η εγκάρσια γραμμή σημαίνει επιτακτικός (επιτακτικός) η συμμετοχή της οντότητας στη σύνδεση και ο κύκλος - προαιρετικός (προαιρετικός).

    Στην περίπτωση υποχρεωτικής συμμετοχής μιας οντότητας σε μια σύνδεση, το ρήμα " πρέπει". Εάν η συμμετοχή μιας οντότητας σε μια σύνδεση είναι προαιρετική, χρησιμοποιήστε το ρήμα " Μπορεί".

    Στο τμήμα Μπορείεργάζονται αρκετοί υπάλληλοι. Υπάλληλος πρέπειεργάζονται σε ένα από τα τμήματα.

    Βαθμός σύνδεσης ( σχέση βαθμός) υποδεικνύει τον αριθμό των συσχετισμένων οντοτήτων. Δυαδική επικοινωνία ( δυάδικος σχέση) περιγράφει τη συσχέτιση δύο οντοτήτων. Τριμερής σύνδεση (τριαδικός σχέση) εμφανίζεται όταν συσχετίζονται τρεις οντότητες. Ενιαία επικοινωνία (ενιαία σχέση) περιγράφει συσχετίσεις σε μια ενιαία οντότητα.

    Οι πιο συνηθισμένες είναι οι δυαδικές συνδέσεις - συνδέουν δύο διαφορετικές οντότητες ("Τμήμα" - "Υπάλληλος", "Παραγγελία" - "Αγαθά", "Μάθημα" - "Διαλέξεις", "Ομάδα" - "Φοιτητές"). Λιγότερο κοινές, αλλά εξακολουθούν να χρησιμοποιούνται συχνά, είναι οι μονομερείς συνδέσεις. Με τη βοήθειά τους, συνήθως ορίζουν μια σχέση ένθεσης σε αντικείμενα του ίδιου τύπου (η σχέση "Λεπτομέρειες" - μπορούμε να καθορίσουμε αναπόσπαστο μέροςτι λεπτομέρεια είναι αυτή, η σχέση "Εργαζόμενοι" - μπορούμε να υποδείξουμε ποιος υπάλληλος είναι το αφεντικό για αυτό).

    Η ισχύς σύνδεσης δείχνει πόσες παρουσίες μιας οντότητας συνδέονται με παρουσίες μιας άλλης οντότητας.

    Η ισχύς μπορεί να είναι:

    • ένα προς ένα(1:1) - υπάρχει ένας επικεφαλής σε μια ομάδα μαθητών.
    • ένα προς πολλά(1:N) - πολλοί υπάλληλοι εργάζονται σε ένα τμήμα.
    • πολλά-προς-πολλά(Μ:Ν) - ένας αγοραστής αγόρασε πολλά αγαθά, πολλοί αγοραστές αγόρασαν αγαθά.

    Ισχύς σύνδεσης: ισχυρή σύνδεση (Αναγνώριση σχέσης)

    Μια θυγατρική οντότητα δεν μπορεί να υπάρξει χωρίς μια μητρική οντότητα. (Δεν υπάρχει απάντηση χωρίς ερώτηση, δεν υπάρχει προϊόν στο καλάθι του χρήστη εάν το ίδιο το καλάθι δεν υπάρχει)

    Σε αυτήν την περίπτωση, το πρωτεύον κλειδί μετεγκαθίσταται από τη μητρική οντότητα στη θυγατρική οντότητα, όπου γίνεται μέρος του πρωτεύοντος κλειδιού.

    Σε ένα διάγραμμα, μια ισχυρή σχέση αντιπροσωπεύεται από μια αδιάσπαστη γραμμή μεταξύ οντοτήτων.

    Ισχύς σχέσης: Σχέση που δεν ταυτίζεται

    Η μητρική και η θυγατρική οντότητα σχετίζονται, αλλά η θυγατρική οντότητα μπορεί να δημιουργηθεί πρώτα. (Το φορτίο ανήκει στην παραγγελία, αλλά το φορτίο μπορεί να βρίσκεται στην αποθήκη πριν από τη δημιουργία της παραγγελίας).

    Το πρωτεύον κλειδί μετεγκαθίσταται από τη μητρική οντότητα στη θυγατρική οντότητα και δεν αποτελεί μέρος του πρωτεύοντος κλειδιού (απλώς γίνεται ξένο κλειδί).

    Στο διάγραμμα, μια ισχυρή σχέση αντιπροσωπεύεται από μια διακεκομμένη γραμμή μεταξύ οντοτήτων.

    Αναδρομική σύζευξη (unary-coupling)

    Τις περισσότερες φορές χρησιμοποιείται για τη δημιουργία ιεραρχιών.

    Ένας προμηθευτής ΜΠΟΡΕΙ να συνεργάζεται με ZERO ή ΠΕΡΙΣΣΟΤΕΡΟΥΣ πελάτες (id_Customer).

    Ο πελάτης ΠΡΕΠΕΙ να συνεργαστεί με έναν προμηθευτή (id_Sup).

    Όμως ο προμηθευτής και ο πελάτης -είτε πρόκειται για εταιρεία είτε για οργανισμό- είναι αντικείμενα του ίδιου τύπου και επομένως αποθηκεύονται στην ίδια σχέση.

    Επικοινωνία πολλά-προς-πολλά.

    Παράδειγμα: Οι προμηθευτές μπορεί να προμηθεύουν πολλούς τύπους προϊόντων. Διαφορετικοί προμηθευτές ενδέχεται να προμηθεύουν τους ίδιους τύπους αγαθών.

    Οι σχέσεις πολλών-προς-πολλών ισχύουν από την άποψη του μοντέλου ER, αλλά δεν μπορούν να αντικατοπτριστούν άμεσα με όρους σχεσιακής άλγεβρας.

    Η ασάφεια της σχέσης επιλύεται με την εισαγωγή μεταβατικών οντοτήτων, όπως φαίνεται στη διαφάνεια.

    Μοντέλα ER και πραγματικότητα

    Μια πιο προσεκτική ματιά σε μια σχέση ένας προς έναν αποκαλύπτει σχεδόν πάντα ότι το Α και το Β είναι στην πραγματικότητα διαφορετικά υποσύνολα του ίδιου πράγματος, ή διαφορετικά σημείατην άποψη του, έχοντας απλώς διαφορετικά ονόματα και διαφορετικές περιγραφόμενες συνδέσεις και ιδιότητες.

    Ας φανταστούμε ότι ο Α είναι ο προμηθευτής, ο Β είναι το προϊόν.

    Υποχρεωτικό-υποχρεωτικό.Για το παράδειγμα που εμφανίζεται στη διαφάνεια, αυτή η σχέση σημαίνει ότι κάθε Προμηθευτής πρέπειπαρέχετε μόνο ένα μοναδικόςσύνολο εμπορευμάτων (Τιμολόγιο). Από θεωρητικής σκοπιάς όλα είναι καλά εδώ. Στην πράξη, αυτό δεν είναι αποδεκτό: κανείς δεν θα αναζητήσει νέο προμηθευτή εάν ο προμηθευτής που έχετε επαληθεύσει μπορεί να παρέχει πολλές σειρές προϊόντων. Και τώρα για τα συναισθήματα που θα βιώσει ο χειριστής όταν προσπαθεί να εισαγάγει δεδομένα σχετικά με έναν νέο προμηθευτή. Δεν θα μπορεί να εισάγει δεδομένα σε κανέναν από τους πίνακες. Έτσι όλες οι αποσκευές της απρεπούς γλώσσας θα κατευθυνθούν σε εσάς.

    Προαιρετικά-υποχρεωτικά.Ένα παράδειγμα σύνδεσης εμφανίζεται στη διαφάνεια. Όπως μπορούμε να δούμε, όλα είναι καλά με τον χειριστή τώρα: μπορεί να εισάγει δεδομένα. Η επιχείρηση έχει και πάλι πρόβλημα: πρέπει να αναζητήσει νέο προμηθευτή, ακόμα κι αν ο προμηθευτής που έχετε επαληθεύσει μπορεί να παρέχει πολλές σειρές προϊόντων. Η επιχείρηση χρειάζεται προβλήματα; Οχι. Πρέπει να λειτουργεί. Πώς να ικανοποιήσετε μια επιχείρηση; Η απάντηση είναι απλή. Όταν σχεδιάζετε μια βάση δεδομένων, πρέπει να σκεφτείτε την κανονικοποίηση. Εάν ο Προμηθευτής είναι οντότητα, χρησιμοποιήστε σχέσεις προαιρετικό-υποχρεωτικό (υποχρεωτικό-προαιρετικό) ή προαιρετικό-προαιρετικό. Αν και τις περισσότερες φορές οι σχέσεις ένας προς έναν είναι λάθος.

    Προαιρετικά-προαιρετικά.Όπως βλέπουμε, ο χειριστής τα πάει και πάλι καλά, αλλά η επιχείρηση έχει και πάλι πρόβλημα. Ας συνοψίσουμε για επικοινωνία ένας προς έναν. Εάν οι οντότητες συμμετέχουν σε μια σύνδεση ως: - υποχρεωτική-υποχρεωτική, τότε μια τέτοια σύνδεση δεν έχει δικαίωμα ζωής. - προαιρετικό-υποχρεωτικό (υποχρεωτικό-προαιρετικό) ή προαιρετικό-προαιρετικό, τότε η επιχειρηματική υποστήριξη είναι προβληματική.

    Μια σχέση υποχρεωτικού-υποχρεωτικού ενός προς πολλά είναι μια αρκετά ισχυρή κατασκευή που υποδηλώνει ότι μια εμφάνιση της οντότητας Β δεν μπορεί να δημιουργηθεί χωρίς ταυτόχρονα να δημιουργηθεί τουλάχιστον μία εμφάνιση της οντότητας Α που σχετίζεται με αυτήν.

    Μια υποχρεωτική-προαιρετική σχέση ένα προς πολλά είναι η πιο κοινή μορφή σχέσης. Υποθέτει ότι κάθε εμφάνιση της οντότητας Α μπορεί να υπάρχει μόνο στο πλαίσιο μιας (και μόνο μίας) εμφάνισης της οντότητας Β. Με τη σειρά της, οι εμφανίσεις της Β μπορούν να υπάρχουν είτε με είτε χωρίς εμφανίσεις της Α.

    Σχέση ένα προς πολλά προαιρετικό-προαιρετικό - Και το Α και το Β μπορούν να υπάρχουν χωρίς σχέση μεταξύ τους.

    Όσον αφορά την προηγούμενη διαφάνεια, αυτά τα διαγράμματα μπορούν να επεξηγηθούν με τα ακόλουθα παραδείγματα.

    Σχέσεις ένα προς πολλά.Αυτές οι σχέσεις υποδηλώνουν ότι μια εγγραφή σε έναν πίνακα μπορεί να σχετίζεται λογικά με πολλές εγγραφές σε έναν άλλο πίνακα.

    Υποχρεωτικό-υποχρεωτικό.Για το παράδειγμα που φαίνεται στη διαφάνεια, αυτή η σχέση σημαίνει ότι κάθε προμηθευτής (Α) πρέπει να παρέχει ένα ή περισσότερα σετ αγαθών (Β). Από θεωρητικής σκοπιάς όλα είναι καλά εδώ. Ωστόσο, στην πράξη, ο χειριστής δεν θα μπορεί να εισαγάγει δεδομένα σε κανέναν από τους πίνακες, καθώς οι εγγραφές πρέπει να είναι ΤΑΥΤΟΧΡΟΝΑεισάγετε και στους δύο πίνακες.

    Προαιρετικά-υποχρεωτικά.Σε αυτήν την περίπτωση, όλα είναι καλά για τον χειριστή: μπορεί να εισάγει δεδομένα, αλλά η επιχείρηση μπορεί να έχει προβλήματα. Το θέμα είναι ότι η προαιρετική-υποχρεωτική σχέση προϋποθέτει ότι ο προμηθευτής (Α) πρέπειπρομηθεύει ένα ή περισσότερα σετ αγαθών (Β), ενώ ο Β Μπορείανήκουν στον προμηθευτή. Με άλλα λόγια, τα αγαθά μπορούν να υπάρχουν χωρίς προμηθευτή ενώ ο προμηθευτής έχει τα αγαθά. Εκείνοι. είναι δυνατή η ανεξέλεγκτη επιχειρηματική συμπεριφορά: ποιος προμήθευσε τα αγαθά; Ποιον να ρωτήσω; Η επιχείρηση χρειάζεται προβλήματα; Οχι. Πρέπει να έχει κέρδος. Σε αυτή την περίπτωση, είναι καλύτερο να χρησιμοποιήσετε υποχρεωτικά-προαιρετικά: ο προμηθευτής μπορεί να προμηθεύσει ένα ή περισσότερα σετ αγαθών, ενώ τα αγαθά πρέπει να ανήκουν στον προμηθευτή. Με άλλα λόγια, το προϊόν έχει προμηθευτή και θα αποθηκευτούν δεδομένα σχετικά με τους προμηθευτές που προμήθευσαν το προϊόν. Και τα πρόβατα είναι ασφαλή και οι λύκοι τρέφονται - ο χειριστής μπορεί να εισάγει δεδομένα και ο επιχειρηματίας είναι ενήμερος.

    Προαιρετικά-προαιρετικά.Όπως βλέπουμε, όλα είναι καλά με τον χειριστή και πάλι, αλλά η επιχείρηση έχει ένα πρόβλημα - έλλειψη ελέγχου: Ένα προϊόν μπορεί να υπάρξει χωρίς προμηθευτή και ένας προμηθευτής χωρίς προϊόν.
    Ας συνοψίσουμε για επικοινωνία ένας προς πολλούς. Εάν οι οντότητες συμμετέχουν σε μια σχέση ως: - υποχρεωτική-υποχρεωτική, τότε μια τέτοια σχέση δεν έχει δικαίωμα ζωής, καθώς είναι αδύνατο να εισαχθούν εγγραφές ταυτόχρονα και στους δύο πίνακες. - προαιρετικό-προαιρετικό, τότε η επιχειρηματική υποστήριξη είναι προβληματική.

    Πολλές προς πολλές σχέσεις επιτρέπονται στα διαγράμματα ER, αλλά όταν μετατρέπονται σε προβολή πίνακα, η σχέση αντικαθίσταται από μια ενδιάμεση οντότητα.

    Πολλά-προς-πολλά υποχρεωτικά-υποχρεωτικά - αυτή η κατασκευή λαμβάνει χώρα συχνά στην αρχή του σταδίου ανάλυσης και σημαίνει σύνδεση - είτε δεν είναι πλήρως κατανοητή και απαιτεί πρόσθετη άδεια, ή αντικατοπτρίζει μια απλή συλλογική σχέση - μια αμφίδρομη λίστα.

    Πολλά-προς-πολλά υποχρεωτικά-προαιρετικά - χρησιμοποιείται σπάνια. Τέτοιες συνδέσεις υπόκεινται πάντα σε περισσότερες λεπτομέρειες.

    Αναδρομικές συνδέσεις.Αυτές οι σχέσεις υποδηλώνουν ότι οι εγγραφές πίνακα μπορούν να σχετίζονται λογικά μεταξύ τους.

    Προαιρετικά-προαιρετικά ένα προς ένα.Για το παράδειγμα που φαίνεται στη διαφάνεια, αυτή η σχέση σημαίνει ότι οποιοσδήποτε άντρας (γυναίκα) μπορεί να παντρευτεί μια γυναίκα (άνδρα). Αυτή η σύνδεση είναι βολική για την παρακολούθηση του ιστορικού όσων παντρεύονται: για πρώτη φορά, ξανά, ... Με άλλα λόγια, ένας εναλλακτικός τύπος σχέσης.

    Προαιρετικό-προαιρετικό ένα προς πολλά.Ένα παράδειγμα σύνδεσης εμφανίζεται στη διαφάνεια. Αυτή είναι η κλασική ιεραρχία ( δομή δέντρου). Η σχέση που εμφανίζεται στη διαφάνεια μπορεί να ερμηνευτεί, για παράδειγμα, ως εξής: οποιοσδήποτε υπάλληλος μπορεί να αναφέρει μόνο έναν διευθυντή, ενώ ένας διευθυντής μπορεί να διαχειρίζεται έναν ή πολλούς υπαλλήλους.

    Προαιρετικά-προαιρετικά M:MΈνα παράδειγμα επικοινωνίας εμφανίζεται στη διαφάνεια 3. Αυτή είναι μια δομή δικτύου.

    Λίστα ελέγχου ερωτήσεων οντοτήτων

    • Αντικατοπτρίζει το όνομα της οντότητας την ουσία; αυτού του αντικειμένου?
    • Υπάρχει κάποια επικάλυψη με άλλες οντότητες;
    • Υπάρχουν τουλάχιστον δύο χαρακτηριστικά;
    • Δεν υπάρχουν περισσότερα από οκτώ χαρακτηριστικά συνολικά;
    • Υπάρχουν συνώνυμα/ομώνυμα για αυτήν την οντότητα;
    • Είναι η οντότητα πλήρως καθορισμένη;
    • Υπάρχει ένα μοναδικό αναγνωριστικό;
    • Υπάρχει τουλάχιστον μία σύνδεση;
    • Υπάρχει τουλάχιστον μία λειτουργία για τη δημιουργία, την αναζήτηση, την επεξεργασία, τη διαγραφή, την αρχειοθέτηση και τη χρήση μιας τιμής οντότητας;
    • Υπάρχει ιστορικό αλλαγών;
    • Υπάρχει συμμόρφωση με τις αρχές κανονικοποίησης δεδομένων;
    • Υπάρχει η ίδια οντότητα σε άλλο σύστημα εφαρμογής, ίσως με διαφορετικό όνομα;
    • Είναι πολύ γενική η ουσία;
    • Είναι επαρκές το επίπεδο γενίκευσης που ενσωματώνεται σε αυτό;

    Λίστα ελέγχου χαρακτηριστικών:

    • Είναι το όνομα του χαρακτηριστικού ένα ενικό ουσιαστικό που αντικατοπτρίζει την ουσία της ιδιότητας που συμβολίζεται με το χαρακτηριστικό;
    • Το όνομα του χαρακτηριστικού δεν περιλαμβάνει το όνομα της οντότητας (δεν θα έπρεπε);
    • Έχει ένα χαρακτηριστικό μόνο μία τιμή κάθε φορά;
    • Υπάρχουν διπλότυπες τιμές (ή ομάδες);
    • Περιγράφονται η μορφή, το μήκος, οι αποδεκτές τιμές, ο αλγόριθμος απόκτησης κ.λπ.;
    • Θα μπορούσε αυτό το χαρακτηριστικό να είναι μια οντότητα που λείπει και θα ήταν χρήσιμη για μια άλλη σύστημα εφαρμογής(υπάρχει ήδη ή προτείνεται);
    • Θα μπορούσε να είναι μια χαμένη σύνδεση;
    • Υπάρχει κάπου αναφορά σε ένα χαρακτηριστικό ως "χαρακτηριστικό έργου" που όταν πρόκειται να στρώμα εφαρμογήςπρέπει να εξαφανιστεί;
    • Υπάρχει ανάγκη για ιστορικό αλλαγών;
    • Η σημασία του εξαρτάται μόνο από αυτήν την οντότητα;
    • Εάν απαιτείται η τιμή του χαρακτηριστικού, είναι πάντα γνωστή;
    • Υπάρχει ανάγκη να δημιουργηθεί ένας τομέας για αυτό και παρόμοια χαρακτηριστικά;
    • Η τιμή του εξαρτάται μόνο από κάποιο μέρος του μοναδικού αναγνωριστικού;
    • Η τιμή του εξαρτάται από τις τιμές ορισμένων χαρακτηριστικών που δεν περιλαμβάνονται στο μοναδικό αναγνωριστικό;