vuoi
o PayPal
tutte le volte che vuoi
F- F-
w w
PD PD
er er
! !
W W
O O
N N
y y
bu bu
to to
k k
lic lic
C C
w w
m m
w w
w w
o o
.c .c
.d .d
k k
o o
c c
c c
a a
-tr -tr
u u
BASI DI DATI
Sistema organizzativo: complesso delle strutture, delle regole e delle procedure che regolano lo
svolgimento delle attività.
Sistema informativo: parte del sistema organizzativo che presiede ai processi di raccoltà, conservazione e
utilizzo delle informazioni.
Sistema informatico: porzione informatizzata del sistema informativo.
Informazione: notizia, dato o elemento che consente di avere conoscenza piu o meno esatta di fatti e
situazioni.
Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione. I dati devono essere
interpetrati per diventare informazioni.
Servizi forniti dal DBMS: condivisione, affidabilità e sicurezza.
- Condivisione: riduzione di inconsistenze e gestione della concorrenza;
- Affidabilità: recupero dei dati in caso di guasti;
- Sicurezza: meccanismi di protezione dell’accesso e meccanismi di autorizzazione;
Caratteristiche del DBMS: efficienza ed efficacia.
- Efficienza: utilizzo di risorse di calcolo e relativa alla complessità dei servizi;
- Efficacia: centralizzazione dei servizi, miglioramento della produttività e semplicità della scrittura di
applicazioni.
Come fanno le applicazioni e gli utenti a comunicare con il DBMS:
- devono conoscere l’organizzazione dei dati e devono sapere come comunicare con il DBMS.
- Devono conoscere il modello dei dati del DBMS e il linguaggio del DBMS.
Insieme di strutture e di regole per la rappresentazione di informazioni:
- Modello logico dei dati: astrazione per il programmatore; Descrizione dei dati visibili alle
applicazioni
- Modello fisico dei dati: al livello della macchina. Strutture per la gestione della persistenza su disco.
Tipologie di DBMS: si differenziano rispetto al modello che utilizzano per la descrizione delle basi di dati
- DBMS relazionali: i dati sono organizzati in tabelle, e le tabelle sono un insieme di record(ennuple)
con un insieme di attributi di tipi opportuni. I dati in tabelle diverse sono correlati sulla base dei
valori.
- DBMS orientati agli oggetti: i dati sono organizzati in classi e ogni classe genera un insieme di
oggetti con un insieme di proprietà e metodi. Oggetti diversi sono correlati sulla base di
identificatori. Limitate funzionalità per la definizione di tipi (classi), per la definizione di oggetti
(identificatori) e per la creazione di gerarchie.
- DBMS basati su XML: i dati sono organizzati in strutture gerarchiche (alberi), e ogni albero ha un
insieme di nodi. Oggetti diversi sono correlati sulla base di relazioni di contenimento.
Che cosa del modello deve conoscere lo sviluppatore dell’applicazione:
n n
g g
a a
e e
h h
Vi Vi
XC XC
e e
F- F-
w w
PD PD
er er
! !
W W
O O
N N
y y
bu bu
to to
k k
lic lic
C C
w w
m m
w w
w w
o o
.c .c
.d .d
k k
o o
c c
c c
a a
-tr -tr
u u
- Modello logico e la struttura dei dati e non necessariamente i dati veri e propri. In altri termini lo
schema e non necessariamente l’istanza.
- Schema: descrizione della struttura, stabile nel tempo
- Istanza: i valori, ovvero i dati. Variabile nel tempo.
Schema logico: descrizione delle strutture secondo cui i dati sono organizzati nel modello logico;
Schema fisico: descrizione delle strutture secondo cui i dati sono memorizzati su disco;
schema esterno: relativo alla gestione della sicurezza. Non tutti gli utenti hanno gli stessi privilegi. Per un
utente lo schema esterno è la porzione della base di dati che l’utente è autorizzato a vedere.
Viste: strumento attraverso cui si definisce lo schema esterno.
Caratteristica fondamentale dei DBMS: concetto di indipendenza dei dati
- Indipendenza dei dati rispetto alle applicazioni;
- Indipendenza dello schema logico rispetto allo schema fisico;
- Indipendenza degli schemi esterni rispetto allo schema logico;
Vantaggi:
- Centralizzazione dei servizi;
- Semplificazione delle applicazioni;
- Flessibilità nella manutenzione;
svantaggi:
- Complessità dell’architettura;
- Costi;
- Minore modularità.
n n
g g
a a
e e
h h
Vi Vi
XC XC
e e
F- F-
w w
PD PD
er er
! !
W W
O O
N N
y y
bu bu
to to
k k
lic lic
C C
w w
m m
w w
w w
o o
.c .c
.d .d
k k
o o
c c
c c
a a
-tr -tr
u u
MODELLO LOGICO PARTE A
Base di dati: insieme di tabelle;
Tabella: collezione di ennuple;
ennupla: insieme di coppie (attributo,valore).
Modello su valori: rappresenta solo ciò che è rilevante dal punto di vista dell’utente. La rappresentazione
logica non fa riferimento a quella fisica (indipendenza dei dati).E’ facile trasferire i dati da un contesto ad un
altro.
Modello su puntatori: I puntatori sono legati ad aspetti realizzativi e quindi il programmatore fa
riferimento a dati non significativi per l’applicazione. Non è facile trasferire i dati da un contesto all’altro
perché i puntatori hanno un significato locale al singolo sistema.
Valore nullo: serve ad indicare la mancanza di informazione. Il null non va applicato su valori che vengono
utilizzati per stabilire correlazioni fra n-uple di relazioni diverse.
Vincoli di chiave: la chiave è un identificatore per le ennuple. Una chiave è un insieme di attributi utilizzati
per identificare univocamente le n-uple di una relazione. Matricola è superchiave minimale in quanto
contiene un solo attributo, ed è chiave. L’insieme (Cognome,Nome, Nascita) è superchiave, ed è chiave.
- Ciascuna relazione e ciascuno schema di relazione deve avere sempre una chiave e questo
garantisce l’accessibilità a tutti i valori della base di dati e la loro univoca identificabilità e permette
di stabilire efficientemente le corrispondenze tra dati contenuti in relazioni diverse.
- Sulla chiave primaria si nega l’esistenza del valore nullo.
- Unique: impone che i valori dell’attributo siano una chiave, cioè righe differenti non possono avere
gli stessi valori.
Vincoli di ennupla: predicati sui valori delle ennuple (esempio voto>18 and voto <30). Esprimono condizioni
sui valori di ciascuna n-upla, indipendentemente dalle altre n-uple. Si usa CHECK
Vincoli di riferimento: assenza di riferimenti inesistenti. Un vincolo di integrità referenziale (Foreign key)
fra un insieme di attributi X di una relazione R1 e una relazione R2 soddisfatto se i valori su X di ciascuna n-
upla dell’istanza R1 compaiono come valori della chiave dell’istanza di R2.
I valori devono essere:
- Valori atomici: numeri, caratteri, stringhe
- Non sono consentite nidificazioni
- Differenza con altri modelli.
n n
g g
a a
e e
h h
Vi Vi
XC XC
e e
F- F-
w w
PD PD
er er
! !
W W
O O
N N
y y
bu bu
to to
k k
lic lic
C C
w w
m m
w w
w w
o o
.c .c
.d .d
k k
o o
c c
c c
a a
-tr -tr
u u
- MODELLO LOGICO B
Schema di Base di Dati: Insieme di schemi di tabella con nomi diversi;
Schema di Tabella: nome della tabella, collezione di attributi, uno o più, con nomi diversi e per ciascuno un
dominio; Insieme di vincoli di integrità.
Dominio: tipo atomico (numeri,stringhe, date). 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.
L’ordinamento fra gli attributi è irrilevante: La struttura è non posizionale.
Attributo A della tabella R: studenti.Matricola
Notazione posizionale: attributi ordinati <matricola,cognome,nome>
Cardinalità di una tabella R: |R| = numero di ennuple di R.
Nei sistemi relazionali in alcuni l’inserimento di duplicati non è consentito e in altri (MySQl e PgSQL) è
consentito.
Vincolo di integrità: regola sui dati, discendo dalle regole della realtà rappresentata nella base di dati
- Vincolo di chiave: unicità del valore di un attributo o di un insieme di attributi in una tabella(non
esistono due corsi con lo stesso nome).
- Vincolo di ennupla: condizione sui valori delle ennuple di una tabella;
- Vincolo di Riferimento: correttezza dei riferimenti ad altre tabelle(la matricola dello studente che
ha sostenuto l’esame deve essere corretta).
- Nomi dei vincoli: tutti i vincoli di integrità hanno un nome. Normalmente il DBMS assegna ai vincoli
un nome di sistema ed è possibile specificare esplicitamente il nome… CONSTRAINT <nome>
<definizione>.
- Vincolo di colonna: riguardano i valori di un solo attributo e si possono specificare in
corrispondenza della definizione dell’attributo;
- Vincolo di tabella: riguardano i valori di più di un attributo;
Chiave Primaria: Una delle chiavi, scelta come identificatore primario (PRIMARY KEY). Deve essere
compatta e si richiede che la chiave primaria non contenga valori nulli.
- Vincolo di chiave: attributi che consentono di identificare univocamente le ennuple di una tabella.
Se c’è un chiave non possono esserci ennuple duplicate nella tabella.
- Una tabella può avere più chiavi, una chiave può essere fatta di uno o più attributi
Vincoli di riferimento: riferimenti ad ennuple di altre tabelle.
- E’ possibile fare riferimento solo ad attributi che rappresentano una chiave.
- Chiavi esterne (“FOREIGN KEY”);
- Gli attributi corrispondenti devono avere lo stesso tipo.
Aggiornamenti e vincoli: inserimenti, cancellazioni(rifiutare la cancellazione o effettuare eliminazioni in
cascata) e modifiche(rifiutare la modifica o effettuare le modifiche in cascata).
n n
g g
a a
e e
h h
Vi Vi
XC XC
e e
F- F-
w w
PD PD
er er
! !
W W
O O
N N
y y
bu bu
to to
k k
lic lic
C C
w w
m m
w w
w w
o o
.c .c
.d .d
k k
o o
c c
c c
a a
-tr -tr
u u
Che succede rispetto ai vincoli: Il vincolo può essere violato operando sia sulla tabella interna che su quella
esterna. Si possono introdurre violazioni modificando la tabella interna solo in due modi:
- Ins