Elementi di un Database Relazionale
Un sistema database
E' un deposito computerizzato per una collezione di files di dati.
L'obiettivo principale di questo deposito e' di conservare opportunamente le
informazioni e renderle disponibili su richiesta.
Un sistema database coinvolge quattro maggiori componenti:
- Dati
- Hardware
- Software
- Utenti
Definizione di dato
Il dato e' una descrizione "OGGETTIVA" di fenomeni del mondo " REALE " in un
certo codice.
" Il dato e' la descrizione immediata e non interpretata di un evento "
( Blumental, s.c. 1973 )
Definizione di informazione
" L' INFORMAZIONE " e' l'insieme di uno o piu' dati, classificati,
memorizzati, messi in relazione o interpretati nell'ambito di un contesto,
in modo da avere un significato.
( Blumental, s.c. 1973 )
Una base di dati
Una Base di Dati e' una raccolta di dati operazionali
di un sistema applicativo o di una
particolare azienda.
Una base di dati ha caratteristiche di:
- Integrazione - Unisce piu' data files distinti,
eliminando parzialmente o totalmente la ridondanza
- Condivisione - I dati individuali della base di dati
devono essere condivisi tra diversi utenti che hanno
ognuno l'accesso ai dati per obiettivi uguali o distinti
Alcuni esempi di aziende con i relativi tipici dati operazionali:
- Una fabbrica - dati di produzione
- Una banca - dati contabili
- Un ospedale - dati sui pazienti
- Un'universita' - dati sugli studenti
- Un dipartimento governamentale - dati di pianificazione
Una raccolta di dati operazionali non comprende:
- dati di input
- dati di output
- risultati temporanei
- informazioni di transito
Un sistema database fornisce all'azienda un controllo centralizzato sui
propri dati operazionali togliendo tipicamente ad ogni applicazione
la possibilita' di avere i files propri (e di conseguenza i dischi e/o
nastri propri) rendendo meno complesso un controllo sistematico.
I principali vantaggi sono:
- Standardizzare la logica di rappresentazione dei dati
- Ridurre la ridondanza
- Eliminare l'inconsistenza
- Condividere i dati
- Forzare l'applicazione degli standard
- Applicare restrizioni di sicurezza
- Mantenere l'integrita' dei dati
- Bilanciare i conflitti nei requisiti
- Permettere l'indipendenza logica dei dati
- Permettere l'indipendenza fisica dei dati
- Interfacce di programmazione ad alto livello
- Fornire strumenti di recupero della base dati
- Fornire strumenti per il monitoraggio della base dati
- Maggior semplicita' nelle implementazioni di riorganizzazione,
esportazione e distribuzione.
Sistema di gestione di una base di dati
Un D.B.M.S. - Data Base Management System
- Sistema
- Linguaggi
- Interfacce
- Strumenti
- Ambienti
- Gestione
- Creazione
- Uso
- Manutenzione
- Base Dati
I DBMS sul mercato si distinguono sul mercato per il/i modelli teorici
adottati nelle definizioni di SCHEMI e SOTTOSCHEMI.
In generale un sistema di gestione di DataBase e'
conforme ad uno dei tre principali
modelli di DataBase:
- GERARCHICO - Permettono la descrizione di entita'
con archi che collegano in modo gerarchico.
- RETICOLARE - Non esiste nessuna restrizione sulla disposizione degli archi.
- RELAZIONALE - Si distinguono per non possedere 'archi informativi',
le informazioni delle dipendenze reciproche dei vari tipi di entita'
si ottengono ponendo in relazione le varie tabelle.
Modello relazionale
La definizione formale del modello relazionale fu stabilita
da E.C. CODD nel 1960 usando una precisa terminologia matematica.
Gli oggetti che fanno parte del modello relazionale sono:
- CHIAVI
- RELAZIONI
- OPERATORI RELAZIONALI
- OPERATORI INSIEMISTICI
Tabella
E' il contenitore dei dati strutturati. E' suddivisa in colonne
o campi con un determinato dominio, dove per dominio si intende
l'insieme dei possibili valori con le relative caratteristiche
(range, formato, controlli di integrita', ecc) che possono essere
acquisiti.
Chiave
E' un attributo o insieme di attributi il cui valore puo'
identificare univocamente le istanze dell'entita'.
La chiave primaria e' quella che viene scelta per
la designazione usuale delle tuple. Nel modello relazionale,
la chiave primaria identifica la tupla della relazione.
La chiave secondaria o duplicabile, e' quella che indica una
partizione della relazione in gruppi di tuple.
La chiave esterna e' una chiave primaria in un'altra relazione.
Relazione
Una relazione e' una tabella formata da colonne,
il cui ordine e' indeterminato, dette attributi Ai
che assumono valori in un certo dominio Di e da righe
dette tuple, ciascuna diversa dalle altre, che rappresentano occorrenze
degli attributi nei loro domini.
Il numero degli attributi o delle colonne e' chiamato il range
di una relazione.
Operatori relazionali
Dette R1 e R2 due relazioni e RR il risultato, si definiscono
le seguenti operazioni (unarie e binarie):
- Selezione - RR contiene le tuple di R1
che soddisfano un certo criterio logico (predicato)
- Proiezione - RR contiene un determinato sottoinsieme di attributi di R1
- Giunzione Equivalente - gli attributi di RR sono l'unione
di quelli di R1 e R2 laddove esiste corrispondenza tra
gli attributi di R1 e quelli di R2
- Giunzione Esterna - gli attributi di RR sono l'unione di tutti quelli
di R1 e quelli R2 laddove esiste
corrispondenza tra gli attributi di R1 e quelli di R2
- Giunzione Propria - gli attributi di RR sono l'unione
di quelli di R1 e R1 laddove esistono due attributi in
R1 da mettere in corrispondenza
Operatori insiemistici
- Unione - le tuple di RR sono tutte quelle di R1 piu'
tutte quelle di R2 (senza ripetizione)
- Intersezione - RR contiene le tuple che compaiono sia in R1 sia in R2
- Differenza - RR contiene le tuple che compaiono in R1 ma non in R2
- Prodotto cartesiano - le tuple di RR sono ottenute eseguendo
il prodotto cartesiano ordinato delle tuple di R1 e R2
- Divisione - RR e' formata dagli attributi che compaiono
in R1 ma non in R2, e dalle tuple tali che
il prodotto di RR e R2 sia interamente contenuto in R1