Progettazione Database: dal Modello E-R a SQL

Scuola Secondaria di secondo grado

Impara a progettare un database partendo dall'analisi dei requisiti, creando un modello Entità-Relazione e traducendolo in tabelle con il linguaggio SQL.

Obiettivi

Al termine di questa scheda, lo studente sarà in grado di:

Analizzare un semplice problema per individuare dati e relazioni.
Progettare uno schema concettuale usando il modello Entità-Relazione (E-R).
Comprendere i concetti di entità, attributo, relazione, chiave primaria e chiave esterna.
Tradurre uno schema E-R in uno schema logico relazionale (tabelle).
Scrivere il codice SQL (DDL) per creare la struttura delle tabelle di un database.

Tempo di apprendimento

Apprendimento in: Studio individuale: 90 minuti. Esercitazione pratica: 120 minuti.

Contenuti

Introduzione: Perché progettare un Database?

Ogni volta che usi un’app, un sito di e-commerce o un social network, interagisci con un database. Ma come nascono? Non si creano a caso! Un database ben costruito è il risultato di un’attenta progettazione. In questa scheda impareremo il processo che trasforma un’idea in una struttura di dati solida e funzionante, usando un metodo standard del settore.

Il processo si divide in due fasi principali:

  1. Progettazione Concettuale: Disegniamo un modello grafico per rappresentare la realtà che ci interessa. Usiamo il Modello Entità-Relazione (E-R).
  2. Progettazione Logica: Traduciamo il nostro disegno in uno schema di tabelle, pronte per essere create con il linguaggio SQL.

Fase 1: La Progettazione Concettuale (Modello E-R)

In questa fase usiamo dei “mattoncini” grafici per descrivere la realtà.

  • ENTITÀ (rettangolo): Rappresenta una classe di oggetti con proprietà comuni. Esempio: STUDENTE, LIBRO, PRESTITO.
  • ATTRIBUTI (ellisse): Sono le proprietà che descrivono un’entità. Un attributo speciale, detto chiave primaria (sottolineato), identifica in modo unico ogni oggetto di quell’entità. Esempio: Per STUDENTE gli attributi sono Matricola, Nome, Cognome.
  • RELAZIONI (rombo): Descrivono un legame logico tra due o più entità. Esempio: La relazione “prende” lega l’entità STUDENTE all’entità LIBRO.

Sulle relazioni indichiamo anche la cardinalità, che ci dice “quanti oggetti partecipano”. Le più comuni sono 1:N (uno a molti). Esempio: Uno STUDENTE può prendere N (molti) LIBRI, ma un LIBRO in un certo momento può essere preso da un solo STUDENTE (1).


Fase 2: La Progettazione Logica (Le Tabelle SQL)

Ora trasformiamo il disegno in qualcosa che il computer può capire: le tabelle. Le regole sono semplici:

  1. Ogni entità diventa una tabella. Il nome dell’entità sarà il nome della tabella.
  2. Ogni attributo diventa una colonna di quella tabella.
  3. L’attributo chiave primaria diventa la CHIAVE PRIMARIA (PRIMARY KEY) della tabella.
  4. Le relazioni 1:N si traducono aggiungendo una CHIAVE ESTERNA (FOREIGN KEY). Nella tabella sul “lato N” della relazione, si aggiunge una colonna che contiene la chiave primaria della tabella sul “lato 1”.

Esempio pratico:

Se abbiamo le entità STUDENTE (Matricola, Nome) e LIBRO (CodiceISBN, Titolo) legate da una relazione 1:N (uno studente prende molti libri).

La traduzione produrrà due tabelle:

STUDENTE(Matricola, Nome)

LIBRO(CodiceISBN, Titolo, MatricolaStudente_FK)

La colonna MatricolaStudente_FK in LIBRO è la chiave esterna: conterrà la matricola dello studente che ha preso quel libro, creando il collegamento tra le due tabelle.

Dopo aver studiato l'argomento, mettiti alla prova con un caso pratico. Il tuo compito è progettare il database per la gestione di una piccola fumetteria. Leggi il caso di studio che trovi nei "Materiali didattici" e segui le fasi richieste.

Leggi attentamente il testo del caso di studio "Gestione Fumetteria" fornito nei materiali didattici.

Analizza il testo e individua le entità principali (es. FUMETTO, CLIENTE...), i loro attributi e le relazioni che le legano.

Disegna lo schema Entità-Relazione (E-R) utilizzando un software di diagrammazione online (es. draw.io, Lucidchart).

Traduci lo schema E-R in uno schema logico relazionale (l'elenco delle tabelle con le loro colonne, indicando chiavi primarie ed esterne).

Scrivi il codice SQL DDL (i comandi CREATE TABLE...) in un file di testo semplice (es. Blocco Note, VSCode).

Verifica apprendimento

Consegna dell'elaborato finale contenente lo schema E-R (in formato immagine PNG o PDF).

Consegna del file di testo (.sql o .txt) contenente tutto il codice SQL DDL per la creazione delle tabelle.

Risorse