C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
1. BASI DI DATI: GENERALITÀ
BASE DI DATI (DATABASE, DB)
Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in
maniera ottimale.
Una base di dati è usualmente progettata su carta e realizzata fisicamente con strumenti
informatici HW e SW.
La definizione si basa su alcuni concetti base:
• Dato
Descrizione di un fatto concreto (documento, immagine…) tratto dalla vita reale.
• Informazione
Dato cui è assegnato un significato che fornisce nuova conoscenza.
Dal punto di vista dell’elaboratore un DB è un insieme di dati grezzi. Dal punto di vista
utente tali dati assumono significato grazie alla loro struttura e divengono informazioni.
• Dati Strutturati
Organizzati secondo una precisa struttura o schema che consente di interpretarli.
• Dati Correlati
In relazione logica tra loro.
• Dati Fruibili
Gestibili dall’utente e dal computer attraverso operazioni elementari: inserimento,
modifica, cancellazione, interrogazione.
DAL DATO ALL’INFORMAZIONE
Un dato diviene informazione quando è applicato su esso uno schema o chiave di
interpretazione che ne rende esplicito un significato e porta conoscenza. Tale processo è
detto interpretazione.
Lo schema tipico utilizzato nei moderni database relazionali è la tabella.
Schema
Dato
Informazione
Art01
Art03
Articolo
Quantità
Art01
15
Art03
12
12
15
Quante rimanenze ho
di un certo articolo in
magazzino
Tabella Rimanenze
Figura 1.1: Esempio di interpretazione dati mediante schema
1.1
C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
STRUTTURA DI UNA BASE DI DATI
Un database nel suo complesso è costituito da:
• Un insieme di schemi per strutturare i dati, che non variano nel tempo
• Un insieme di dati o istanze, variabili nel tempo
Necessita inoltre di:
• Un programma SW per la sua gestione
• Un dispositivo HW di memoria di massa per la sua memorizzazione fisica
Nell’uso comune la parola database si riferisce spesso alle sole istanze.
SISTEMI DI BASI DI DATI (DATABASE SYSTEMS)
I Database trovano vasto utilizzo nelle organizzazioni (Enti, Aziende, Uffici…) dove
costituiscono parte di sistemi più ampi per la gestione delle informazioni.
Distinguiamo tra:
• Sistema informativo
Insieme di strumenti automatici e risorse umane per la gestione delle informazioni in
uno specifico ambito.
• Sistema informatico (Electronic Data Processing, EDP)
Sottoinsieme del sistema informatico dedicato alla sola gestione automatizzata
dell’informazione (Computer e programmi).
Sistema informativo
Sistema informatico
Figura 1.2: Sistema informatico e sistema informativo
1.2
C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
TIPOLOGIE DI DATABASE
Nel tempo si sono succedute differenti approcci (paradigmi o modelli) per la realizzazione
dei database. Si differenziano per le strutture logiche scelte nella descrizione dei dati.
I primi furono il modello gerarchico e il modello reticolare:
• Modello gerarchico
I dati sono correlati gerarchicamente con una struttura ad albero.
• Modello reticolare
I dati sono legati linearmente con una struttura a grafo.
Attualmente il paradigma più diffuso è il modello relazionale, nato negli anni ’70 e
impostosi negli anni ‘80. Esistono approcci più avanzati come il modello ad oggetti, non
ancora però molto diffusi:
• Modello relazionale
I dati sono rappresentati mediante concetti generali (Entità) legati tra loro da Relazioni.
• Modello ad oggetti
I dati sono rappresentati mediante oggetti.
Da questo momento in poi, salvo diversa indicazione, ci occuperemo della progettazione e
gestione database utilizzando il modello relazionale.
1.3
C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
PROGETTAZIONE DI UN DATABASE
La progettazione di un database consta di 3 fasi principali, eseguite in sequenza:
PROGETTAZIONE CONCETTUALE
Realizza, partendo dalle specifiche di progetto, una rappresentazione generale ed
astratta dei concetti fondamentali e delle loro relazioni.
Nel modello relazionale si utilizza allo scopo un modello grafico detto diagramma E-R
(Entità-Relazione o Entity-Relationship)
PROGETTAZIONE LOGICA
Trasforma la rappresentazione concettuale (fase precedente) in un modello logico
adatto ad essere realizzato sull’elaboratore.
Nel modello relazionale si realizza trasformando il diagramma E-R in un insieme di
tabelle e relazioni.
PROGETTAZIONE FISICA
Implementa lo schema logico su elaboratore, utilizzando un apposito programma di
gestione DataBase, detto DBMS.
Entità1
RelazioneA
Campo1 Campo2
Entità2
Progettazione
Concettuale
Campo1 Campo2
Progettazione
Logica
Tabella1
Tabella2
DB
Progettazione
Fisica
Figura 1.3: Fasi di progettazione di un DB
1.4
C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
DBMS
Acronimo di Data Base Management System, in italiano Sistema di gestione di Basi di Dati.
Programma SW che consente la progettazione fisica e la gestione automatizzata di un DB.
I DBMS attualmente più diffusi sono basati sul modello relazionale e sono:
• Microsoft Access
• MySQL
• Oracle
ARCHITETTURA DI UN DBMS
Il programma di gestione DB deve consentire un’efficace memorizzazione e gestione delle
informazioni. Per raggiungere lo scopo è strutturato in componenti o moduli, ciascuno dei
quali si occupa di operazioni specifiche:
• Gestore dell’interfaccia
Si occupa dell’interazione con l’utente fornendo tutte le funzioni di gestione.
I moderni DBMS forniscono interfaccia grafica e comandi visuali.
• Gestore delle interrogazioni
Esegue le interrogazioni sui dati.
• Gestore delle transazioni
Esegue le singole operazioni elementari (Lettura, Scrittura) sui dati per realizzare i
comndi richiesti dall’utente. Una transazione è un insieme di operazioni elementari
eseguite in un certo ordine.
• Gestore della memoria
Gestisce le modalità di memorizzazione dati (strutture dati) e l’interfaccia con la
memoria di massa (disco rigido).
• Gestore dei guasti
Garantisce affidabilità e integrità dei dati anche in caso di guasto.
Utente
Gestore
Gestore
GUASTI
Gestore
MEMORIA
Gestore
TRANSAZIONI
Gestore
INTERROGAZIONI
INTERFACCIA
DBMS
SW
DB
HW
Figura 1.4: Architettura di un DBMS e modello a strati corrispondente
1.5
C1 Revisione: 24/10/2011
Appunti di INFORMATICA
ITI Informatica - Classe QUINTA
LINGUAGGI DI UN DBMS
Ogni DBMS supporta alcuni linguaggi di programmazione che consentono all’utente di
interfacciarsi direttamente col programma e gestire le operazioni sul database. Possiamo
classificarli in due categorie:
• Data Language (DL) o Linguaggi di gestione dati
Si occupano della gestione dei dati e degli schemi del DB atti a contenerli.
• Query Language (QL) o Linguaggi di interrogazione
Consentono di eseguire le interrogazioni sui dati.
Sui DBMS relazionali il linguaggio di interrogazione standard è SQL (Structured Query
Language), che consente anche di eseguire operazioni sui dati ed integra dunque
funzionalità di DL e QL.
Nei moderni DBMS le funzionalità più importanti di gestione dati sono fornite in modalità
visuale su interfaccia grafica. Non è dunque necessario che l’utente conosca gli specifici DL
e QL supportati per eseguire le operazioni di base.
La conoscenza di tali linguaggi è invece importante per il progettista, l’amministratore e in
genere l’utente avanzato che vuole avere un controllo completo sulla base di dati.
1.6