ORM (Object Relational Mapping): αυτοματοποίηση καταγραφής δεδομένων

ORM (λογότυπο βάσης δεδομένων και πηγαίου κώδικα)

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

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

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

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

Τι είναι το ORM;

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

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

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

Πλεονεκτήματα και μειονεκτήματα ORM

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

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

ORM για γλώσσες προγραμματισμού

Ανάλογα με τη γλώσσα προγραμματισμού που χρησιμοποιείτε μπορείτε να χρησιμοποιήσετε ένα ORM. Δεν μπορείτε να χρησιμοποιήσετε οποιοδήποτε ORM, πρέπει να χρησιμοποιήσετε το σωστό. Για παράδειγμα:

  • Java: Hibernate, MyBatis, iBatis, Ebean κ.λπ.
  • . NET: Entity Framework, nHibernate, MyBatis.Net κ.λπ.
  • PHP: Δόγμα, Propel, Rocks, Torpor κ.λπ.
  • Πύθων: Peewee, SQLAlchemy, PonyORM, Elixir κ.λπ.

Παράδειγμα με Python και ORM

Το Peewee είναι ένα απλό και συντομευμένο ORM για χρήση με το Python. Μπορείτε να λάβετε περισσότερες πληροφορίες από το επίσημη ιστοσελίδα. Επίσης, πρέπει να γνωρίζετε ότι το Peewee υποστηρίζει διαφορετικά DBMS, δηλαδή πολλά συστήματα διαχείρισης βάσεων δεδομένων, όπως SQLite, MySQL και Postgresql. Απλώς πρέπει να αλλάξετε την αρχική δήλωση bddd και αυτό είναι.

Για παράδειγμα, στην ο γρήγορος οδηγός ή η γρήγορη εκκίνηση Από τον ιστότοπο μπορείτε να δείτε απλά παραδείγματα κώδικα με την Peewee ως εξής:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()

    class Meta:
        database = db # This model uses the "people.db" database.

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

<br data-mce-bogus="1">

python -m pwiz -e postgresql basedatos &gt; modelo.py<br data-mce-bogus="1">


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.