Έννοια δεδομένων: ορισμός, παραδείγματα

Πίνακας περιεχομένων:

Έννοια δεδομένων: ορισμός, παραδείγματα
Έννοια δεδομένων: ορισμός, παραδείγματα
Anonim

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

Δεδομένα παρελθόν και παρόν

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

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

Στοιχεία του παρελθόντος και του παρόντος
Στοιχεία του παρελθόντος και του παρόντος

Διαδικασία μετάβασης:

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

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

Τύποι και μοντελοποίηση

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

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

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

  • ακέραιος αριθμός;
  • boolean;
  • χαρ;
  • string και ούτω καθεξής.

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

Λείψανα και ιδέες
Λείψανα και ιδέες

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

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

Dynamics of original

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

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

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

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

Στατικόδυνατό

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

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

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

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

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

Στατικές και αντικείμενα

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

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

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

Προγραμματισμός και παρουσίαση δεδομένων

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

Κοινή γνώμη
Κοινή γνώμη

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

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

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

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

Χρειάζεστε Oracle για να λύσει το πρόβλημα του προϋπολογισμού για τη συντήρηση της αγροτικής ύδρευσης (κτήριο 21 στο χωριό) - καλό. Η MySQL είναι απαραίτητη για την οργάνωση ενός συστήματος παρακολούθησης για τα ταχυδρομεία για όλα τα ταχυδρομεία στη Ρωσία - όλα θα λειτουργήσουν επίσης.

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

Βάσεις δεδομένων, παραδείγματα

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

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

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

  • επώνυμο;
  • όνομα;
  • πατρώνυμο;
  • αριθμός εποπτευόμενης ομάδας.

Ο πίνακας μαθητών έχει πεδία:

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

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

Απλή βάση δεδομένων
Απλή βάση δεδομένων

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

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

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

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

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

Αντικειμενοστρεφείς βάσεις

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

Οι αντικειμενοστρεφείς βάσεις δεδομένων (OODB) άρχισαν να αναπτύσσονται στα μέσα της δεκαετίας του 1980 και, σύμφωνα με τους έγκυρους συγγραφείς, είναι πολλά υποσχόμενες μέχρι σήμερα. Αλλά μέχρι στιγμής, εκτός από τις θεμελιώδεις θεωρίες και τις εννοιολογικές διατάξεις, δεν υπάρχει OODB που να έχει πετύχει την ίδια βαθμολογία και διανομή με το MySQL, τον MS SQL Server ή την Oracle σε όλες τις διαφορετικές ενσαρκώσεις του.

Βάση δεδομένων OO
Βάση δεδομένων OO

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

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

Αντικειμενοστραφή λύση

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

Ένα παράδειγμα του δικού σας OODB
Ένα παράδειγμα του δικού σας OODB

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

  • owner_code;
  • session_code;
  • h_code;
  • a_surprise;
  • a_contents.

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

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

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

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

Μοντέλο: σύστημα αντικειμένων + DBMS

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

Ιδανική Λύση
Ιδανική Λύση

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

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

Συνιστάται: