ORM (Object Relational Mapping): automatizza la registrazione dei dati

ORM (database e logo del codice sorgente)

Hai mai pensato o avuto bisogno di passare i dati dagli oggetti del codice sorgente in un sommario o in un database? Sarebbe molto pratico avere uno strumento per poterlo fare automaticamente e non manualmente, giusto? Ma affinché ciò sia possibile, quei valori dovrebbero essere nel formato corretto. Bene, se hai bisogno di farlo, devi conoscere ORM (Object Relational Mapping).

Con ORM i dati dei tuoi oggetti verranno passati in un formato corretto per poter salvare tutte quelle informazioni in un database mappandole. Ciò crea un database virtuale in cui i valori si trovano nell'applicazione che hai creato nel tuo codice, e quindi sono collegati a questo database per dare loro persistenza e registrarli in questo modo semplice. Ciò conferisce alle informazioni registrate persistenza in modo che possano essere archiviate, analizzate, registrate o utilizzate in seguito.

da ejemploImmagina di avere un programma Python incaricato di leggere i valori da un sensore DHT11 che registra la temperatura e l'umidità. Ma non vuoi registrare questi valori da un ambiente. In modo semplice potresti creare un codice sorgente per programmare ciò che ti serve e leggere i valori presi dal sensore e visualizzarli sullo schermo. Ma cosa succede se si desidera memorizzare i valori per analizzare quando si sono verificati picchi di questi valori o per qualsiasi altra utilità?

In tal caso, dovresti avere la possibilità di salvare i dati contemporaneamente in un database ed è qui che ORM è utile. Oltre al tuo progetto fai da te puoi memorizzare ciò di cui hai bisogno e trattare i valori manualmente o tramite altri software grazie al fatto che li hai catturati in un database ...

Cos'è ORM?

El mappatura relazionale a oggetti o ORM per il suo acronimo in inglese, è una tecnica di programmazione che serve a trasformare i dati utilizzati nel linguaggio o programma di programmazione orientato agli oggetti e il database relazionale (tipo SQL) come motore di persistenza. Ciò farà sì che i valori del programma creino un database virtuale orientato agli oggetti per contenere i dati necessari.

Se hai mai programmato un'applicazione collegata a un database, avrai notato che è abbastanza difficile trasformare le informazioni per adattarle al database o viceversa. Vale a dire, la mappatura è una cosa noiosa che puoi automatizzare utilizzando ORM, oltre a renderlo indipendente dal database che desideri utilizzare e puoi persino cambiare il motore del database senza problemi.

Un un esempio pratico è un'auto di F1, dove ha una serie di sensori che misurano i valori di pressione, temperatura, consumo, RPM, velocità, accelerazione, cambi di marcia, movimenti dello sterzo, olio, ecc. Tutti questi valori vengono visualizzati in tempo reale dagli ingegneri sui loro computer grazie alla telemetria. Ma quando la sessione finisce, gli ingegneri devono studiare e analizzare quei dati per capire come migliorare il setup, far evolvere la macchina o cosa ha causato il guasto. Affinché ciò sia possibile, devono essere esportati in un database.

Vantaggi e svantaggi di ORM

Come ho già commentato, con ORM ti consente di astrarre dal database e semplificare notevolmente il codice sorgente necessario. La mappatura sarà automatica e questo significa toglierti molti problemi durante la programmazione. Oltre alla facilità e alla velocità di utilizzo, fornisce la sicurezza del livello di accesso ai dati contro gli attacchi.

Ma non tutte sono cose buone ORM ha anche i suoi svantaggi. In ambienti molto caricati può ridurre le prestazioni quando si aggiunge un ulteriore livello al sistema. Implica anche l'apprendimento di ORM in modo da poterlo utilizzare, il che può richiedere tempo per comprendere e trarre vantaggio correttamente.

ORM per linguaggi di programmazione

A seconda del linguaggio di programmazione utilizzato puoi usare un ORM. Non puoi usare un ORM qualsiasi, devi usare quello corretto. Per esempio:

  • Java: Hibernate, MyBatis, iBatis, Ebean, ecc.
  • .NET: Entity Framework, nHibernate, MyBatis.Net, ecc.
  • PHP: Dottrina, Propel, Rocce, Torpore, ecc.
  • Pitone: Peewee, SQLAlchemy, PonyORM, Elixir, ecc.

Esempio con Python e ORM

Peewee è un ORM semplice e abbreviato da utilizzare con Python. Puoi ottenere maggiori informazioni dal tuo sito ufficiale. Inoltre, dovresti sapere che Peewee supporta diversi DBMS, ovvero diversi sistemi di gestione di database, come SQLite, MySQL e Postgresql. Devi solo cambiare la dichiarazione bbdd iniziale e il gioco è fatto.

Per esempio, in la tua guida rapida o avvio rapido Dal sito puoi vedere semplici esempi di codice con Peewee come questo:

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.

Nel caso in cui ti sembri poco, hai a tua disposizione lo strumento pwiz, un programma che ottiene i modelli Peewee dai database. Per esempio:

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

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


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.