Loading
Loading
Una base di dati è una raccolta di dati strutturati, persistenti e condivisi, gestita da un software specializzato (il DBMS) che ne garantisce integrità, riservatezza e accesso concorrente. Questo appunto percorre l'intero ciclo di progettazione — dall'analisi della realtà di interesse al modello concettuale Entità-Relazione, fino alla sua traduzione nel modello logico relazionale di Codd e ai vincoli di integrità che ne assicurano la qualità. Si chiude con i principi essenziali della normalizzazione, strumento per eliminare le ridondanze e prevenire le anomalie di aggiornamento.
5sezionica. 17min di lettura3competenzeLivelloBase 1 · Standard 2 · Approfondimento 2Verificato · 06/2026
livello base
È richiesto saper distinguere dato e informazione, leggere e costruire uno schema E-R semplice e tradurlo in tabelle con chiavi primarie ed esterne coerenti.
livello avanzato
Nel triennio del Liceo Scientifico — opzione Scienze Applicate si approfondiscono la traduzione sistematica delle associazioni (incluse le molti-a-molti), i vincoli di integrità referenziale con le relative politiche e i primi tre livelli di normalizzazione applicati a casi concreti.
Lesetiefe: Approfondimento
Schriftgröße: Standard
Architettura a tre livelli di una base di dati
Una biblioteca tiene l'elenco dei libri in un file e l'elenco dei prestiti in un secondo file, ripetendo in entrambi titolo e autore di ogni libro. Spiega quali problemi emergono e quali funzioni del DBMS li risolvono.
Titolo e autore sono memorizzati due volte (nei libri e nei prestiti): lo stesso dato è replicato, sprecando spazio e introducendo il rischio di copie diverse.
Se si corregge il titolo di un libro solo nel primo file, il file dei prestiti resta con il vecchio valore: i dati diventano incoerenti.
Centralizzando i dati in un'unica base di dati, il titolo viene memorizzato una sola volta; il controllo della ridondanza e i vincoli di integrità garantiscono che ogni prestito faccia riferimento a un libro esistente.
Risultato: I problemi sono ridondanza e incoerenza; il DBMS li risolve centralizzando i dati, eliminando le copie e imponendo vincoli di integrità referenziale tra prestiti e libri.
Errori frequenti
Ripasso attivo
Una segreteria scolastica gestisce studenti, classi e voti con tre fogli di calcolo separati, ciascuno con il nome dello studente ripetuto. Individua almeno tre problemi di questa organizzazione e spiega quali servizi di un DBMS li risolverebbero.
Richiamo attivo
Ricorda i punti chiave — poi rivela.
Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))
Schema E-R: Studente — si iscrive a — Corso (N:M)
Una scuola di musica registra Allievi e Insegnanti. Ogni allievo segue le lezioni di un solo insegnante, mentre ogni insegnante segue molti allievi. Individua entità, identificatori, l'associazione e la sua cardinalità.
Le classi di oggetti con esistenza autonoma sono Allievo e Insegnante: due entità, due rettangoli.
Per Allievo un codice allievo univoco; per Insegnante un codice insegnante. Sono gli identificatori (chiavi) delle rispettive entità.
L'associazione «è seguito da» lega Allievo e Insegnante. Poiché ogni allievo ha un solo insegnante ma ogni insegnante ha molti allievi, dalla parte dell'Allievo la cardinalità è 1, dalla parte dell'Insegnante è N.
Risultato: Schema E-R con entità Allievo e Insegnante, associazione «è seguito da» di cardinalità 1:N (un insegnante → molti allievi; un allievo → un insegnante).
Errori frequenti
Ripasso attivo
Una palestra registra i propri Soci, i Corsi offerti e le Iscrizioni dei soci ai corsi, con la data di iscrizione. Disegna lo schema E-R individuando entità, attributi, identificatori e la cardinalità dell'associazione, motivandola.
Richiamo attivo
Ricorda i punti chiave — poi rivela.
Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))
Due tabelle collegate da chiave primaria e chiave esterna
Considera REPARTO(cod_reparto, nome_reparto) e DIPENDENTE(matricola, cognome, cod_reparto). Determina la chiave primaria di ciascuna tabella e la chiave esterna, spiegando il vincolo che ne deriva.
cod_reparto identifica univocamente ogni reparto: è la chiave primaria (univoca, non nulla).
matricola identifica univocamente ogni dipendente: è la chiave primaria di DIPENDENTE.
cod_reparto in DIPENDENTE riferisce la chiave primaria di REPARTO: è una chiave esterna. Il vincolo di integrità referenziale impone che ogni dipendente sia assegnato a un cod_reparto realmente esistente in REPARTO.
Risultato: PK: REPARTO(cod_reparto), DIPENDENTE(matricola); FK: DIPENDENTE.cod_reparto → REPARTO.cod_reparto, con vincolo di integrità referenziale.
Errori frequenti
Ripasso attivo
Data la tabella STUDENTE(matricola, nome, cognome, classe) e la tabella VOTO(id_voto, matricola, materia, valutazione), indica per ciascuna tabella la chiave primaria e individua la chiave esterna, spiegando il vincolo di integrità che essa impone.
Richiamo attivo
Ricorda i punti chiave — poi rivela.
Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))
Traduzione di un'associazione N:M con tabella ponte
Traduci lo schema: AUTORE(cod_autore, nome) (1) — scrive — (N) LIBRO(isbn, titolo). Ogni libro ha un solo autore; un autore scrive molti libri.
Ogni entità diventa una tabella: AUTORE(cod_autore, nome) con PK cod_autore; LIBRO(isbn, titolo) con PK isbn.
«scrive» è di cardinalità 1:N (un autore → molti libri; un libro → un autore): non serve una tabella ponte.
Si aggiunge nella tabella dal lato «molti», cioè LIBRO, l'attributo cod_autore come chiave esterna verso AUTORE.cod_autore.
Risultato: AUTORE(cod_autore PK, nome); LIBRO(isbn PK, titolo, cod_autore FK → AUTORE.cod_autore).
Errori frequenti
Ripasso attivo
È dato lo schema E-R: AUTORE (1) — scrive — (N) LIBRO, e LIBRO (N) — è prestato a — (M) LETTORE con attributo data_prestito. Traduci l'intero schema nel modello relazionale, indicando per ogni tabella chiave primaria e chiavi esterne.
Richiamo attivo
Ricorda i punti chiave — poi rivela.
Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))
Dalla ridondanza alle forme normali
La tabella ESAME(matricola, nome_studente, cod_corso, nome_corso, voto) ha chiave primaria (matricola, cod_corso). Individua le dipendenze anomale e scomponi la tabella fino alla 3FN.
Tutti gli attributi sono atomici (nessuna lista): la tabella è già in 1FN.
nome_studente dipende solo da matricola e nome_corso solo da cod_corso: sono dipendenze parziali dalla chiave composta, quindi la tabella NON è in 2FN.
Si separano: STUDENTE(matricola PK, nome_studente); CORSO(cod_corso PK, nome_corso); ESAME(matricola, cod_corso PK composta, voto). Ora ogni attributo non chiave dipende dall'intera chiave della propria tabella.
Nelle tre tabelle nessun attributo non chiave dipende da un altro attributo non chiave (nessuna dipendenza transitiva): lo schema è in 3FN.
Risultato: STUDENTE(matricola PK, nome_studente); CORSO(cod_corso PK, nome_corso); ESAME(matricola FK, cod_corso FK, voto) con PK (matricola, cod_corso): schema in 3FN.
Errori frequenti
Ripasso attivo
Una tabella ESAME(matricola, nome_studente, cod_corso, nome_corso, voto) ha chiave primaria (matricola, cod_corso). Individua le dipendenze parziali e transitive, indica a quale forma normale si trova e scomponila fino alla 3FN.
Richiamo attivo
Ricorda i punti chiave — poi rivela.
Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))
Riferimenti e fonti
Ministero dell'Istruzione e del Merito (MIM)