Un modello dei dati è un insieme di concetti utilizzati per organizzare una base di dati e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore. Il modello relazionale è il modello logico dei dati, oggi più diffuso, soprattutto in ambiente di personal computer e di reti. Nato all'inizio degli anni '70 si basa sul concetto matematico di relazione tra insiemi. La teoria dei DB relazionali può esprimersi in modo rigoroso usando il linguaggio della logica formale o in alternativa quello dell' insiemistica. Il modello relazionale usa come struttura dati fondamentale la relazione (o tabella), e per operare sul DB definisce poche operazioni fondamentali, che si dimostrano sufficienti per qualsiasi operazione di interrogazione o transazione sul DB. Nel modello relazionale a ciascun dominio associamo un nome (attributo), unico nella relazione, che “descrive” il ruolo del dominio. Nella rappresentazione tabellare, gli attributi possono essere usati come intestazioni delle colonne.
Le informazioni sono rappresentate per mezzo di ennuple ( La partita Juve-Lazio è finita 3-1). Ogni ennupla indica quindi che c’è una relazione tra i vari elementi della ennupla stessa, e ogni elemento viene estrapolato da un solo dominio. Si noti che l’ordinamento fra gli attributi è irrilevante, infatti la struttura è non posizionale. Una tabella rappresenta una relazione se:
i valori di ciascuna colonna sono fra loro omogenei (dallo stesso dominio);
le righe sono diverse fra loro;
le intestazioni delle colonne sono diverse tra loro.
l’ordinamento tra le righe è irrilevante;
l’ordinamento tra le colonne è irrilevante.
ll modello relazionale impone ai dati una struttura rigida, infatti solo alcuni formati di ennuple sono ammessi. Per esempio una tabella di questo tipo:
ci darebbe delle informazioni incomplete. Nel modello relazionale si adotta una tecnica rudimentale ma efficace, viene riconosciuto il concetto di valore nullo che denota l’assenza di un valore del dominio (e non è un valore del dominio). Si possono (e debbono) però imporre restrizioni sulla presenza di valori nulli.
Per esempio nella tabella sopra , non ha senso mettere un valore nullo alla voce Matricola, in quanto è il campo che serve per identificare univocamente ogni studente. In genere quando si definisce una relazione si può specificare che i nulli sono ammessi solo su alcuni particolari attributi e non su altri. In molti casi però, nonostante siano stati collocati correttamente i valori nulli, non vero che qualsiasi tupla rappresenti informazioni corrette. Esistono infatti istanze di basi di dati che, pur sintatticamente corrette,non rappresentano informazioni possibili per l’applicazione di interesse. Per esempio nella seguente tabella abbiamo un voto pari a 32, che nel sistema italiano di valutazione non è ammissibile.
Sempre nella relazione ESAMI viene indicato che è stata attribuita la lode in un esame in cui il voto è 28, il che è impossibile. La terza tupla della relazione ESAMI, presenta per l’ attributo Studente, un valore che non compare tra i numeri di matricola della relazione STUDENTI descritta di seguito:
In una base di dati è opportuno evitare situazioni come quelle appena descritte.
Allo scopo è stato introdotto il concetto di vincolo di integrità.
In generale ad uno schema di base di dati associamo un insieme di vincoli, e consideriamo corrette solo quelle istanze che soddisfano tutti i vincoli.
Progettare un data-base relazionale richiede le seguenti fasi:
Tracciare il diagramma entità-associazioni del DB.
Tradurre il DEA in un elenco di schemi relazionali.
Individuare gli eventuali vincoli di integrità.
Scegliere l'ambiente di sviluppo nel quale sarà realizzato il DB, e tradurre nel suo linguaggio gli schemi relazionali e le varie procedure.
Sono numerosi i sistemi di data-base relazionali presenti sul mercato: dal classico DBIII con il derivato Clipper, ai più recenti Paradox, Access, FoxPro. Esistono anche sistemi di sviluppo (p.es. Delphi - Pascal) che permettono di scrivere facilmente programmi in grado di interrogare e gestire un data-base. Il linguaggio più potente e flessibile per la gestione dei DB relazionali resta comunque SQL presentato dall'IBM nel 1982 e che è incluso in molte delle versioni più recenti dei sistemi sopra elencati.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.