Cos’è un database?
Un database (base di dati) è un insieme organizzato e strutturato di dati, gestito da un software specializzato chiamato DBMS (Database Management System). Il DBMS si occupa di memorizzare, recuperare, modificare e proteggere i dati, garantendone la coerenza e l’integrità.
Esempi di DBMS relazionali: MySQL, PostgreSQL, Oracle, Microsoft SQL Server, SQLite.
Perché usare un database al posto di file normali?
Un database risolve i problemi tipici della gestione dei dati tramite file:
- Ridondanza: gli stessi dati non vengono duplicati in più posti.
- Incoerenza: un aggiornamento in un punto si riflette ovunque automaticamente.
- Accesso concorrente: più utenti possono accedere contemporaneamente senza conflitti.
- Sicurezza: accesso ai dati controllato tramite permessi.
- Integrità: il DBMS verifica automaticamente che i dati rispettino le regole definite.
Il modello relazionale
Il modello relazionale, introdotto da Edgar Codd nel 1970, è il modello su cui si basano la quasi totalità dei database moderni. Organizza i dati in tabelle (dette formalmente relazioni), composte da:
- Righe (tuple): rappresentano le singole istanze di un oggetto (es. un singolo studente).
- Colonne (attributi): rappresentano le proprietà dell’oggetto (es. nome, cognome, data di nascita).
Proprietà fondamentali di una relazione (tabella)
Una tabella è formalmente una relazione solo se rispetta queste proprietà:
- I nomi degli attributi (intestazioni di colonna) sono tutti diversi tra loro.
- I valori di ogni colonna sono omogenei: appartengono tutti allo stesso dominio.
- Ogni riga è unica: non esistono due tuple identiche.
- L’ordine delle righe è irrilevante: la tabella non è un elenco ordinato.