ORM (Object Relational Mapping): automatizuoti duomenų įrašymą

ORM (duomenų bazės ir šaltinio kodo logotipas)

Ar kada pagalvojote ar reikėjo perduoti duomenis iš šaltinio kodo objektų į turinį arba duomenų bazę? Būtų labai praktiška turėti įrankį, kuris galėtų tai padaryti automatiškai, o ne rankiniu būdu, tiesa? Bet kad tai būtų įmanoma, šios vertės turėtų būti tinkamo formato. Na, jei jums reikia tai padaryti, privalote žinoti ORM (Object Relational Mapping).

Naudojant ORM, jūsų objektų duomenys bus perduodami teisingu formatu, kad galėtumėte išsaugoti visą tą informaciją duomenų bazėje, juos susiejant. Tai sukuria virtualią duomenų bazę, kurioje yra jūsų programoje sukurtos vertės, kurias sukūrėte savo kode yra susieti su šia duomenų baze suteikti jiems atkaklumo ir užregistruoti juos tokiu paprastu būdu. Tai suteikia įrašytą informaciją patvarumą, kad vėliau ją būtų galima saugoti, analizuoti, įrašyti ar naudoti.

Pagal ejemploĮsivaizduokite, kad turite „Python“ programą, atsakingą už DHT11 jutiklio, registruojančio temperatūrą ir drėgmę, verčių skaitymą. Tačiau nenorite įrašyti šių verčių iš aplinkos. Paprastu būdu galite sukurti šaltinio kodą, kad suprogramuotumėte tai, ko jums reikia, ir perskaitytumėte jutiklio paimtas vertes ir jas parodytumėte ekrane. Bet ką daryti, jei norite išsaugoti vertes analizuoti, kai įvyko šių verčių smailės, ar kokiam kitam naudingumui?

Tokiu atveju turėtumėte galimybę tuos duomenis tuo pačiu metu išsaugoti duomenų bazėje, o ORM tai yra naudinga. Be jūsų „pasidaryk pats“ projekto galite išsaugoti tai, ko jums reikia, ir vertinti vertybes rankiniu būdu arba per kitą programinę įrangą, nes jūs juos užfiksavote duomenų bazėje ...

Kas yra ORM?

El objekto-reliacijos atvaizdavimas arba ORM trumpinys anglų kalba yra programavimo technika, naudojama transformuoti duomenis, naudojamus į objektą orientuotoje programavimo kalboje ar programoje, ir reliacinę duomenų bazę (SQL tipą) kaip patvarumo variklį. Tai leis programos reikšmėms sukurti virtualią į objektus orientuotą duomenų bazę, kurioje bus laikomi reikalingi duomenys.

Jei kada nors užprogramavote programą, prijungtą prie duomenų bazės, pastebėsite, kad informaciją transformuoti pritaikyti duomenų bazei yra gana sunku arba atvirkščiai. Būtent, kartografavimas yra varginantis dalykas kad galite automatizuoti naudodami ORM, be to, kad jis nepriklauso nuo norimos naudoti duomenų bazės ir netgi galite be problemų pakeisti duomenų bazės variklį.

Un praktinis pavyzdys yra F1 automobilis, kur yra daugybė jutiklių, kurie matuoja slėgio, temperatūros, sunaudojimo, apsisukimų per minutę, greičio, pagreičio, pavarų perjungimo, vairo judesių, alyvos ir kt. vertes. Telemetrijos dėka inžinieriai mato visas šias vertes realiuoju laiku. Tačiau kai sesija baigiasi, inžinieriai turi ištirti ir išanalizuoti tuos duomenis, kad suprastų, kaip pagerinti sąranką, išvystyti automobilį ar kas sukėlė gedimą. Kad tai būtų įmanoma, juos reikia eksportuoti į duomenų bazę.

ORM privalumai ir trūkumai

Kaip jau komentavau, su ORM leidžia jums abstrakčiai iš duomenų bazės ir labai supaprastina reikiamą šaltinio kodą. Žemėlapių sudarymas bus automatinis ir tai reiškia, kad programuojant reikia atimti daug problemų. Be paprasto ir greito naudojimo, jis užtikrina duomenų prieigos sluoksnio saugumą nuo atakų.

Bet ne visi yra geri dalykai ORM turi ir minusų. Labai apkrautoje aplinkoje tai gali sumažinti našumą, nes jūs pridedate prie sistemos papildomą sluoksnį. Tai taip pat apima mokymąsi ORM, kad galėtumėte juo naudotis, o tai gali užtrukti, kol tinkamai suprasite ir pasinaudosite.

ORM programavimo kalboms

Priklausomai nuo jūsų naudojamos programavimo kalbos galite naudoti ORM. Negalite naudoti bet kokio ORM, turite naudoti teisingą. Pavyzdžiui:

  • Java: Hibernate, MyBatis, iBatis, Ebean ir kt.
  • . NET: „Entity Framework“, „nHibernate“, „MyBatis.Net“ ir kt.
  • PHP: Doktrina, varymas, uolos, „Torpor“ ir kt.
  • „Python“: „Peewee“, „SQLAlchemy“, „PonyORM“, eliksyras ir kt.

Pavyzdys su Python ir ORM

„Peewee“ yra paprastas ir sutrumpintas ORM, skirtas naudoti su „Python“. Daugiau informacijos galite gauti iš savo oficiali svetainė. Be to, turėtumėte žinoti, kad „Peewee“ palaiko skirtingas DBVS, tai yra kelias duomenų bazių valdymo sistemas, tokias kaip SQLite, MySQL ir Postgresql. Jums tereikia pakeisti pradinę „bbdd“ deklaraciją ir viskas.

Pavyzdžiui, jūsų trumpasis vadovas arba greitas pradžia Svetainėje galite pamatyti tokius paprastus „Peewee“ kodų pavyzdžius:

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.

Jei jums tai atrodo mažai, turite savo žinioje įrankis „pwiz“, programa, gaunanti „Peewee“ modelius iš duomenų bazių. Pavyzdžiui:

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

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


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.