2. +
Sistemi basati su file
n
La gestione dei dati basata su file è oggi obsoleta però:
n
Capire i problemi insiti ai sistemi basati su file può prevenire dal
ripeterli sui sistemi a database. Abbiamo imparato da questi
sistemi che ci sono modi migliori per gestire i dati.
Una collezione di programmi
Filebased • eseguono servizi per l’utente applicativi che
finale. Ogni
system
programma definisce e gestisce i suoi dati
I file sono stati il primo tentativo per informatizzare la gestione
manuale dei dati .
3. +
Limiti
n
Isolamento e separazione dei dati, quando i dati sono
isolati in file separati è più difficile accedervi.
n
Duplicazione dei dati, incoraggia la duplicazione
incontrollata dei dati.
n
n
n
La duplicazione è spreco; costa tempo e soldi;
Occupa spazio addizionale di memoria con associati costi;
La duplicazione ci porta alla perdita dell’integrità dei dati; i dati
non sono più consistenti
4. +
Dipendenza dai dati
n
La struttura fisica e lo spazio dei file per i dati e record sono
definiti nel codice del programma applicativo generando
programmi dipendenti dai dati.
5. +
Formato dei file incompatibile
n
Essendo la struttura dei file all’interno del programma
applicativo le strutture sono dipendenti dal linguaggio del
programma applicativo.
n
La struttura del file generata da un programma scritto in COBOL
può essere diversa dalla struttura di un file generato da un
programma scritto in C.
6. + Numero fisso di interrogazioni /
proliferazione di programmi applicativi
n
I sistemi basati su file dipendono molto dallo sviluppatore
dell’applicazione che deve scrivere qualsiasi interrogazione
o report gli venga richiesto.
n
n
Risultato
n Il tipo di interrogazioni e report che possono essere prodotti è
fisso
n Proliferazione di file e programmi applicativi
n Spesso alcuni tipi di funzionalità venivano omesse
n Nessuna forma di sicurezza e integrità dei dati
n Recovery, nel caso di HW/SW failure, è limitato o inesistente
n L’accesso ai file è ristretto ad un utente per volta
Ad ogni modo il risultato non era accettabile.
7. +
Limiti dei sistemi basati su file
Isolamento e separazione dei file
Duplicazione dei dati
Dipendenza dai dati
Formato dei file incompatibile
Numero fisso di interrogazioni / proliferazione di
programmi applicativi
8. +
Database
n
Tutte le limitazioni dell’approccio basato su file può essere
attribuito a due fattori.
n
n
n
La definizione dei dati è conficcata all’interno del programma
applicativo, piuttosto che essere separata e indipendente
Non c’è alcun controllo sull’accesso e la manipolazione dei dati al
di là di quanto imposto dal programma applicativo
Cosa è emerso successivamente sono:
n
Database
n
Database Management System, DBMS
9. +
Database
Database
• Una collezione condivisa di dati correlati e una
descrizione di questi dati, disegnati per soddisfare
il bisogno di informazioni di una organizzazione
1.
È un singolo e possibilmente ampio magazzino di dati che
possono essere usati simultaneamente da più utenti
2.
È una risorsa condivisa
3.
Contiene sia dati che la descrizione degli stessi; “selfdescribing collection of integrated records”
10. +
DBMS
DBMS
• Un sistema software che abilita gli utenti a creare,
mantenere e controllare l’accesso al database
n
Consente la definizione di un database attraverso il Data
Definition Language (DDL)
n
Consente l’inserimento, l’aggiornamento, la cancellazione e
il recupero dei dati dal database attraverso il Data
Manipulation Language (DML)
11. +
Programmi applicativi
Programma
applicativo
n
• Un programma per computer che
interagisce con il database inviando
appropriate richieste al DBMS.
Gli utenti interagiscono con il database attraverso un certo
numero di programmi applicativi per creare manutenere e
generare informazioni
12. +
Dove sono i Database?
n
Esempi:
n
n
Ricerca di un libro nel catalogo di una biblioteca
Richiesta di un certificato
n
Spesa al supermercato
Operazioni allo sportello bancario
n
Pagamenti autostradali con Telepass e Viacard
n
Prenotazioni on-line
n
13. +
Dimensioni
n
Un database può avere qualsiasi dimensione e complessità
n
Esempio:
n
n
Una rubrica telefonica personale poche centinaia di elementi
Il database dei contribuenti Americani e delle relative dichiarazioni
dei redditi ha delle dimensioni notevoli:
n 100 milioni di contribuenti
n Mediamente 5 moduli per dichiarazione
n 200 byte per ogni modulo
n 100 milioni x 5 x 200 = 100.000.000.000 = 100 Gb
n Se vogliamo tenere traccia delle ultime 4 dichiarazioni avremo 4 x
100 Gb = 400 Gb
n Tutta questa quantità di dati deve essere organizzato e gestito in
modo adeguato per fare in modo che gli utenti li possano
interrogare, recuperare ed aggiornare.
14. +
DBMS
n
È il sistema di gestione dei database, composto da un insieme di
programmi che consentono di creare di creare e manutenerle
n
Un DBMS permette di:
n
n
n
Definire un Database, costruire lo “schema” del DB specificando per
i dati da memorizzare
n Le strutture
n I tipi di dati
n I vincoli
Popolare il Database, inserire e memorizzare i dati su dispositivi di
memoria di massa
Manipolare il Database,
n Interrogare il database
n Aggiornare i dati (modifica e cancellazione)
n Generare report per i dati
15. +
DBMS
n
Un DBMS non è un Database
n
n
n
Un DBMS è un dispositivo per gestire DB
Un DB è un insieme di dati
E’ la stessa differenza che esiste tra Word (applicativo) e il
file con estensione .doc (dati)
16. +
Database, vantaggi
n
Controllo della ridondanza dei dati, prova a eliminare la ridondanza
integrando i file in modo tale che più copie dello stesso dato non venga
memorizzato. Non la elimina del tutto ma controlla la quantità di ridondanza
interna
n
Consistenza dei dati, eliminando o controllando la ridondanza riduciamo il
rischio di inconsistenza
n
Condivisione dei dati, il database appartiene all’intera organizzazione. Una
nuova applicazione si può basare sulle funzionalità di un DBMS esistente
n
Integrità dei dati, si riferisce alla validità e consistenza dei dati
memorizzati. Espressa in relazione ai vincoli (vedi dopo)
n
Sicurezza, è la protezione del database per gli accessi non autorizzati
n
Privacy, ciascun utente, identificato con un codice di accesso, viene abilitato
a svolgere le sue operazioni
n
Servizi di backup e recovery
17. +
Database, svantaggi
n
Complessità nella gestione della risorsa DBMS
n
Dimensione, la complessità e l’insieme delle funzionalità del
DBMS lo rende un software estremamente grande,
occupando molti megabyte di spazio disco
n
Costo, il costo del DBMS varia in modo significativo in base
all’ambiente e alle funzionalità fornite.
n
Performace, essendo un software generale che serve più
applicazioni si può avere l’effetto di rallentare l’applicazione
stessa, tuning.
18. +
Figura coinvolte
n
Database Designer, è colui che progetta il DB in base ai
requisiti che gli vengono forniti. È responsabile
dell’individuazione dei dati da memorizzare nel DB ed è
responsabile delle scelte strutturali
n
Database Administrator, è il responsabile per le
autorizzazioni degli accessi, coordina e controlla il suo uso.
19. +
Il modello dei dati
n
I modelli dei dati per l’implementazione di un Database si
distinguono in
n
n
Modello Gerarchico, utilizza strutture dati ad albero
Modello Reticolare, utilizza strutture dati reticolari (grafo)
n
Modello Relazionale, utilizza strutture dati di tipo tabella, più
tabelle sono messe in relazione tra loro
n
Modello a Oggetti, estende ai DB il paradigma di
programmazione ad oggetti.