Anteprima
Vedrai una selezione di 7 pagine su 27
Informatica II Pag. 1 Informatica II Pag. 2
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Informatica II Pag. 6
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Informatica II Pag. 11
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Informatica II Pag. 16
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Informatica II Pag. 21
Anteprima di 7 pagg. su 27.
Scarica il documento per vederlo tutto.
Informatica II Pag. 26
1 su 27
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ATTRIBUTI COMPOSTI

In questo esempio abbiamo l’esempio dell’entità E che ha come attributo composto B che ha quattro

attributi. Come lo trasformo ?Prendo gli attributi che avevo nell’attributo composto e li metto direttamente

nell’entità

Li trasformo in una relazione , quello che era tributo diventa un’entità

ATTRIBUTO MULTIVALORE

Sono quelli che hanno una cardinalità, con una cardinalità N , o comunque un numero maggiore di 1. Un

esempio tipico è il numero di telefono, una persona può avere tanti numeri. Di solito gli attributi hanno

cardinalità (1,1) ma è sottointeso e per cui non la si scrive .

In questo caso ho un attributo B che è multi valore ( X,N). lo trasformo con una relazione : una relazione in

cui quello che era il mio attributo diventa un’entità, sul ramo vero la nuova entità metto (1,1) come

cardinalità., dall’altra parte metto la cardinalità che era sul mio multivalore.

ESEMPIO :

allora costruiamo una relazione con le entità persona e telefono (che era l’attributo multivalore). Sul primo

lato la cardinalità è SEMPRE 1,1 , mentre dall’altro lato la cardinalità è quella che aveva l’attributo

multivalore .

GERARCHIE

c'è un’entità padre e una o più entità figlie, per eliminare le gerarchie ci sono tre possibilità :

- Eliminare il padre e tenere solo le figlie

- Eliminare le figlie e inserirle nel padre

- Togliere la gerarchia e sostituirla con delle associazioni 1 a 1 + identificazione esterna

Dobbiamo stare attenti perché quando eliminiamo il padre o le figlie dobbiamo gestire anche le

relazioni che il padre o le figlie hanno.

Partiamo da questo schema di partenza :

1. Eliminazione del padre

Tutte le associazioni e gli attributi devono essere aggiunte ai figli , questo metodo lo possiamo usare solo se

la generalizzazione è totale( la generalizzazione è totale solo se l’unione delle figlie da il padre).

Lo schema di arrivo è questo :

i due attributi dell’entità padre sono stati riportati pari pari nelle entità figlie ( A01-A02). Quello che era

identificatore nel padre ora è identificatore nei figli( A01). Poi i figli mantengono i propri attributi.

La nostra entità padre però ha anche una relazione R1 che non devo perdere per cui la faccio ereditare alle

figlie R1-R2 , mentre le relazioni che avevano le figlie rimangono le medesime .

2. Quando eliminiamo i figli

In questo caso bisogna aggiungere al padre un attributo in più che indichi il “tipo” dell'individuo ( cioè se

quello appartiene a un figlio piuttosto che a un altro) questo è utile usando le entità figlie hanno pochi

attributi .

Lo schema di arrivo è questo :

Tutti gli attributi dell’entità figlie , sono stati inseriti all’interno dei padri. La particolarità è la cardinalità che

diventa SEMPRE (0,1).

Ogni volta che gli attributi derivano dalle classi figlie bisogna mettere cardinalità 0,1. Poi vediamo che è

comparso un nuovo attributo ‘’tipo’’ che assume i valori della figlie , ad esempio se il padre era ‘’veicolo’’ e

le figlie automobile e bicicletta, allora tipo è automobile piuttosto che una bicicletta .

La relazione che aveva il padre rimane la medesima, non si cambia, diversa è la questione delle relazioni

che avevano le figlie , in questo caso R2 era una relazione della figlia E2 e non E1, ecco perché devo mettere

come cardinalità minima 0 ( sul ramo del padre ), perché, facciamo un esempio, le occorrenze di veicolo che

erano automobili non sono in relazione con E4, solo le bicilette erano in relazione con E4 quindi possono

esistere dei veicoli che non sono in relazione con E4; invece la cardinalità massima rimane Y, uguale.

3. Eliminazione delle gerarchie

L’ultimo metodo è la sostituzione della generalizzazione con delle associazioni.

Lo schema finale è questo :

La generalizzazione si trasforma in associazione 1 a 1 ( una per ogni tipo). Gli attributi non vengono

trasferiti ma rimangono dove sono. C’è una piccola trasformazione, cioè come si possono identificare le

entità figlie : vediamo che E1 ed E0 rimangono, poi creo una associazione Rg1 che ha verso il padre

cardinalità (0,1) e dalla parte della figlia (1,1) questo perché ogni entità che deriva dalla figlia deve aver

associato un entità che deriva dal padre , quindi ho SEMPRE cardinalità 1,1 sul ramo verso le figlie. Invece

ho cardinalità 0,1 sul padre perché , pensando sempre all’esempio veicolo automobile bicicletta, se veicolo

è una bicicletta io non ho nessuna automobile associata .

In questo caso non c’è un problema con le relazioni, in quanto non togliamo né padre né figlie e quindi

ognuno si tiene le proprie relazioni .

La cosa strana è come viene identificata l’entità figlia, cioè con questo segnetto qua questo vuol

dire che l’entità E1 ha come identificatore questa associazione , cioè eredita l’identificatore dall’altra entità

a cui è associata ( si può fare solo se c’è cardinalità 1,1)

ESEMPIO : abbiamo la persona che ha una

generalizzazione totale esclusiva con l’entità figlia uomo donna. L uomo ha una relazione ‘’tifa per ‘’

squadra mentre l entità donna ha una relazione ‘’ guarda’’ abito da sposa. Mentre il padre ha una relazione

‘’svolge’’ con lavoro

SOLUZIONE ELIMINAZIONE PADRE: questa soluzione la posso fare perché è

una generalizzazione TOTALE. Qui abbiamo preso i tre attributi dalla persona e li abbiamo ripetuti

nellefigllie e quello che era identificatore nel padre rimane identificatore nelle figlie. La relazione svolge

lavoro la duplichiamo per le figlie , la prima si chiama ‘’svolge U’’ e la seconda ‘’svolge D’’, bisogna cambiare

il nome ma basta solo una lettera in questo caso U( uomo) e D(donna)

Vediamo un altro esempio :

SOLUZIONE CON ELIMINAZIONE DELLE FIGLIE : per togliere le figlie devo mettere il

‘’tipo’’ , che in questo caso è il sesso , così specifico il dominio cioè quale valore può assumere

quell’attributo (maschi o femmina ),nel padre e tutti gli attributi delle entità delle figlie con cardinalità (0,1)

, perché cognome da nubile ha un valore solo per quelle persone che sono donne, per gli uomini non ha

senso.

ESERCIZIO DISPOSITIVO MOBILE

Eliminazione padre: Mettendo cardinalità (0,N) perdo delle informazioni che avevo nello schema iniziale , lo

schema iniziale mi diceva che ogni produttore doveva produrre almeno un dispositivo mobile , abbiamo

detto che la cardinalità 1 non possiamo tenerla perché se lo tenessimo è come se dicessimo che ogni

produttore produce almeno uno smartphone e almeno un tablet, ma non è l’informazione iniziale ,ma

dobbiamo mettere per forza cardinalità (0,1) , però in qualche modo devo dire che ogni produttore deve

produrre almeno uno dei due e per farlo devo utilizzare quelle che si chiamano REGOLE AZIENDALI.

1. Per ogni x in PRODUTTORE:

esiste y in SMARTPHONE tale che (x,y) appartiene e a AUTORE_S oppure esiste z in TABLET tale che (z,x)

appartiene ad AUTORE_T. questo significa che dato il produttore che io chiamo X, questo X è in

relazione o con un tablet che chiamo Z o con uno smartphone che chiamo Y, cioè dato il produttore non

può esistere che non ci sia né un tablet né uno smartphone con cui questo produttore è in relazione.

Questo rispristina l’informazione che avevo all’inizio rappresentato con la cardinalità 1 che affermava che il

produttore doveva produrre almeno un tablet o almeno uno smartphone.

Eliminazione figlie: abbiamo messe un nuovo attributo che può assumere valori solo in smartphone o

tablet.

Quello che cambia è sempre la cardinalità minima, e quindi anche in questo caso dobbiamo inserire le

regole aziendali.

La prima regola aziendale riguarda proprio i valori che TIPO può assumere

1. TIPO può assumere solo valori in {tablet, smartphone}

- Per ogni x in DISPOSITIVO MOBILE, se x.TIPO=smartphone, allora x.DUAL SIM≠NULL e x.SERVIZIO

VOCE = NULL Avro valore in servizio voce ma non in dual sim in quanto era attributo di

smartphone

- Per ogni x in DISPOSITIVO MOBILE ,se x.TIPO= tablet, allora x.DUAL SIM = NULL e x.SERVIZIO VOCE≠

NULL

2. Per ogni x in DISPOSITIVO MOBILE , se x.TIPO=tablet, allora esiste y in DISCO tale che (x,y)

appartiene a UTILIZZA

3. Per ogni (x,y) in UTILIZZA ,x.TIPO=tablet

La seconda e terza regola aziendale le vediamo nella lezione successiva 25/10/2017

Per mettere “utilizza” a dispositivo mobile ho dovuto cambiare anche la cardinalità dalla parte di

dispositivo. Però mettere 0 come cardinalità minima è molto imprecisa , quindi devo mantenere

l’informazione secondo cui SOLO E TUTTI i tablet ha una relazione utilizza , questo lo faccio usando due

diverse relazioni aziendali( cioè le uso per quelle informazioni che ho perso inserendo la cardinalità 0 , per

riprendere queste informazioni devo usare delle regole aziendali):

- La prima relazione afferma che se prendo un tablet esiste un disco con cui è in relazione, quindi

tutti i tablet utilizzano un disco

- La seconda relazione devo dire che sono SOLO i tablet a usare il disco

La seconda e la terza ci sono solo quando le figlie hanno degli attributi che sono del padre

Le ultime due delle regole aziendali sono necessarie perché c'è una relazione che coinvolge una delle entità

figlie, questa relazione sul ramo figlia è (1,1), se la cardinalità minima e 0 in origine allora dobbiamo metter

solo l’ultima regola aziendale, se invece c'è 1 allora si seguono le ultime due regole . 02/11/2017

ESEMPIO: questa è la nostra identità che ha identificatore ID e poi ha 4 attributi, la traduco con una tabella

che ha lo stesso nome dell’entità, l’identificatore diventa la chiave ID e poi ho un attributo per ogni

attributo che avevo nell’entità.

Stesso esempio con studente , che come identificatore ha matricola e 3 attributi ,con la traduzione avrò la

tabella studente con matricola sottolineata perché identificatore e i miei 3 attributi

Più complicato si ha con l’entità debole, è quella che viene identificata attraverso una delle relazioni , che

ha con un’altra entità, l’importante è che sul

Dettagli
Publisher
A.A. 2019-2020
27 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher sara.gaiazzi di informazioni apprese con la frequenza delle lezioni di Informatica II e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Lombardi Ilaria.