• Non ci sono risultati.

tipo della chiave

N/A
N/A
Protected

Academic year: 2021

Condividi "tipo della chiave"

Copied!
29
0
0

Testo completo

(1)

LE LE

ASSOCIAZIONI ASSOCIAZIONI

(parte 1)

(parte 1)

(2)

tipo della chiave

La chiave di un’entità può essere composta

nome loc_id

provincia

località

stabilimento

nome località stab_id

società località hotel_id

albergo

nome

(3)

tipo della chiave

Chiavi alternative per una stessa entità

albergo

località hotel_id

nome

codice_h nome loc_id provincia

località

c_istat

(4)

proprietà di sintesi

• ATTENZIONE! valori medi , max e min ecc.

campionato

giocatore squadra

età età_media

giocatore squadra

età età_media

età_media

(5)

LE ASSOCIAZIONI

Gli schemi scheletro descrivono in

generale i collegamenti tra le entità e le associazioni

Le entità sono descritte attraverso la aggregazione di proprietà

Per le associazioni dobbiamo ancora definire la chiave e le cardinalità

Ricordo che: le istanze rappresentano fatti che non esistono di per sé ma

associano istanze di entità

(6)

associazioni

• per capire bene le associazioni bisogna eliminare ogni dubbio su quale è la

chiave delle istanze

• ricordo che la chiave (come anche la chiave nel db relazionale) deve

identificare in modo univoco la singola istanza di associazione

• e deve inoltre essere totale,

obbligatoria, unica, esplicita e non può

contenere valori null

(7)

la chiave delle associazioni

La chiave è sempre composta ed è

definita come composizione delle chiavi delle entità partecipanti, es.:

afferenza : (c_dip, cognome)

dipartimento docente

c_dip cognome

deis, tiberio diem, pareschi mat, barozzi deis, toth associazione binaria

(8)

esempio

uffici impiegati

appartenenza data c_uff matr

il tipo di appartenenza è: (c_uff, matr, data) dove c_uff, matr è la chiave

e data è una proprietà generica es.:

(012, ragioneria... ) è una istanza di uffici

(3452, bianchi, paolo ... ) è una istanza di impiegati (012, 3452, 2/9/1994) è una istanza di appartenenza

(9)

la chiave delle associazioni

risiede : (matr, loc_id) nato : (matr, loc_id) es.:

impiegato

matr loc_id

località nato

risiede

più associazioni con diversa semantica

con lo stesso tipo di chiave per le stesse entità

(10)

la chiave delle associazioni

Es.:

autista

(tripla)

assegnazione :

(matr, codice, targa)

matr codice

percorso

TIR assegnazione

targa

associazione ternaria

(11)

la chiave delle associazioni

studente esame corso

voto data cod_corso matr

Attenzione !

con più registrazioni di voto:

studente esame corso

data

voto cod_corso matr

data voto

data

(1,n)

(12)

la chiave

il fatto che la chiave della

associazione sia la composizione degli identificatori delle entità

partecipanti introduce un

• vincolo di integrità: ogni valore componente di una chiave di una

istanza di associazione deve essere

presente come valore chiave di una

istanza dell’entità associata

(13)

esempio

uffici impiegati

appartenenza data c_uff matr

l’eliminazione di un ufficio comporta l’eliminazione delle istanze di appartenenza associate

es.: eliminando (012, ragioneria...) viene eliminata (012, 3452, 2/9/1994) e l’appartenenza di

(3452, bianchi, paolo ... ) deve essere riassegnata

(14)

cardinalità delle associazioni

per cardinalità si intende il numero di volte che una data istanza di

entità deve o può partecipare alla associazione

• (1,1) : obbligatoria, una sola volta

• (1,n) : obbligatoria, almeno una volta

• (0,1) : opzionale, una sola volta

• (0,n) : opzionale, n volte

(15)

associazioni N:M

ingegneri progetti

sviluppo

prj matr

(0,n) (1,m)

• con vincolo: un ingegnere deve partecipare ad almeno un progetto (1,m)

• senza vincolo: ad un progetto possono

partecipare ingegneri, ma può esistere anche un progetto senza ingegneri (0,n)

(detta anche associazione molti a molti)

(16)

associazioni 1:1

direttore reparto

direzione

n_rep matr

(1,1) (1,1)

• con doppio vincolo: un reparto deve avere un direttore ed il direttore è uno solo (1,1)

un direttore deve dirigere uno ed un solo reparto (1,1)

• il vincolo diventerebbe (0,1) se avessimo l’entità “impiegato” al posto dell’entità “direttore”

(17)

associazioni N:1

oggetto ripiano

posizione

n_rip cod_o

(0,n) (0,1)

• con vincolo: un oggetto può stare su un ripiano, se sta sul ripiano è intero (0,1)

• senza vincolo: su un ripiano possono stare n oggetti, vincolando la partecipazione n = 5, non più di 5 (0,5)

(è detta anche associazione molti a uno)

(18)

esempio

magazzino scaffale

ripiano operaio

contiene

fatto_di lavora

(1,1) (1,m) (1,1)

(1,n)

(0,1) (1,n)

(19)

esempio

dipartimenti docenti

corsi c. di studio

afferenza

insegnamento appartenenza (0,1)

(1,1) (n,m)

(1,n) (n,m)

(0,n)

(20)

esempio

docenti

corsi studenti

titolarità

seguono tesi

(0,1)

(n,m) (0,n)

(0,n)

(0,n)

(0,1)

(21)

esempio

fattura articolo

impiegato

cliente

gestisce

riceve

contiene

ufficio

appartiene (1,n)

(0,n)

(1,1)

(0,n) (1,1)

(0,n)

(1,1)

(1,n)

(22)

esempio

prodotti fornitori

fornire

prezzo (0,n) (0,n)

cod_f cod_p

Attenzione :”fornire” non contiene le “forniture”!!

un fornitore potrebbe fornire più volte lo stesso prodotto a seguito di ordini diversi e si avrebbe una violazione dell’unicità delle chiave

(23)

esempio

fornitori cod_f prodotti

cod_p

prezzo (0,n)

(0,n)

fornitura

numero data

(1,1) (1,n)

rif_p rif_f

(24)

esempio

Attenzione al TEMPO:

questa è la “snapshot”

di un giorno percorsi

adibiti_a

(1,n) cod_p

guidatori autobus

guidare

turno

(0,1) (0,n)

(0,1)

n_aut matr

(25)

esempio

su più giorni guidatori

fare

(0,n) matr

(1,1)

autobus n_aut

(0,n) usare turni

(1,1) numero

id_tu data fascia

(26)

esempio

su un giorno

guidatori

(0,1) matr

(0,n)

TIR n_tir (0,1)

percorsi

sigla associazione

TERNARIA la chiave è una tripla

(matr,n_tir,sigla)

guida

(Soluzione 1)

(27)

esempio

su più giorni

matr

percorsi guidatori

(0,n)

(0,n)

TIR n_tir (0,n)

data data

sigla (0,n)

questa rappresentazione ha dei difetti guida

(Soluzione 2)

(28)

esempio

potremmo anche assegnare (1,n) al posto di (1,1) possiamo anche gestire intervalli di date

matr

percorsi guidatori

(0,n)

n_viaggio TIR (1,1)

data

sigla

(0,n) viaggi

num

d_arrivo (1,1)

(1,1)

(0,n)

gv

vp vt

(Soluzione 3)

(29)

esempio

• Le soluzioni due e tre non consentono di definire sullo schema l’unicità della coppia (matr,n_tir) in ogni snapshot giornaliera, in questo caso si può:

• aggiungere un foglio di specifica con la soluzione uno

• prevedere un archivio di deposito (“bag” e non una relazione!) per scaricare il passato

• usare gli “identificatori esterni” come vedremo in seguito.

Riferimenti

Documenti correlati

La presente Determinazione, tenuto conto delle fonti relative alla disciplina della privacy ovvero della tipologia degli atti allegati è assoggettata a:.

considerato che la ditta Gesta, assegnataria dei lavori e delle forniture, è socia del Consorzio Integra, subentrato in data 04/04/2016 al Consorzio Cooperativo Costruzioni CCC

Negli urti, nelle spinte e nelle interazioni meccaniche in genere, l’energia cinetica Negli urti, nelle spinte e nelle interazioni meccaniche in genere, l’energia cinetica. passa da

Argomenti svolti: rappresentazioni formali di matrici; definizione di ad- dizione fra matrici, di moltiplicazione di una matrice per un numero reale, con descrizione delle

Determinare inoltre l’equazione della retta tangente nel punto di ascissa x = 3.. Campo

Il Piano doveva fornire specifici obiettivi colturali per ognuna delle 566 UFor della superficie forestale produttiva, circostanziati in chiare indicazioni

• I proxy server multipli proxy server multipli, situati in locazioni diverse su Internet, possono cooperare e mi-gliorare le performance generali e possono trarre

CARTELLONE MURALE SULLA COMPRENSIONE DELLE PAROLE CHIAVE NELLA RISOLUZIONE.