ERD è l'abbreviazione di Entity-Relationship Diagram (diagramma entità-relazioni). È una rappresentazione visuale della struttura del tuo database che mostra come le entità (le tabelle) sono collegate tra loro.
Pensa all'ERD come alla mappa della metro per il database. Le stazioni sono le tabelle, e le linee che le collegano sono le relazioni. Questa mappa ti aiuta a capire come muoverti tra le stazioni (e come le tabelle interagiscono).
L'ERD è composto da:
- Entità: sono oggetti o tabelle, tipo "Studenti", "Corsi", "Docenti".
- Attributi: sono le colonne delle tabelle, tipo
ID,Nome,Cognome. - Relazioni: sono le linee tra le tabelle che mostrano i rapporti, per esempio uno studente iscritto a molti corsi.
Con l'ERD puoi non solo pianificare il database, ma anche mostrare a colleghi o capi come è strutturato. È uno strumento super potente per ogni dev!
Elementi base dell'ERD
- Entità
L'entità è un mini-database. Ogni entità corrisponde a un oggetto reale o a un concetto che vuoi gestire nel tuo sistema. Per esempio:
- Tabella "Studenti".
- Tabella "Corsi".
- Tabella "Prestiti" (in un sistema di biblioteca).
Esempio:
+---------------+
| Studenti |
+---------------+
| ID |
| Nome |
| Cognome |
| Data di nascita |
+---------------+
- Attributi Gli attributi sono le proprietà o caratteristiche dell'entità. Sono le colonne della tabella nel database. Per esempio:
- Per la tabella "Studenti" possono essere
ID,Nome,Cognome. - Per la tabella "Corsi" sono
ID Corso,Nome corso.
Nell'ERD di solito sono scritti dentro il rettangolo che rappresenta l'entità.
Relazioni tra entità
La relazione mostra come due entità interagiscono tra loro. Ecco i tipi principali di relazioni:
- Uno-a-uno (1:1): per esempio, ogni studente ha un solo badge unico.
- Uno-a-molti (1:N): per esempio, un docente può tenere più corsi.
- Molti-a-molti (M:N): per esempio, più studenti sono iscritti a più corsi.
Esempio di relazione "Uno-a-molti":
Studenti (1) <----- iscritto -----> (N) Corsi
Per realizzare le relazioni nel database di solito usiamo le foreign key.
Come costruire un ERD?
Vediamo il processo passo passo, con un esempio per una biblioteca.
Step 1: Definisci le entità
Il tuo compito è dividere il sistema in oggetti principali. Per esempio, per una biblioteca sono:
- "Libri".
- "Lettori".
- "Prestiti".
Esempio:
+-------------+ +--------------+ +------------+
| Libri | | Lettori | | Prestiti |
+-------------+ +--------------+ +------------+
| ID | | ID | | ID |
| Titolo | | Nome | | Lettore |
| Autore | | Cognome | | Libro |
| ISBN | | Data di nascita| | Data prestito|
+-------------+ +--------------+ +------------+
Step 2: Aggiungi gli attributi
Ogni entità deve avere attributi chiave. Per esempio:
- La tabella "Libri" deve includere
ID(primary key),Titolo,Autore,ISBN. - La tabella "Lettori" —
ID,Nome,Cognome.
Step 3: Definisci le relazioni
Ora aggiungi le relazioni tra le entità:
- "Prestiti" è collegata a "Libri" (un libro può essere prestato più volte).
- "Prestiti" è collegata a "Lettori" (un lettore può prendere più libri).
Step 4: Visualizza
Usa qualsiasi tool per creare diagrammi, tipo:
- draw.io
- dbdiagram.io
- Lucidchart
- Microsoft Visio
Il diagramma sarà tipo così:
[Lettori] ----(1:N)---- [Prestiti] ----(N:1)---- [Libri]
Per ogni relazione aggiungi il tipo di dato e una spiegazione, per esempio:
- ID Lettore in "Prestiti" è collegato alla primary key della tabella "Lettori".
Esempio: ERD per uno shop online
Per uno shop online serve una struttura logica che includa:
- Utenti (clienti registrati).
- Prodotti (articoli).
- Ordini.
Step 1: Entità
- Utenti:
ID Utente,Nome,Email. - Prodotti:
ID Prodotto,Nome,Prezzo. - Ordini:
ID Ordine,ID Utente,Data ordine.
Step 2: Definisci le relazioni
- Un utente può fare più ordini (1:N).
- Un ordine può includere più prodotti (M:N).
Diagramma ERD completo:
[Utenti] ----(1:N)---- [Ordini] ----(N:M)---- [Prodotti]
Per realizzare la relazione molti-a-molti aggiungi una tabella intermedia:
- Dettagli ordini:
ID Ordine,ID Prodotto,Quantità.
Consigli per creare ERD
Pensa prima a cosa vuoi vedere nel tuo database. Tutto parte dalla comprensione del dominio.
Includi solo gli attributi e le entità che servono davvero. Troppi dettagli confondono.
Assicurati che tutte le relazioni abbiano senso. Se una relazione ti sembra strana, ripensala.
Usa tool che ti aiutano a visualizzare i diagrammi. Risparmi tempo e fatica.
GO TO FULL VERSION