Argomenti
- Introduzione ai Database: fondamenti e concetti chiave
- Il ruolo del DBMS
- Le fasi della progettazione di un database
- La tabella “Autore”
- Operazioni relazionali: selezione e proiezione
- Video della Lezione 1 – SQL
Introduzione ai Database: fondamenti e concetti chiave
Nel mondo digitale moderno, i dati rappresentano una delle risorse più preziose. Ogni applicazione, sito web o sistema informatico che utilizziamo quotidianamente si basa su una gestione efficiente delle informazioni. In questo articolo esploreremo i concetti fondamentali dei database, partendo dalle basi fino ad arrivare ai primi esempi pratici di interrogazione dei dati tramite SQL.
Cos’è un database?
Un database è una collezione organizzata di dati strutturati, progettata per essere facilmente accessibile, gestibile e aggiornata da più utenti e applicazioni.
I principali vantaggi di un database sono:
- organizzazione strutturata delle informazioni
- riduzione delle ridondanze
- maggiore sicurezza dei dati
- accesso rapido ed efficiente alle informazioni
Il ruolo del DBMS
Il DBMS (Database Management System) è il software che consente di creare, gestire e interrogare un database. Alcuni esempi diffusi sono:
- Microsoft Access
- Microsoft SQL Server
- MySQL / MariaDB
- Oracle Database
- PostgreSQL
Le principali funzioni di un DBMS includono:
- indipendenza tra struttura logica e fisica dei dati
- gestione degli accessi concorrenti
- controllo di integrità, sicurezza e privacy
- eliminazione delle ridondanze e delle inconsistenze
Le fasi della progettazione di un database
1. Progettazione concettuale
Si basa sul modello Entità-Relazione (E-R) e descrive le informazioni in modo astratto, senza riferimenti tecnici.
2. Progettazione logica
Utilizza il modello relazionale, trasformando le entità in tabelle e definendo attributi e relazioni.
3. Progettazione fisica
Si realizza tramite il linguaggio SQL (Structured Query Language), che permette di creare e interrogare le tabelle del database.
La tabella “Autore”
Ecco un esempio di tabella utilizzata per spiegare i concetti principali:
| id_autore | nome | cognome | data_nascita | genere | luogo_nascita |
|---|---|---|---|---|---|
| 1 | Maria | Rossi | 21/10/1989 | F | Roma |
| 2 | Gennaro | De Girolomano | 12/12/1998 | M | Milano |
| 3 | Lorenzo | Scotti | 21/08/1978 | M | Firenze |
| 4 | Luca | Zolli | 04/04/1977 | M | Roma |
| 5 | Libera | Medici | 13/06/1982 | F | Palermo |
Concetti fondamentali
- Cardinalità → numero di righe (tuple) della tabella
- Grado → numero di colonne della tabella
Operazioni relazionali: selezione e proiezione
Le operazioni relazionali consentono di estrarre informazioni specifiche da una tabella.
🔹 Proiezione (SELECT)
La proiezione permette di visualizzare solo alcune colonne della tabella.
Esempio: visualizzare solo nome e cognome di tutti gli autori:
SELECT nome, cognome
FROM Autore;
Risultato: una tabella contenente esclusivamente i nomi e i cognomi degli autori.
🔹 Selezione (WHERE)
La selezione consente di filtrare le righe in base a una condizione.
Esempio: selezionare tutti gli autori di sesso femminile:
SELECT *
FROM Autore
WHERE genere = 'F';
🔹 Selezione con condizione su una città
SELECT nome, cognome
FROM Autore
WHERE luogo_nascita = 'Roma';
Questo comando restituisce solo gli autori nati a Roma.
🔹 Selezione con confronto su date
SELECT nome, cognome, data_nascita
FROM Autore
WHERE data_nascita < '1985-01-01';
In questo caso vengono estratti tutti gli autori nati prima del 1985. Notare che l data di nascita è stata inserita in notazione anglosassone, il DBMS Microsoft Access accetta tutti i formati di data se opportunamente definiti.
🔹 Combinazione di selezione e proiezione
SELECT nome
FROM Autore
WHERE genere = 'M' AND luogo_nascita = 'Milano';
Questo esempio mostra come combinare più condizioni per ottenere risultati più mirati.
Conclusione
Attraverso questi esempi pratici è possibile comprendere come il linguaggio SQL permetta di interrogare un database in modo semplice ma potente. Le operazioni di selezione e proiezione rappresentano la base di qualsiasi interrogazione e sono fondamentali per lavorare con i dati in modo efficace.
Nei prossimi approfondimenti sarà possibile esplorare operazioni più avanzate come join, ordinamenti, raggruppamenti e funzioni di aggregazione.