CodeGym /Corsi /SQL SELF /Creazione di ERD (diagramma entità-relazioni)

Creazione di ERD (diagramma entità-relazioni)

SQL SELF
Livello 26 , Lezione 1
Disponibile

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

  1. 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 |
+---------------+
  1. 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:

  1. Utenti (clienti registrati).
  2. Prodotti (articoli).
  3. 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.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION