Sei sulla pagina 1di 3

Database

o
o

Con il termine database, si indicano in informatica gli archivi di dati, organizzati e gestiti sulle memorie
di massa dei computer attraverso appositi software. Negli archivi deve essere garantita la consistenza,
cio i dati in essi contenuti devono essere significativi ed essere utilizzabili nelle applicazioni
dellazienda; i dati devono essere protetti per impedire perdite accidentali, la produzione deve anche
riguardare gli interventi sui dati dovuti ad accessi non autorizzati con operazioni di lettura, modifica o
cancellazione. La sicurezza utile per impedire che il database venga danneggiato da interventi
accidentali o non autorizzati; integrit, significa garantire che le operazioni effettuate sul database da
utenti autorizzati non provochino una perdita di consistenza ai dati. I prodotti software per la gestione di
database vengono indicati con il termine DBMS (DataBase Management System).
I difetti dellorganizzazione degli archivi derivano dalla ridondanza dei dati, cio gli stessi dati
compaiono in maniera duplicata che pu portare allincongruenza, nel caso in cui un dato venga
aggiornato in un archivio e non in altro, oppure siano presenti valori diversi per lo stesso dato; questo a
sua volta porta allinconsistenzadei dati, cio i dati a disposizione non sono pi affidabili, perch non si
sa con certezza quale dei diversi valori sia quello corretto.
Nello sviluppo della teoria dei database, sono emersi tre tipi diversi di modelli per le basi di dati
cronologicamente:
1. gerarchico, sviluppato negli anni sessanta, ed ha una struttura ad albero nella quale i nodi
rappresentano le entit e gli archi le associazioni;
2. reticolare, sviluppato negli anni sessanta, ed ha una struttura a grafo nella quale i nodi
rappresentano i nodi e gli archi rappresentano le associazioni;
3. relazionale, sviluppato tra gli anni settanta e ottanta e rappresentano il database come un insieme
di tabelle;
4. ad oggetti, sviluppato negli anni ottanta ed basato sulla programmazione a oggetti.
Quello pi utilizzato al giorno doggi quello relazionale, perch considerato il modello pi semplice
ed efficace. Questo modello si basa su alcuni concetti matematici e assegna grande importanza alluso
del linguaggio matematico con, due obiettivi importanti:
utilizzare un linguaggio conosciuto a livello universale, quale il linguaggio matematico;
eliminare i problemi di ambiguit nella terminologia e nella simbologia.

Il modello E/R

Il modello Entit-Relazione, piuttosto semplice e il suo nome deriva dal fatto che permette di
modellare il mondo reale utilizzando entit e relazioni. Il risultato un diagramma E/R che viene
utilizzato per rappresentare visivamente gli oggetti del modello. Le entit sono gli oggetti su cui
vengono raccolte informazioni e possono essere persone, macchine, eventi ecc.
La relazione rappresenta unassociazione tra una o pi entit. Si dicono:
relazioni binarie le associazioni tra due entit;
relazioni binaria ricorsiva quando una relazione associa unentit con se stessa;
ternaria la quale implica tre entit o n-arie e vengono scomposte in due o pi relazioni binarie;
complesse che coinvolgono pi di due entit;
ridondanti definite tra due entit equivalente nel significato di unaltra relazione tra le stesse due
entit.
La caratteristica principale della relazione la cardinalit, la quale descrive la mappa delle istanze
delle entit associate nelle relazioni. I tipi principali di cardinalit sono: uno a uno, uno a molti, molti a
molti. Date due entit A e B, la relazione uno a uno (1:1) si ottiene quando ununica istanza dellentit A
viene associata a ununica istanza dellentit B. la relazione uno a molti (1:M) si verifica quando a una
istanza dellentit A corrispondono zero, una, o molte istanze dellentit B, ma a unistanza dellentit b
corrisponde solo unistanza dellentit A. una relazioni molti a molti (M:M), si verifica quando per
unistanza dellentit A ci sono zero, una o molte istanze dellentit B, e per unistanza dellentit B ci
sono zero, una o molte istanze dellentit A.
In un modello E/R sono presenti anche gli attributi che descrivono le entit con le quali sono associati.

Una particolare istanza di un attributo detta valore. Questi possono essereidentificatori, dette anche
chiavi, le quali identificano univocamente unistanza di unentit; e descrittori, la quale descrivere una
caratteristica non unica di una istanza di unentit. Gli attributi chiave sono quelli che possono essere
per identificare unentit; quelli non chiave, descrivono lentit a cui appartengono e possono e
possono esistere solo in unentit; quelli derivati, creati da una formula o da operazioni di elaborazione
su altri attributi. Il dominio di un attributo la collezione di tutti i valori possibili di un attributo.

Le chiavi

o
o
o

La chiave primaria un attributo o un insieme di attributo che identificano univocamente una specifica
istanza di una entit e lattributo deve avere le seguenti propriet:
il valore deve essere specificato per ogni istanza dellentit;
il valore deve essere unico per ogni istanza dellentit
il valore non deve cambiare o diventare nullo durante la vita di ogni istanza dellentit.

Le tabelle
Le tabelle vengono ricavate dal modello E/R applicando le regole di derivazione del modello logico, e
cio:
1. ogni entit diventa relazione;
2. ogni attributo di unentit diventa un attributo della relazione;
3. ogni attributo della relazione eredita le caratteristiche dellattributo dellentit da cui deriva;
4. lidentificatore univoco diventa la chiave primaria della relazione derivata;
5. lassociazione uno a uno diventa ununica relazione che contiene gli attributi della prima e della
seconda entit;
6. nellassociazione uno a molti la chiave primaria dellentit di partenza diventa chiave esterna
dellentit di arrivo associata;
7. lassociazione molti a molti diventa una nuova relazione composta dagli identificatori univoci dalle
due entit e dagli eventuali attributi dellassociazione.
Le tabelle relazionali godono di 6 propriet:
1. i valori sono atomici. Questa propriet indica che le colonne non sono scomponibili;
2. i valori delle colonne sono omogenei tra di loro. Tutti i valori in una colonna appartengono allo
stesso dominio;
3. ogni riga univoca. Questa propriet assicura che non ci siano due righe identiche;
4. la sequenza della colonna non significativa;
5. la sequenza delle righe non significativa;
6. ogni colonna deve avere un nome univoco.

Le operazioni operazionali
Gli operatori relazionali agiscono su una relazione per ottenere una nuova relazione. Quindi le
operazioni relazionali consentono di effettuare le interrogazioni (o query) ai database per ottenere le
informazioni desiderate estraendo da una tabella una sottotabella.
Alcune principali operazioni del modello relazionale sono:
1. la selezione genera una nuova relazione costituita solo dalle tuple della relazione di partenza che
soddisfano a una determinata condizione; la relazione ottenuta possiede tutte le colonne della
relazione di partenza e quindi ha lo stesso grado, la cardinalit pu essere minore o uguale alla
tabella di partenza, ma di solito minore.
2. la proiezione genera una nuova relazione estraendo della tabella iniziale due o pi colonne
corrispondenti agli attributi prefissati. La tabella ottenuta potrebbe contenere alcune righe uguali: in
questo caso occorre chiedere che ne venga conservata una sola perch il modello relazionale non
consente righe uguali tra loro; nelle relazioni risultante il grado minore o uguale al grado della
relazione di partenza, la cardinalit di norma uguale a quella di partenza;

o
o

3. la congiunzione serve a combinare due relazioni aventi uno o pi attributi in comune, generando
una nuova relazione che contiene le righe della prima e della seconda tabella, che possono essere
combinate secondo i valori uguali dellattributo comune; la coniugazione viene realizzata facendo
corrispondere valori uguali per attributi comuni nelle due tabelle: per questo motivo si chiama equijoin.
Esistono altri tipi di congiunzione:
il join.-esterno una congiunzione che restituisce le righe delluna e dellaltra tabella anche
se non sono presenti valori uguali per lattributo comune; vengono combinate solo le due righe per le quali il
valore dellattributo comune nella prima tabella trova un valore uguale nella colonna dellattributo comune
nella seconda tabella. Il join-esterno pu essere:
left join, quando elenca comunque tutte le righe della prima tabella congiungendo tra le
righe della seconda solo quelle per le quali si trovano valori corrispondenti per lattributo comune;
right join, in questo caso comunque restituisce tutte le righe della seconda tabella e di
queste congiunge con le righe della prima tabella solo quelle per quali si possono trovar valori corrispondenti
per lattributo comune.
Se le tabelle su si opera hanno una struttura gabellare omogenea si possono applicare le usuali
operazione sugli insiemi:
lunione che consente di ottenere una nuova tabella, contiene le righe della prima e
della seconda tabella con riduzione a una di quelle ripetute;
lintersezione la quale genera a partire da due tabelle omogenee, una nuova
tabella che contiene soltanto le righe comuni;
la differenza che genera una nuova tabella contenente soltanto le righe della prima
tabella che non sono contenute nella seconda tabella;
il prodotto di due tabelle, detto anche prodotto cartesiano, la concatenazione di
ogni riga una tabella con ogni riga della seconda tabella