ORM (Object Relational Mapping): andmete salvestamise automatiseerimine

ORM (andmebaasi ja lähtekoodi logo)

Kas olete kunagi mõelnud või pidanud lähtekoodi objektidelt andmeid sisukorda või andmebaasi edastama? Oleks väga otstarbekas omada tööriista, mis võimaldaks seda teha automaatselt ja mitte käsitsi, eks? Kuid selleks, et see oleks võimalik, peaksid need väärtused olema õiges vormingus. Noh, kui peate seda tegema, peate teadma ORM-i (Object Relational Mapping).

ORM-iga edastatakse teie objektide andmed õigesse vormingusse, et oleks võimalik kogu see teave nende kaardistamise abil andmebaasi salvestada. See loob virtuaalse andmebaasi, kus teie koodis loodud rakenduses leitud väärtused ja nii on selle andmebaasiga lingitud anda neile püsivust ja registreerida neid sel lihtsal viisil. See varustab salvestatud teavet püsivusega, et seda saaks hiljem salvestada, analüüsida, salvestada või hiljem kasutada.

Por ejemploKujutage ette, et teil on Pythoni programm, mis vastutab temperatuuri ja niiskust registreeriva DHT11 anduri väärtuste lugemise eest. Kuid te ei soovi neid väärtusi keskkonnast salvestada. Lihtsal viisil saate luua lähtekoodi, et programmeerida vajalik ja lugeda sensori võetud väärtused ning kuvada need ekraanil. Aga mis siis, kui soovite salvestada väärtused analüüsimiseks, kui nende väärtuste tipud on tekkinud, või mõne muu utiliidi jaoks?

Sellisel juhul peaks teil olema võimalus neid andmeid samal ajal andmebaasi salvestada ja see on koht, kus ORM on kasulik. Lisaks oma isetegemise projektile saate salvestada vajaliku ja käsitleda väärtusi käsitsi või muu tarkvara kaudu tänu sellele, et olete need andmebaasi salvestanud ...

Mis on ORM?

El objektide-relatsioonide kaardistamine ehk ORM ingliskeelse akronüümi puhul on see programmeerimistehnika, mis aitab muuta objektorienteeritud programmeerimiskeeles või -programmis kasutatavaid andmeid ja relatsiooniandmebaasi (SQL-tüüpi) püsimootorina. See paneb programmi väärtused looma virtuaalse objektile orienteeritud andmebaasi vajalike andmete hoidmiseks.

Kui olete kunagi mõne andmebaasiga ühendatud rakenduse programmeerinud, olete märganud, et teavet on üsna raske teisendada, et seda andmebaasiga kohandada või vastupidi. Nimelt kaardistamine on tüütu asi mida saate ORM-i abil automatiseerida, lisaks sellele, et muudate selle kasutatavast andmebaasist sõltumatuks ja saate andmebaasimootorit isegi probleemideta muuta.

Un praktiline näide on F1-auto, kus sellel on rida andureid, mis mõõdavad rõhu, temperatuuri, tarbimise, p / min, kiiruse, kiirenduse, käiguvahetuse, rooliliigutuste, õli jne väärtusi. Kõiki neid väärtusi näevad insenerid oma arvutites reaalajas tänu telemeetriale. Kuid kui seanss lõpeb, peavad insenerid neid andmeid uurima ja analüüsima, et mõista, kuidas seadistust paremaks muuta, autot arendada või mis tõrke põhjustas. Selleks, et see oleks võimalik, tuleb need eksportida andmebaasi.

ORM-i eelised ja puudused

Nagu ma juba kommenteerisin, koos ORM võimaldab teil abstraktsust teha andmebaasist ja lihtsustab oluliselt vajalikku lähtekoodi. Kaardistamine toimub automaatselt ja see tähendab, et võtate programmeerimisel oma õlgadelt palju vaeva. Lisaks kasutusmugavusele ja kiirusele tagab see andmetele juurdepääsu kihi turvalisuse rünnakute eest.

Kuid mitte kõik pole head asjad ORM-il on ka varjuküljed. Tugevalt koormatud keskkondades võib see vähendada jõudlust, kui lisate süsteemile täiendava kihi. See hõlmab ka ORM-i õppimist, et saaksite seda kasutada, mille õigeks mõistmiseks ja kasutamiseks võib kuluda aega.

ORM programmeerimiskeelte jaoks

Sõltuvalt kasutatavast programmeerimiskeelest võite kasutada ORM-i. Te ei saa kasutada ühtegi ORM-i, peate kasutama õiget. Näiteks:

  • Java: Hibernate, MyBatis, iBatis, Ebean jne
  • . NET: Entity Framework, nHibernate, MyBatis.Net jne.
  • PHP: Õpetus, tõukejõud, kivimid, torpor jne.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir jne.

Näide Pythoni ja ORM-iga

Peewee on lihtne ja lühendatud ORM Pythoniga kasutamiseks. Lisateavet saate oma veebisaidilt ametlik veebisait. Samuti peaksite teadma, et Peewee toetab erinevaid DBMS-e, see tähendab mitut andmebaasi haldussüsteemi, näiteks SQLite, MySQL ja Postgresql. Peate lihtsalt muutma esialgset bbdd deklaratsiooni ja see on kõik.

Näiteks oma kiire juhendi või kiirstardi Saidilt näete Peewee lihtsaid koodinäiteid:

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.

Juhul, kui see tundub teile vähe, on teie käsutuses tööriist pwiz, programm, mis hangib andmebaasidest Peewee mudeleid. Näiteks:

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

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


Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.