← Portale
Database · AFM · RIM

Basi di Dati
Dal dato al modello

Dato vs informazione, DBMS, progettazione concettuale e logica, diagrammi E-R, cardinalità e chiavi esterne. Tutto il necessario per capire come funziona davvero un database.

10 sezioni · Livello base–intermedio · ~40 min
🗄️ Guida Basi di Dati 10 sezioni · teoria
Sezioni →
01

Dato vs Informazione

Due concetti spesso confusi, con una differenza fondamentale

Nel mondo aziendale, e in particolare negli indirizzi AFM e RIM, si sente spesso parlare di dati e informazioni come se fossero la stessa cosa. Non lo sono — e capire la differenza è il punto di partenza di qualunque ragionamento sui database.

ConcettoDefinizioneEsempio
DatoUna descrizione elementare, un valore grezzo privo di contesto.Rossi · 01/01/2025 · 120.50
InformazioneL'incremento di conoscenza che si ottiene interpretando e contestualizzando i dati."Il cliente Rossi ha effettuato un ordine di 120,50 € il 01/01/2025"

L'insieme di valori {Rossi, 01/01/2025, 120.50} è una raccolta di dati grezzi: di per sé non ci dice nulla. Diventa informazione significativa solo quando gli associamo uno schema che ne definisce il significato, ad esempio {Cognome Cliente, Data Ordine, Importo Fattura}.

ℹ️
La formula chiave Dati + Struttura (schema) + Contesto = Informazione. Un database è esattamente questo: un sistema che conserva dati organizzati secondo uno schema, per produrre informazioni utili.

Perché questa distinzione conta nel lavoro

In un'azienda AFM o RIM, chi gestisce dati senza capirne il significato commette errori costosi. Un file Excel con 10.000 righe di numeri senza intestazioni è dati. Lo stesso file con intestazioni chiare, formule corrette e filtri appropriati diventa informazione su cui si prendono decisioni.

💡
Caso pratico Il magazzino registra: ART-042, 15, 2025-03-10. Sono dati. Quando il gestionale li interpreta come "Articolo ART-042: 15 unità vendute il 10 marzo 2025", diventano informazione utile al riordino.
02

Schema e Istanza

Un database è definito da due livelli distinti: la sua struttura (schema) e i suoi contenuti (istanza). Confonderli è uno degli errori più comuni tra chi si avvicina ai database per la prima volta.

ConcettoCos'èCambia nel tempo?Esempio
SchemaLa definizione della struttura: nomi delle tabelle, colonne, tipi di dato, vincoli.Raramente (solo con modifiche strutturali)Tabella CLIENTI con colonne: ID, Cognome, Nome, Email
IstanzaI dati effettivamente contenuti nel database in un dato momento.Continuamente (ad ogni INSERT, UPDATE, DELETE)La riga: 1, Rossi, Marco, marco@email.it
🏗️
Analogia utile Lo schema è come il modulo di un form cartaceo: definisce i campi, il loro tipo (numero, testo, data) e le regole da rispettare. L'istanza è il modulo compilato: i valori concreti inseriti in quei campi.

Perché la distinzione è importante

Quando si progetta un database, si lavora prima sullo schema — si decide quali tabelle creare e come collegarle. Solo dopo si inseriscono i dati (istanza). Modificare lo schema di un database già popolato è costoso e rischioso: richiede migrazioni, controlli di integrità, aggiornamenti ai programmi che usano il database.

⚠️
Errore comune Aggiungere colonne a una tabella esistente senza pianificazione può causare valori NULL non previsti in milioni di righe già presenti. Una buona progettazione dello schema sin dall'inizio evita questi problemi.
03

Limiti dei file

Prima dei database, le aziende conservavano i dati in file separati: un file per le fatture, uno per i clienti, uno per il magazzino. Questo approccio, ancora diffuso con Excel, presenta problemi strutturali gravi.

🔁
Ridondanza
Lo stesso dato (es. nome del cliente) è copiato in più file. Ogni copia può diventare inconsistente.
💥
Inconsistenza
Se il cliente cambia indirizzo e si aggiorna solo un file su tre, i dati diventano contraddittori.
🔒
Accesso difficile
Per rispondere a "tutti i clienti che hanno ordinato prodotto X nel 2024" bisogna aprire e incrociare più file manualmente.
👤
Accesso non controllato
Chiunque abbia accesso al file può leggere o modificare tutto. Non è possibile dare accesso parziale.
🚧
Accesso concorrente
Due persone che modificano lo stesso file Excel contemporaneamente causano sovrascritture e perdita di dati.
🔗
Dipendenza dai programmi
Il formato del file è legato al programma che lo ha creato. Cambiare software significa dover migrare tutti i dati.
💡
Il database risolve tutti questi problemi Un DBMS centralizza i dati, elimina la ridondanza tramite le relazioni, garantisce l'accesso controllato con permessi granulari, e gestisce la concorrenza in modo automatico.
04

Cos'è un Database

Un database (base di dati) è una raccolta organizzata di dati correlati, strutturata in modo da consentire l'accesso, la gestione e l'aggiornamento efficiente delle informazioni.

📖
Definizione formale Un database è un insieme di dati persistenti, condivisi e organizzati secondo un modello logico, gestiti da un sistema software chiamato DBMS che garantisce correttezza, sicurezza e accesso efficiente.

Caratteristiche fondamentali

💾
Persistenza
I dati sopravvivono alla chiusura del programma e ai riavvii del sistema.
👥
Condivisione
Più utenti e applicazioni possono accedere agli stessi dati contemporaneamente in modo controllato.
Integrità
Il DBMS verifica che i dati rispettino le regole definite nello schema (vincoli di integrità).
🔐
Sicurezza
L'accesso ai dati è controllato tramite permessi: ogni utente vede e modifica solo ciò che gli è consentito.
05

Il DBMS

Il DBMS (Database Management System, Sistema di Gestione di Basi di Dati) è il software che si interpone tra gli utenti/applicazioni e il database fisico. Non si "apre un database" direttamente — si usa sempre un DBMS come intermediario.

DBMSTipoUso tipico
MySQL / MariaDBRelazionale, open sourceApplicazioni web, siti WordPress
PostgreSQLRelazionale avanzato, open sourceApplicazioni enterprise, dati geografici
SQLiteRelazionale, embeddedApp mobile, file locali
Microsoft SQL ServerRelazionale, commercialeAziende Microsoft-stack
LibreOffice BaseDBMS desktop con HSQLDBUso didattico, piccoli archivi
MongoDBNoSQL documentaleDati non strutturati, JSON

Funzioni principali del DBMS

06

Le tre fasi di progettazione

Progettare un database non significa aprire subito un programma e creare tabelle. Si seguono tre fasi distinte, ognuna con strumenti e obiettivi propri.

📌
In questo corso Ci concentriamo sulla fase 1 (E-R) e sulla fase 2 (modello logico relazionale). La fase 3 viene affrontata nelle guide su LibreOffice Base e SQL.
07

Entità, Istanze, Attributi

Il diagramma Entità-Relazione (E-R) è il principale strumento della progettazione concettuale. Usa tre concetti fondamentali.

ConcettoDefinizioneSimbolo E-REsempio
EntitàUna "cosa" del mondo reale su cui vogliamo conservare informazioni.RettangoloCLIENTE, PRODOTTO, ORDINE
IstanzaUn singolo elemento concreto di un'entità.Il cliente Mario Rossi; il prodotto "Tastiera USB"
AttributoUna proprietà che descrive un'entità.Ovale / ellisseCognome, Nome, Email (attributi di CLIENTE)

Tipi di attributo

Semplice
Valore atomico
Non scomponibile ulteriormente. Es: Cognome, Prezzo, DataNascita.
Composto
Più parti distinte
Scomponibile in attributi più semplici. Es: Indirizzo = Via + Città + CAP.
Monovalente
Un solo valore
Ogni istanza ha un solo valore per quell'attributo. Es: CodiceFiscale.
Multivalore
Più valori possibili
Un'istanza può avere più valori. Es: Telefono (fisso + mobile + lavoro).

Attributo chiave (identificatore)

Ogni entità deve avere almeno un attributo chiave (o identificatore): un attributo il cui valore identifica univocamente ogni istanza. Nel diagramma E-R è sottolineato. Nella tabella relazionale diventerà la chiave primaria (PK).

⚠️
Attenzione agli identificatori "naturali" Attributi come Cognome o Email sembrano buoni identificatori, ma possono cambiare o non essere unici. Il CodiceFiscale è un buon identificatore naturale per le persone. In molti casi conviene usare un ID numerico progressivo come identificatore artificiale.
08

Simbologia E-R e Cardinalità

Oltre a entità e attributi, il diagramma E-R rappresenta le relazioni tra entità e la loro cardinalità — cioè quante istanze di un'entità possono essere associate a istanze dell'altra.

SimboloSignificato
RettangoloEntità
RomboRelazione tra entità
Ovale / EllisseAttributo
Ovale doppioAttributo multivalore
Ovale tratteggiatoAttributo derivato (calcolabile da altri)
Linea con 1Partecipazione "uno" (al più una istanza)
Linea con NPartecipazione "molti" (più istanze possibili)

I tre tipi di cardinalità

💡
Come leggere la cardinalità Per determinare il tipo di relazione, fai due domande: "Un A può essere associato a quanti B?" e "Un B può essere associato a quanti A?". Se la prima risposta è "uno" e la seconda è "molti", è una relazione 1:N.
09

Entità forti, deboli, ridondanze

Entità forte vs entità debole

Entità forte
Esiste autonomamente
Ha un proprio identificatore che non dipende da altre entità. Può esistere nel database indipendentemente. Es: CLIENTE, PRODOTTO.
Entità debole
Dipende da un'altra
Non ha un identificatore proprio sufficiente. La sua esistenza dipende da un'entità forte. Es: RIGA_ORDINE dipende da ORDINE.

Nel diagramma E-R, l'entità debole è rappresentata con un rettangolo doppio e la relazione con l'entità forte con un rombo doppio.

Ridondanze

Una ridondanza nel diagramma E-R è un'informazione che può essere derivata da altre informazioni già presenti nel modello. Va identificata ed eliminata (o giustificata) durante la progettazione.

⚠️
Esempio di ridondanza Se ho le entità ORDINE e RIGA_ORDINE, e ORDINE ha un attributo "TotaleOrdine", questo è ridondante: può essere calcolato sommando gli importi delle RIGA_ORDINE associate. Memorizzarlo porta a inconsistenze se le righe vengono modificate senza aggiornare il totale.
10

Dal concettuale al logico

La progettazione logica traduce il diagramma E-R in un insieme di tabelle relazionali. Si seguono regole precise per ogni tipo di entità e relazione.

Regole di traduzione

Esempio completo — Da E-R a tabelle relazionali

Partiamo da un semplice E-R: STUDENTE frequenta CORSO (relazione N:M).

STUDENTI
PK ID_Stud Intero
Cognome Testo
Nome Testo
DataNascita Data
N:M →
tabella
associativa
ISCRIZIONI
PK+FK FK_ID_Stud Intero
PK+FK FK_ID_Corso Intero
DataIscrizione Data
Voto Intero
← N:M
CORSI
PK ID_Corso Intero
Titolo Testo
CFU Intero
Docente Testo
🔗
Prossimi passi Una volta acquisito il modello logico, si passa alla fase fisica — la creazione reale delle tabelle in un DBMS come LibreOffice Base o MySQL — e all'interrogazione dei dati tramite SQL e le sue query. Consulta la Guida alle Query con LibreOffice Base per approfondire.