Categorie
Tips Web development

ORM database: cosa è? Quali sono?

Un ORM, acronimo per Object Relational Mapping, consente di interagire con un database relazionale senza dover scrivere delle queries SQL.

In altre parole, costituisce un layer di astrazione che consente di ottenere sicurezza e portabilità.

ORM: cosa è?

Come hai avuto modo di leggere nell’introduzione, un ORM è un layer di astrazione rispetto al database relazionale.

Vediamo un esempio di codice per comprendere meglio a cosa serva un ORM.

Esempio con Eloquent, ORM di Laravel

Supponiamo di avere una classe Post.

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
    // I campi che possono essere assegnati in massa
    protected $fillable = ['title', 'content'];
}

Per salvare un nuovo Post sul database, è sufficiente utilizzare il seguente codice:

use App\Models\Post;
$post = new Post();
$post->title = 'Titolo del post';
$post->content = 'Contenuto del post';
$post->save();

Come vedi, non è necessario scrivere alcuna porzione di codice in SQL.

Nella sezione seguente analizzeremo i vantaggi nell’utilizzare un ORM.

ORM: i vantaggi

Come accennato in precedenza, gli ORMs permettono di avere dei vantaggi in termini di sicurezza e portabilità del codice, rispetto ad utilizzare delle queries SQL “native”.

Sicurezza ORM database

Gli ORM gestiscono internamente la composizione delle query SQL utilizzando parametri legati (prepared statements), evitando così l’inserimento diretto di input non filtrati nelle query.

Questo riduce drasticamente il rischio di attacchi di SQL injection.

In questo video puoi trovare un esempio di cosa sia una SQL Injection e cosa comporti essere vulnerabili.

Portabilità ORM database

Il codice che utilizza un ORM è spesso indipendente dal tipo di database (es. MySQL, PostgreSQL, SQLite), il che consente di cambiare DBMS con modifiche minime (se non nulle).

ORM database: un video di esempio

In questo video potrai vedeo come l’utilizzo di un ORM può semplificare lo sviluppo delle applicazioni, migliorando la sicurezza e la portabilità del codice.

Vedrai in pratica come interagire con un database senza scrivere query SQL manuali, proteggendo l’applicazione da vulnerabilità comuni come le SQL injection e rendendo il codice facilmente adattabile a diversi tipi di database.

Se il video ti fosse piaciuto, potresti valutare di iscriverti al canale.

Approfondimenti

In questo blog sono presenti numerosi approfondimenti relativi allo sviluppo web.

Eccone alcuni:

Conclusioni

In conclusione, l’utilizzo di un ORM rappresenta una scelta strategica per chi desidera sviluppare applicazioni sicure, scalabili e facili da mantenere.

Oltre a semplificare l’interazione con il database, un ORM consente di scrivere codice più pulito e portabile, riducendo il rischio di errori e vulnerabilità.

Nel video incluso nell’articolo abbiamo visto in azione alcuni dei principali vantaggi di questa tecnologia, con esempi pratici che mostrano quanto possa fare la differenza nel flusso di lavoro di uno sviluppatore.

Lascia un commento