ORM (Object Relational Mapping): automatizē datu ierakstīšanu

ORM (datu bāzes un avota koda logotips)

Vai esat kādreiz domājis vai jums vajadzējis pārsūtīt datus no avota koda objektiem uz satura rādītāju vai datu bāzi? Būtu ļoti praktiski, ja būtu rīks, lai to izdarītu automātiski, nevis manuāli, vai ne? Bet, lai tas būtu iespējams, šīm vērtībām jābūt pareizā formātā. Ja jums tas jādara, jums jāzina ORM (Object Relational Mapping).

Izmantojot ORM, jūsu objektu dati tiks nodoti pareizā formātā, lai varētu kartēt visu šo informāciju datu bāzē. Tādējādi tiek izveidota virtuāla datu bāze, kurā tiek atrastas jūsu kodā izveidotās lietojumprogrammas vērtības ir saistīti ar šo datu bāzi dot viņiem neatlaidību un reģistrēt viņus šādā vienkāršā veidā. Tas piešķir ierakstītajai informācijai noturību, lai to vēlāk varētu uzglabāt, analizēt, ierakstīt vai izmantot.

Ar ejemploIedomājieties, ka jums ir Python programma, kas atbild par vērtību nolasīšanu no DHT11 sensora, kas reģistrē temperatūru un mitrumu. Bet jūs nevēlaties reģistrēt šīs vērtības no vides. Vienkāršā veidā jūs varētu izveidot avota kodu, lai ieprogrammētu nepieciešamo un izlasītu sensora iegūtās vērtības un parādītu tās ekrānā. Bet ko tad, ja vēlaties saglabāt vērtības, lai tās analizētu, kad ir sasniegtas šo vērtību virsotnes, vai kādai citai lietderībai?

Tādā gadījumā jums vajadzētu būt iespējai šos datus vienlaikus saglabāt datu bāzē, un šeit noder ORM. Papildus savam DIY projektam jūs varat glabāt nepieciešamo un apstrādāt vērtības manuāli vai izmantojot citu programmatūru, pateicoties tam, ka esat tos iemūžinājis datu bāzē ...

Kas ir ORM?

El objektu-relāciju kartēšana vai ORM tā saīsinājumam angļu valodā tā ir programmēšanas tehnika, kas kalpo, lai pārveidotu datus, kas tiek izmantoti objektorientētajā programmēšanas valodā vai programmā un relāciju datu bāzē (SQL tips) kā noturības dzinējs. Tas programmas vērtībām radīs virtuālu objektorientētu datu bāzi, kurā glabāt nepieciešamos datus.

Ja esat kādreiz ieprogrammējis lietojumprogrammu, kas savienota ar datu bāzi, pamanījāt, ka ir diezgan grūti pārveidot informāciju, lai to pielāgotu datu bāzei, vai otrādi. Proti, kartēšana ir garlaicīga lieta ka jūs varat automatizēt, izmantojot ORM, papildus padarot to neatkarīgu no datu bāzes, kuru vēlaties izmantot, un jūs pat bez problēmām varat mainīt datu bāzes dzinēju.

Un praktisks piemērs ir F1 automašīna, kur tam ir virkne sensoru, kas mēra spiediena, temperatūras, patēriņa, apgriezienu skaita, ātruma, paātrinājuma, pārnesumu pārslēgšanas, stūres kustības, eļļas utt. Visas šīs vērtības reāllaikā inženieri redz datoros, pateicoties telemetrijai. Bet, kad sesija beidzas, inženieriem ir jāizpēta un jāanalizē šie dati, lai saprastu, kā uzlabot uzstādīšanu, attīstīt automašīnu vai kas izraisīja neveiksmi. Lai tas būtu iespējams, tie jāeksportē uz datu bāzi.

ORM priekšrocības un trūkumi

Kā jau komentēju, ar ORM ļauj abstraktēt no datu bāzes un ievērojami vienkāršotu nepieciešamo pirmkodu. Kartēšana būs automātiska, un tas nozīmē, ka programmēšanas laikā no pleciem jānoņem daudz nepatikšanas. Papildus lietošanas ērtumam un ātrumam tas nodrošina datu piekļuves slāņa drošību pret uzbrukumiem.

Bet ne visas ir labas lietas ORM ir arī savas ēnas puses. Smagi noslogotā vidē tas var samazināt veiktspēju, jo sistēmai tiek pievienots papildu slānis. Tas ietver arī ORM apguvi, lai jūs to varētu izmantot, un tas var prasīt laiku, lai to pareizi izprastu un izmantotu.

ORM programmēšanas valodām

Atkarībā no izmantotās programmēšanas valodas varat izmantot ORM. Jūs nevarat izmantot tikai jebkuru ORM, jums jāizmanto pareizais. Piemēram:

  • Java: Hibernate, MyBatis, iBatis, Ebean utt.
  • NET.: Entity Framework, nHibernate, MyBatis.Net utt.
  • PHP: Doktrīna, dzinējs, Roki, Torpor utt.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir utt.

Piemērs ar Python un ORM

Peewee ir vienkāršs un saīsināts ORM lietošanai ar Python. Plašāku informāciju varat iegūt no sava oficiālā tīmekļa vietne. Jums arī jāzina, ka Peewee atbalsta dažādas DBVS, tas ir, vairākas datu bāzes pārvaldības sistēmas, piemēram, SQLite, MySQL un Postgresql. Jums vienkārši jāmaina sākotnējā bbdd deklarācija, un viss.

Tā, piemēram, jūsu ātro ceļvedi vai ātro sākumu Vietnē jūs varat redzēt šādus vienkāršus Peewee kodu piemērus:

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.

Gadījumā, ja tas jums šķiet maz, jums ir jūsu rīcībā rīks pwiz, programma, kas iegūst Peewee modeļus no datu bāzēm. Piemēram:

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

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


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.