ORM (Object Relational Mapping): automatizirano bilježenje podataka

ORM (logotip baze podataka i izvornog koda)

Jeste li ikad pomislili ili trebali proslijediti podatke iz svojih objekata izvornog koda u sadržaj ili bazu podataka? Bilo bi vrlo praktično imati alat koji će to moći učiniti automatski, a ne ručno, zar ne? Ali da bi to bilo moguće, te bi vrijednosti trebale biti u odgovarajućem formatu. Pa ako to trebate učiniti, morate znati ORM (objektno relacijsko mapiranje).

Pomoću ORM podaci vaših objekata prosljeđuju se u ispravan format kako bi se sve te informacije mogli spremiti u bazu podataka njihovim mapiranjem. To stvara virtualnu bazu podataka u kojoj se nalaze vrijednosti pronađene u aplikaciji koju ste kreirali u kodu su povezani s ovom bazom podataka pružiti im ustrajnost i registrirati ih na ovaj jednostavan način. Ovim se snimljene informacije uporno obnavljaju kako bi se kasnije mogle pohraniti, analizirati, zabilježiti ili upotrijebiti.

Po ejemploZamislite da imate Python program zadužen za očitavanje vrijednosti s DHT11 senzora koji bilježi temperaturu i vlažnost. Ali te vrijednosti ne želite bilježiti iz okoline. Na jednostavan način možete stvoriti izvorni kod za programiranje onoga što vam treba i čitanje vrijednosti koje je uzeo senzor i prikazivanje na zaslonu. Ali što ako želite pohraniti vrijednosti za analizu kada su se pojavili vrhovi tih vrijednosti ili za bilo koji drugi uslužni program?

U tom biste slučaju trebali imati mogućnost istodobnog spremanja tih podataka u bazu podataka i tu ORM dobro dolazi. Pored vašeg DIY projekta možete pohraniti što vam treba i liječiti vrijednosti ručno ili putem drugog softvera zahvaljujući tome što ste ih zabilježili u bazu podataka ...

Što je ORM?

El objektno-relacijsko mapiranje ili ORM zbog svoje kratice na engleskom jeziku, to je tehnika programiranja koja služi za transformiranje podataka koji se koriste u objektno orijentiranom programskom jeziku ili programu i relacijskoj bazi podataka (SQL tip) kao mehanizam trajanja. To će natjerati vrijednosti programa da stvore virtualnu objektno orijentiranu bazu podataka koja će sadržavati podatke koji su vam potrebni.

Ako ste ikad programirali aplikaciju povezanu s bazom podataka, primijetit ćete da je prilično teško transformirati informacije kako bi se prilagodili bazi podataka ili obrnuto. Naime, mapiranje je dosadna stvar da možete automatizirati pomoću ORM-a, osim što ga čini neovisnim o bazi podataka koju želite koristiti, a možete čak i bez problema promijeniti mehanizam baze podataka.

Un praktični primjer je automobil F1, gdje ima niz senzora koji mjere vrijednosti tlaka, temperature, potrošnje, o / min, brzine, ubrzanja, promjena stupnja prijenosa, pokreta upravljača, ulja itd. Sve ove vrijednosti inženjeri u stvarnom vremenu vide na svojim računalima zahvaljujući telemetriji. Ali kada sesija završi, inženjeri moraju proučiti i analizirati te podatke kako bi razumjeli kako poboljšati postavke, razviti automobil ili što je uzrokovalo kvar. Da bi to bilo moguće, potrebno ih je izvesti u bazu podataka.

Prednosti i nedostaci ORM-a

Kao što sam već komentirao, sa ORM omogućuje apstrahiranje iz baze podataka i znatno pojednostaviti potreban izvorni kod. Mapiranje će biti automatsko, a to znači skidanje puno problema s ramena prilikom programiranja. Uz jednostavnost i brzinu upotrebe, pruža sigurnost sloja pristupa podacima od napada.

Ali nisu sve dobre stvari ORM ima i svojih loših strana. U jako opterećenim okruženjima može smanjiti performanse jer sustavu dodajete dodatni sloj. To također uključuje učenje ORM-a kako biste ga mogli koristiti, što može potrajati da biste pravilno razumjeli i iskoristili prednosti.

ORM za programske jezike

Ovisno o programskom jeziku koji koristite možete koristiti ORM. Ne možete koristiti bilo koji ORM, morate koristiti ispravan. Na primjer:

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

Primjer s Pythonom i ORM-om

Peewee je jednostavan i skraćeni ORM za upotrebu s Pythonom. Više informacija možete dobiti od svog službene web stranice. Također, trebali biste znati da Peewee podržava različite DBMS, odnosno nekoliko sustava za upravljanje bazama podataka, kao što su SQLite, MySQL i Postgresql. Jednostavno morate promijeniti početnu deklaraciju bbdd i to je to.

Na primjer, u vaš brzi vodič ili brzi početak Sa web stranice možete vidjeti jednostavne primjere koda s Peeweejem poput ovog:

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.

U slučaju da vam se to čini malo, na raspolaganju vam je pwiz alat, program koji iz baza podataka dobiva Peewee modele. Na primjer:

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

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


Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.