Σχεσιακή βάση δεδομένων - βασικές έννοιες. Σχεσιακή βάση δεδομένων

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

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

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

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

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

Τα δεδομένα δημιουργούν προβλήματα

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

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

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

Ισχυρές συνδέσεις

Ο Edgar Codd, ερευνητής στο Ερευνητικό Εργαστήριο του Σαν Χοσέ της IBM, ουσιαστικά δημιούργησε και περιέγραψε την έννοια των σχεσιακών βάσεων δεδομένων στη θεμελιώδη εργασία του, A Relational Model of Data for Large Shared Data Communications of the ACM, Ιούνιος 1970.

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

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

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

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

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

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

Η ουσία της δουλειάς του Codd ήταν ότι προτάθηκε η χρήση δηλωτικών και όχι διαδικαστικών γλωσσών προγραμματισμού με σχεσιακές βάσεις δεδομένων. Οι δηλωτικές γλώσσες, όπως η SQL (Structured Query Language), δίνουν στους χρήστες τη δυνατότητα ουσιαστικά να λένε στον υπολογιστή: «Θέλω να λαμβάνω τα ακόλουθα bits δεδομένων από όλες τις εγγραφές που ικανοποιούν ένα ορισμένο σύνολοκριτήρια». Ο ίδιος ο υπολογιστής θα «καταλάβει» ποια βήματα πρέπει να γίνουν για να ληφθούν αυτές οι πληροφορίες από τη βάση δεδομένων.

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

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

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

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

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

Θεμελιώδη Μοντέλα

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

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

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

Αυτό το μοντέλο αναπτύχθηκε τη δεκαετία του 1970 από τον Δρ Edgar Codd. Είναι ένας λογικά δομημένος πίνακας με πεδία που περιγράφει τα δεδομένα, τις σχέσεις τους μεταξύ τους, τις λειτουργίες που εκτελούνται σε αυτά και το πιο σημαντικό, τους κανόνες που εγγυώνται την ακεραιότητά τους. Γιατί το μοντέλο ονομάζεται σχεσιακό; Βασίζεται σε σχέσεις (από το λατινικό relatio) μεταξύ των δεδομένων. Υπάρχουν πολλοί ορισμοί για αυτόν τον τύπο βάσης δεδομένων. Οι σχεσικοί πίνακες πληροφοριών είναι πολύ πιο εύκολο να συστηματοποιηθούν και να επεξεργαστούν παρά σε ένα δίκτυο ή ένα ιεραρχικό μοντέλο. Πώς να το κάνετε αυτό; Αρκεί να γνωρίζουμε τα χαρακτηριστικά, τη δομή του μοντέλου και τις ιδιότητες των σχεσιακών πινάκων.

Η διαδικασία μοντελοποίησης και σύνταξης βασικών στοιχείων

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

Η μοντελοποίηση πινάκων και ο σχεδιασμός σχεσιακών βάσεων δεδομένων γίνεται χρησιμοποιώντας δωρεάν εργαλεία, όπως Workbench, PhpMyAdmin, Case Studio, dbForge Studio. Μετά τη λεπτομερή σχεδίαση, θα πρέπει να αποθηκεύσετε το γραφικά έτοιμο σχεσιακό μοντέλο και να το μεταφράσετε σε έτοιμο κώδικα SQL. Σε αυτό το στάδιο, μπορείτε να αρχίσετε να εργάζεστε με την ταξινόμηση, την επεξεργασία και τη συστηματοποίηση δεδομένων.

Χαρακτηριστικά, δομή και όροι που σχετίζονται με το σχεσιακό μοντέλο

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

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

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

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

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

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

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

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

Τα ονόματα πεδίων πρέπει να είναι μοναδικά σε μία οντότητα. Το χαρακτηριστικό σχεσιακής βάσης δεδομένων ή οι τύποι πεδίων περιγράφουν ποια κατηγορία δεδομένων αποθηκεύεται στα πεδία οντοτήτων. Ένα πεδίο σχεσιακής βάσης δεδομένων πρέπει να έχει σταθερό μέγεθος, μετρημένο σε χαρακτήρες. Οι παράμετροι και η μορφή των τιμών των χαρακτηριστικών καθορίζουν τον τρόπο με τον οποίο διορθώνονται τα δεδομένα σε αυτά. Υπάρχει επίσης κάτι όπως "μάσκα" ή "πρότυπο εισαγωγής". Προορίζεται να ορίσει τη διαμόρφωση εισαγωγής δεδομένων για μια τιμή χαρακτηριστικού. Πρέπει να εκδοθεί μήνυμα σφάλματος εάν εισάγετε κάτι λάθος σε ένα πεδίο. Επίσης, επιβάλλονται ορισμένοι περιορισμοί στα στοιχεία πεδίου - προϋποθέσεις για τον έλεγχο της ακρίβειας και χωρίς σφάλματα εισαγωγής δεδομένων. Υπάρχει κάποια απαιτούμενη τιμή χαρακτηριστικού που πρέπει οπωσδήποτε να συμπληρωθεί με δεδομένα. Ορισμένες συμβολοσειρές χαρακτηριστικών μπορεί να είναι γεμάτες με NULL τιμές. Τα κενά δεδομένα επιτρέπονται στα χαρακτηριστικά πεδίου. Όπως και η ειδοποίηση σφάλματος, υπάρχουν τιμές που συμπληρώνονται αυτόματα από το σύστημα - αυτά είναι τα προεπιλεγμένα δεδομένα. Ένα πεδίο με ευρετήριο έχει σχεδιαστεί για να επιταχύνει την αναζήτηση για τυχόν δεδομένα.

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

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

Βασικοί κανόνες για την κανονικοποίηση μιας σχεσιακής οντότητας

1. Η τιμή του ονόματος πεδίου για έναν σχεσιακό πίνακα πρέπει να είναι μοναδική, μοναδική (η πρώτη κανονική μορφή- 1NF).

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

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

Βάσεις δεδομένων: σχεσιακές σχέσεις μεταξύ πινάκων

Υπάρχουν 2 κύριοι σχεσιακοί πίνακες:

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

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

Ύπαρξη κλειδιών σε σχεσιακή βάση δεδομένων

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

Εκτός από το πρωτεύον κλειδί, υπάρχει και ένα ξένο κλειδί. Πολλοί άνθρωποι δεν καταλαβαίνουν τη διαφορά μεταξύ τους. Ας τα δούμε με περισσότερες λεπτομέρειες χρησιμοποιώντας ένα παράδειγμα. Έτσι, υπάρχουν 2 πίνακες: "Κοσμητεία" και "Φοιτητές". Η οντότητα «Κοσμητεία» περιέχει τα ακόλουθα πεδία: «Φοιτητική Ταυτότητα», «Ονοματεπώνυμο» και «Ομάδα». Ο πίνακας "Students" έχει τιμές χαρακτηριστικών όπως "Name", "Group" και "GPA". Δεδομένου ότι το φοιτητικό ID δεν μπορεί να είναι το ίδιο για πολλούς μαθητές, αυτό το πεδίο θα είναι πρωτεύων κλειδί. Το "Πλήρες όνομα" και το "Ομάδα" από τον πίνακα "Φοιτητές" μπορεί να είναι το ίδιο για πολλά άτομα και αναφέρονται στον αριθμό ταυτότητας του φοιτητή από την οντότητα "Γραφείο Κοσμήτορα", ώστε να μπορούν να χρησιμοποιηθούν ως ξένο κλειδί.

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

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

Είναι απαραίτητο να πραγματοποιηθούν συνδέσεις για τη δημιουργία μιας πλήρους σχεσιακής βάσης δεδομένων. Η καταχώριση "IN-41", όπως "IN-72", μπορεί να εμφανιστεί περισσότερες από μία φορές στην πινακίδα "Διοικητικό γραφείο" και σε σπάνιες περιπτώσεις το τελευταίο, το πρώτο και το πατρώνυμο των φοιτητών μπορεί να συμπίπτουν, επομένως αυτά τα πεδία δεν μπορούν να γίνουν το πρωτεύον κλειδί. Ας δείξουμε την οντότητα «Μαθητές».

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

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

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

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

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

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

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

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

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

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

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

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

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

Ο ιδρυτής της θεωρίας των σχεσιακών βάσεων δεδομένων θεωρείται ένας υπάλληλος της IBM, ο Δρ. E. Codd, ο οποίος δημοσίευσε ένα άρθρο στις 6 Ιουνίου 1970 Ένα σχεσιακό μοντέλο δεδομένων για μεγάλες τράπεζες δεδομένων(Μοντέλο σχεσιακών δεδομένων για μεγάλες συλλογικές τράπεζες δεδομένων). Αυτό το άρθρο ήταν το πρώτο που χρησιμοποίησε τον όρο «μοντέλο σχεσιακών δεδομένων». Η θεωρία των σχεσιακών βάσεων δεδομένων, που αναπτύχθηκε τη δεκαετία του '70 στις ΗΠΑ από τον Δρ. E. Codd, έχει μια ισχυρή βάση μαθηματική βάση, το οποίο περιγράφει τους κανόνες για την αποτελεσματική οργάνωση των δεδομένων. Το θεωρητικό πλαίσιο που αναπτύχθηκε από τον E. Codd έγινε η βάση για την ανάπτυξη της θεωρίας του σχεδιασμού της βάσης δεδομένων.

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

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

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

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

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

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

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

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

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

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

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

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

Η σχέση των πινάκων είναι το πιο σημαντικό στοιχείο του μοντέλου σχεσιακών δεδομένων. Υποστηρίζεται ξένα κλειδιά.

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

Πίνακας 2.3.Ορολογία βάσης δεδομένων

Θεωρία βάσεων δεδομένων____________ Σχεσιακές βάσεις δεδομένων_________ SQL Server __________

Πίνακας Σχέσεων Πίνακας

Σειρά πλειάδας εγγραφής

AttributeField_________________Στήλη

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

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

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

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

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

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

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

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

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

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

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

Ρύζι. 1. Ονόματα αντικειμένων στον πίνακα

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

Ορισμός δεδομένων (περιγραφή της δομής της βάσης δεδομένων).

Επεξεργασία δεδομένων;

Διαχείριση δεδομένων.

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

Οποιοδήποτε DBMS σάς επιτρέπει να εκτελείτε τις ακόλουθες λειτουργίες με δεδομένα:

Προσθήκη εγγραφών σε πίνακες.

Αφαίρεση εγγραφών από πίνακα.

Ενημέρωση των τιμών ορισμένων πεδίων σε μία ή περισσότερες εγγραφές σε πίνακες βάσης δεδομένων.

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

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

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

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

Σχεσιακή βάση δεδομένων (RDB)είναι ένα σύνολο σχέσεων των οποίων τα ονόματα συμπίπτουν με τα ονόματα των σχέσεων σχήματος στο σχήμα της βάσης δεδομένων.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣσχεσιακές βάσεις δεδομένων:

· Τύπος δεδομένων– τύπος τιμών μιας συγκεκριμένης στήλης.

· Τομέα(τομέας) – σύνολο όλων αποδεκτές τιμέςΧαρακτηριστικό.

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

· Πομπή– μια σειρά πίνακα που αντιπροσωπεύει ένα σύνολο τιμών λογικά σχετιζόμενων χαρακτηριστικών.

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

· Πρωτεύων κλειδί(πρωτεύον κλειδί) – ένα πεδίο (ή σύνολο πεδίων) ενός πίνακα που προσδιορίζει μοναδικά κάθε μία από τις εγγραφές του.

· Εναλλακτικό κλειδίείναι ένα πεδίο (ή σύνολο πεδίων) που δεν ταιριάζει με το πρωτεύον κλειδί και προσδιορίζει μοναδικά μια παρουσία μιας εγγραφής.

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

· Μοντέλο Σχεσιακών Δεδομένων (RDM)- οργάνωση δεδομένων με τη μορφή δισδιάστατων πινάκων.

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

1. Κάθε εγγραφή πίνακα είναι μοναδική, δηλ. το σύνολο των τιμών στα πεδία δεν επαναλαμβάνεται.

2. Κάθε τιμή που γράφεται στην τομή μιας γραμμής και μιας στήλης είναι ατομική (αδιαχώριστη).

3. Οι τιμές κάθε πεδίου πρέπει να είναι του ίδιου τύπου.

4. Κάθε πεδίο έχει ένα μοναδικό όνομα.

5. Η σειρά των συμμετοχών δεν είναι σημαντική.

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

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

· Όνομα, για παράδειγμα, Επώνυμο, Όνομα, Πατρώνυμο, Ημερομηνία Γέννησης.

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

· Μήκος, για παράδειγμα, σε byte.

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

Ρεκόρ- ένα σύνολο τιμών λογικά σχετιζόμενων πεδίων.

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


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

Αίτηση– μια διατυπωμένη ερώτηση για έναν ή περισσότερους διασυνδεδεμένους πίνακες που περιέχουν κριτήρια δειγματοληψίας δεδομένων. Το ερώτημα πραγματοποιείται χρησιμοποιώντας τη γλώσσα δομημένης ερώτησης SQL (Structured Query Language). Η ανάκτηση δεδομένων από έναν ή περισσότερους πίνακες μπορεί να οδηγήσει σε ένα σύνολο εγγραφών που ονομάζεται προβολή.

Παρουσίαση δεδομένων– ένα επώνυμο ερώτημα που αποθηκεύεται στη βάση δεδομένων για την ανάκτηση δεδομένων (από έναν ή περισσότερους πίνακες).

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

Κανω ΑΝΑΦΟΡΑ– ένα στοιχείο συστήματος του οποίου ο κύριος σκοπός είναι να περιγράφει και να εκτυπώνει έγγραφα με βάση πληροφορίες από τη βάση δεδομένων.

γενικά χαρακτηριστικάεργασία με RDB:

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

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

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


28. ΑΛΓΟΡΙΘΜΙΚΕΣ ΓΛΩΣΣΕΣ. ΜΕΤΑΦΡΑΣΤΕΣ (ΔΙΕΡΜΗΝΕΙΣ ΚΑΙ ΜΕΤΑΓΡΑΦΤΕΣ). ΑΛΓΟΡΙΘΜΙΚΗ ΓΛΩΣΣΑ ΒΑΣΙΚΗ. ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ. ΑΝΑΓΝΩΡΙΣΤΙΚΑ. ΜΕΤΑΒΛΗΤΕΣ. ΧΕΙΡΙΣΤΕΣ. ΕΠΕΞΕΡΓΑΣΙΑ ΜΟΝΟΔΙΑΣΤΑΤΩΝ ΚΑΙ ΔΙΔΙΑΣΤΑΤΩΝ ΠΙΣΤΑΚΩΝ. ΛΕΙΤΟΥΡΓΙΕΣ ΧΡΗΣΤΗ. ΥΠΟΡΟΥΤΙΝΕΣ. ΕΡΓΑΣΙΑ ΜΕ ΑΡΧΕΙΑ ΔΕΔΟΜΕΝΩΝ.

Γλώσσα υψηλό επίπεδο - μια γλώσσα προγραμματισμού της οποίας οι έννοιες και η δομή είναι βολικές για την ανθρώπινη αντίληψη.

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

Βασικές έννοιες της αλγοριθμικής γλώσσας:

Σύνθεση της γλώσσας:

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

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

Εκφράσειςείναι μια ακολουθία στοιχειωδών δομών και συμβόλων,

Χειριστής- μια ακολουθία εκφράσεων, στοιχειωδών δομών και συμβόλων.

Περιγραφή γλώσσας:

Μια περιγραφή χαρακτήρων αποτελείται από την παράθεση των έγκυρων χαρακτήρων της γλώσσας. Η περιγραφή των στοιχειωδών δομών σημαίνει τους κανόνες σχηματισμού τους. Περιγραφή εκφράσεων είναι οι κανόνες για τον σχηματισμό οποιωνδήποτε εκφράσεων που έχουν νόημα σε μια δεδομένη γλώσσα. Η περιγραφή των τελεστών συνίσταται στην εξέταση όλων των τύπων τελεστών που επιτρέπονται στη γλώσσα. Η περιγραφή κάθε γλωσσικού στοιχείου δίνεται από τη ΣΥΝΤΑΞΗ και τη ΣΗΜΑΣΙΑΚΗ της.

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

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

Γλωσσικά σύμβολα- αυτά είναι τα βασικά αδιαίρετα σημεία με τα οποία γράφονται όλα τα κείμενα στη γλώσσα.

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

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

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

Σε αυτή την περίπτωση, οι τελεστές συνδυάζονται σε Σύνθετος χειριστήςή ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ. Ενέργειες, καθορίζονται από τους χειριστές, εκτελούνται στα δεδομένα. Οι δηλώσεις μιας αλγοριθμικής γλώσσας που παρέχουν πληροφορίες σχετικά με τύπους δεδομένων ονομάζονται δηλώσεις ή μη εκτελέσιμες δηλώσεις. Ένα σύνολο περιγραφών και τελεστών που ενώνονται από έναν μόνο αλγόριθμο σχηματίζουν ένα πρόγραμμα σε μια αλγοριθμική γλώσσα. Στη διαδικασία της μελέτης μιας αλγοριθμικής γλώσσας, είναι απαραίτητο να διακρίνουμε την αλγοριθμική γλώσσα από τη γλώσσα με την οποία πραγματοποιείται η περιγραφή της αλγοριθμικής γλώσσας που μελετάται. Συνήθως η γλώσσα που μελετάται ονομάζεται απλώς γλώσσα και η γλώσσα με την οποία δίνεται η περιγραφή της γλώσσας που μελετάται - Μεταγλώσσα.

Μεταφραστές - (English translator - translator) είναι ένα πρόγραμμα μεταφραστή. Μετατρέπει ένα πρόγραμμα γραμμένο σε μία από τις γλώσσες υψηλού επιπέδου σε ένα πρόγραμμα που αποτελείται από οδηγίες μηχανής.

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

Υπάρχουν δύο βασικοί τρόποι μετάδοσης - σύνταξη και ερμηνεία.

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

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

2. Ερμηνεία: Διερμηνέας(Αγγλικός διερμηνέας - διερμηνέας, διερμηνέας) μεταφράζει και εκτελεί το πρόγραμμα γραμμή προς γραμμή.

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

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

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

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

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