Sei sulla pagina 1di 14

Base di dati

Insieme organizzato di dati utilizzati per


il supporto allo svolgimento di attivit (di
un ente, azienda, ufficio, persona)
Basi di dati

Capitolo 1:
Introduzione

1/73 2/73

Punti di vista Che cos' l'informatica?

Metodologico Scienza del trattamento razionale,


Tecnologico specialmente per mezzo di macchine
automatiche, dellinformazione,
considerata come supporto alla
conoscenza umana e alla
comunicazione (Accad. di Francia)
Due anime:
metodologica
tecnologica

3/73 4/73

Contenuti Metodo di studio

modelli per lorganizzazione dei dati studio individuale, con riflessione sui
linguaggi per l'utilizzo dei dati concetti e riferimento alle esperienze
personali
sistemi per la gestione dei dati
svolgimento di esercizi
metodologie di progettazione di basi di
sviluppo di progetti e esercitazioni
dati pratiche, con realizzazione con opportuno
strumento (DB2, MS SQLServer, Oracle,
PostgreSQL, MySQL, MS Access, )
Il corso

5/73 6/73
Sistema informativo Gestione delle informazioni
Componente di una organizzazione che Raccolta, acquisizione
gestisce le informazioni di interesse (cio
Archiviazione, conservazione
utilizzate per il perseguimento degli scopi
dellorganizzazione) Elaborazione, trasformazione,
Ogni organizzazione ha un sistema produzione
informativo, eventualmente non esplicitato Distribuzione, comunicazione, scambio
nella struttura
Il sistema informativo di supporto ad altri
sottosistemi, e va quindi studiato nel
contesto in cui inserito

7/73 8/73

Sistemi informativi e automazione Sistema Informatico

Il concetto di sistema informativo Porzione automatizzata del sistema


indipendente da qualsiasi informativo:
automatizzazione:
la parte del sistema informativo che
esistono organizzazioni la cui ragion gestisce informazioni con
dessere la gestione di informazioni tecnologia informatica
(p.es. servizi anagrafici e banche) e
che operano da secoli

9/73 10/73

Sistema Informatico Gestione delle informazioni


Sistema azienda
Nelle attivit umane, le informazioni
Sistema organizzativo vengono gestite in forme diverse:
idee informali
Sistema informativo linguaggio naturale (scritto o parlato,
formale o colloquiale, in varie lingue)
Sistema informatico disegni, grafici, schemi
numeri e codici
e su vari supporti
mente umana, carta, dispositivi elettronici

11/73 12/73
Informazioni e dati Informazioni e dati

(definizioni dal Vocabolario della lingua italiana 1987)


Nei sistemi informatici (e non solo), le
informazioni vengono rappresentate in informazione: notizia, dato o elemento che
modo essenziale, spartano: attraverso i consente di avere conoscenza pi o meno
dati esatta di fatti, situazioni, modi di essere.
dato: ci che immediatamente presente alla
conoscenza, prima di ogni elaborazione; (in
informatica) elementi di informazione costituiti
da simboli che debbono essere elaborati

13/73 14/73

Dati e informazioni Gestione delle informazioni

I dati sono spesso il risultato di forme di


organizzazione e codifica delle informazioni
Ad esempio, nei servizi anagrafici e nel
riferimento a persone
Lun-Ven Sabato Festivo descrizioni discorsive
che cosa significano questi numeri?
nome e cognome
cartelli stradali, in Finlandia; sono orari estremi anagrafici
ma la differenza? codice fiscale
senza "interpretazione," il dato serve a ben poco

15/73 16/73

Perch i dati? Base di dati

La rappresentazione precisa di forme (accezione generica, metodologica)


pi ricche di informazione e conoscenza insieme organizzato di dati utilizzati per
difficile
il supporto allo svolgimento delle attivit
I dati costituiscono spesso una risorsa
di un ente (azienda, ufficio, persona)
strategica, perch pi stabili nel tempo
di altre componenti (processi, (accezione specifica, metodologica e
tecnologie, ruoli umani): tecnologica)
ad esempio, i dati delle banche o insieme di dati gestito da un DBMS
delle anagrafi

17/73 18/73
Che cos' l'informatica? Base di dati

Scienza del trattamento razionale, (accezione generica, metodologica)


specialmente per mezzo di macchine Insieme organizzato di dati utilizzati per
automatiche, dellinformazione, il supporto allo svolgimento delle attivit
considerata come supporto alla di un ente (azienda, ufficio, persona)
conoscenza umana e alla
(accezione specifica, metodologica e
comunicazione (Accad. di Francia)
tecnologica)
Due anime:
insieme di dati gestito da un DBMS
metodologica
tecnologica

19/73 20/73

Sistema di gestione di basi di dati


DataBase Management System DBMS
(DBMS)
Sistema che gestisce collezioni di dati: Prodotti software (complessi) disponibili
grandi sul mercato; esempi:
persistenti DB2
condivise
Oracle
garantendo
SQLServer
privatezza
affidabilit MySQL
efficienza PostgreSQL
efficacia Access

21/73 22/73

Le basi di dati sono ... grandi Le basi di dati sono ... persistenti
dimensioni (molto) maggiori della memoria
centrale dei sistemi di calcolo utilizzati Hanno un tempo di vita indipendente
il limite deve essere solo quello fisico dei dalle singole esecuzioni dei programmi
dispositivi
esempi di dimensioni molto grandi
che le utilizzano
500 Gigabyte (dati transazionali)
10 Terabyte (dati decisionali)
500 Terabyte (dati scientifici)
100 miliardi di record

23/73 24/73
Le basi di dati sono ... condivise Esempio di non condivisione:
dati per orario lezioni
Ogni organizzazione (specie se grande)
divisa in settori o comunque svolge
diverse attivit
Ciascun settore/attivit ha un (sotto)
sistema informativo (non
necessariamente disgiunto)

25/73 26/73

Esempio di non condivisione: Problemi


e dati per orario ricevimento
Ridondanza:
informazioni ripetute
Rischio di incoerenza:
le versioni possono non coincidere

27/73 28/73

Archivi e basi di dati Archivi e basi di dati

Gestione Archivio 1: Gestione


orario lezioni orario lezioni orario lezioni

Base di dati
Gestione Archivio 2: Gestione
ricevimento ricevimento ricevimento

29/73 30/73
Le basi di dati sono condivise I DBMS garantiscono ... privatezza

Una base di dati una risorsa integrata, Si possono definire meccanismi di


condivisa fra applicazioni autorizzazione
conseguenze l'utente A autorizzato a leggere tutti
Attivit diverse su dati condivisi: i dati e a modificare X
meccanismi di autorizzazione l'utente B autorizzato a leggere dati
Accessi di pi utenti ai dati condivisi: X e a modificare Y
controllo della concorrenza

31/73 32/73

I DBMS garantiscono... affidabilit Transazione

Affidabilit (per le basi di dati): Insieme di operazioni da considerare


resistenza a malfunzionamenti indivisibile ("atomico"), corretto anche in
hardware e software presenza di concorrenza e con effetti
Una base di dati una risorsa pregiata definitivi
e quindi deve essere conservata a
lungo termine
Tecnica fondamentale:
gestione delle transazioni

33/73 34/73

Le transazioni sono atomiche Le transazioni sono concorrenti

Una sequenza di operazioni correlate: L'effetto di transazioni concorrenti deve


trasferimento di fondi da un conto A ad un essere coerente
conto B: o si fanno il prelevamento da A e il se due assegni emessi sullo stesso conto
versamento su B o nessuno dei due corrente vengono incassati
contemporaneamente
deve essere eseguita per intero o per si deve evitare di trascurarne uno
niente: se due agenzie rischiedono lo stesso
o si fanno il prelevamento da A e il posto (libero) su un treno
versamento su B o nessuno dei due si deve evitare di assegnarlo due volte

35/73 36/73
I risultati delle transazioni
I DBMS debbono essere...efficienti
sono permanenti
La conclusione positiva di una Cercano di utilizzare al meglio le risorse
transazione corrisponde ad un impegno di spazio di memoria (principale e
(in inglese commit) a mantenere traccia secondaria) e tempo (di esecuzione e di
del risultato in modo definitivo, anche in risposta)
presenza di guasti e di esecuzione I DBMS, con tante funzioni, rischiano
concorrente l'inefficienza e per questo ci sono grandi
investimenti e competizione
Lefficienza anche il risultato della
qualit delle applicazioni

37/73 38/73

I DBMS debbono essere...efficaci DBMS vs file system

Cercano di rendere produttive le attivit La gestione di insiemi di dati grandi e


dei loro utilizzatori, offrendo funzionalit persistenti possibile anche attraverso
sistemi pi semplici gli ordinari file system
articolate, potenti e flessibili: dei sistemi operativi
il corso in buona parte dedicato ad I file system prevedono forme rudimentali di
illustrare come i DBMS perseguono condivisione: "tutto o niente"
l'efficacia I DBMS estendono le funzionalit dei file
system, fornendo pi servizi ed in maniera
integrata

39/73 40/73

Descrizione dei dati Descrizioni dei dati nei DBMS


Nei programmi tradizionali che accedono a Rappresentazioni dei dati a livelli diversi
file, ogni programma contiene una
permettono lindipendenza dei dati dalla
descrizione della struttura del file stesso, con i
rappresentazione fisica:
conseguenti rischi di incoerenza fra le
descrizioni (ripetute in ciascun programma) e i programmi fanno riferimento alla
i file stessi struttura a livello pi alto, e le
rappresentazioni sottostanti possono
essere modificate senza necessit di
Nei DBMS, esiste una porzione della base di
modifica dei programmi
dati (il catalogo o dizionario) che contiene una
descrizione centralizzata dei dati, che pu precisiamo attraverso il concetto di
essere utilizzata dai vari programmi modello dei dati

41/73 42/73
Modello dei dati

Insieme di costrutti utilizzati per organizzare i


dati di interesse e descriverne la dinamica
Componente fondamentale: meccanismi di
strutturazione (o costruttori di tipo)
Come nei linguaggi di programmazione
esistono meccanismi che permettono di
definire nuovi tipi, cos ogni modello dei dati
prevede alcuni costruttori
Esempio: il modello relazionale prevede il
costruttore relazione, che permette di definire
insiemi di record omogenei

43/73 44/73

Organizzazione dei dati in una


Basi di dati: schema e istanza
base di dati
Lo schema della base di dati
Orario Orario
Insegnamento Docente Aula Ora Insegnamento Docente Aula Ora
Analisi matem. I Luigi Neri N1 8:00 Analisi matem. I Luigi Neri N1 8:00
Basi di dati Piero Rossi N2 9:45 Basi di dati Piero Rossi N2 9:45
Chimica Nicola Mori N1 9:45 Chimica Nicola Mori N1 9:45
Fisica I Mario Bruni N1 11:45 Fisica I Mario Bruni N1 11:45
Fisica II Mario Bruni N3 9:45 Fisica II Mario Bruni N3 9:45
Sistemi inform. Piero Rossi N3 8:00 Sistemi inform. Piero Rossi N3 8:00
L'istanza della base di dati
45/73 46/73

Schema e istanza Due tipi (principali) di modelli


In ogni base di dati esistono: modelli logici
lo schema, sostanzialmente invariante nel
tempo, che ne descrive la struttura
modelli concettuali
(aspetto intensionale)
es.: le intestazioni delle tabelle
listanza, i valori attuali, che possono
cambiare anche molto rapidamente
(aspetto estensionale)
es.: il corpo di ciascuna tabella
Ex

47/73 48/73
Modelli logici Modelli concettuali

Adottati nei DBMS esistenti per l Permettono di rappresentare i dati in


organizzazione dei dati modo indipendente da ogni sistema
utilizzati dai programmi cercano di descrivere i concetti del
indipendenti dalle strutture fisiche mondo reale
Esempi: relazionale, reticolare, sono utilizzati nelle fasi preliminari di
gerarchico, a oggetti, basato su XML progettazione
Il pi diffuso il modello Entity-
Relationship

49/73 50/73

Architettura (semplificata) Architettura semplificata di un


di un DBMS DBMS: schemi
utente
schema logico: descrizione della base
di dati nel modello logico (ad esempio,
la struttura della tabella)
Schema logico schema interno (o fisico):
rappresentazione dello schema logico
per mezzo di strutture memorizzazione
Schema interno (file; ad esempio, record con puntatori,
ordinati in un certo modo)

BD

51/73 52/73

Architettura standard (ANSI/SPARC)


Indipendenza dei dati a tre livelli per DBMS
utente utente utente
Il livello logico indipendente da quello utente utente

fisico: Schema Schema Schema


una tabella utilizzata nello stesso esterno esterno esterno

modo qualunque sia la sua


realizzazione fisica (che pu anche Schema logico

cambiare nel tempo)


Perci in questo corso vedremo solo il Schema interno

livello logico e non quello fisico


BD

53/73 54/73
Architettura ANSI/SPARC: schemi Una vista
Corsi
Aule
Schema logico: descrizione dellintera base di Corso Docente Aula
Nome Edificio Piano
dati nel modello logico principale del DBMS Basi di dati Rossi DS3
DS1 OMI Terra
Schema interno (o fisico): rappresentazione Sistemi Neri N3
N3 OMI Terra
dello schema logico per mezzo di strutture Reti Bruni N3
G Pincherle Primo
fisiche di memorizzazione Controlli Bruni G
Schema esterno: descrizione di parte della
base di dati in un modello logico (viste Corsi Sedi Corso Aula Edificio Piano
parziali, derivate, anche in modelli diversi) Sistemi N3 OMI Terra
Reti N3 OMI Terra
Controlli G Pincherle Primo

55/73 56/73

Indipendenza dei dati Indipendenza fisica

conseguenza della articolazione in livelli il livello logico e quello esterno sono


indipendenti da quello fisico
laccesso avviene solo tramite il livello
una relazione utilizzata nello stesso
esterno (che pu coincidere con il livello
modo qualunque sia la sua
logico)
realizzazione fisica
due forme: la realizzazione fisica pu cambiare
indipendenza fisica senza che debbano essere modificati
indipendenza logica i programmi

57/73 58/73

Indipendenza logica Linguaggi per basi di dati


Un altro contributo allefficacia:
il livello esterno indipendente da disponibilit di vari linguaggi e interfacce
quello logico linguaggi testuali interattivi (SQL)
aggiunte o modifiche alle viste non comandi (SQL) immersi in un
richiedono modifiche al livello logico linguaggio ospite (Pascal, C, Java, ...)
comandi (SQL) immersi in un
modifiche allo schema logico che linguaggio ad hoc, con anche altre
lascino inalterato lo schema esterno funzionalit (p.es. per grafici o
sono trasparenti stampe strutturate)
con interfacce amichevoli (senza
linguaggio testuale)

59/73 60/73
SQL, un linguaggio interattivo SQL, un linguaggio interattivo
Corsi
Aule
Corso Docente Aula
Nome Edificio Piano
SELECT Corso, Aula, Piano
Basi di dati Rossi DS3
DS1 OMI Terra
FROM Aule, Corsi
Sistemi Neri N3
N3 OMI Terra
WHERE Nome = Aula
Reti Bruni N3
G Pincherle Primo
AND Piano = 'Terra'
Controlli Bruni G
Corso Aula Piano
"Trovare i corsi tenuti in aule a piano terra" Sistemi N3 Terra
Reti N3 Terra

61/73 62/73

SQL in linguaggio ad hoc


SQL immerso in linguaggio ospite
(Oracle PL/SQL)
write('nome della citta''?'); readln(citta);
EXEC SQL DECLARE P CURSOR FOR declare Stip number;
SELECT NOME, REDDITO begin
SELECT STIPENDIO INTO STIP FROM IMPIEGATO
FROM PERSONE
WHERE MATRICOLA = '575488' FOR UPDATE OF STIPENDIO;
WHERE CITTA = :citta ; if Stip > 30 then
EXEC SQL OPEN P ; UPDATE IMPIEGATO SET STIPENDIO = STIPENDIO * 1.1
EXEC SQL FETCH P INTO :nome, :reddito ; WHERE MATRICOLA = '575488';
while SQLCODE = 0 do begin else
write('nome della persona:', nome, 'aumento?'); UPDATE IMPIEGATO SET STIPENDIO = STIPENDIO * 1.15
readln(aumento); WHERE MATRICOLA = '575488';
end if;
EXEC SQL UPDATE PERSONE
commit;
SET REDDITO = REDDITO + :aumento exception
WHERE CURRENT OF P when no_data_found then
EXEC SQL FETCH P INTO :nome, :reddito INSERT INTO ERRORI
end; VALUES('MATRICOLA INESISTENTE',SYSDATE);
EXEC SQL CLOSE CURSOR P end;

63/73 64/73

Una distinzione
Interazione non testuale (Access)
(separazione fra dati e programmi)

data manipulation language (DML)


per linterrogazione e laggiornamento
di (istanze di) basi di dati
data definition language (DDL)
per la definizione di schemi (logici,
esterni, fisici) e altre operazioni generali

65/73 66/73
Un'operazione DDL (sullo schema) Personaggi e interpreti
progettisti e realizzatori di DBMS
progettisti della base di dati e amministratori
CREATE TABLE orario ( della base di dati (DBA)
insegnamento CHAR(20) , progettisti e programmatori di applicazioni
docente CHAR(20) , utenti
aula CHAR(4) , utenti finali (terminalisti): eseguono
ora CHAR(5) ); applicazioni predefinite (transazioni)
utenti casuali: eseguono operazioni non
previste a priori, usando linguaggi interattivi

67/73 68/73

Database administrator (DBA) Transazioni (per l'utente)

Programmi che realizzano attivit frequenti e


Persona o gruppo di persone predefinite, con poche eccezioni, previste a priori.
responsabile del controllo centralizzato Esempi:
e della gestione del sistema, delle versamento presso uno presso sportello bancario
prestazioni, dellaffidabilit, delle emissione di certificato anagrafico
autorizzazioni dichiarazione presso lufficio di stato civile
Le funzioni del DBA includono quelle di prenotazione aerea
progettazione, anche se in progetti Le transazioni sono di solito realizzate in linguaggio
complessi ci possono essere distinzioni ospite (tradizionale o ad hoc)

69/73 70/73

Transazioni, due accezioni Vantaggi e svantaggi dei DBMS, 1

Per l'utente: Pro


programma a disposizione, da dati come risorsa comune, base di dati come
modello della realt
eseguire per realizzare una funzione gestione centralizzata con possibilit di
di interesse standardizzazione ed economia di scala
Per il sistema: disponibilit di servizi integrati
sequenza indivisibile di operazioni riduzione di ridondanze e inconsistenze
(cfr. affidabilit) indipendenza dei dati (favorisce lo sviluppo e
la manutenzione delle applicazioni)

71/73 72/73
Vantaggi e svantaggi dei DBMS, 2

Contro Esercizi su
costo dei prodotti e della transizione verso di
essi
Basi di dati e DBMS
non scorporabilit delle funzionalit (con
riduzione di efficienza)

73/73 74/73

Quali delle seguenti affermazioni sono vere? Quali delle seguenti affermazioni sono vere?
l'indipendenza dei dati permette di scrivere il fatto che le basi di dati siano condivise
programmi senza conoscere le strutture fisiche favorisce l'efficienza dei programmi che le
dei dati utilizzano
l'indipendenza dei dati permette di modificare il fatto che le basi di dati siano condivise
le strutture fisiche dei dati senza dover
permette di ridurre ridondanze e inconsistenze
modificare i programmi che accedono alla
base di dati il fatto che le basi di dati siano persistenti ne
l'indipendenza dei dati permette di scrivere garantisce l'affidabilit
programmi conoscendo solo lo schema il fatto che le basi di dati siano persistenti
concettuale della BD favorisce l'efficienza dei programmi
l'indipendenza dei dati permette di formulare il fatto che le basi di dati siano condivise rende
interrogazioni senza conoscere le strutture necessaria la gestione della privatezza e delle
fisiche autorizzazioni

75/73 76/73

Quali delle seguenti affermazioni sono vere?


la distinzione fra DDL e DML corrisponde alla Quali delle seguenti affermazioni sono vere?
distinzione fra schema e istanza gli utenti casuali utilizzano transazioni predefinite
le istruzioni DML permettono di interrogare la i terminalisti utilizzano transazioni predefinite
base di dati ma non di modificarla gli utenti casuali progettano la base di dati
le istruzioni DDL permettono di specificare la i progettisti del DBMS realizzano le transazioni che
saranno utilizzate dai terminalisti
struttura della base di dati ma non di
i progettisti della base di dati realizzano il DBMS
modificarla
i progettisti delle applicazioni utilizzano la base di
non esistono linguaggi che includono sia dati come progettata dal progettista del DBMS
istruzioni DDL sia istruzioni DML
i progettisti delle applicazioni utilizzano la BD come
SQL include istruzioni DML e DDL progettata dal progettista della BD
le istruzioni DML permettono di interrogare la
base di dati e di modificarla

77/73 78/73
Illustrare, in modo sintetico ma chiaro,
supponendo di rivolgersi ad un non esperto,le
caratteristiche fondamentali delle basi di dati e
il ruolo che esse giocano nei sistemi
informativi.
Discutere brevemente (meno di mezza pagina)
la seguente affermazione: "i dati sono una
risorsa per una organizzazione, e come tali
vanno considerati anche separatamente dalle
applicazioni che li utilizzano.''
Illustrare brevemente (non pi di mezza
pagina) il concetto di indipendenza dei dati.

79/73