DATABASE: definizione e progettazione
CAPITOLO IV
DATABASE: definizione e progettazione
Definizioni
DATO ELEMENTARE
Una qualunque rappresentazione elementare, non interpretata, di fatti o di concetti,
formalizzata ed adatta ad essere interpretata ed elaborata da esseri umani o strumenti
automatici.
Il dato può essere rappresentato da caratteri alfanumerici e/o quantità analogiche, senza che
venga loro alcun significato.
INFORMAZIONE
Si definisce informazione il significato che un essere umano assegna ai dati per mezzo di
convenzioni applicate (ai dati stessi).
Non appena un dato è interpretato e gli si attribuisce un significato, diventa informazione.
E’ importate chiedersi se i dati inseriti siano informazioni per il problema in esame, al fine di
ottimizzare la struttura della banca dati stessa.
DATABASE
Il Database è una collezione di dati ed informazioni congruenti e non ridondanti, organizzata
con una ben determinata struttura, per essere gestita da un software D.B.M.S., grazie al quale
più utenti, concorrentemente, possono:
o
o
o
o
o
o
definire
creare
modificare
eliminare
memorizzare
reperire
dati
Pagina 1 di 7
DATABASE: definizione e progettazione
Il database non è una semplice raccolta di dati relativi ad un certo argomento, né un archivio
organizzato con criteri di sola consultazione.
Inoltre, relativamente ad un’informazione, non esiste dato ripetuto in diversi archivi con
diversità di formato e nomenclatura.
D.B.M.S. (DATA BASE MANAGEMENT SYSTEM)
Nella definizione di database è implicita la presenza di un software DBMS (Sistema di
gestione delle banche di dati), a cui tutti gli utenti rivolgono le proprie richieste per la gestione
dei dati. I DBMS hanno il compito di:
o semplificare il reperimento delle informazioni;
o gestire grosse moli di dati;
o rispondere alla necessità che i dati siano quanto più indipendenti dalle applicazioni che
li gestiscono;
o garantire l’integrità, la sicurezza e la possibilità di ripristino dei dati stessi.
Modelli di Database
Esistono diversi DBMS che differiscono principalmente per i modello dei dati su cui operano:
o Modello relazionale,
o Modelli non relazionali (o pre-relazionali): Modello gerarchico, Modello reticolare.
Per ogni modello esiste un software DBMS specifico.
MODELLO RELAZIONALE
Il modello relazionale offre i dati collezionati di tabelle, in cui le colonne rappresentano gli
attributi e le righe descrivono univocamente le ricorrenze del fenomeno descritto.
Le eventuali interdipendenze tra tabelle sono espresse dal valore dei dati, anziché da
“coordinate” o dalla loro posizione in memoria (come nei modelli non relazionali).
Si accede, cioè, ai dati tramite valori rispondenti
a determinati criteri e non seguendo
cammini predefiniti. Questo garantisce un alto grado di indipendenza delle informazioni, in
quanto i cammini sono “calcolati” ogni volta che è fatta richiesta di accesso al dato.
Pagina 2 di 7
DATABASE: definizione e progettazione
MODELLO GERARCHICO
I dati sono strutturati secondo una gerarchia ad albero, rispettando il vincolo di proprietà
padre-figlio.
Ogni dato ha un solo proprietario, detto PADRE. L’albero gerarchico rappresenta come sono
intercorrelate i dati tra loro e determina il percorso di ricerca: si accede alle informazioni del
database dall’alto verso il basso della sua struttura, nell’ordine PADRE / FIGLIO.
Cliente è il dato RADICE ed ha due figli, Fattura ed Ordine. Riga è figlia di Ordine.
MODELLO RETICOLARE
Anche il modello reticolare è organizzato secondo il “possesso” dei dati. Questa volta i dati
potrebbero avere anche più di un proprietario (eccetto il dato Radice). Conseguentemente
potrebbero esistere diversi cammini di accesso ad un dato.
Il modello reticolare è rappresentato in grafi, con cammini percorribili nei due sensi.
Pagina 3 di 7
DATABASE: definizione e progettazione
Progettazione di un database
La progettazione di un database consiste nel determinare l’organizzazione, la struttura ed i
vincoli semantici dei dati che descrivono una certa realtà. È una disciplina con i propri
metodi, le proprie tecniche ed i propri strumenti. La qualità della progettazione gioca un ruolo
fondamentale per le “prestazioni” applicative del database stesso.
Il metodo è l’insieme dei passi e delle attività da svolgere per ottenere i risultato finale.
Ogni passo del metodo è eseguito con tecniche appropriate e strumenti specifici della tecnica
adottata.
La progettazione di un database segue tre fasi distinte e consecutive:
o progettazione concettuale,
o progettazione logica,
o progettazione fisica.
PROGETTAZIONE CONCETTUALE
La progettazione concettuale dei dati restituisce una rappresentazione astratta ad alto livello
della realtà in esame e costituisce uno strumento descrittivo puntuale e fedele. Produce come
risultato uno schema concettuale del flusso di dati. Si concentra sulle informazioni interessanti
e significative per la realtà da descrivere, esprimendole in termini di fenomeni (Entità) e loro
mutue relazioni, a prescindere dal modello finale dei dati (gerarchico, reticolare o
relazionale).
Realtà da descrivere:
Entità:
Ogni fabbrica sforna diversi modelli di automobile ed è composta
1. Fabbrica
da diverse catene di montaggio, ognuna delle quali produce un
2. Catena di montaggio
solo modello di automobile. Più catene di montaggio della stessa
3. Modello di automobile
fabbrica possono produrre lo stesso modello di autovettura, …
Relazioni: Produrre
Schema Concettuale
Pagina 4 di 7
DATABASE: definizione e progettazione
PROGETTAZIONE LOGICA
Traduce lo schema concettuale dei dati nel modello (gerarchico, reticolare o relazionale)
scelto dall’utente per strutturare i propri dati.
Il risultato di questa fase è uno SCHEMA LOGICO che, a seconda del modello prescelto, sarà
l’insieme delle tabelle, oppure l’insieme degli alberi gerarchici o il grafo reticolare.
PROGETTAZIONE FISICA
In questa fase il database è effettivamente “realizzato” in un computer. Sono stabiliti il tipo e
la dimensione degli spazi di memoria sui quali accogliere le informazioni ed i metodi richiesti
per l’accesso efficiente al contenuto del database.
Pagina 5 di 7
DATABASE: definizione e progettazione
Progettazione concettuale di un database: approcci, metodi e tecniche
Per arrivare alla definizione dello schema concettuale (e poi logico) di database, si possono
usare due differenti approcci:
o APPROCCIO TOP-DOWN
o APPROCCIO BOTTOM-UP
Nell’approccio top-down il punto di partenza sono i fenomeni che caratterizzano la realtà in
esame, con le loro proprietà e loro relative associazioni.
Nell’approccio bottom-up si concentra l’attenzione sulle applicazioni e sui dati elementari
coinvolti nelle applicazioni stesse.
Per ogni approccio sono stati sviluppati alcuni metodi, con cui realizzare il modello
concettuale ( e poi logico) di database. I metodi più importanti e diffusi sono quelli che si
avvalgono rispettivamente delle seguenti tecniche:
o ENTITY-RELATIONSHIP (approccio top-down)
o NORMALIZZAZIONE (approccio bottom-up)
TECNICA ENTITY-RELATIONSHIP (PETER PIN SHAN CHEN, 1976)
Questa tecnica offre una struttura formale per la rappresentazione concettuale dei dati. Si
fonda su:
o ENTITA’ (Entities);
o CORRELAZIONI (Relationships) tra entità;
o ATTIBUTI che descrivono ciascuna entità.
VANTAGGI
È la tecnica più immediata ed efficace di aggregazione dei dati elementari, specialmente in
realtà complesse.
SVANTAGGI
Il database potrebbe essere ridondante (non normalizzato) e presentare ripetizioni di
informazioni.
Pagina 6 di 7
DATABASE: definizione e progettazione
TECNICA DELLA NORMALIZZAZIONE (EDWARD F. CODD, 1969)
Questa tecnica parte da un punto di vista “opposto” da quello dell’Entity-Relationship, perché
prima cerca i dati elementari, quindi le relazioni tra questi, fino a costruire strutture sempre
più complesse. L’Entity-Relationship, invece, parte da una visione d’insieme, per scendere
sempre più in una descrizione analitica.
La tecnica della Normalizzazione si basa sul concetto di “relazione” matematica e focalizza
sui dati elementari coinvolti nelle varie attività da descrivere e sui flussi di informazioni
scambiati tra queste.
Ai dati sono applicati criteri di normalizzazione, fino ad ottenere un insieme ottimale di
relazioni esente da ridondanze ed anomalie.
VANTAGGI
Ha il vantaggio di fornire regole sistemiche e precise per eliminare ripetizioni dei dati.
SVANTAGGI
La normalizzazione si applica ad isolate raccolte di informazioni usate da ogni attività.
In certi casi si rischia di perdere la visione dei dati come risorsa globale della realtà da
descrivere.
TECNICA MISTA O COMBINATA
Spesso si ricorre a procedure che combinano in successione tecniche progettuali Entity
Relationship e di Normalizzazione, per ottenere un disegno dati quanto più efficiente da
entrambi i punti di vista: applicare le tecniche di normalizzazione ai diagrammi EntityRelationship.
Pagina 7 di 7