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

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

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

Σχεδιάζοντας ένα διάγραμμα

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

Μου πήρε περίπου δέκα λεπτά για να σχεδιάσω το παρακάτω διάγραμμα:

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

Δημιουργήστε SQL και τροφοδοτήστε το στο DBMS

Είναι εύκολο να δει κανείς ότι αυτό το διάγραμμα αντιστοιχίζεται εύκολα σε κώδικα για τη δημιουργία ενός σχήματος βάσης δεδομένων σε SQL. Στο DbSchema, μπορείτε να δημιουργήσετε SQL λέγοντας Schema → Generate Schema and Data Script. Στη συνέχεια, το σενάριο που προκύπτει μπορεί να τροφοδοτηθεί στο DBMS που χρησιμοποιείτε:

cat music.sql | psql -hlocalhost test_database test_user

Χρησιμοποίησα PostgreSQL. Θα βρείτε πληροφορίες σχετικά με τον τρόπο εγκατάστασης αυτού του DBMS σε αυτήν τη σημείωση.

Λοιπόν, τι με καθοδήγησε όταν σχεδίαζα το κύκλωμα;

Κανονικές μορφές

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

Σε γενικές γραμμές, ένας πίνακας είναι στην πρώτη κανονική μορφή (1NF) εάν υπάρχει ακριβώς μία τιμή στη διασταύρωση οποιασδήποτε γραμμής και οποιασδήποτε στήλης στον πίνακα. Στα σύγχρονα RDBMS, αυτή η προϋπόθεση πληρούται πάντα. Ακόμα κι αν το DBMS υποστηρίζει σύνολα ή πίνακες, ακριβώς ένα σύνολο ή τιμή πίνακα αποθηκεύεται στη διασταύρωση μιας γραμμής και μιας στήλης. Αλλά στον πίνακα (χρήστης varchar(100), ακέραιος αριθμός τηλεφώνου)δεν μπορεί να υπάρχει γραμμή alex - 1234, 5678 . Στο 1NF μπορούν να υπάρχουν μόνο δύο όροι - alex - 1234 και alex - 5678.

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

Ένας πίνακας είναι σε τρίτη κανονική μορφή εάν είναι σε 2NF και κανένα χαρακτηριστικό μη κλειδί δεν έχει μεταβατική λειτουργική εξάρτηση από το πρωτεύον κλειδί. Για παράδειγμα, εξετάστε τον πίνακα (υπάλληλος varchar(100) πρωτεύον κλειδί, τμήμα varchar(100), τμήμα_τηλέφωνο ακέραιος). Προφανώς είναι σε 2NF. Αλλά ο αριθμός τηλεφώνου του τμήματος εξαρτάται από το όνομα του υπαλλήλου, καθώς ο υπάλληλος καθορίζει μοναδικά το τμήμα και το τμήμα προσδιορίζει μοναδικά τον αριθμό τηλεφώνου του τμήματος. Για να μετατρέψετε έναν πίνακα σε 3NF, πρέπει να τον χωρίσετε σε δύο πίνακες - υπάλληλος - τμήμα και τμήμα - τηλέφωνο.

Είναι εύκολο να δούμε ότι η κανονικοποίηση μειώνει τον πλεονασμό της βάσης δεδομένων και αποτρέπει την εισαγωγή τυχαίων σφαλμάτων. Για παράδειγμα, εάν αφήσετε τον πίνακα από το τελευταίο παράδειγμα στο 2NF, μπορείτε κατά λάθος να εκχωρήσετε διαφορετικούς αριθμούς τηλεφώνου στο ίδιο τμήμα. Ή σκεφτείτε μια εταιρεία με πέντε τμήματα και 1.000 υπαλλήλους. Εάν ο αριθμός τηλεφώνου ενός τμήματος έχει αλλάξει, τότε για να τον ενημερώσετε στη βάση δεδομένων, στην περίπτωση του 2NF, θα χρειαστεί να σαρώσετε 1000 σειρές και στην περίπτωση του 3NF, μόνο πέντε.

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

Περιεχόμενα σχεδιασμού και σταδιακής διαμόρφωσης βάσης δεδομένων

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

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

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

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

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

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

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

Έτσι, τα κύρια στάδια σχεδιασμού σε λεπτομερή μορφή παρουσιάζονται στα ακόλουθα στάδια:

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

Τα βασικά θα συζητηθούν λεπτομερέστερα παρακάτω.

Infological design

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

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

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

  1. Η λειτουργική προσέγγιση βασίζεται στα καθήκοντα που έχουν ανατεθεί. Ονομάζεται λειτουργική γιατί χρησιμοποιείται εάν είναι γνωστές οι λειτουργίες και τα καθήκοντα των προσώπων που θα εξυπηρετήσουν τις ανάγκες πληροφοριών τους με τη βοήθεια της σχεδιασμένης βάσης δεδομένων.
  2. Η θεματική προσέγγιση εστιάζει σε πληροφορίες σχετικά με τις πληροφορίες που θα περιέχονται στη βάση δεδομένων, παρά το γεγονός ότι η δομή του ερωτήματος μπορεί να μην έχει οριστεί. Σε αυτή την περίπτωση, η έρευνα σε μια θεματική περιοχή εστιάζει στην πιο επαρκή εμφάνισή της στη βάση δεδομένων στο πλαίσιο του πλήρους φάσματος των αναμενόμενων αιτημάτων πληροφοριών.
  3. Μια ολοκληρωμένη προσέγγιση που χρησιμοποιεί τη μέθοδο «οντότητα-σχέση» συνδυάζει τα πλεονεκτήματα των δύο προηγούμενων. Η μέθοδος καταλήγει στη διαίρεση ολόκληρης της θεματικής περιοχής σε τοπικά μέρη, τα οποία μοντελοποιούνται ξεχωριστά και στη συνέχεια ανασυνδυάζονται σε μια ολόκληρη περιοχή.

Δεδομένου ότι η χρήση της μεθόδου «σχέση οντοτήτων» είναι μια μέθοδος συνδυασμένου σχεδιασμού σε αυτό το στάδιο, τις περισσότερες φορές γίνεται προτεραιότητα.

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

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

Είναι απαραίτητο να διαχωριστούν οι έννοιες της «στιγμής οντότητας» (ένα αντικείμενο που χαρακτηρίζεται από συγκεκριμένες τιμές ιδιοτήτων) και η έννοια του «τύπου οντότητας» - ένα αντικείμενο που χαρακτηρίζεται από ένα κοινό όνομα και μια λίστα ιδιοτήτων.

Για κάθε μεμονωμένη οντότητα, επιλέγονται χαρακτηριστικά (ένα σύνολο ιδιοτήτων), τα οποία, ανάλογα με το κριτήριο, μπορούν να είναι:

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

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

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

Επιλογή συστήματος ελέγχου και λογισμικού βάσης δεδομένων

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

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

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

Λογικός σχεδιασμός βάσης δεδομένων

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

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

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

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

Τα σχήματα βάσεων δεδομένων σχηματίζονται χρησιμοποιώντας μία από τις δύο διαφορετικές προσεγγίσεις:

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

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

Σχεδιασμός φυσικής βάσης δεδομένων

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

Η κατασκευή ενός φυσικού μοντέλου περιλαμβάνει την επίλυση σε μεγάλο βαθμό αντιφατικών προβλημάτων:

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

Η δεύτερη εργασία έρχεται σε διένεξη με την πρώτη γιατί, για παράδειγμα:

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

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

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

30.03.17 3351

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

Διαδικασία Σχεδιασμού Βάσεων Δεδομένων

Σωστά δομημένη βάση δεδομένων:

  • Βοηθά στην εξοικονόμηση χώρου στο δίσκο εξαλείφοντας τα περιττά δεδομένα.
  • Διατηρεί την ακρίβεια και την ακεραιότητα των δεδομένων.
  • Παρέχει εύκολη πρόσβαση στα δεδομένα.

Η ανάπτυξη της βάσης δεδομένων περιλαμβάνει τα ακόλουθα στάδια:

  1. Ανάλυση απαιτήσεων ή προσδιορισμός σκοπού βάσης δεδομένων.
  2. Οργάνωση δεδομένων σε πίνακες.
  3. Καθορισμός πρωτευόντων κλειδιών και ανάλυση σχέσεων.
  4. Κανονικοποίηση πινάκων.

Ας εξετάσουμε το καθένα στάδιο σχεδιασμού βάσης δεδομένωνπερισσότερες λεπτομέρειες. Λάβετε υπόψη ότι αυτό το σεμινάριο καλύπτει το μοντέλο σχεσιακής βάσης δεδομένων του Edgar Codd, γραμμένο σε SQL ( αντί για ιεραρχικά, δικτυακά ή αντικειμενικά μοντέλα).

Ανάλυση Απαιτήσεων: Προσδιορισμός του Σκοπού της Βάσης Δεδομένων

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

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

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

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

Πελάτες

  • Διεύθυνση;
  • Πόλη, Πολιτεία, Τ.Κ.
  • Διεύθυνση ηλεκτρονικού ταχυδρομείου.

Εμπορεύματα

  • Ονομα;
  • Τιμή;
  • Ποσότητα σε απόθεμα?
  • Ποσότητα για παραγγελία.

Παραγγελίες

  • Αριθμός παραγγελίας;
  • Αντιπρόσωπος πωλήσεων;
  • Ημερομηνία
  • Προϊόν;
  • Ποσότητα;
  • Τιμή;
  • Τιμή.

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

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

Δομή βάσης δεδομένων: δομικά στοιχεία

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

Για να μετατρέψετε λίστες δεδομένων σε πίνακες, ξεκινήστε δημιουργώντας έναν πίνακα για κάθε τύπο αντικειμένου, όπως προϊόντα, πωλήσεις, πελάτες και παραγγελίες. Εδώ είναι ένα παράδειγμα:

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

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

  • CHAR - συγκεκριμένο μήκος κειμένου.
  • VARCHAR - κείμενο διαφόρων μηκών.
  • ΚΕΙΜΕΝΟ - μεγάλη ποσότητα κειμένου.
  • Το INT είναι θετικός ή αρνητικός ακέραιος αριθμός.
  • FLOAT , DOUBLE — αριθμοί κινητής υποδιαστολής.
  • BLOB - δυαδικά δεδομένα.

Ορισμένα DBMS προσφέρουν επίσης έναν τύπο δεδομένων Autonumber, ο οποίος δημιουργεί αυτόματα έναν μοναδικό αριθμό σε κάθε σειρά.

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

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

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

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

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

Δημιουργία σχέσεων μεταξύ οντοτήτων

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

Κάθε αντικείμενο μπορεί να διασυνδεθεί με ένα άλλο χρησιμοποιώντας έναν από τους τρεις τύπους σχέσεων:

Επικοινωνία ένας προς έναν

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

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

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

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

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

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

Για να εφαρμόσετε μια σχέση 1:M, προσθέστε το πρωτεύον κλειδί από τον πίνακα "one" ως χαρακτηριστικό στον άλλο πίνακα. Εάν το πρωτεύον κλειδί καθορίζεται με αυτόν τον τρόπο σε έναν άλλο πίνακα, ονομάζεται ξένο κλειδί. Ο πίνακας στην πλευρά "1" της σχέσης είναι ο πίνακας γονέα με τον πίνακα παιδιών στην άλλη πλευρά.

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

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

Σε ένα διάγραμμα ER, αυτές οι σχέσεις αντιπροσωπεύονται χρησιμοποιώντας τις ακόλουθες γραμμές:

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

Για να γίνει αυτό, πρέπει να δημιουργήσετε μια νέα οντότητα μεταξύ αυτών των δύο πινάκων. Εάν υπάρχει σχέση M:N μεταξύ πωλήσεων και προϊόντων, μπορείτε να καλέσετε αυτό το νέο αντικείμενο " πωλούνται_προϊόντα», καθώς θα περιέχει στοιχεία για κάθε πώληση. Τόσο ο πίνακας πωλήσεων όσο και ο πίνακας προϊόντων θα έχουν σχέση 1:M με τα sold_products . Αυτός ο τύπος ενδιάμεσου αντικειμένου ονομάζεται πίνακας συνδέσεων, συσχετιστικό αντικείμενο ή πίνακας συνδέσμων σε διάφορα μοντέλα.

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

Υποχρεωτικό ή όχι;

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

Δύο αντικείμενα μπορούν να αλληλοεξαρτώνται ( το ένα δεν μπορεί να υπάρξει χωρίς το άλλο).

Αναδρομικές συνδέσεις

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

Επιπλέον συνδέσεις

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

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

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

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

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

Πρώτη μορφή κανονικοποίησης

Η πρώτη μορφή κανονικοποίησης ( συντομογραφία 1NF) αναφέρει ότι κατά τη διάρκεια λογική σχεδίαση βάσης δεδομένωνΚάθε κελί σε έναν πίνακα μπορεί να έχει μόνο μία τιμή, όχι μια λίστα τιμών. Επομένως, ένας πίνακας όπως ο παρακάτω δεν αντιστοιχεί στο 1NF:

Ίσως θελήσετε να παρακάμψετε αυτόν τον περιορισμό χωρίζοντας τα δεδομένα σε πρόσθετες στήλες. Αλλά αυτό αντίκειται επίσης στους κανόνες: ένας πίνακας με ομάδες διπλότυπων ή στενά συνδεδεμένων χαρακτηριστικών δεν συμμορφώνεται με την πρώτη μορφή κανονικοποίησης. Για παράδειγμα, ο παρακάτω πίνακας δεν αντιστοιχεί στο 1NF:

Αντίθετα, κατά τη διάρκεια του σχεδιασμού της φυσικής βάσης δεδομένων, διαιρέστε τα δεδομένα σε πολλούς πίνακες ή εγγραφές έως ότου κάθε κελί περιέχει μόνο μία τιμή και δεν υπάρχουν πρόσθετες στήλες. Τέτοια δεδομένα θεωρείται ότι αναλύονται στο μικρότερο δυνατό μέγεθος. Στον παραπάνω πίνακα, μπορείτε να δημιουργήσετε έναν επιπλέον πίνακα " Λεπτομέρειες πωλήσεων”, το οποίο θα ταιριάξει συγκεκριμένα προϊόντα με τις πωλήσεις. Το "Sales" θα έχει σχέση 1:M με το " Λεπτομέρειες πωλήσεων».

Δεύτερη μορφή ομαλοποίησης

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

Για παράδειγμα, το χαρακτηριστικό "ηλικία" εξαρτάται από το "γενέθλια", το οποίο, με τη σειρά του, εξαρτάται από το "φοιτητικό ID", έχει μερική λειτουργική εξάρτηση. Ένας πίνακας που περιέχει αυτά τα χαρακτηριστικά δεν θα συμμορφώνεται με τη δεύτερη μορφή κανονικοποίησης.

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

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

  • Αριθμός παραγγελίας (πρωτεύον κλειδί).
  • Αναγνωριστικό προϊόντος (πρωτεύον κλειδί).
  • Ονομασία προϊόντος.

Τρίτη μορφή κανονικοποίησης

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

Σύμφωνα με το 3NF, δεν μπορείτε να αποθηκεύσετε προκύπτοντα δεδομένα σε έναν πίνακα, όπως η στήλη "Φόρος", η οποία στο παρακάτω παράδειγμα εξαρτάται άμεσα από το συνολικό κόστος της παραγγελίας:

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

Πολυδιάστατα δεδομένα

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

Κανόνες ακεραιότητας δεδομένων

Επίσης χρησιμοποιώντας εργαλεία σχεδίασης βάσεων δεδομένωνείναι απαραίτητο να διαμορφώσετε τη βάση δεδομένων λαμβάνοντας υπόψη τη δυνατότητα ελέγχου των δεδομένων για συμμόρφωση με ορισμένους κανόνες. Πολλά DBMS, όπως η Microsoft Access, εφαρμόζουν αυτόματα ορισμένους από αυτούς τους κανόνες.

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

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

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

Προσθήκη ευρετηρίων και προβολών

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

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

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

Προηγμένες ιδιότητες

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

SQL και UML

Ενοποιημένη γλώσσα μοντελοποίησης ( UML) είναι ένας άλλος οπτικός τρόπος έκφρασης πολύπλοκων συστημάτων που δημιουργούνται σε μια αντικειμενοστραφή γλώσσα. Μερικές από τις έννοιες που αναφέρονται σε αυτό το σεμινάριο είναι γνωστές με διαφορετικά ονόματα στο UML. Για παράδειγμα, ένα αντικείμενο στο UML είναι γνωστό ως κλάση.

Το UML δεν χρησιμοποιείται τόσο συχνά αυτές τις μέρες. Σήμερα χρησιμοποιείται ακαδημαϊκά και στην επικοινωνία μεταξύ των προγραμματιστών λογισμικού και των πελατών τους.

Συστήματα διαχείρισης βάσεων δεδομένων

Η δομή της σχεδιασμένης βάσης δεδομένων εξαρτάται από το DBMS που χρησιμοποιείτε. Μερικά από τα πιο κοινά:

  • Oracle DB;
  • MySQL ;
  • Microsoft SQL Server?
  • PostgreSQL ;
  • IBM DB2.

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

Μετάφραση του άρθρου " Οδηγός Δομής και Σχεδιασμού Βάσης Δεδομένων» φιλική ομάδα έργου.

Καλό κακό

Βήματα σχεδίασης βάσης δεδομένων

Όλες οι λεπτές αποχρώσεις της κατασκευής ενός μοντέλου πληροφοριών για μια συγκεκριμένη θεματική περιοχή της ανθρώπινης δραστηριότητας επιδιώκουν έναν στόχο - να αποκτήσουν μια καλή βάση δεδομένων. Ας εξηγήσουμε τον όρο – μια καλή βάση δεδομένων και ας διατυπώσουμε τις απαιτήσεις που πρέπει να πληροί μια τέτοια βάση δεδομένων:

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

2. Η βάση δεδομένων πρέπει να παρέχει τα απαιτούμενα δεδομένα σε αποδεκτό χρόνο, δηλ. πληρούν τις απαιτήσεις απόδοσης·

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

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

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

Ας εξετάσουμε τα κύρια στάδια του σχεδιασμού (Εικ. 3.5):

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

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

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

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

Ρύζι. 3.5. Διάγραμμα σχεδίασης βάσης δεδομένων

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

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

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

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

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

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

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

Όγδοο στάδιο. Δοκιμές και βελτιστοποίηση. Ένα υποχρεωτικό στάδιο είναι η δοκιμή και η βελτιστοποίηση της αναπτυγμένης εφαρμογής.

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

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

Σχεδιασμός Βάσεων Δεδομένων

Βασικές έννοιες για βάσεις δεδομένων και DBMS

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

Βάση δεδομένων- Πρόκειται για IP που αποθηκεύεται ηλεκτρονικά.

Βάση δεδομένων (DB)– μια οργανωμένη συλλογή δεδομένων που προορίζονται για μακροχρόνια αποθήκευση σε εξωτερική μνήμη υπολογιστή, συνεχή ενημέρωση και χρήση.

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

Ταξινόμηση βάσεων δεδομένων:

1. Σύμφωνα με τη φύση των αποθηκευμένων πληροφοριών:

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

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

2. Με τη μέθοδο αποθήκευσης δεδομένων:

- Κεντρικό (αποθηκευμένο σε έναν υπολογιστή),

- Διανέμεται (χρησιμοποιείται σε τοπικά και παγκόσμια δίκτυα υπολογιστών).

3. Σύμφωνα με τη δομή οργάνωσης δεδομένων:

- Σχεσιακό (πίνακας),

- Μη σχέση.

Ο όρος «σχεσιακός» (από το λατινικό relatio – σχέση ) υποδεικνύει ότι ένα τέτοιο μοντέλο αποθήκευσης δεδομένων βασίζεται στη σχέση των συστατικών μερών του. Σχετικόςη βάση δεδομένων είναι ουσιαστικά μια δισδιάστατη τραπέζι. Κάθε γραμμή ενός τέτοιου πίνακα ονομάζεται εγγραφή. Οι στήλες του πίνακα ονομάζονται πεδία: κάθε πεδίο χαρακτηρίζεται από το όνομα και τον τύπο δεδομένων του. Ένα πεδίο βάσης δεδομένων είναι μια στήλη πίνακα που περιέχει τις τιμές μιας συγκεκριμένης ιδιότητας.

Ιδιότητες του μοντέλου σχεσιακών δεδομένων:

Κάθε στοιχείο πίνακα είναι ένα στοιχείο δεδομένων.

Όλα τα πεδία του πίνακα είναι ομοιογενή, δηλ. έχουν έναν τύπο?

Δεν υπάρχουν πανομοιότυπες εγγραφές στον πίνακα.

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

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

Ο κόμβος είναι ένα μοντέλο πληροφοριών ενός στοιχείου που βρίσκεται σε ένα δεδομένο επίπεδο ιεραρχίας.

Ιδιότητες του μοντέλου ιεραρχικών δεδομένων:

Αρκετοί κόμβοι χαμηλότερου επιπέδου συνδέονται μόνο με έναν κόμβο υψηλότερου επιπέδου.

Ένα ιεραρχικό δέντρο έχει μόνο μία κορυφή (τη ρίζα) και δεν είναι υποδεέστερο σε καμία άλλη κορυφή.

Κάθε κόμβος έχει το δικό του όνομα (αναγνωριστικό).

Υπάρχει μόνο μία διαδρομή από την ρίζα στην εγγραφή πιο ιδιωτικών δεδομένων.

Η ιεραρχική βάση δεδομένων είναι ο Κατάλογος φακέλων των Windows, με τον οποίο μπορείτε να εργαστείτε εκκινώντας τον Explorer. Το ανώτερο επίπεδο καταλαμβάνεται από τον φάκελο Desktop. Στο δεύτερο επίπεδο υπάρχουν οι φάκελοι My Computer, My Documents, Network Neighborhood και Recycle Bin, οι οποίοι είναι απόγονοι του φακέλου Desktop, όντας δίδυμοι. Με τη σειρά του, ο φάκελος My Computer είναι πρόγονος σε σχέση με φακέλους τρίτου επιπέδου, φακέλους δίσκου (Disk 3.5 (A:), C:, D:, E:, F:) και φακέλους συστήματος (Εκτυπωτές, Πίνακας Ελέγχου κ.λπ. .).

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

Η βάση δεδομένων δικτύου είναι στην πραγματικότητα ο Παγκόσμιος Ιστός του παγκόσμιου δικτύου υπολογιστών Διαδικτύου. Οι υπερσύνδεσμοι συνδέουν εκατοντάδες εκατομμύρια έγγραφα μαζί σε μια ενιαία κατανεμημένη βάση δεδομένων δικτύου.

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

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

Οι κύριες ενέργειες που μπορεί να εκτελέσει ένας χρήστης χρησιμοποιώντας το DBMS:

Δημιουργία δομής βάσης δεδομένων.

Συμπλήρωση της βάσης δεδομένων με πληροφορίες.

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

Αναζήτηση πληροφοριών στη βάση δεδομένων.

Ταξινόμηση δεδομένων;

Προστασία βάσεων δεδομένων.

Έλεγχος της ακεραιότητας της βάσης δεδομένων.

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

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

Δημοφιλή DBMS - FoxPro, Access for Windows, Paradox.

Επομένως, είναι απαραίτητο να γίνει διάκριση μεταξύ των ίδιων των βάσεων δεδομένων (DBs) - διατεταγμένα σύνολα δεδομένων και συστημάτων διαχείρισης βάσεων δεδομένων (DBMS) - προγραμμάτων που διαχειρίζονται την αποθήκευση και την επεξεργασία δεδομένων. Για παράδειγμα, η εφαρμογή Access, που περιλαμβάνεται στη σουίτα γραφείου του Microsoft Office, είναι ένα DBMS που επιτρέπει στο χρήστη να δημιουργεί και να επεξεργάζεται βάσεις δεδομένων σε πίνακα.

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

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

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

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

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



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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων

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

Το LCBD περιλαμβάνει τα ακόλουθα κύρια στάδια:

1. Σχεδιασμός για την ανάπτυξη βάσεων δεδομένων.

2. Προσδιορισμός απαιτήσεων συστήματος.

3. Συλλογή και ανάλυση των απαιτήσεων των χρηστών:

4. Σχεδιασμός βάσης δεδομένων:

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

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

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

Στο στάδιο της λογικής σχεδίασης, λαμβάνονται υπόψη οι ιδιαιτερότητες ενός συγκεκριμένου μοντέλου δεδομένων, αλλά οι ιδιαιτερότητες ενός συγκεκριμένου ΣΔΒΔ ενδέχεται να μην λαμβάνονται υπόψη.

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

5. Ανάπτυξη εφαρμογών:

Σχεδιασμός συναλλαγών (μια ομάδα εντολών SQL (ένα σύνολο εντολών) που εκτελείται ως σύνολο).

Σχεδιασμός διεπαφής χρήστη.

6. Εφαρμογή.

8. Δοκιμές.

9. Λειτουργία και συντήρηση:

Λειτουργική ανάλυση και υποστήριξη της αρχικής έκδοσης της βάσης δεδομένων.

Προσαρμογή, εκσυγχρονισμός και υποστήριξη επανασχεδιασμένων επιλογών.

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

Κύρια καθήκοντα του σχεδιασμού της βάσης δεδομένων:

Διασφάλιση ότι όλες οι απαραίτητες πληροφορίες αποθηκεύονται στη βάση δεδομένων.

Εξασφάλιση της δυνατότητας λήψης δεδομένων για όλα τα απαραίτητα αιτήματα.

Μειώστε τον πλεονασμό και την επικάλυψη δεδομένων.

Διασφάλιση της ακεραιότητας της βάσης δεδομένων.