Capitolo 1: Introduzione
Base di dati
 Insieme organizzato di dati utilizzati per il
supporto allo svolgimento di attività (di un
ente, azienda, ufficio, persona)
 Es.: elenchi telefonici, elenco degli iscritti a
una facoltà universitaria e gli esiti dei loro
esami, elenco dei libri di una biblioteca,
elenco dei reparti e dei pazienti di una
struttura ospedaliera.
Introduzione
2
Orario dei treni di una stazione
Campionato di calcio
Squadra Punti Giocate V
N P
GF GS MG
MI
Inter
36
16 11 3
2 33 16 +17 +3
Milan
36
16 11 3
2 32 10 +22 +2
Lazio
33
16
1 31 15 +16 +1
Chievo
32
16 10 2
4 27 13 +14
-3
Juventus
32
16
9 5
2 28 12 +16
-1
Bologna
27
16
7 6
3 19 13
+6
-7
Udinese
26
16
7 5
4 15 14
+1 -10
Parma
23
16
6 5
5 27 19
+8 -12
Roma
23
16
6 5
5 27 23
+4 -12
Empoli
22
16
6 4
6 24 22
+2 -14
Modena
19
16
6 1
9 12 24
-12 -17
Perugia
19
16
5 4
7 18 23
-5 -16
Brescia
17
16
4 5
7 19 26
-7 -19
Piacenza
13
16
3 4
9 13 24
-11 -25
Atalanta
11
16
2 5
9 15 28
-13 -26
Reggina
10
16
2 4 10 13 32
-19 -29
Torino
9
16
2 3 11
9 30
-21 -29
Como
6
16
0 6 10
9 27
-18 -31
9 6
Partita
Risultato
Data
Ora
Stadio
Parma-Empoli
-
18-01-03
18:00
Ennio Tardini
Reggina-Bologna
-
18-01-03
20:30
Oreste Granillo
Atalanta-Roma
-
19-01-03
15:00
Atleti Azzurri D'Italia
Lazio-Udinese
-
19-01-03
15:00
Olimpico
Milan-Piacenza
-
19-01-03
15:00
Giuseppe Meazza
Modena-Brescia
-
19-01-03
15:00
Alberto Braglia
Perugia-Inter
-
19-01-03
15:00
Renato Curi
Torino-Como
-
19-01-03
15:00
Delle Alpi
Chievo-Juventus
-
19-01-03
20:30
Marc'Antonio Bentegodi
Biblioteca
Introduzione
7
Gestione delle informazioni
 Raccolta, acquisizione
 Archiviazione, conservazione
 Elaborazione, trasformazione,
produzione
 Distribuzione, comunicazione,
scambio
Introduzione
8
Gestione delle informazioni
 Nelle attività umane, le informazioni vengono
gestite (registrate e scambiate) in forme diverse:




idee informali
linguaggio naturale (scritto o parlato, formale o
colloquiale, in una lingua o in un’altra)
disegni, grafici, schemi
numeri e codici
 e su vari supporti

memoria umana, carta, dispositivi elettronici
Introduzione
9
Gestione delle informazioni
 Nelle attività standardizzate dei sistemi
informativi complessi, sono state introdotte
col tempo forme di organizzazione e codifica
delle informazioni
 Ad esempio, nei servizi anagrafici si è
iniziato con registrazioni discorsive e poi



nome e cognome
estremi anagrafici
codice fiscale
Introduzione
10
Informazioni e dati
 Nei sistemi informatici (e non solo), le informazioni
vengono rappresentate in modo essenziale,
spartano: attraverso i dati
 Dal Vocabolario della lingua italiana (1987)
informazione: notizia, dato o elemento che consente di
avere conoscenza più o meno 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.
Introduzione
11
Dati e informazioni
 I dati hanno bisogno di essere interpretati
Esempio
‘Mario’ ’234275’ su un foglio di carta sono
due dati.
Se il foglio di carta viene fornito in risposta alla
domanda “A chi mi devo rivolgere per il problema
X; qual è il suo numero di telefono?”, allora i dati
possono essere interpretati per fornire informazioni
Introduzione
12
Perché i dati?
 La rappresentazione precisa di forme più
ricche di informazione e conoscenza è
difficile
 I dati costituiscono spesso una risorsa
strategica, perché più stabili nel tempo di
altre componenti (processi, tecnologie, ruoli
umani):

ad esempio, i dati delle banche o delle anagrafi
Introduzione
13
Base di dati
 Accezione generica, metodologica: insieme
organizzato di dati utilizzati per il supporto
allo svolgimento delle attività di un ente
(azienda, ufficio, persona)
 Accezione specifica,, metodologica e
tecnologica:) insieme di dati gestito da un
DBMS.
Introduzione
14
Sistema di gestione di basi di dati
DataBase Management System (DBMS)
 Sistema che gestisce collezioni di dati:



grandi
persistenti
condivise
garantendo




privatezza
affidabilità
efficienza
efficacia
Introduzione
15
DBMS
 Prodotti software (complessi) disponibili sul
mercato; esempi:







Access
DB2
Oracle
Informix
Sybase
SQLServer
MySQL
Introduzione
16
Le basi di dati sono ... grandi
 dimensioni (molto) maggiori della memoria
centrale (RAM) dei sistemi di calcolo
utilizzati (fino a milioni di Gigabyte)
 sono memorizzate in memoria secondaria
(hard disk)
 il limite deve essere solo quello fisico dei
dispositivi
Introduzione
17
Le basi di dati sono ...
persistenti
 hanno un tempo di vita indipendente dalle
singole esecuzioni dei programmi che le
utilizzano
Introduzione
18
Le basi di dati sono ...
condivise
 Ogni organizzazione (specie se grande) è
divisa in settori o comunque svolge diverse
attività
 Ciascun settore/attività ha un (sotto)sistema
informativo (non necessariamente disgiunto)
Introduzione
19
Introduzione
20
Introduzione
21
Problemi
 Ridondanza:

informazioni ripetute
 Rischio di incoerenza:

le versioni possono non coincidere in seguito ad
aggiornamenti
Introduzione
22
Archivi e basi di dati
Gestione
orario lezioni
Archivio 1:
orario lezioni
Gestione
ricevimento
Archivio 2:
ricevimento
Introduzione
23
Archivi e basi di dati
Gestione
orario lezioni
Base di dati
Gestione
ricevimento
Introduzione
24
Le basi di dati sono condivise
 Una base di dati e' una risorsa integrata,
condivisa fra applicazioni
 conseguenze

Attivita' diverse su dati condivisi:


meccanismi di autorizzazione
Accessi di più utenti ai dati condivisi:

controllo della concorrenza
Introduzione
25
I DBMS garantiscono ...
privatezza
 Si possono definire meccanismi di
autorizzazione


l'utente A è autorizzato a leggere tutti i dati e a
modificare quelli sul ricevimento
l'utente B è autorizzato a leggere i X e a
modificare Y
Introduzione
26
I DBMS garantiscono...
affidabilità
 Affidabilità (per le basi di dati):

resistenza a malfunzionamenti hardware e
software
 Una base di dati è una risorsa pregiata e
quindi deve essere conservata a lungo
termine
 Tecnica fondamentale:

gestione delle transazioni
Introduzione
27
Transazione
 Programmi che realizzano attività frequenti e
predefinite, con poche eccezioni, previste a priori.
 Esempi:




versamento presso uno presso sportello bancario
emissione di certificato anagrafico
dichiarazione presso l’ufficio di stato civile
prenotazione aerea
 Insieme di operazioni da considerare indivisibile
("atomico"), corretto anche in presenza di
concorrenza e con effetti definitivi
Introduzione
28
Le transazioni sono …
atomiche
 La sequenza di operazioni sulla base di dati
viene eseguita per intero o per niente:

trasferimento di fondi da un conto A ad un conto
B: o si fanno il prelevamento da A e il
versamento su B o nessuno dei due
Introduzione
29
Le transazioni sono …
concorrenti
 L'effetto di transazioni concorrenti deve
essere coerente (ad esempio "equivalente"
all'esecuzione separata)

se due assegni emessi sullo stesso conto corrente
vengono incassati contemporaneamente si deve
evitare di trascurarne uno
Introduzione
30
I risultati delle transazioni sono
permanenti
 La conclusione positiva di una transazione
corrisponde ad un impegno (in inglese
commit) a mantenere traccia del risultato in
modo definitivo, anche in presenza di guasti
e di esecuzione concorrente
Introduzione
31
I DBMS debbono
essere...efficienti
 Cercano di utilizzando al meglio le risorse di
spazio di memoria (principale e secondaria) e
tempo (di esecuzione e di risposta)
 I DBMS, con tante funzioni, rischiano
l'inefficienza e per questo ci sono grandi
investimenti e competizione
 L’efficienza è anche il risultato della qualità
delle applicazioni
Introduzione
32
I DBMS debbono
essere...efficaci
 Cercano di rendere produttive le attività dei
loro utilizzatori, offrendo funzionalità
articolate, potenti e flessibili
Introduzione
33
DBMS vs file system
 La gestione di insiemi di dati grandi e persistenti è
possibile anche attraverso sistemi più semplici —
gli ordinari file system dei sistemi operativi
 I file system prevedono forme rudimentali di
condivisione: "tutto o niente"
 I DBMS estendono le funzionalità dei file system,
fornendo più servizi ed in maniera integrata
Introduzione
34
Descrizione dei dati nei DBMS
 Descrizioni e rappresentazioni dei dati a
livelli diversi

permettono l’indipendenza dei dati dalla
rappresentazione fisica:
- i programmi fanno riferimento alla struttura
a livello più alto,
- le rappresentazioni sottostanti possono
essere modificate senza necessità di modifica
dei programmi
Introduzione
35
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
 Il modello relazionale prevede il costruttore
relazione, che permette di organizzare i dati come
insiemi di record omogenei a struttura fissa.
Introduzione
36
Basi di dati: schema e istanza
Orario
Lo schema della base di dati
Insegnamento
Docente
Aula
Ora
Analisi matem. I
Luigi Neri
N1
8:00
Basi di dati
Piero Rossi
N2
9:45
Chimica
Nicola Mori
N1
9:45
Fisica I
Mario Bruni
N1
11:45
Fisica II
Mario Bruni
N3
9:45
Sistemi inform. Piero Rossi N3
L'istanza dellaIntroduzione
base di dati
8:00
38
Schemi e istanze
 In ogni base di dati esistono:

lo schema, sostanzialmente invariante nel tempo,
che ne descrive la struttura (aspetto intensionale)


nell’esempio, le intestazioni delle tabelle
l’istanza, i valori attuali, che possono cambiare
anche molto rapidamente (aspetto estensionale)

nell’esempio, il “corpo” di ciascuna tabella.
Introduzione
39
Due tipi (principali) di modelli
 modelli logici: utilizzati nei DBMS esistenti per
l’organizzazione dei dati
 utilizzati dai programmi
 indipendenti dalle strutture fisiche
esempi: relazionale, reticolare, gerarchico, a oggetti.
 modelli concettuali: permettono di rappresentare i dati in
modo indipendente da ogni sistema e da ogni modello logico
 cercano di descrivere i concetti del mondo reale
 sono utilizzati nelle fasi preliminari di progettazione di
basi di dati
il più noto è il modello Entity-Relationship
Introduzione
40
Livelli di astrazione
schema logico: descrizione dell’intera base di dati
nel modello logico adottato dal DBMS (ad esempio,
la struttura delle tabelle)
schema fisico: rappresentazione dello schema logico
per mezzo di strutture fisiche di memorizzazione
(es. files)
schema esterno: descrizione di parte della base di
dati in un modello logico (“viste” parziali, derivate,
anche ev. in modelli diversi)
Introduzione
41
Una vista
Corsi
Docente Aula
Corso
Basi di dati Rossi DS3
Neri
N3
Sistemi
Bruni
N3
Reti
Bruni
G
Controlli
CorsiSedi
Corso
Sistemi
Reti
Controlli
Aule
Nome
DS1
N3
G
Aula
N3
N3
G
Edificio
OMI
OMI
Piano
Terra
Terra
Pincherle Primo
Edificio
OMI
OMI
Piano
Terra
Terra
Pincherle Primo
Indipendenza dei dati
 conseguenza della articolazione in livelli
 è la principale proprietà dei DBMS
 due forme:


indipendenza fisica
indipendenza logica
Introduzione
43
Indipendenza fisica
 il livello logico è indipendente da quello
fisico


una relazione è utilizzata nello stesso modo
qualunque sia la sua realizzazione fisica
la realizzazione fisica può cambiare senza che
debbano essere modificati i programmi che
utilizzano la base di dati
Introduzione
44
Indipendenza logica
 il livello esterno è indipendente da quello
logico
 aggiunte o modifiche alle viste non
richiedono modifiche al livello logico
 modifiche allo schema logico che lascino
inalterato lo schema esterno sono trasparenti
Introduzione
45
Linguaggi per basi di dati
 Un altro contributo all’efficacia: disponibilità di vari
linguaggi e interfacce diverse che permettono l'accesso
ai dati con varie modalità:
 linguaggi testuali interattivi (SQL)
 tramite comandi (come quelli del linguaggio interattivo)
immersi in linguaggi di programmazione tradizionale
(linguaggio ospite, es. Pascal, C, Cobol, etc.)
 tramite comandi (come quelli del linguaggio interattivo)
immersi in un linguaggio ad hoc, con anche altre funzionalità
(p.es. per grafici o stampe strutturate), anche con l’ausilio di
strumenti di sviluppo (p. es. per la gestione di maschere)
 con interfacce amichevoli che permettono di realizzare le
Introduzione
46
operazioni sulla base dati
senza usare un linguaggio testuale
SQL, un linguaggio interattivo
 "Trovare i corsi tenuti in aule a piano terra"
Corsi
Corso Docente Aula
Basi di dati Rossi DS3
Neri
N3
Sistemi
Reti
Bruni
N3
Controlli
Bruni
G
Aule
Nome
DS1
N3
G
Introduzione
Edificio
OMI
OMI
Pincherle
Piano
Terra
Terra
Primo
47
SQL, un linguaggio interattivo
SELECT Corso, Aula, Piano
FROM Aule, Corsi
WHERE Nome = Aula
AND Piano="Terra"
Corso
Sistemi
Reti
Aula Piano
N3
N3
Introduzione
Terra
Terra
48
Interazione non testuale (in Access)
Personaggi e interpreti
 Database administrator (DBA):
Persona o gruppo di persone
responsabile del controllo
centralizzato e della gestione
del sistema, delle prestazioni,
dell’affidabilità, delle
autorizzazioni
 Le funzioni del DBA includono
quelle di progettazione, anche
se in progetti complessi ci
possono essere distinzioni
Introduzione
50
Personaggi e interpreti (2)
 progettisti della base di dati:


raccolgono dati in base alle esigenze del committente e
degli utenti;
li organizzano in strutture adeguate per rappresentarli
correttamente e memorizzarli.
 progettisti e realizzatori di DBMS: implementano
la base di dati
 progettisti e programmatori di applicazioni che
operano su sulla base di dati
Introduzione
51
Personaggi e interpreti (3)
 utenti



utenti finali (terminalisti): eseguono applicazioni
predefinite e frequenti (transazioni)
utenti casuali: eseguono operazioni non previste
a priori, usando linguaggi interattivi
(interrogazioni, aggiornamenti)
utenti indipendenti.
Introduzione
52
Vantaggi e svantaggi dei
DBMS
Pro
 permettono di trattare i dati come risorsa comune,
base di dati come modello della realtà
 gestione centralizzata dei dati con possibilità di
standardizzazione
 disponibilità di servizi integrati
 la condivisione dei dati evita ridondanze e
inconsistenze
 indipendenza dei dati (favorisce lo sviluppo e la
manutenzione) delle applicazioni)
Introduzione
53
Contro
 i prodotti sono costosi e complessi, e diversi
da molti altri strumenti informatici; la loro
introduzione comporta investimenti:


Acquisto prodotto
Acquisto risorse hardware e software necessarie
 non scorporabilità delle funzionalità (con
riduzione di efficienza)
Introduzione
54
Evoluzione delle basi di dati
 Basi dati multimediali (per memorizzare immagini,
video, suoni)
 Sistemi di informazione geografica (GIS,
geographic information sistems), per memorizzare
e analizzare carte geografiche, dati metereologici e
immagini da satellite
 Data Warehouse, possono memorizzare dati storici
integrati e consistenti relativi al personale delle
aziende
Introduzione
55
Scarica

Introduzione ai database