Basi di dati e sistemi informativi
Cos’è un sistema informativo?
L’insieme organizzato.
Un sistema informativo è di:
- Dati (documenti, archivi, basi di dati…),
- Persone (utenti, operatori, responsabili),
- Procedure e regole (come i dati vengono raccolti, aggiornati, usati),
- Strumenti e mezzi di comunicazione (anche non informatici: carta, telefono, riunioni…),
Supportare le attività e le decisioni che serve a di un’organizzazione (azienda, università, ospedale, PA, ecc.).
Quindi non è solo il computer: il sistema informatico è solo la parte automatizzata del sistema informativo.
Cosa si intende con basi di dati?
Una base di dati è, in sostanza, l’insieme strutturato di dati che un’organizzazione decide di conservare in modo permanente e ordinato, per poterli usare nel tempo in modo affidabile.
Non è solo “un sacco di informazioni sul computer”: quello sarebbe più un archivio di file. Parliamo di base di dati quando:
- Uno schema: i dati sono organizzati seguendo preciso (quindi so quali tabelle esistono, quali attributi ha ciascuna, quali valori sono ammessi, quali sono le chiavi, quali vincoli devo rispettare, ecc.);
- Condivisa: questa organizzazione è pensata per essere fra più utenti e più applicazioni, non costruita “ad hoc” per un singolo programma;
- DBMS, esiste un software dedicato, il che gestisce la base di dati: controlla gli accessi, fa rispettare i vincoli di integrità, garantisce che i dati rimangano consistenti anche in presenza di più utenti, guasti, aggiornamenti, e così via.
L’idea importante è che la base di dati rappresenta il patrimonio informativo centrale dell’organizzazione: non è solo uno spazio dove butto dati, ma un insieme di informazioni strutturate, condivise e protette, pensate per durare nel tempo e supportare i processi dell’ente (azienda, università, banca, ecc.).
Cos’è un DBMS?
Un DBMS (DataBase Management System) è un software di sistema specializzato per la gestione di basi di dati, che fornisce un livello di astrazione tra le applicazioni e i dati fisicamente memorizzati.
Dal punto di vista tecnico, un DBMS svolge in modo centralizzato le seguenti funzioni principali:
1. Gestione dello schema e del catalogo
- Schema logico: consente di definire e modificare lo schema logico della base di dati DDL (tabelle, attributi, domini, chiavi, vincoli di integrità) tramite il DDL (Data Definition Language).
- Catalogo data dictionary: mantiene un catalogo o data dictionary, che contiene la descrizione metadati della base di dati (strutture, vincoli, viste, utenti, permessi).
Le applicazioni non accedono ai dati in modo “brutale”, ma tramite questo livello logico.
2. Gestione dei dati e delle query (DML)
- Linguaggio di manipolazione dei dati: fornisce un (tipicamente SQL) per eseguire:
- Interrogazioni (SELECT),
- Inserimenti (INSERT),
- Modifiche (UPDATE),
- Cancellazioni (DELETE).
- Ottimizzare l’esecuzione delle query: si occupa internamente di (query optimizer), scegliendo piani di accesso efficienti (uso di indici, ordini di join, ecc.) a partire da una specifica dichiarativa.
3. Gestione delle transazioni e proprietà ACID
- Transazioni, raggruppa le operazioni in che devono rispettare le proprietà ACID:
- Atomicità: la transazione viene eseguita tutta o annullata completamente (COMMIT/ROLLBACK).
- Consistenza: la transazione porta la base di dati da uno stato consistente a un altro, rispettando i vincoli definiti.
- Isolamento: l’esecuzione concorrente di più transazioni è equivalente a una qualche esecuzione seriale (controllo della concorrenza).
- Durabilità: una volta effettuato il COMMIT, gli effetti sono permanenti e sopravvivono a guasti di sistema (tramite log e tecniche di recovery).
4. Controllo della concorrenza
- Gestisce l’accesso contemporaneo di più transazioni sugli stessi dati lock, timestamp usando meccanismi come o altre tecniche di concurrency control, evitando fenomeni indesiderati (dirty read, lost update, ecc.).
- Garantisce che la vista dei dati presentata a ciascuna transazione sia coerente con il livello di isolamento previsto.
5. Recovery e affidabilità
- Recuperabilità: utilizza log, checkpoint e backup per garantire la recuperabilità della base di dati in caso di crash o malfunzionamenti (guasti hardware/software).
- Dopo un guasto, il DBMS è in grado di:
- Rifare le operazioni delle transazioni confermate (REDO),
- Annullare le operazioni delle transazioni non completate (UNDO).
6. Sicurezza e controllo degli accessi
- Autenticazione autorizzazione: gestisce (identità dell’utente) e (cosa può fare l’utente), tramite utenti, ruoli e privilegi (GRANT/REVOKE).
- Può supportare viste e meccanismi di mascheramento per limitare la visibilità a sottoinsiemi dei dati.
Definizione di dati, informazione, conoscenza --> modello ER
Nel contesto delle basi di dati, dati, informazione e conoscenza non sono sinonimi: descrivono tre livelli diversi di “elaborazione” della realtà, e capire questa catena è proprio ciò che porta alla necessità di un modello concettuale come l’ER (Entità–Relazioni).
Dato
Un dato è una rappresentazione elementare, grezza, di un fatto o di una misura, codificata in modo che possa essere memorizzata ed elaborata da un sistema informatico.
Esempi tipici:
- 42
- "Mario Rossi"
- "2025-12-03"
Da solo, il dato non “dice” nulla sul suo significato: potrebbe essere l’età, il 42 contenuto numero di pezzi in magazzino, il codice di un corso, ecc. È solo un sintattico (un valore appartenente a un dominio).
Informazione
Si parla di informazione quando un dato (o un insieme di dati) viene interpretato in un contesto e collegato a un significato.
Esempi:
- 42 come “età dello studente”;
- "2025-12-03" come “data di iscrizione all’esame”;
- 42 pezzi come “giacenza attuale di un certo prodotto”.
L’informazione è quindi l’insieme di dato + contesto + semantica.
Quando nel sistema informativo definisco, per esempio, un campo di tipo intero Età associato alla classe Studente, sto attribuendo ai dati un significato preciso: non è più solo un numero, è “età dello studente”.
Conoscenza
La conoscenza è il livello successivo: è l’insieme strutturato di informazioni che un soggetto (umano o organizzazione) utilizza per comprendere e prendere decisioni.
Non è solo avere i dati e le informazioni, ma:
- Sapere come sono collegati (relazioni fra concetti: uno studente è iscritto a corsi, sostiene esami, ha un piano di studi);
- Sapere quali vincoli valgono (ogni esame deve riferirsi a un corso esistente, uno studente non può sostenere due volte lo stesso appello, ecc.);
- Sapere quali regole di business e di interpretazione si applicano.
Dal punto di vista delle basi di dati, la conoscenza viene “compressa” in:
- Schemi,
- Vincoli,
- Modelli concettuali.
È qui che entra in gioco il modello ER: è uno strumento per rappresentare formalmente la conoscenza strutturata che l’organizzazione ha sul proprio dominio.
Dal dato al modello concettuale
Il percorso, nella progettazione di basi di dati, è questo:
- Mondo reale: esiste una realtà organizzativa: studenti, corsi, esami, docenti; oppure clienti, ordini, fatture, prodotti; ecc.
- Dati “sparsi”: inizialmente queste realtà producono dati: nomi su moduli cartacei, date su registri, quantità su fatture, file Excel, mail, ecc. Sono dati, ma non ancora organizzati in un modello coerente.
- Informazione strutturata nel sistema informativo: il sistema informativo raccoglie questi dati e li organizza in informazioni: schede studente, registri esami, elenchi corsi. Qui si comincia a ragionare in termini di tipi di oggetti (studente, corso, esame) e delle loro relazioni.
- Analisi dei requisiti
-
Appunti Basi di dati e sistemi informativi
-
Appunti di Sistemi informativi
-
Appunti Basi di dati e sistemi informativi
-
Appunti Basi di dati e sistemi informativi