ORM (Object Relational Mapping): avtomatizira snemanje podatkov

ORM (logotip baze podatkov in izvorne kode)

Ste že kdaj pomislili ali morali prenesti podatke iz predmetov izvorne kode v kazalo ali bazo podatkov? Zelo praktično bi bilo imeti orodje, ki bi to lahko storilo samodejno in ne ročno, kajne? Da pa bi bilo to mogoče, bi morale biti te vrednosti v ustrezni obliki. No, če morate to storiti, morate vedeti ORM (Object Relational Mapping).

Z ORM bodo podatki vaših predmetov posredovani v pravilno obliko, da boste lahko vse te podatke shranili v bazo podatkov tako, da jih preslikate. To ustvari navidezno bazo podatkov, v kateri so vrednosti, najdene v aplikaciji, ki ste jo ustvarili v svoji kodi, in s tem so povezane s to bazo podatkov da jim vztrajajo in jih na ta preprost način registrirajo. Tako posnete informacije trajno obdržijo, tako da jih je mogoče kasneje shraniti, analizirati, posneti ali uporabiti.

Z ejemploPredstavljajte si, da imate program Python, ki je zadolžen za branje vrednosti s senzorja DHT11, ki beleži temperaturo in vlago. Toda teh vrednosti ne želite beležiti iz okolja. Na preprost način lahko ustvarite izvorno kodo, da programirate, kar potrebujete, preberete vrednosti senzorja in jih prikažete na zaslonu. Kaj pa, če želite vrednosti, ki jih želite analizirati, shraniti, ko so se pojavile vršne vrednosti ali za katero koli drugo korist?

V tem primeru bi morali imeti možnost, da se ti podatki hkrati shranijo v bazo podatkov in tu ORM pride prav. Poleg vašega projekta DIY lahko shranite, kar potrebujete, in obravnavate vrednosti ročno ali prek druge programske opreme, zahvaljujoč temu, da ste jih zajeli v bazo podatkov ...

Kaj je ORM?

El objektno-relacijsko preslikavo ali ORM za svojo kratico v angleščini gre za programsko tehniko, ki služi za pretvorbo podatkov, ki se uporabljajo v objektno usmerjenem programskem jeziku ali programu in relacijski bazi podatkov (tip SQL), kot trajni mehanizem. Zaradi tega bodo vrednosti programa ustvarile navidezno objektno usmerjeno bazo podatkov, v kateri bodo shranjeni potrebni podatki.

Če ste že kdaj programirali aplikacijo, povezano z bazo podatkov, boste opazili, da je informacije precej težko preoblikovati, da jih prilagodite bazi podatkov, ali obratno. In sicer preslikava je dolgočasna stvar da lahko avtomatizirate z uporabo ORM, poleg tega pa postane neodvisen od baze podatkov, ki jo želite uporabiti, in lahko celo spremenite mehanizem baze podatkov brez težav.

Un praktičen primer je avtomobil F1, kjer ima vrsto senzorjev, ki merijo vrednosti tlaka, temperature, porabe, vrtljajev na minuto, hitrosti, pospeševanja, menjave prestav, krmiljenja, olja itd. Vse te vrednosti inženirji v realnem času vidijo na svojih računalnikih, zahvaljujoč telemetriji. Ko pa se seja konča, morajo inženirji te podatke preučiti in analizirati, da bi razumeli, kako izboljšati nastavitev, razviti avto ali kaj je povzročilo okvaro. Da je to mogoče, jih je treba izvoziti v bazo podatkov.

Prednosti in slabosti ORM

Kot sem že komentiral, s ORM vam omogoča abstraktnost iz baze podatkov in močno poenostavi potrebno izvorno kodo. Preslikava bo samodejna, kar pomeni, da boste pri programiranju odstranili veliko težav. Poleg enostavnosti in hitrosti uporabe zagotavlja varnost podatkovnega sloja pred napadi.

Niso pa vse dobre stvari ORM ima tudi svoje slabosti. V močno obremenjenih okoljih lahko zmanjša zmogljivost, saj v sistem dodajate dodaten sloj. Vključuje tudi učenje ORM, tako da ga lahko uporabljate, kar lahko traja nekaj časa, da ga pravilno razumete in izkoristite.

ORM za programske jezike

Odvisno od programskega jezika, ki ga uporabljate lahko uporabite ORM. Ne morete uporabiti nobenega ORM, morate uporabiti pravilnega. Na primer:

  • Java: Hibernate, MyBatis, iBatis, Ebean itd.
  • NET.: Entity Framework, nHibernate, MyBatis.Net itd.
  • PHP: Doctrine, Propel, Rocks, Torpor itd.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir itd.

Primer s Pythonom in ORM

Peewee je preprost in skrajšani ORM za uporabo s Pythonom. Več informacij lahko dobite pri svojem uradna spletna stran. Vedeti morate tudi, da Peewee podpira različne DBMS, to je več sistemov za upravljanje baz podatkov, kot so SQLite, MySQL in Postgresql. Samo spremeniti morate začetno deklaracijo bbdd in to je to.

Na primer, v vaš hitri vodnik ali hitri začetek Na spletnem mestu si lahko ogledate preproste primere kode s programom Peewee, kot je ta:

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.

V primeru, da se vam to zdi malo, imate na razpolago orodje pwiz, program, ki iz zbirk podatkov pridobiva modele Peewee. Na primer:

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

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


Bodite prvi komentar

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.