vuoi
o PayPal
tutte le volte che vuoi
DATA BASE
Per memorizzare e gestire in modo efficiente le informazioni e anche per affrontare in modo
semplice, organico e flessibile tutte le situazioni che si presentano nelle aziende occorre utilizzare
strumenti molto potenti, i database.
Ogni applicazione software, presente in ogni azienda o organizzazione, deve quindi poter:
- recuperare e ricercare le informazioni in base a criteri di ricerca
- selezionarle e raggrupparli secondo esigenze operative
- aggiungerne di nuove
- modificarle aggiornando il valore nel tempo
- cancellare quelli che non hanno più contenuto informativo utile
Una base di dati o database è una raccolta di dati progettati in modo tale da poter essere utilizzati in
maniera ottimizzata da differenti applicazioni e da utenti diversi.
Le informazioni necessarie a un’organizzazione sono gestite da un sistema informativo. Un sistema
informativo è un insieme organizzato di strumenti automatici, procedure manuali, risorse umane e
materiali, norme organizzative, orientati alla gestione delle informazioni rilevanti per
un’organizzazione. Quindi ogni informazione in qualunque formato essa sia fa parte di un sistema
informativo aziendale, di cui il sistema informatico è una componente essenziale. Un sistema
informatico, spesso chiamato EDP (Electronic data processing), è un sottoinsieme del sistema
informativo che si dedica alla gestione automatica delle informazioni, rappresentate mediante dei
dati digitali. Il sistema informatico, SI, è costituito dagli archivi elettronici in cui sono memorizzati
tutti i dati relativi all’azienda, e cioè:
- i supporti fisici per la memorizzazione dei dati
- le procedure di interrogazione per la ricerca delle informazioni
- gli strumenti di comunicazione tra i terminali degli operatori
In base alla loro natura possiamo individuare due componenti nel SI:
- archivi applicazioni: componenti software
- supporti fisici e strumentazioni: componenti hardware
Un’azienda che non utilizza i database può andare incontro a diversi problemi, tra cui la ripetizione di
dati. Per risolvere questi problemi è dunque necessario disporre di un sistema in grado di contenere
tutti i dati necessari alle diverse applicazioni, in modo da avere una sola copia, unica e sempre
aggiornata disponibile a tutti i programmi, che consenta inoltre l’accesso simultaneo a più utenti,
anche con applicazioni diverse e scritte il linguaggio di programmazione diverso. Questo sistema poi
deve essere in grado di offrire un’interfaccia molto semplice che permetta di interagire con i dati e
mettere a disposizione uno specifico linguaggio per rendere possibili le operazioni di archiviazione,
modifica e recupero dei dati stessi. Infine, deve poter permettere di modificare la struttura dei dati
senza che le applicazioni già funzionanti ne risentano in qualche modo, cioè non se ne accorgano
neppure. Tale strumento è proprio il database composto dall’insieme degli archivi (tabelle) di tutte le
applicazioni aziendali, che raccoglie univocamente tutti i dati, li organizza e li gestisce. La principale
caratteristica del database è quella di considerare solo i dati, cioè di separare completamente i dati
dalle applicazioni.
Il record è un tipo di dato strutturato utilizzato per memorizzare le informazioni nell’archivio ed
elaborarle estraendo le informazioni. Un passo fondamentale nella definizione di dati di un database
consiste nella descrizione di come sono formati i record, ovvero il numero, il nome e i tipi di dati che
essi contengono. Nei database, la definizione dei dati dati stessi sono salvati all’interno dello stesso
database. Lo schema di progettazione per le applicazioni con un archivio convenzionale risulta molto
diverso rispetto allo schema di progettazione di un database, infatti se si usano archivi convenzionali,
la definizione di dati è parte integrante dell’applicazione mentre con l’utilizzo di un database la
definizione della struttura dei dati è indipendente dall’applicazione. In questo caso è necessario
stabilire un interfaccia tra le diverse applicazioni e i dati che sia in grado di interpretare la definizione
della loro struttura, di recuperarne la posizione fisica e gestirli. Questo componente si chiama DBMS.
Si definisce DBMS (database management system) il sistema di gestione del database visto nel suo
complesso, si occupa di gestire interamente i dati, compresa la loro definizione e il modo in cui
vengono fisicamente archiviati.
Le caratteristiche fondamentali di un DBMS possono essere così sintetizzate:
- Deve gestire grandi quantità di dati, i dati hanno dimensioni maggiori della memoria centrale
e i DBMS devono gestire i dati in memoria secondaria. Gestire una grande quantità di dati
non significa solo riuscire a manipolare i grandi spazi sul discorso memoria, quanto piuttosto
prestare particolare attenzione ai problemi di efficienza.
- Deve garantire la condivisione dei dati che devono poter essere utilizzati da applicazioni
utenti diversi secondo le proprie modalità. Gestire grandi quantità di dati, garantendo
velocità di elaborazione e contemporaneamente permettere più utenti di condividere le
stesse informazioni, non solo sono attività che possono diventare incompatibili tra di loro,
ma introducono anche la necessità di coordinare gli accessi per evitare di fornire un utente o
non aggiornati.
- Deve garantire la persistenza dei dati che devono durare nel tempo, oltre alle singole
applicazioni. La persistenza di dati, inoltre, richiede che il DBMS compia ancora un’altra
operazione, ovvero fornisca quei meccanismi che permettono di assicurare l’affidabilità dei
dati. La presenza di più utenti comporta, infatti, anche più possibilità che malintenzionati o
incauti accedano a dati su cui non hanno privilegi di accesso. Il DBMS deve allora anche
gestire il controllo degli accessi per assicurare che i dati siano visibili solo da particolari utenti
o gruppi di utenti.
- Un DBMS deve fornire all’utente diverse funzionalità che lo aiutino nella gestione lo sviluppo
di applicazioni che fanno uso del database.
L’architettura standard del DBMS si articola su tre livelli:
- schema esterno: descrizione di una porzione della base di dati di interessi in un modello
logico
- schema logico: descrizione dell’intera base di dati nel modello logico adottato dal DBMS
- schema intero o fisico: rappresentazione dello schema logico per mezzo di strutture fisiche di
memorizzazione.
[ANSI/SPARC nel 1975 fu proposto un modello astratto come schema di architettura standard per il
database, al quale fu dato questo nome che ancora oggi è un modello di riferimento]
L’utente non accede allo schema logico nella sua interezza, ma solamente a quella porzione che
interessa alla sua applicazione, dato che al di sopra dello stesso database vengono mandate in
esecuzione diverse applicazioni: anche all’interno della singola applicazione viene utilizzata sempre
solo una parte del database, che prende il nome di vista.
PROGETTAZIONE DI UN DATABASE
Progettare un database significa progettare le strutture, prima logiche e quindi fisiche, in modo che
possano accogliere nel modo migliore possibile i dati di cui l’utente ha bisogno. La progettazione di
un database si può dividere in:
- modellazione concettuale quindi dei dati vera e propria, che include l'analisi, la
progettazione concettuale e logica del database
- modellazione funzionale, che include la progettazione fisica e la realizzazione delle
applicazioni.
Il modello concettuale descrive cosa deve essere rappresentato mentre il modello logico descrive
come sono organizzati i dati. Detto altrimenti, la modellazione di dati consiste nella progettazione
delle tabelle del database, mentre la modellazione funzionale consiste nell’implementazione delle
tabelle e nella creazione delle funzioni che accedono i dati.
La fase di analisi di ogni progetto, indipendentemente dalla sua complessità, serve proprio per
modellare il problema e quindi adottare una soluzione tecnica: questa stessa metodologia viene
applicata anche i dati del database. Un modello di dati consiste in una rappresentazione astratta
delle strutture dei dati di un database. L’atto di creazione di un modello prende il nome di
modellazione di dati, in inglese data modeling.dell’azione dei dati serve per tradurre i dati dal punto
di vista dell’utente al punto di vista dell’applicazione o database, cioè per trasportarli dal mondo
reale al mondo informatico.
L’analisi preliminare per la modellazione dei dati avviene solitamente cercando di individuare le
esigenze del cliente o il dominio dell’applicazione, cioè quali informazioni devono essere salvate e in
che modo queste informazioni verranno manipolate dall’utente. Al termine dell’analisi inizia la prima
fase di modellazione, che è quella concettuale; per attuarla, si può far ricorso ai due seguenti
modelli:
- modello Entità-Relazione
- modello a Oggetti
Il modello E-R è indipendente dal linguaggio scritto o parlato e permette quindi a tutti di
comprendere la struttura del database. Di norma, al modello E-R viene affiancato un documento
tecnico che descrive in maggior dettaglio, usando un linguaggio naturale, i concetti espressi
graficamente dal modello E-R.
Un buon progetto concettuale, per definirsi tale deve essere caratterizzato da:
- correttezza: uso corretto degli strumenti
- completezza: tutti gli aspetti rilevanti della realtà devono essere modellati
- chiarezza: il modello deve essere leggibile e rappresentare le informazioni in maniera
comprensibile
- indipendenza dallo strumento informatico che verrà utilizzato
Una volta approntato il modello concettuale, si procede alla definizione del modello logico dei dati,
che consiste in uno schema realizzato in una funzione delle caratteristiche del sistema di gestione
della base che si intende utilizzare. Il modello logico è più vicino la rappresentazione informatica di
dati, per ottenerlo, è necessario tradurre lo schema concettuale attraverso l’applicazione di un
sistema di regole ben definite. Il modello logico deve essere indipendente dalle strutture fisiche e
utilizzate dei programmi applicativi. Nel tempo si sono succeduti diversi tipi di modelli logici:
- Gerarchico. Il primo modello di affermarsi sul mercato è stato il modello di database
gerarchico. Nel modello gerarchico i dati sono organizzati secondo struttura ad albero che
rappresentano la gerarchia degli elementi presenti nell’archivio. La radice è il record
principale del database, da cui partono uno o più sotto alberi a esso simili, naturalmente il
numero dei figli è variabile. Ogni elemento prende il nome di segmento e il modello
gerarchico permette di rappresentare i dati sfruttando la re