ORM (Object Relational Mapping): automatisoi tietojen tallennuksen

ORM (tietokanta- ja lähdekoodilogo)

Oletko koskaan ajatellut tai tarvinnut siirtää tietoja lähdekoodikohteistasi sisällysluetteloon tai tietokantaan? Olisi hyvin käytännöllistä, että meillä olisi työkalu, joka pystyy tekemään sen automaattisesti eikä käsin, eikö? Mutta jotta se olisi mahdollista, näiden arvojen tulisi olla oikeassa muodossa. No, jos sinun täytyy tehdä tämä, sinun on tiedettävä ORM (Object Relational Mapping).

ORM: n avulla objektiesi tiedot siirretään oikeaan muotoon, jotta kaikki nämä tiedot voidaan tallentaa tietokantaan kartoittamalla ne. Se luo virtuaalitietokannan, jossa arvot, jotka löytyvät koodissasi luomastasi sovelluksesta, ja siten on linkitetty tähän tietokantaan antaa heille pysyvyyttä ja rekisteröidä ne tällä yksinkertaisella tavalla. Tämä antaa tallennetulle tiedolle pysyvyyden, jotta se voidaan tallentaa, analysoida, tallentaa tai käyttää myöhemmin.

Mukaan ejemploKuvittele, että sinulla on Python-ohjelma, joka vastaa lämpötilaa ja kosteutta rekisteröivän DHT11-anturin arvojen lukemisesta. Mutta et halua tallentaa näitä arvoja ympäristöstä. Yksinkertaisella tavalla voit luoda lähdekoodin ohjelmoida tarvitsemasi ja lukea anturin ottamat arvot ja näyttää ne näytöllä. Mutta entä jos haluat tallentaa arvot analysoitavaksi, kun näiden arvojen huiput ovat tapahtuneet, tai jollekin muulle apuohjelmalle?

Siinä tapauksessa sinulla pitäisi olla mahdollisuus tallentaa tiedot samanaikaisesti tietokantaan, ja tässä ORM on kätevä. DIY-projektisi lisäksi voit tallentaa mitä tarvitset ja käsitellä arvoja manuaalisesti tai muun ohjelmiston avulla, koska olet tallentanut ne tietokantaan ...

Mikä on ORM?

El objektisuhdekartoitus tai ORM Englanninkielisen lyhenteensä vuoksi se on ohjelmointitekniikka, joka palvelee olio-ohjelmointikielessä tai -ohjelmassa käytettävän datan ja relaatiotietokannan (SQL-tyyppi) pysyvyysmoottorina. Tämä saa ohjelman arvot luomaan virtuaalisen olio-tietokannan tarvitsemiesi tietojen säilyttämistä varten.

Jos olet koskaan ohjelmoinut tietokantaan liitetyn sovelluksen, huomaat, että tietojen muokkaaminen tietokantaan tai päinvastoin on melko vaikeaa. Nimittäin, kartoitus on ikävä asia että voit automatisoida ORM: n avulla sen lisäksi, että se on riippumaton käytettävästä tietokannasta ja voit jopa muuttaa tietokantamoottoria ongelmitta.

Un käytännön esimerkki on F1-auto, jossa sillä on sarja antureita, jotka mittaavat paineen, lämpötilan, kulutuksen, kierrosluvun, nopeuden, kiihtyvyyden, vaihdevaihteiden, ohjauksen liikkeiden, öljyn jne. arvot. Insinöörit näkevät kaikki nämä arvot reaaliajassa tietokoneillaan telemetrian ansiosta. Mutta kun istunto päättyy, insinöörien on tutkittava ja analysoitava nämä tiedot ymmärtääkseen, miten asetuksia voidaan parantaa, kehittää autoa tai mikä aiheutti vian. Jotta tämä olisi mahdollista, ne on vietävä tietokantaan.

ORM: n edut ja haitat

Kuten olen jo kommentoinut, kanssa ORM: n avulla voit abstraktiota tietokannasta ja yksinkertaistaa tarvittavaa lähdekoodia huomattavasti. Kartoitus on automaattinen ja se tarkoittaa, että ohjelmoinnissa otetaan paljon vaivaa harteiltasi. Helppokäyttöisyyden ja nopeuden lisäksi se tarjoaa tietoturvakerroksen suojauksen hyökkäyksiä vastaan.

Mutta kaikki eivät ole hyviä asioita ORM: llä on myös haittapuolensa. Raskaasti kuormitetuissa ympäristöissä se voi heikentää suorituskykyä, kun lisäät järjestelmään ylimääräisen kerroksen. Siihen sisältyy myös ORM: n oppiminen, jotta voit käyttää sitä, minkä ymmärtäminen ja hyödyntäminen voi viedä aikaa.

ORM ohjelmointikielille

Käyttämästäsi ohjelmointikielestä riippuen voit käyttää ORM: ää. Et voi käyttää mitä tahansa ORM: ää, sinun on käytettävä oikeaa. Esimerkiksi:

  • Jaava: Lepotila, MyBatis, iBatis, Ebean jne.
  • . NET: Entity Framework, nHibernate, MyBatis.Net jne.
  • PHP: Oppi, propeli, kivet, torpor jne.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir jne.

Esimerkki Pythonin ja ORM: n kanssa

Peewee on yksinkertainen ja lyhennetty ORM käytettäväksi Pythonin kanssa. Saat lisätietoja virallisilla verkkosivuilla. Sinun tulisi myös tietää, että Peewee tukee erilaisia ​​DBMS-järjestelmiä, toisin sanoen useita tietokantojen hallintajärjestelmiä, kuten SQLite, MySQL ja Postgresql. Sinun tarvitsee vain muuttaa alkuperäistä bbdd-ilmoitusta ja siinä kaikki.

Esimerkiksi pikaopas tai pikakäynnistys Sivustolta näet yksinkertaisia ​​koodiesimerkkejä Peeween kanssa näin:

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.

Jos se tuntuu sinulle vähän, sinulla on käytettävissänne pwiz-työkalu, ohjelma, joka hankkii Peewee-mallit tietokannoista. Esimerkiksi:

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

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


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.