I DATABASE
Le origini dei Database
 Prime applicazioni: Il modello gerarchico e reticolare
è stato introdotto nella metà degli anni ‘60,
dominando durante gli anni settanta. Ancora oggi una
buona parte di applicazioni funzionanti sono presenti
in tutto il mondo
 Sistemi basati sul modello relazionale: modello
introdotto nel 1970 pesantemente studiato e realizzato
da IBM e dalle università. I primi prodotti per il
modello relazionale sono nati negli anni ‘80
2
Database oggi
 Applicazioni Object Oriented: l’OODBMS fu introdotto
tra la fine degli anni ’80 e i primi anni ’90 per far fronte alle
complesse esigenze dei processi di CAD e di altre
applicazioni
 Dati nel Web e in applicazioni di e-commerce: il Web
contiene dati in HTML e collegamenti tra pagine. Questo
ha dato vita a nuove applicazioni nell’ambito dell’ecommerce utilizzando nuovi standard come XML
(eXtended Markup Language)
3
Chi opera con il database
 progettisti e realizzatori di DBMS
 progettisti della base di dati e amministratori della
base di dati(DBA)
 progettisti e programmatori di applicazioni
 Utenti:
 utenti finali (terminalisti): eseguono applicazioni
predefinite (transazioni)
 utenti casuali: eseguono operazioni non previste a priori
usando linguaggi interattivi
4
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 anche (parte di) quelle
di progettazione.
5
Il DBMS
Software in grado di costruire e gestire collezioni di dati che siano:
 Grandi (di dimensioni molto maggiori della memoria centrale dei
sistemi di calcolo utilizzati)
 Persistenti (con un periodo di vita indipendente dalle singole
esecuzioni dei programmi che le utilizzano)
 Condivise (utilizzate da applicazioni diverse)
garantendo:
 Affidabilità (resistenza a malfunzionamenti hardware e software)
 Privatezza (con una disciplina e un controllo degli accessi),
 Efficienza (utilizzare al meglio le risorse di spazio e tempo del
sistema)
 Efficacia (rendere produttive le attività dei suoi utilizzatori)
6
Architettura standard (ANSI/SPARC)
a tre livelli per DBMS
7
Architettura ANSI/SPARC: schemi
 schema logico: descrizione dell’intera base di dati nel
modello logico adottato dal DBMS
 schema esterno: descrizione di una porzione della base di
dati di interesse in un modello logico (“viste” parziali,
derivate, anche in modelli diversi)
 schema interno (o fisico): rappresentazione dello
schema logico per mezzo di strutture fisiche di
memorizzazione
8
Modelli utilizzati nei DBMS
 modelli concettuali: permettono di rappresentare i dati
in modo indipendente da ogni sistema, cercando di
descrivere i concetti del mondo reale; sono utilizzati nelle
fasi preliminari di progettazione
 modelli logici: utilizzati nei DBMS esistenti per
l’organizzazione dei dati; ad essi fanno riferimento i
programmi; sono indipendenti dalle strutture fisiche
9
Il modello concettuale
Il progetto del database è indipendente dal computer, dai
supporti fisici destinati a contenere le informazioni e dalle
caratteristiche del DBMS.
Il modello concettuale più diffuso è quello
Entità/Associazioni, indicato come modello E/R dai
termini inglesi Entity/Relationship. Tale modello si basa su
oggetti detti entità, attributi che rappresentano le
caratteristiche delle entità e associazioni che individuano
le correlazioni logiche fra le entità.
10
Modelli
logici:
il
modello
gerarchico
Adatto a rappresentare situazioni in cui si individua una
struttura piramidale, secondo uno schema ad albero in cui i
nodi rappresentano le entità e gli archi le relazioni.
CLIENTI
BANCA
CONTI
3000
34567
3800
34456
8500
45167
7600
34989
4600
45007
Bianchi
Guido
Torino
10128
Rossi
Tina
Venaria
10045
Verdi
Giorgio
Torino
10151
Falchi
Carlo
Santià
10034
Costa
Sandro
Torino
10146
11
Modelli
logici:
il
modello
reticolare
Si tratta di un’estensione del modello di albero gerarchico, in
cui i nodi rappresentano le entità e gli archi rappresentano
le associazioni
CLIENTI
MOVIMENTI
23/05/05 V 200,00
30/05/05 P 280,00
13/05/05 P 750,00
28/05/05 V 900,00
CONTI
3000
34567
3800
34456
8500
45167
7600
34989
4600
45007
Bianchi
Guido
Torino
10128
Rossi
Tina
Venaria
10045
Verdi
Giorgio
Torino
10151
Falchi
Carlo
Santià
10034
Costa
Sandro
Torino
10146
12
Modelli logici: il modello
relazionale
Rappresenta il database come un insieme di tabelle
13
Implementazione del livello logico
 Definizione dei dati e delle strutture dati derivate dallo
schema logico e produzione della documentazione
relativa
 Definizione dei sottoschemi o viste. La vista è detta
anche tabella virtuale contrapposta alle tabelle del
database dette tabelle primarie
 Organizzazione fisica dei dati sui supporti di
memorizzazione
14
Manipolazione e interrogazione del DB
 Inserimento, modifica, cancellazione dei dati
 Interfaccia tra i programmi degli utenti e la base di
dati
 Accesso ai dati con comandi semplici per l’utente
finale non specialista
15
Controllo dell’integrità dei dati
 Controllo dell’input e controlli relativi alle
interdipendenze tra dati di differenti tabelle
 Controllo dei vincoli definiti dall’utente per un
particolare database
16
Sicurezza e protezione
 Protezione contro i danni causati da
malfunzionamenti hardware, bachi presenti nel
software o interventi dolosi
 Autorizzazione degli utenti che accedono al database
 Controllo degli accessi concorrenti
17