ORM (Object Relational Mapping): automatizează înregistrarea datelor

ORM (baza de date și codul sursă sigla)

V-ați gândit sau ați avut nevoie vreodată să treceți date din obiectele codului sursă într-un cuprins sau bază de date? Ar fi foarte practic să ai un instrument pentru a putea face asta automat și să nu o faci manual, nu? Dar pentru ca acest lucru să fie posibil, aceste valori ar trebui să fie în formatul adecvat. Ei bine, dacă trebuie să faci asta, trebuie să cunoașteți ORM (Object Relational Mapping).

Cu ORM datele obiectelor dvs. vor fi transmise într-un format corect pentru a putea salva toate acele informații într-o bază de date prin maparea lor. Aceasta creează o bază de date virtuală în care valorile găsite în aplicația pe care ați creat-o în codul dvs. și astfel sunt conectate la această bază de date pentru a le oferi persistență și a le înregistra în acest mod simplu. Acest lucru conferă informațiile înregistrate cu persistență, astfel încât să poată fi stocate, analizate, înregistrate sau utilizate ulterior.

De exempluImaginați-vă că aveți un program Python care se ocupă de citirea valorilor de la un senzor DHT11 care înregistrează temperatura și umiditatea. Dar nu doriți să înregistrați aceste valori dintr-un mediu. Într-un mod simplu, puteți crea un cod sursă pentru a programa ceea ce aveți nevoie și a citi valorile luate de senzor și a le afișa pe ecran. Dar dacă doriți să stocați valorile pe care să le analizați când au apărut vârfurile acestor valori sau pentru orice alt utilitar?

În acest caz, ar trebui să aveți posibilitatea ca datele respective să fie salvate în același timp într-o bază de date și aici este util ORM. Pe lângă proiectul dvs. DIY puteți stoca ceea ce aveți nevoie și puteți trata valorile manual sau prin alte programe grație faptului că le-ați captat într-o bază de date ...

Ce este ORM?

El cartarea obiect-relațională sau ORM pentru acronimul său în limba engleză, este o tehnică de programare care servește la transformarea datelor utilizate în limbajul sau programul de programare orientat pe obiecte și în baza de date relațională (tip SQL) ca motor de persistență. Acest lucru va face ca valorile programului să creeze o bază de date virtuală orientată obiect pentru a păstra datele de care aveți nevoie.

Dacă ați programat vreodată o aplicație conectată la o bază de date, veți observa că este destul de dificil să transformați informațiile pentru a le adapta la baza de date sau invers. Și anume, cartarea este un lucru obositor pe care îl puteți automatiza folosind ORM, pe lângă faptul că îl face independent de baza de date pe care doriți să o utilizați și puteți chiar să schimbați motorul bazei de date fără probleme.

Un un exemplu practic este o mașină F1, unde are o serie de senzori care măsoară valorile presiunii, temperaturii, consumului, RPM, viteză, accelerație, schimbări de viteză, mișcări de direcție, ulei etc. Toate aceste valori sunt văzute în timp real de inginerii de pe computerele lor datorită telemetriei. Dar când se termină sesiunea, inginerii trebuie să studieze și să analizeze aceste date pentru a înțelege cum să îmbunătățească configurarea, să evolueze mașina sau ce a cauzat defecțiunea. Pentru ca acest lucru să fie posibil, trebuie exportate într-o bază de date.

Avantajele și dezavantajele ORM

După cum am comentat deja, cu ORM vă permite să faceți abstract din baza de date și simplifică considerabil codul sursă necesar. Cartografierea va fi automată și asta înseamnă să vă ridicați multe probleme de pe umeri atunci când programați. În plus față de ușurința și viteza de utilizare, asigură securitatea stratului de acces la date împotriva atacurilor.

Dar nu toate sunt lucruri bune ORM are și dezavantajele sale. În medii încărcate puternic, poate reduce performanța, deoarece adăugați un strat suplimentar la sistem. De asemenea, implică învățarea ORM, astfel încât să o puteți folosi, ceea ce poate lua timp pentru a înțelege și a profita în mod corespunzător.

ORM pentru limbaje de programare

În funcție de limbajul de programare pe care îl utilizați puteți utiliza un ORM. Nu puteți utiliza orice ORM, trebuie să îl utilizați pe cel corect. De exemplu:

  • Java: Hibernate, MyBatis, iBatis, Ebean etc.
  • . NET: Entity Framework, nHibernate, MyBatis.Net etc.
  • PHP: Doctrină, Propel, Rocks, Torpor etc.
  • Piton: Peewee, SQLAlchemy, PonyORM, Elixir etc.

Exemplu cu Python și ORM

Peewee este un ORM simplu și scurtat pentru utilizare cu Python. Puteți obține mai multe informații de la site-ul oficial. De asemenea, trebuie să știți că Peewee acceptă diferite SGBD, adică mai multe sisteme de gestionare a bazelor de date, cum ar fi SQLite, MySQL și Postgresql. Trebuie doar să schimbați declarația inițială bbdd și atât.

De exemplu, în ghidul dvs. rapid sau pornirea rapidă De pe site puteți vedea exemple simple de coduri cu Peewee astfel:

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.

În cazul în care vi se pare puțin, aveți la dispoziție instrumentul pwiz, un program care obține modele Peewee din baze de date. De exemplu:

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

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


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.