Database : definizione, DBMS, caratteristiche

LE BASI DI DATI
Prima parte – Premesse introduttive
DEFINIZIONE DI DATABASE

In generale, un database è una collezione di
archivi di dati ben organizzati e ben strutturati,
in modo che possano costituire una base di lavoro
per utenti diversi con programmi diversi.
Esempio : i dati degli articoli del magazzino di
un’azienda
Articoli di magazzino
programma listini
programma fatture
2
EFFICIENZA E PRODUTTIVITÀ - 1/2
o
archivi costituiti da grandi quantità di dati
Velocità di elaborazione: ritrovare le
informazioni desiderate in tempi brevi o
ragionevoli
 Consistenza : i dati inseriti devono essere fra
loro coerenti, conformi e affidabili.

per esempio, se è necessario modificare lo stato
civile del Sig. Rossi da celibe in coniugato, anche
gli altri campi che presentano lo stato civile del
Sig. Rossi, con riferimento al primo, devono essere
aggiornati, pena l'inconsistenza dei dati.
3
EFFICIENZA E PRODUTTIVITÀ - 2/2

Sicurezza : i dati devono essere protetti al fine
di impedire perdite accidentali dovute a cadute
del sistema, guasti hardware o interventi dannosi
da parte di utenti e di programmi.

Integrità : garantire che le operazioni effettuate
sul database da utenti autorizzati non provochino
una perdita di consistenza ai dati.
4
DBMS (DATABASE MANAGEMENT SYSTEM) –
1/2

Sono i prodotti software che si occupano della gestione di
database.

Definizione : un DBMS è un sistema software che gestisce
grandi quantità di dati, persistenti e condivisi

Hanno al loro interno, moduli con funzionalità che
permettono di




analizzare e ottimizzare le richieste
garantire la protezione da guasti
gestire accessi concorrenti (più utenti nello stesso tempo)
Inoltre grazie al loro recente sviluppo (sistemi di
elaborazione dotati di processori sempre più veloci),
garantiscono tempi di accesso e trasferimento in
memoria molto bassi
5
DBMS (DATABASE MANAGEMENT SYSTEM) –
2/2

Database distribuiti: gli archivi del database
possono risiedere sulle memorie di massa di
diversi computer facenti parte di una rete
aziendale.

Attenzione a non confondere i DBMS con i
database!

Esempi di DBMS : MySql, Microsoft Access,
SQL Server, Oracle, ecc…
6
LIMITI DEGLI ARCHIVI TRADIZIONALI - 1/5
Consideriamo il seguente esempio di
archiviazione tradizionale (file system):
Si vogliono gestire le informazioni dei clienti di
un’azienda bancaria e per questo è stata
sviluppata una semplice applicazione. Per ciascun
conto vengono gestiti il numero di conto, il nome
del destinatario, il suo indirizzo con il codice di
avviamento postale e il saldo.
I progettisti hanno deciso di memorizzare i dati
su due file : il primo con le informazioni
anagrafiche del cliente, il secondo con quelle del
conto.
7
LIMITI DEGLI ARCHIVI TRADIZIONALI - 2/5
Si gestiscono con semplicità i casi di clienti (es.
Gialli e Verdi che condividono lo stesso conto
operazioni : versamento,
prelievo, gestione dati anagrafici
Linguaggio
utilizzato :
COBOL
(vecchio)
8
LIMITI DEGLI ARCHIVI TRADIZIONALI - 3/5

In un secondo tempo, un altro gruppo di
programmatori hanno sviluppato un software per
gestire i singoli movimenti sul conto.
operazioni : inserire
movimenti di versamento e
prelievo, aggiornare il saldo
Linguaggio
utilizzato :
C
(moderno)
9
LIMITI DEGLI ARCHIVI TRADIZIONALI - 4/5

Il nuovo archivio deve potersi integrare con gli altri
archivi (precedenti) della banca, ma :


Due campi con nomi diversi rappresentano lo stesso dato
(NumConto e Codice),
Due campi con nomi diversi e formato diverso
rappresentano lo stesso dato (Nome di 50 caratteri e Cliente
di 40 caratteri).
Si provi ad immaginare al caso in cui il nome di un cliente è stato in
passato abbreviato per poter essere contenuto nel campo di lunghezza
40 (si hanno due nomi diversi)


Due campi (Saldo e Importo ) con tipo di formato diverso
Ridondanza dei dati : il nome del cliente è presente sia
nell’archivio dei movimenti, che nell’archivio dell’anagrafica
10
clienti e viene ripetuto per ogni movimento!
LIMITI DEGLI ARCHIVI TRADIZIONALI - 5/5
occorre tenere presente eventuali
modifiche nel futuro (es. aggiunta di codice
fiscale ed email ai campi dell’anagrafica dei clienti,
sviluppo di nuove applicazioni .
Inoltre
A
causa di tutto ciò, sviluppare nuovo software
per soddisfare nuove richieste può diventare
un’impresa ardua e sicuramente non risolvibile in
tempi brevi.
11
I PROBLEMI DEGLI ARCHIVI TRADIZIONALI
(FILE BASED) - 1/3
dai dati : all’interno dei programmi
sono specificati gli archivi utilizzati, ogni modifica alla
struttura degli archivi richiede la modifica di tutti i
programmi che la utilizzano
Dipendenza
Interrogazioni
predefinite e difficoltà
nell’accesso ai dati : accessi solo tramite le
applicazioni specifiche.
Ridondanza
e incosistenza dei dati : dati duplicati
portano ad un aumento dello spazio occupato e
all’incongruenza (quando si modifica un dato occorre
ricordarsi di modificarlo in tutte le sue “ripetizioni”) e
inconsistenza (dati non più affidabili)
12
I PROBLEMI DEGLI ARCHIVI TRADIZIONALI
(FILE BASED) - 2/3
Difficoltà
nel gestire l’integrità dei dati: si
devono ricordare i programmatori basandosi su
documenti che spesso non ci sono o non si trovano.
Altri
aspetti negativi sono :
Difficoltà
nel gestire la concorrenza : lo stesso
programma può essere eseguito da più utenti
contemporaneamente , se i processi concorrenti non
vengono gestiti correttamente si possono presentare
diverse anomalie, fra cui la perdita di aggiornamento.
Limiti nella gestione della sicurezza : occorre un
controllo sulle autorizzazioni degli utenti e sulle
operazioni permesse.
13
I PROBLEMI DEGLI ARCHIVI TRADIZIONALI
(FILE BASED) - 3/3
La
sicurezza nei sistemi tradizionali è affidata ai
servizi messi a disposizione dal file system del sistema
operativo, che permette di gestirla al massimo a livello
di file e non di campi.
Salvataggio e ripristino dati limitato: sistemi di
backup per effettuare delle copie di sicurezza , sono
l’unico strumento a disposizione dei sistemi tradizionali
per gestire il problema del ripristino in caso di
malfunzionamento. Problema : si devono reinserire i
dati dalla data dell’ultima copia fino a quel momento.
L’approccio mediante i database introduce una nuova
metodologia di organizzazione degli archivi di dati per
superare i limiti sopra visti.
14