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

Τύποι μοντέλων βάσεων δεδομένων

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

Ιεραρχικό μοντέλο

ΣΕ ιεραρχικό μοντέλοΤα στοιχεία οργανώνονται σε δομές που διασυνδέονται με ιεραρχικές ή δέντρου τύπου σχέσεις. Ένα γονικό στοιχείο μπορεί να έχει πολλά θυγατρικά στοιχεία. Αλλά ένα παιδί στοιχείο μπορεί να έχει μόνο έναν πρόγονο.

« Σύστημα Διαχείρισης Πληροφοριών» ( Σύστημα Διαχείρισης Πληροφοριών) από το IMB είναι ένα παράδειγμα ιεραρχικού DBMS.

Το ιεραρχικό μοντέλο οργανώνει δεδομένα με τη μορφή ενός δέντρου με μια ιεραρχία γονικών και θυγατρικών τμημάτων. Αυτό το μοντέλο συνεπάγεται τη δυνατότητα ύπαρξης πανομοιότυπων ( κυρίως θυγατρικές) στοιχεία. Τα δεδομένα εδώ αποθηκεύονται σε μια σειρά εγγραφών με πεδία τιμών συνδεδεμένα σε αυτά. Το μοντέλο συλλέγει μαζί όλα τα στιγμιότυπα μιας συγκεκριμένης εγγραφής ως «τύπους εγγραφών» - αυτά είναι ισοδύναμα με πίνακες στο σχεσιακό μοντέλο και οι μεμονωμένες εγγραφές είναι οι στήλες ενός πίνακα. Για τη δημιουργία σχέσεων μεταξύ τύπων εγγραφών, το ιεραρχικό μοντέλο χρησιμοποιεί σχέσεις όπως " γονιός-παιδί» τύπος 1:Ν. Αυτό επιτυγχάνεται χρησιμοποιώντας μια δομή δέντρου - είναι «δανεισμένη» από τα μαθηματικά, όπως η θεωρία συνόλων που χρησιμοποιείται στο σχεσιακό μοντέλο.

Ιεραρχικά συστήματα βάσεων δεδομένων

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

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

Οι ιεραρχικές βάσεις δεδομένων είναι δημοφιλείς από τα τέλη της δεκαετίας του 1960, όταν η IBM εισήγαγε το Σύστημα Διαχείρισης Πληροφοριακών Συστημάτων DBMS. Το ιεραρχικό διάγραμμα αποτελείται από τύπους εγγραφών και " γονιός-παιδί»:

  • Μια εγγραφή είναι μια συλλογή τιμών πεδίων.
  • Οι εγγραφές του ίδιου τύπου ομαδοποιούνται σε τύπους εγγραφών.
  • Η σχέση γονέα-παιδιού είναι μια σχέση 1:N μεταξύ δύο τύπων εγγραφών.
  • Ένα ιεραρχικό σχήμα βάσης δεδομένων αποτελείται από πολλά ιεραρχικά σχήματα.

Μοντέλο δικτύου

Στο μοντέλο δεδομένων δικτύουένα γονικό στοιχείο μπορεί να έχει πολλά παιδιά και ένα θυγατρικό στοιχείο μπορεί να έχει πολλούς προγόνους. Οι εγγραφές σε αυτό το μοντέλο συνδέονται με λίστες με δείκτες. IDMS(" Ολοκληρωμένο Σύστημα Διαχείρισης Δεδομένων") από την εταιρεία Computer Associates International Inc.- ένα παράδειγμα ενός DBMS δικτύου.

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

Το μοντέλο δικτύου σας επιτρέπει να μοντελοποιήσετε πιο φυσικά τις σχέσεις μεταξύ των στοιχείων. Αν και αυτό το μοντέλο χρησιμοποιήθηκε ευρέως στην πράξη, δεν έγινε ποτέ κυρίαρχο για δύο βασικούς λόγους. Πρώτον, η IBM αποφάσισε να μην εγκαταλείψει το ιεραρχικό μοντέλο σε επεκτάσεις στα προϊόντα της όπως το IMS και το DL/I. Δεύτερον, μετά από κάποιο χρονικό διάστημα αντικαταστάθηκε από το σχεσιακό μοντέλο, το οποίο προσέφερε μια διεπαφή υψηλότερου επιπέδου, δηλωτική.

Η δημοτικότητα του μοντέλου δικτύου συνέπεσε με τη δημοτικότητα του ιεραρχικού μοντέλου. Ορισμένα δεδομένα είναι πολύ πιο φυσικό να μοντελοποιούνται με πολλούς προγόνους για ένα μόνο παιδί. Το μοντέλο δικτύου κατέστησε δυνατή τη μοντελοποίηση σχέσεων πολλά προς πολλά. Τα πρότυπά του ορίστηκαν επίσημα το 1971 στο Συνέδριο για τις Γλώσσες Συστημάτων Επεξεργασίας Δεδομένων ( CODASYL).

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

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

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

Γνωστές βάσεις δεδομένων δικτύου:

  • TurboIMAGE;
  • IDMS;
  • Ενσωματωμένο RDM.
  • RDM διακομιστή.

Σχεσιακό μοντέλο

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

Σε αντίθεση με τους άλλους δύο τύπους DBMS, σε μοντέλα σχεσιακών δεδομένωνΔεν χρειάζεται να κοιτάξετε όλους τους δείκτες, γεγονός που διευκολύνει την εκτέλεση ερωτημάτων για την ανάκτηση πληροφοριών σε σύγκριση με τα δικτυακά και ιεραρχικά DBMS. Αυτός είναι ένας από τους κύριους λόγους για τους οποίους το σχεσιακό μοντέλο αποδείχθηκε πιο βολικό. Κοινά σχεσιακά DBMS: Oracle, Sybase, DB2, Ingres, Informix και MS-SQL Server.

« Στο σχεσιακό μοντέλο, τόσο τα αντικείμενα όσο και οι σχέσεις τους αντιπροσωπεύονται μόνο από πίνακες και τίποτα περισσότερο.».

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

Οι σχεσικοί πίνακες έχουν τις ακόλουθες ιδιότητες:

  • Όλες οι τιμές είναι ατομικές.
  • Κάθε σειρά είναι μοναδική.
  • Η σειρά των στηλών δεν είναι σημαντική.
  • Η σειρά των σειρών δεν είναι σημαντική.
  • Κάθε στήλη έχει το δικό της μοναδικό όνομα.

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

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

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

Σύγκριση τριών μοντέλων

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

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

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

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

Τα αντικείμενα συνδέονται με σχέσεις, οι κύριοι τύποι των οποίων μπορούν να οριστούν ως εξής:

"Ενα προς ένα"

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

Κάθε διευθυντής μπορεί να έχει μόνο ένα τμήμα και το αντίστροφο.

"Ένας στους πολλούς"

Στα μοντέλα δεδομένων, η σχέση ενός αντικειμένου με πολλά. Για παράδειγμα, Υπάλληλος -> Τμήμα.

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

"Πολλά σε πολλά"

Σε μια δεδομένη χρονική στιγμή, ένα αντικείμενο μπορεί να συσχετιστεί με οποιοδήποτε άλλο. Για παράδειγμα, Υπάλληλος -> Έργο.

Ένας υπάλληλος μπορεί να συμμετάσχει σε πολλά έργα και κάθε έργο μπορεί να περιλαμβάνει πολλούς υπαλλήλους.

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

Κάθε πίνακας αντιπροσωπεύει ένα αντικείμενο.

Κάθε πίνακας αποτελείται από γραμμές και στήλες.

Οι σχέσεις μεταξύ των αντικειμένων αντιπροσωπεύονται με στήλες.

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

Οι τιμές στηλών επιλέγονται από την περιοχή ή το σύνολο όλων των πιθανών τιμών.

Οι στήλες που χρησιμοποιούνται για τη σύνδεση αντικειμένων ονομάζονται στήλες κλειδιών. Υπάρχουν δύο τύποι κλειδιών - κύρια και ξένα.

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

Πλεονεκτήματα του μοντέλου σχεσιακών δεδομένων:

  1. Ευκολία στη χρήση.
  2. Ευκαμψία.
  3. Ανεξαρτησία δεδομένων.
  4. Ασφάλεια.
  5. Ευκολία πρακτικής εφαρμογής.
  6. Συγχώνευση δεδομένων.
  7. Ακεραιότητα δεδομένων.

Ελαττώματα:

  1. Πλεονασμός δεδομένων.
  2. Κακή απόδοση.

Άλλα μοντέλα βάσεων δεδομένων (OODBMS)

Πρόσφατα, προϊόντα με αντικειμενοστραφή μοντέλα δεδομένων, όπως το Gem Stone και το Versant DBMS, εμφανίστηκαν στην αγορά DBMS. Γίνεται επίσης έρευνα στον τομέα των πολυδιάστατων και λογικών μοντέλων δεδομένων.

Χαρακτηριστικά των αντικειμενοστρεφών συστημάτων διαχείρισης βάσεων δεδομένων (OODBMS):

  • Με την ενσωμάτωση των δυνατοτήτων της βάσης δεδομένων με μια αντικειμενοστραφή γλώσσα προγραμματισμού, το αποτέλεσμα είναι ένα αντικειμενοστραφή DBMS.
  • Ένα OODBMS αντιπροσωπεύει δεδομένα ως αντικείμενα σε μία ή περισσότερες γλώσσες προγραμματισμού.
  • Ένα τέτοιο σύστημα πρέπει να πληροί δύο κριτήρια: να είναι DBMS και να είναι αντικειμενοστραφή. Δηλαδή, θα πρέπει, στο μέτρο του δυνατού, να αντιστοιχεί σε σύγχρονες αντικειμενοστρεφείς γλώσσες προγραμματισμού. Το πρώτο κριτήριο συνεπάγεται: μακροπρόθεσμη αποθήκευση δεδομένων, διαχείριση δευτερεύουσας αποθήκευσης, παράλληλη πρόσβαση στα δεδομένα, δυνατότητα ανάκτησης και υποστήριξη για ad hoc ερωτήματα. Το δεύτερο κριτήριο συνεπάγεται: σύνθετα αντικείμενα, ταυτότητα αντικειμένου, ενθυλάκωση, τύποι ή κλάσεις, μηχανισμός κληρονομικότητας, παράκαμψη σε συνδυασμό με δυναμική σύνδεση, επεκτασιμότητα και υπολογιστική πληρότητα.
  • Τα OODBMS παρέχουν τη δυνατότητα μοντελοποίησης δεδομένων ως αντικειμένων.

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

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

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

Ιεραρχικό μοντέλο δεδομένων.

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

Ρύζι. 5. Ιεραρχικό μοντέλο δεδομένων

Κάθε εγγραφή βάσης δεδομένων έχει μόνο μία (ιεραρχική) διαδρομή από την εγγραφή ρίζας. Για παράδειγμα, για την εγγραφή C4 η διαδρομή περνά από τις εγγραφές A και B3.

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

Ρύζι. 6. Παράδειγμα ιεραρχικής οργάνωσης δεδομένων

Μοντέλο δεδομένων δικτύου

Σε μια δομή δικτύου, κάθε στοιχείο μπορεί να συνδεθεί με οποιοδήποτε άλλο στοιχείο (βλ. Εικόνα 7).

Ρύζι. 7. Μοντέλο δεδομένων δικτύου

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

Ρύζι. 8. Παράδειγμα οργάνωσης δεδομένων δικτύου

Μοντέλο σχεσιακών δεδομένων

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

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

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

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

Κάθε στήλη έχει ένα μοναδικό όνομα.

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

· Η σειρά των γραμμών και των στηλών μπορεί να είναι αυθαίρετη.

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

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

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

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

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

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

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

· Πληροφορίες για αγοραστές.

· Ημερομηνία παραγγελίας και ποσότητα παραγγελθέντων αγαθών.

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

· Χαρακτηριστικά του προϊόντος που πωλείται (όνομα, κόστος, μάρκα).

Πίνακας 2. Δομή πίνακα Εκπτώσεις

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

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

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

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

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

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

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

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

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

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

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

Ας εξετάσουμε τώρα τους κύριους τύπους μοντέλων δεδομένων.

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

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

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

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

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

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

Θα πρέπει να σημειωθεί ότι ορισμένες σημειώσεις μπορεί να χρησιμοποιούν διαφορετική ορολογία. Έτσι, στη σημείωση της American Database Association DBTG (Data Base Task Group), ο όρος "εγγραφή" αντιστοιχεί στον όρο "τμήμα" και μια εγγραφή είναι ολόκληρο το σύνολο εγγραφών που ανήκουν σε μία παρουσία του "δέντρου" τύπος.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 1. Ενότητες Δημόσια, Δημοσιευμένα και Αυτοματοποιημένα - με μικρά διακριτικά χαρακτηριστικά, οι ιδιότητες του αντικειμένου που περιγράφεται ότι ανήκει σε αυτές τις ενότητες είναι πλήρως προσβάσιμες.
  • 2. Ιδιωτική ενότητα - αυτή η ενότητα επιβάλλει τους πιο αυστηρούς περιορισμούς στην ορατότητα των ιδιοτήτων των αντικειμένων. Κατά κανόνα, τέτοιες ιδιότητες είναι διαθέσιμες μόνο στον κάτοχο αυτού του αντικειμένου (η λειτουργική μονάδα προγράμματος στην οποία δημιουργήθηκε αυτό το αντικείμενο).
  • 3. Προστατευμένο τμήμα - σε αντίθεση με το Ιδιωτικό τμήμα, οι ιδιότητες ενός αντικειμένου γίνονται διαθέσιμες στους κληρονόμους του ιδιοκτήτη του αντικειμένου.

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

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

Το κύριο πλεονέκτημα των αντικειμενοστρεφών μοντέλων είναι η ικανότητα μοντελοποίησης μιας ποικιλίας πολύπλοκων σχέσεων μεταξύ αντικειμένων.

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

Υπάρχουν τρεις τύποι μοντέλων βάσεων δεδομένων πληροφορικής:

· ιεραρχική?

· Δίκτυο.

· σχεσιακός.

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

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

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

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

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

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

Οι βάσεις δεδομένων δικτύου θεωρούνται εργαλεία των προγραμματιστών. Έτσι, για παράδειγμα, για να λάβετε απάντηση στο ερώτημα: «Ποιο προϊόν παραγγέλνεται συχνότερα από την εταιρεία X;», πρέπει να γράψετε κάποιο κώδικα προγράμματος για να πλοηγηθείτε στη βάση δεδομένων. Η υλοποίηση των αιτημάτων των χρηστών μπορεί να διαρκέσει πολύ και μέχρι να εμφανιστούν οι ζητούμενες πληροφορίες, δεν θα είναι πλέον σχετικές.

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



Η κύρια απαίτηση για μια σχεσιακή βάση δεδομένων είναι οι τιμές των πεδίων (στήλες πίνακα) να είναι στοιχειώδεις και αδιαίρετες μονάδες πληροφοριών (δηλαδή, για να καταγράψετε μια διεύθυνση δεν θα χρειαστείτε ένα, αλλά πολλά πεδία που περιέχουν αδιαίρετες πληροφορίες - οδός, σπίτι αριθμός, αριθμός διαμερίσματος). Αυτό καθιστά δυνατή τη χρήση της μαθηματικής συσκευής της σχεσιακής άλγεβρας για την επεξεργασία πληροφοριών. Τα πιο δημοφιλή σχεσιακά DBMS είναι τα Access, FoxPro, dBase, Oracle κ.λπ.

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

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

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

Επί του παρόντος, τα περισσότερα DBMS χρησιμοποιούν ένα πινακοποιημένο (σχεσιακό) μοντέλο δεδομένων.

Πλεονεκτήματα του σχεσιακού μοντέλου:

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

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

Μειονεκτήματα του σχεσιακού μοντέλου:

· Η θεματική περιοχή δεν μπορεί πάντα να αναπαρασταθεί ως σύνολο πινάκων.

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

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


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

Ας δούμε τρεις κύριους τύπους μοντέλων δεδομένων : ιεραρχική, δικτυακή, σχετικός Και αντικειμενοστραφής.

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

Μοντέλο δεδομένων δικτύου.

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

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

Στη γλώσσα των μαθηματικών, μια σχέση ορίζεται έτσι. Ας δοθεί nσύνολα D1,D2, ...,Dn. Τότε το R είναι μια σχέση πάνω σε αυτά τα σύνολα, αν το R είναι ένα σύνολο διατεταγμένων συνόλων της φόρμας , όπου d1 είναι στοιχείο με D1, d2 είναι στοιχείο με D2, ..., dn είναι στοιχείο με Dn. Σε αυτή την περίπτωση, σύνολα της φόρμας ονομάζονται πλειάδες και τα σύνολα D1,D2, ...Dn ονομάζονται τομείς. Κάθε πλειάδα αποτελείται από στοιχεία που επιλέγονται από τους τομείς τους. Αυτά τα στοιχεία ονομάζονται χαρακτηριστικά και οι τιμές τους ονομάζονται τιμές χαρακτηριστικών.

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

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

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

Κάθε στήλη έχει ένα μοναδικό όνομα.

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

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

Οι παρακάτω όροι είναι ισοδύναμοι:

στάση, πίνακας, αρχείο (για τοπικόDB);

παράλαση αυτοκινήτων,γραμμή, Ρεκόρ;

χαρακτηριστικό, στήλη, πεδίο.

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

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

Το DB θεωρείται κανονικοποιημένη , εάν πληρούνται οι ακόλουθες προϋποθέσεις:

Κάθε τραπέζι έχει ένα κύριο κλειδί.

Όλα τα πεδία σε κάθε πίνακα εξαρτώνται μόνο από το κύριο κλειδί.

Δεν υπάρχουν ομάδες διπλών τιμών στους πίνακες.

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

Υπάρχουν τέσσερις τύποι σχέσεων μεταξύ των πινάκων : ένα προς ένα , ένας σε πολλούς, πολλοί σε έναν, πολλοί σε πολλούς .

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

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

Κύριο τραπέζι είναι ένας πίνακας που περιέχει πρωτεύων κλειδί και αποτελεί μέρος έναςσε σχέση ένα προς πολλά.

Εξωτερικό κλειδί είναι ένα πεδίο που περιέχει τον ίδιο τύπο πληροφοριών στον πίνακα από το πλάι πολλά απο.

Πρακτική δουλειά