ORM (Object Relational Mapping): automatiser dataopptak

ORM (database og kildekodelogo)

Har du noen gang tenkt eller trengt å sende data fra kildekodeobjektene dine til en innholdsfortegnelse eller en database? Det ville være veldig praktisk å ha et verktøy for å kunne gjøre det automatisk og ikke gjøre det manuelt, ikke sant? Men for at dette skal være mulig, bør disse verdiene være i riktig format. Vel, hvis du trenger å gjøre dette, du må kjenne ORM (Object Relational Mapping).

Med ORM vil dataene til objektene dine bli sendt til riktig format for å kunne lagre all den informasjonen i en database ved å kartlegge dem. Det skaper en virtuell database der verdiene som finnes i applikasjonen du har opprettet i koden din, og dermed er knyttet til denne databasen å gi dem utholdenhet og registrere dem på denne enkle måten. Dette gir den registrerte informasjonen utholdenhet slik at den kan lagres, analyseres, registreres eller brukes senere.

av ejemploTenk deg at du har et Python-program som har ansvaret for å lese verdier fra en DHT11-sensor som registrerer temperatur og fuktighet. Men du vil ikke registrere disse verdiene fra et miljø. På en enkel måte kan du lage en kildekode for å programmere det du trenger, og lese verdiene som er tatt av sensoren og vise dem på skjermen. Men hva om du vil lagre verdiene for å analysere når topper av disse verdiene har oppstått eller for noe annet verktøy?

I så fall bør du ha muligheten for at dataene skal lagres samtidig i en database, og det er her ORM kommer til nytte. I tillegg til ditt DIY-prosjekt du kan lagre det du trenger og behandle verdiene manuelt eller gjennom annen programvare takket være at du har fanget dem i en database ...

Hva er ORM?

El objektrelasjonell kartlegging eller ORM for akronym på engelsk, er det en programmeringsteknikk som tjener til å transformere data som brukes i det objektorienterte programmeringsspråket eller -programmet og relasjonsdatabasen (SQL-typen) som en utholdenhetsmotor. Det vil gjøre at programmets verdier lager en virtuell objektorientert database for å inneholde dataene du trenger.

Hvis du noen gang har programmert et program som er koblet til en database, vil du ha lagt merke til at det er ganske vanskelig å transformere informasjonen for å tilpasse den til databasen eller omvendt. Nemlig kartlegging er en kjedelig ting at du kan automatisere ved hjelp av ORM, i tillegg til å gjøre det uavhengig av databasen du vil bruke, og du kan til og med endre databasmotoren uten problemer.

Un praktisk eksempel er en F1 bil, hvor den har en serie sensorer som måler verdier for trykk, temperatur, forbruk, turtall, hastighet, akselerasjon, girskift, styrebevegelser, olje, etc. Alle disse verdiene blir sett i sanntid av ingeniører på datamaskinene sine takket være telemetri. Men når økten avsluttes, må ingeniørene studere og analysere dataene for å forstå hvordan du kan forbedre oppsettet, utvikle bilen eller hva som forårsaket feilen. For at dette skal være mulig, må de eksporteres til en database.

Fordeler og ulemper ved ORM

Som jeg allerede har kommentert, med ORM lar deg abstrakte fra databasen og forenkler den nødvendige kildekoden sterkt. Kartleggingen vil være automatisk, og det betyr at du tar mange problemer av skuldrene når du programmerer. I tillegg til brukervennligheten og hastigheten, gir den sikkerhet for datatilgangslaget mot angrep.

Men ikke alle er gode ting ORM har også sine ulemper. I tungt belastede miljøer kan det redusere ytelsen når du legger til et ekstra lag i systemet. Det innebærer også å lære ORM slik at du kan bruke den, noe som kan ta tid å forstå og dra nytte av.

ORM for programmeringsspråk

Avhengig av programmeringsspråket du bruker du kan bruke en ORM. Du kan ikke bruke hvilken som helst ORM, du må bruke den riktige. For eksempel:

  • Java: Dvalemodus, MyBatis, iBatis, Ebean, etc.
  • . NET: Entity Framework, nHibernate, MyBatis.Net, etc.
  • PHP: Lære, Propel, Rocks, Torpor, etc.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir, etc.

Eksempel med Python og ORM

Peewee er en enkel og forkortet ORM for bruk med Python. Du kan få mer informasjon fra din offisiell nettside. Du bør også vite at Peewee støtter forskjellige DBMS, det vil si flere databasestyringssystemer, for eksempel SQLite, MySQL og Postgresql. Du må bare endre den første BBDD-erklæringen, og det er det.

For eksempel, i din hurtigguide eller hurtigstart Fra nettstedet kan du se enkle kodeeksempler med Peewee som dette:

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.

I tilfelle det virker lite for deg, har du til din disposisjon pwiz-verktøyet, et program som henter Peewee-modeller fra databaser. For eksempel:

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

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


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.