ORM (Object Relational Mapping): automatiser dataoptagelse

ORM (database og kildekodelogo)

Har du nogensinde tænkt eller har brug for at videregive data fra dine kildekodeobjekter til en indholdsfortegnelse eller database? Det ville være meget praktisk at have et værktøj til at kunne gøre det automatisk og ikke gøre det manuelt, ikke? Men for at dette skal være muligt, skal disse værdier være i det korrekte format. Nå, hvis du har brug for at gøre dette, du skal kende ORM (Object Relational Mapping).

Med ORM sendes dataene til dine objekter til et korrekt format for at kunne gemme al den information i en database ved at kortlægge dem. Det skaber en virtuel database, hvor værdierne findes i det program, du har oprettet i din kode, og dermed er knyttet til denne database at give dem vedholdenhed og registrere dem på denne enkle måde. Dette giver de registrerede oplysninger vedholdenhed, så de kan lagres, analyseres, registreres eller bruges senere.

Ved ejemploForestil dig, at du har et Python-program, der har ansvaret for at læse værdier fra en DHT11-sensor, der registrerer temperatur og fugtighed. Men du vil ikke registrere disse værdier fra et miljø. På en enkel måde kan du oprette en kildekode til at programmere det, du har brug for, og læse de værdier, der er taget af sensoren, og vise dem på skærmen. Men hvad nu hvis du vil gemme de værdier, der skal analyseres, når toppe af disse værdier er opstået eller til et andet værktøj?

I så fald skal du have mulighed for, at disse data gemmes på samme tid i en database, og det er her ORM er praktisk. Ud over dit DIY-projekt du kan gemme det, du har brug for, og behandle værdierne manuelt eller gennem anden software takket være, at du har fanget dem i en database ...

Hvad er ORM?

El objektrelationskortlægning eller ORM for dets akronym på engelsk er det en programmeringsteknik, der bruges til at transformere data, der bruges i det objektorienterede programmeringssprog eller -program og den relationsdatabase (SQL-type) som en persistensmotor. Det får programmets værdier til at oprette en virtuel objektorienteret database, der indeholder de data, du har brug for.

Hvis du nogensinde har programmeret en applikation, der er tilsluttet en database, har du bemærket, at det er ret vanskeligt at omdanne informationen for at tilpasse den til databasen eller omvendt. Nemlig kortlægning er en kedelig ting at du kan automatisere ved hjælp af ORM, ud over at gøre det uafhængigt af den database, du vil bruge, og du kan endda ændre databasemotoren uden problemer.

Un praktisk eksempel er en F1 bil, hvor den har en række sensorer, der måler værdier for tryk, temperatur, forbrug, omdrejningstal, hastighed, acceleration, gearskift, styrebevægelser, olie osv. Alle disse værdier ses i realtid af ingeniører på deres computere takket være telemetri. Men når sessionen slutter, skal ingeniørerne studere og analysere disse data for at forstå, hvordan man forbedrer opsætningen, udvikler bilen eller hvad der forårsagede fejlen. For at dette skal være muligt, skal de eksporteres til en database.

ORM fordele og ulemper

Som jeg allerede har kommenteret, med ORM giver dig mulighed for at abstrakte fra databasen og forenkler i høj grad den nødvendige kildekode. Kortlægningen vil være automatisk, og det betyder at tage en masse problemer af dine skuldre, når du programmerer. Ud over den brugervenlige og hurtige brug giver det sikkerhed for dataadgangslaget mod angreb.

Men ikke alle er gode ting ORM har også sine ulemper. I stærkt belastede miljøer kan det reducere ydeevnen, da du tilføjer et ekstra lag til systemet. Det involverer også at lære ORM, så du kan bruge det, hvilket kan tage tid at forstå og udnytte ordentligt.

ORM til programmeringssprog

Afhængigt af det programmeringssprog, du bruger du kan bruge en ORM. Du kan ikke bruge en hvilken som helst ORM, du skal bruge den rigtige. For eksempel:

  • Java: Dvaletilstand, MyBatis, iBatis, Ebean osv.
  • . NET: Entity Framework, nHibernate, MyBatis.Net osv.
  • PHP: Lære, fremdrift, klipper, torpor osv.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir osv.

Eksempel med Python og ORM

Peewee er en enkel og forkortet ORM til brug med Python. Du kan få flere oplysninger fra din officielle hjemmeside. Du skal også vide, at Peewee understøtter forskellige DBMS, dvs. flere databasestyringssystemer, såsom SQLite, MySQL og Postgresql. Du skal bare ændre den oprindelige bbdd-erklæring, og det er det.

For eksempel i din hurtige guide eller hurtigstart Fra siden kan du se enkle kodeeksempler med Peewee som denne:

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.

Hvis det synes lidt for dig, har du det til rådighed pwiz-værktøjet, et program, der 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">


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.