vuoi
o PayPal
tutte le volte che vuoi
Proprietà della Relazione:
Una relazione è dunque un insieme finito nel quale non è definito un ordinamento tra le tuple, e in
cui ogni tupla è differente dall’ altra (ogni tupla ha però gli elementi ordinati in base al prodotto
cartesiano sul quale si basa la relazione, es. prod. cart. = A x A x B, rel = (t2, t16, t1, t3…), t1 = (a,a,b)
Notazione per nome
In questa notazione viene associato un nome (nome di attributo) ad ogni componente delle tuple
nella relazione, la coppia formata dal nome di attributo e il dominio a cui l’elemento della tupla
appartiene forma l’ ATTRIBUTO.
L’uso degli attributi permette di avere maggiori informazioni sulle proprietà dell’elemento della
tupla (conoscere il nome della colonna è meglio rispetto che il numero della colonna).
Se si prende una relazione nella quale vi sono un insieme di attributi, e si associa ad ogni attributo il
proprio dominio di provenienza (tramite una funzione), la coppia che si forma è uno SCHEMA DI
RELAZIONE (quindi lo schema di relazione è una coppia in cui il primo elemento è l’insieme di
attributi di una relazione e il secondo è la funzione che identifica, per ognuno di questi attributi il
dominio di provenienza).
Es. di schema di relazione può essere la tabella film(titolo, regista, anno, genere, valutazione), dove
titolo, regista, genere sono domini di tipo string, anno dominio di tipo int, e valutazione dominio di
tipo real. La relazione che genera lo schema è quindi string x string x int x string x real.
La notazione usata in questi schemi di relazione è la seguente, per un’ ipotetica tupla
t = [titolo: ‘avatar’, regista: ‘james cameron’, anno: 2009, genere: ‘fantascienza’, valutazione: 5.00]
con la notazione t[titolo] si ottiene ‘avatar’.
SCHEMA DI BASI DI DATI
Un insieme di schemi di relazioni (con nomi di relazioni distinti) forma uno SCHEMA DI BASI DI
DATI.
All’ interno di una base di dati, è possibile che per i campi delle tuple di una qualche tabella non sia
possibile attribuire un valore, proprio per questo si introduce il VALORE NULLO che denota la
mancanza di valore. (es. in una tabella di noleggi, non è possibile attribuire la data di restituzione
per i film che non sono ancora stati restituiti)
Vincoli di Integrità (VI)
Sono delle condizioni (specificate al momento della definizione dello schema) che devono
essere verificate da ogni istanza della base di dati (es. gli attributi ammessi).
Un’ istanza di una relazione si dice corretta (o legale) se rispetta tutti i vincoli di integrità
del database management system (DBMS).
Vincolo di Chiave
La CHIAVE di una relazione è un insieme di attributi (o un singolo attributo) che permette
di distinguere tra loro le tuple della relazione. Una chiave è tale se:
1. qualsiasi sia lo stato della relazione non esistono due o più tuple che abbiano lo stesso
valore per tutti gli attributi della chiave.
2. per nessun sottoinsieme della chiave (quindi per nessun sottoinsieme che si può creare
tra gli attributi della chiave) sia verificata la proprietà 1.
Se si prende un insieme di attributi che verifica la proprietà 1 ma non la 2, questo insieme è
detto SUPER-CHIAVE (al cui interno contiene un insieme di attributi che saranno la chiave)
Chiavi Candidate
Ogni relazione ha sicuramente almeno una chiave, le chiavi vengono scelte in base al
dominio applicativo e ai vincoli, è quindi possibile che una relazione possieda più di un
insieme di attributi che verificano le proprietà 1 e 2, in questo caso si parla di CHIAVI
CANDIDATE.
Tra le chiavi candidate si sceglie poi una chiave primaria e le rimanenti sono chiavi
alternative
Chiavi Primarie:
- è la chiave candidata col minor numero di attributi
- è la chiave candidata più frequentemente utilizzata nelle
interrogazioni
- non può assumere valori nulli (le chiavi alternative si)
Chiavi Esterne
Sono insiemi di attributi in una relazione usati per “indicare” una tupla in un’ altra
relazione (devono corrispondere alla chiave primaria della seconda relazione), quindi
modellano associazioni.
La relazione da cui proviene la chiave esterna è detta relazione referente, quella a cui
la chiave esterna corrisponde alla chiave primaria è detta relazione riferita.
Le chiavi esterne permettono di collegare tra loro tuple di relazioni diverse, questo
collegamento è detto INTEGRITA’ REFERENZIALE, ossia per qualsiasi stato in cui si
trovano le 2 relazioni, per ogni tupla della referente esiste una tupla uguale nella
riferita.
Violazioni di integrità referenziale
È possibile che con inserimenti o modifiche del valore della chiave esterna o
cancellazioni e modifiche del valore della chiave primaria comportino una violazione
dell’integrità referenziale.