ORM (Object Relational Mapping): automatizira snimanje 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 vrijednosti trebale bi 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 mogle spremiti u bazu podataka mapiranjem. To stvara virtualnu bazu podataka u kojoj se nalaze vrijednosti pronađene u aplikaciji koju ste kreirali u kodu su povezani sa ovom bazom podataka pružiti im upornost i registrirati ih na ovaj jednostavan način. Ovim se snimljene informacije uporno obnavljaju, tako da se mogu kasnije čuvati, analizirati, snimati ili koristiti.

por 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 uzima senzor i prikazivanje na ekranu. 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 slučaju trebali biste imati mogućnost da se ti podaci istovremeno spremaju u bazu podataka i tu ORM dobro dolazi. Pored vašeg DIY projekta možete pohraniti ono što vam treba i liječiti vrijednosti ručno ili putem drugog softvera zahvaljujući tome što ste ih zabilježili u bazu podataka ...

Šta 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 kreiraju 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 brzine, pokreta upravljača, ulja itd. Sve ove vrijednosti inženjeri vide na svojim računalima u stvarnom vremenu zahvaljujući telemetriji. Ali kada sesija završi, inženjeri moraju proučiti i analizirati te podatke kako bi razumjeli kako poboljšati postavku, razviti automobil ili šta 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 vam omogućava apstraktnost iz baze podataka i znatno pojednostaviti potreban izvorni kod. Mapiranje će biti automatsko, a to znači skidanje puno problema s ramena prilikom programiranja. Pored jednostavnosti i brzine 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. Takođe 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 ispravni. Na primjer:

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

Primjer sa Pythonom i ORM-om

Peewee je jednostavan i skraćeni ORM za upotrebu s Pythonom. Više informacija možete dobiti od svog službena web stranica. Takođe, trebali biste znati da Peewee podržava različite DBMS, odnosno nekoliko sistema 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 Peeweeom 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 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 komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.