Sei sulla pagina 1di 12

Di Profilo Cosimo Danilo.

Capitolo 1
Sistemi informativi, Informazioni e Dati
Ogni organizzazione dotata di un informativo, che organizza e gestisce le informazioni necessarie
per perseguire gli scopi dell'organizzazione stessa.
Le informazioni vengono rappresentate sottoforma di "DATI" , che hanno bisogno di essere
interpretati per fornire informazioni.
Deferenza tra DATO e INFORMAZIONE
DATO:
I dati da soli non hanno alcun
significato, ma una volta
interpretati danno origine a
informazioni.

INFORMAZIONE
Notizia,dato o elemento che consente di
avere conoscenza pi o meno esatta dei fatti

Notazione: Il dato ci che presente immediatamente la conoscenza, prima di ogni elaborazione.

Basi di dati e sistemi di gestione di basi di dati


La gestione dei dati sfrutta la presenza di archivi e file per memorizzare i dati in maniera persistente
sulla memoria di massa.
Gli stessi file posso essere utilizzati da pi linguaggi di programmazione, incappando in ridondanza
e possibilit di incoerenza.
Una Base di Dati una collezione di dati, di interesse per una qualche applicazione, gestita da un
DBMS.
Data Base Management System(DBMS) :
un sistema software in grado di gestire collezione di dati che siano grandi, condivise e
persistenti, assicurando la loro affidabilit e sicurezza.
Base di Dati :

GRANDI :
possono essere enormi;
CONDIVISE:
applicazioni e utenti diversi devono poter accedere a dati comuni;
PERSISTENTI:
tempo di vita non limitato a quello delle singole esecuzioni dei programmi;

DBMS :

AFFIDABILITA':
la capacit del sistema di conservare, sostanzialmente intatto , il contenuto della base
di dati , in caso di malfunzionamento Software or Hardware;
PRIVATEZZA:
ogni utente viene abilitato a svolgere solo determinate azioni sui dati, attraverso
meccanismi di autorizzazione;
EFFICENZA:
capace di svolgere operazioni utilizzando un insieme di risorse che sia accettabile
per gli utenti;
EFFICACIA :
sono efficaci , in quanto sono capaci di rendere produttive le attivit dei loro
utilizzatori;
2

Modelli di Dati
Un modello di dati uni insieme di concetti per organizzare i dati di interesse e descriverne la
struttura, in modo che essa risulti comprensibile a un elaboratore.
Ogni modello di dati fornisce meccanismi di strutturazione analoghi ai costruttori di tipo , dei
linguaggi di programmazione. Il modello relazionale dei dati permette di definire tipo per pezzo
del costruttore relazionale, che consente di organizzare i dati in insiemi di record a struttura
fissa.
Una relazione spesso rappresenta per mezzo di una tabella, le cui righe rappresentano specifici
record e le cui colonne corrispondono a campi del record.
Passiamo ora a vedere altri 4 tipi di modelli di dati:
1. Modello gerarchico :
basato sull'uso delle strutture ad albero;
2. Modello reticolare:
basato sull'uso dei grafi;
3. Modello a oggetti :
evoluzione del modello relazionale;
4. Modello XML:
rivisitazione del modello gerarchico, i cui dati presentati insieme a un'unica struttura
logica (Auto-descrittivo, Semi_strutturato);
Schemi e istanze

Lo schema della base di dati invariato nel tempo, ed costituita dalle caratteristiche dei
dati;

L'istanza o stato della base di dati variabile nel tempo, ed costituita dai valori effettivi;

Un DBMS articolato su 3 livelli :


1. Schema Esterno:
esso costituisce la descrizione di una porzione della base di dati di interesse,
per mezzo del modello logico;
2. Schema Interno :
esso costituisce la rappresentazione dello schema logico per mezzo di
strutture fisiche di memorizzazione;
3. Schema Logico :
esso costituisce una descrizione dell'intera base di dati per mezzo del modello
logico adottato dal DBMS;

Indipendenza dei dati


L'indipendenza dei dati una propriet che permette a utenti e programmi di interagire a un
livello elevato di astrazione (pu essere fisica o logica).
Indipendenza fisica :
consente di interagire con DMBS in modo indipendente dalla struttura fisica dei dati;
Indipendenza logica:
consente di interagire con il livello esterno della base di dati , in modo indipendente
dal livello logico;
I linguaggi per la base di dati si dividono in 2 :
1. Linguaggi di definizione dei dati (DDL):
utilizzati per definire gli schemi logici, esterni e fisici e le autorizzazioni per
l'accesso;
2. Linguaggi per la manipolazione dei dati (DML):
utilizzati per le interrogazioni e l'aggiornamento delle istanze.
Vantaggi e svantaggi del DMBS
Vantaggi

Permettono di considerare i dati come una risorsa comune di una organizzazione , a


disposizione di tutti;
La base di dati fornisce un modello unificato e preciso della parte del mondo reale di
interesse per l'organizzazione;
E' possibile un controllo centralizzato dei dati;
La condivisione permette di ridurre ridondanze e inconsistenze;
L'indipendenza dei dati, fornisce lo sviluppo di applicazioni pi flessibili.
Svantaggi

Sono prodotti costosi, complessi e diversi sa altri strumenti informatici;


Forniscono una serie di servizi che sono necessariamente associati a un costo elevato.

Capitolo 2
Modello relazionale
Modelli logici nei sistemi di basi di dati
Il modello relazionale si basa su 2 concetti:
Relazione
Tabella
In matematica una relazione R il sottoinsieme del prodotto cartesiano di 2 insieme , AxB.
La tabella serve a riportare e a rappresentare in maniera ordinata un relazione.
Rappresentazione di una tabella :
Squadra | Punti | Posizione
Inter
95
1
Milan
37
2
Juventus
0
3

<---- Relazione
|------> Tupla

Una relazione su uno schema R(x) un insieme r su tuple x.


Una base di dati su R = {R1(X1),R2(X2)......Rn(Xn)} un insieme di relazione r = { r1,r2,....,rn}
dove ogni ri , per 1< = r < = n , una relazione Ri(Xi).
Dimostrazione grafica :
R=
{Studenti(Matricola, Cognome, Nome, Data), Esami(Studente, voto, corso),
Corsi(Codice , Titolo, Docente)}

Vincolo di Integrit
Ogni vincolo pu essere visto come un predicato che associa a ogni istanza "vero" o "falso";
se il predicato assume valore vero allora si dice che l'istanza soddisfa il vincolo.
Vincoli:

Vincolo intrarelazionale:
vincolo applicato su una sola relazione e all'interno della stessa;
Vincolo Interrelazionale :
vincolo applicato su pi relazioni;
Vincolo di Tupla :
vincolo applicato sulla singola tupla.
Chiavi

Ogni relazione ci garantisce l'identificazione di una "chiave". Per chiave si intende la scelta di un
valore di attributo o da un insieme di valori di attributi , tali che garantiscano l'unicit della
relazione, dove ogni elemento deve essere diverso dall'altro, assicurandosi che anche in una futura
modifica la chiave sia sempre vera.
Superchiave :
un chiave superchiave se usa il minimo numero possibile di attributi.
Vincoli di integrit referenziale
Un vincolo di integrit referenziale fra un insieme di attributi X , di una relazione R1 e una
relazione R2, soddisfatto se i valori su X di ciascuna tupla di R1 compaiono come valori nella
chiave di R2.
Algebra Relazionale
Ridenominazione :

Selezione e Proiezione :

Join

Join naturale
un operatore che correla dati in relazioni diverse, sulla base di valori uguali in attributi con lo
stesso nome.
Simbolo :
Il risultato del join costituito da una relazione sull'unione degli insiemi di attributi degli operandi e
le sue tuple sono ottenute combinando le tuple degli operandi con valori uguali sugli attributi
comuni.
Formula del Join naturale =
Se il join completo, contiene almeno un numero di tuple pari al massimo fra r1 e r2;
Se x1 intersezione x2 contiene una chiave per r2, il join di r1(x1) e r2(x2) contiene al pi r1
tuple;
Se x1 intersezione x2 coincide con una chiave per r2 e sussiste il vincolo di riferimento fra
x1 intersezione x2 in r1 e la chiave di r2, allora il join di r1(x1) e r2(x2) contiene
esattamente r1 tuple.
Join esterno :
prevede che tutte le tuple diano un contributo al risultato, ed eventualmente con valori Nulli
ove non vi siano controparti opportune.
Theta-Join ed EquiJoin
Theta-Join :
il prodotto cartesiano seguito da una selezione.

quando F (condizione) lavora su un'uguaglianza detto EquiJoin.


EquiJoin o Theta-Join utilizzato quando il join naturale non pu essere applicato in quanto
restituisce solo un prodotto cartesiano.

Interrogazioni in Algebra Relazionale


Un interrogazione una funzione, che applicata su una base di dati, restituisce una relazione.
Consideriamo le 2 relazioni:
Impiegati(Matricola, Nome, Et, Stipendio)
Supervisione( Capo, Impiegato )
Volendo fare un interrogazione che chiede :
"Trovare matricola, nome e et degli impiegati che guadagnano pi di 40mila euro"
andremmo a considerare solo la prima relazione in quanto la seconda non chiamata in causa.

Altri esempi di interrogazione:


1. "Trovare le matricole dei capi degli impiegati che guadagnano pi di 40 mila euro"

2. "Trovare nome e stipendio dei capi degli impiegati che guadagnano pi di 40mila euro"

3."Trovare gli impiegati che guadagnano pi dei rispettivi capi, mostrando matricola, nome e
stipendio di ciascuno di essi e del capo"

4."Trovare matricola e nome dei capi , i cui impiegati guadagnano tutti pi di 40 mila euro"

Vista
E' possibile che la relazione derivata sia funzione di un altra relazione derivata, a condizione che
esiste un ordinamento con relazione base e relazione derivata.
Possono esistere 2 tipi di relazione derivata :
1. Vista materializzata:
Relazioni derivate effettivamente memorizzate nella base di dati.
2. Relazione virtuale:
Relazione derivata per mezzo di funzioni non memorizzate nella base di dati.
Calcolo Relazionale
Calcolo relazionale su domini
Le espressioni del calcolo relazionale su domini hanno la forma
{A1:X1,.......,Ak:Xk|f}
dove:
A sono attributi distinti
X sono variabili
F una formula, secondo le seguenti regole:
- Vi sono formule atomiche, di 2 tipi :
R(A1:X1,..........,Ap:Xp}, dove R(A1,.....,Ap) uno schema di relazione e X sono le
variabili;
x*y o x*c, con x e y variabili, e costante c , * operatore di confronto;
- Se f1 e f2 sono formule,allora f1vf2 , f1^f2 e f1 Negato(f2) sono formule;
-Se f una formula e x una variabile, allora x(f) e x(f) sono formule.
La lista di coppie A1:X1,....Ak:Xk chiamaya Targhet List.

Esempio :
"Trovare matricola, nome, et e stipendio degli impiegati che guadagnano pi di 40mila euro"
In algebra relazionale:

Nel calcolo relazionale su domini:


{Matr:m,Nome:n,Et:e,Stip:s | Impiegati(Matr:m,Nome:n,Et:e,Stip:s)s>40}

Calcolo su tuple con dichiarazione di range


Le espressioni del calcolo su tuple con dichiarazione di range hanno la formula:
{t||f}
Dove:

t la target list
la range list, che indica le variabili libere della formula f con i relativi range;
f una formula con:
-Atomi del tipo x,A*c o (x1,A1*x2,A2) che confront il valore di x sull'attributo A
con la costante c e il valore di x1 su A1 con x2 su A2;
-Connettivi come nel calcolo del dominio;
-Quantificatori che associano i range alle relazioni variabili:
x(R)(f) e x(R)(f)

*Esiste nella relazione R una tupla x che soddisfa la formula


Un interrogazione come :
"Matr,Nome,Et e Stipendio (tutti gli attributi) degli impiegati che guadagnano pi di 40 mila "
{ i, * | i(impiegati) | i.stipendio > 40}

10

Capitolo 7
Metodologie modelli per il progetto
Il ciclo di vita di un sistema informativo comprende :
Studio di fattibilit
Serve a definire i costi e valutare i valori;
Raccolta e analisi dei requisiti
Consiste nella individuazione e nello studio delle propriet e delle funzionalit che il
sistema informativo dovr avere;
Progettazione
Si divide generalmente in progettazione dei dati e progettazione delle applicazioni;
Implementazione
Consiste nella realizzazione del sistema informativo secondo la struttura e le
caratteristiche definite nella fase di progettazione;
Validazione e collaudo
Serve a verificare funzionamento e qualit del sistema;
Funzionamento
In questa fase il sistema informativo diventa operativo.
Studio di fattibilit

Raccolta e analisi dei requisiti

Progettazione

Implementazione

Validazione e collaudo

Funzionamento

11

Metodologie di progettazione e basi di dati


La metodologia di progettazione consiste in:

una decomposizione dell'intera attivit di progetto in passi successivi indipendenti tra loro;
una serie di strategie da eseguire nei vari passi e alcuni criteri per la scelta in caso di
alternative;
alcuni modelli di riferimento per descrivere i dati di ingresso e uscita delle varie fasi;

Le propriet che una metodologia deve garantire sono:

La generalit rispetto alle applicazioni e ai sistemi in gioco;


La qualit del prodotto in termini di correttezza, completezza ed efficienza rispetto alle
risorse impiegate;
La facilit d'uso sia delle strategie che dei modelli di riferimento;

12