A cura dei proff. De Carli - Venturi
Basi di dati
S
istema informativo
: componente di un’organizzazioneche gestisce le informazioni di
interesse (cioè utilizzate per il perseguimento degli scopi dell’organizzazione). Esso è
formato da risorse umane, strumenti, procedure per gestire tali informazioni.
O
gni organizzazione ha un sistema informativo, eventualmente non esplicitato nella
struttura.
Il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto
in cui è inserito.
Il concetto di sistema informativo è indipendente da qualsiasi automatizzazione: esistono
organizzazioni che si occupano di gestione di informazioni (ad esempio servizi anagrafici o
banche) che operano da secoli, ben prima dei sistemi automatizzati.
Quando si parla di gestione delle informazioni ci si riferisce a:
• Raccolta, acquisizione
• Archiviazione, conservazione
• Elaborazione, trasformazione, produzione
• Distribuzione, comunicazione, scambio
U
nsistema Informaticoè la porzione automatizzatadi un sistema informativo, cioè
la parte del sistema informativo che gestisce informazioni con tecnologia informatica
(hardware, software, reti).
I
nformazioni e dati
Dati
: elementi grezzi derivanti da determinati fenomeni,costituiti da simboli che devono
essere elaborati. I dati possono essere contestualizzati ed interpretati per fornire
informazione e arricchire la conoscenza.
Informazione
: elemento che consente di aumentare lapropria conoscenza.
B
ase di dati
Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente,
azienda, ufficio, persona). Una base di dati è anche l’insieme di dati gestito da un DBMS.
S
istema di gestione di basi di dati - DataBase Management System (DBMS)
Un DBMS è un sistema che gestisce collezioni di dati:
–grandi (dimensioni anche molto maggiori della memoriacentrale disponibile, anche milioni
di gigabyte con miliardi di record)
–persistenti(hanno un tempo di vita indipendentedalle singole esecuzioni dei programmi
che le utilizzano)
–condivise(applicazioni e utenti diversi accedonoa dati comuni. In questo modo si evita
anche la ripetizione dei dati, detta ridondanza, che può generare inconsistenza. Vengono
utilizzati meccanismi di controllo della concorrenza)
U
n DBMS garantisce:
–privatezza(vengono definiti meccanismi di autorizzazione)
–affidabilità(resistenza a malfunzionamenti hardwaree software, meccanismi di backup e
recovery) A cura dei proff. De Carli - Venturi
–
efficienza(cioè svolgere le operazioni utilizzando le risorse di spazio e tempo in modo
accettabile per l’utente, gestendo al meglio quindi lo spazio di memoria principale e
secondaria e il tempo di esecuzione e di risposta)
–efficacia(rendere produttive le attività degliutilizzatori,)
DBMS: Prodotti software, come ad esempio: SQLServer, MySQL, PostgreSQL, Access..
P
er garantire l’affidabilità, è fondamentale il meccanismo delle transazioni.
Transazione
: insieme di operazioni da considerareindivisibile, atomico, corretto anche in
presenza di concorrenza e con effetti definitivi.
Le transazioni devono rispettare le proprietàACID
:
A - Atomicità: le transazioni sono entità indivisibili.
C - Consistenza: le transazioni trovano il sistema in uno stato consistente e lo lasciano in
uno stato consistente (non devono violare i vincoli di integrità). Se si verificano problemi
durante una transazione, le operazioni svolte fino a quel momento vengono annullate
(rollback) per riportare il sistema nello stato consistenteiniziale.
I - Isolamento: L’effetto delle operazioni intermedie di una transazione non è visibile
dall’esterno. L’effetto di una transazione è visibile solo quando essa si conclude
positivamente (commit).
D - (Durability) Persistenza: gli effetti di una transazione conclusa con esito positivo (commit)
devono essere memorizzati permanentemente nel database.
D
BMS vs file tradizionali
La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più
semplici, cioè gli ordinari file system dei sistemi operativi.
Leoperazionidi interesse sono: lettura (ricerca),scrittura, modifica, cancellazione.
Nell’approccio con file tradizionali:
- i programmi sono dipendenti dagli archivi che gestiscono, devono conoscere la
struttura dei singoli record;
- c’è il rischio di ridondanza dei dati;
- i vincoli di integrità sono esprimibili solo con il codice che manipola i dati;
- sono previste forme rudimentali di condivisione, solo sull&rs