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

PROGETTAZIONE CONCETTUALE

Modello entità-relazione (ER)

Modello concettuale di dati utilizzato per i database, diviso in:

- Livello intensionale => schema concettuale, ne descrive la struttura (tabelle)

- Livello estensionale => istanze dello schema (tuple che compongono la tabella)

Entità

Una entità è una classe di oggetti con esistenza autonoma e proprietà comuni.

Semantica: Dato uno schema S in cui è definita un entità E, in ogni istanza I dello

schema S è associato un insieme di oggetti {e1, e2, e3, … } detto estensione di E nella

istanza I dello schema S (istanze(I,E))

Sintassi:

Attributo di entità

Un attributo di entità è una proprietà locale dell’entità, associa ad ogni sua istanza un

valore appartenente ad un insieme, detto dominio dell’attributo.

Semantica: data I istanza di uno schema S dove A è un attributo dell'entità E su un

istanze(I,A), istanze(I,E),

dominio D, è un insieme di coppie (x,y) tali che x è in y è in D, ed

istanze(I,A) istanze(I,E).

esiste una ed una sola coppia in per ogni x in

A : istanze(I, E ) → D

Ovvero

Sintassi:

ATTENZIONE attributo è una funzione totale, quindi ad ogni entità deve essere associato

1 ed un solo valore del dominio 6

OSS l’attributo può anche essere definito su un

dominio complesso e quindi diventare composto

Relazione

Rappresenta un legame tra due o più entità su cui è definita, il numero di entità coinvolte

nella relazione ne determina il grado.

Semantica: Dato uno schema S in cui è definita una relazione R sulle entità E e F, in ogni

istanza I di S, alla relazione R è associato un insieme di coppie {(x , y ), (x , y ), (x , y ), …}

1 1 2 2 3 3

istanze(I,R).

detto estensione di R nella istanza I dello schema S

istanze(I, R) ⊆ istanze(I, E ) x istanze(I, F )

Ovvero: istanze(I, R) ⊆ istanze(I, E ) x . . . x istanze(I, E )

Nella versione n-aria diventa: 1 n

ATTENZIONE quindi non possono esistere 2 istanze di R che coinvolgono le stesse

istanze di entità (tutte le coppie riferite alla stessa relazione sono diverse)

Sintassi:

Attributo di relazione

Un attributo di relazione è una proprietà locale della relazione, ovvero rappresenta un

attributo appartenente al legame tra le relazioni ma non alle relazioni stesse, questo

avviene associando ad ogni istanza di relazione un valore appartenente ad un insieme

detto dominio dell’attributo.

Semantica: data I istanza dello schema S dove A è un attributo della relazione R sul

istanze(I,A) istanze(I,R),

dominio D, è un insieme di coppie (x,y) tale che x è in y è in D, ed

istanze(I,A) istanze(I,R).

esiste una ed una sola coppia in per ogni x in

A : istanze(I, R) → D

Ovvero

Sintassi:

ATTENZIONE l’attributo non è parte intrinseca della natura della relazione e quindi non

può distinguerne le istanze (serve reificazione) 7

La reificazione

Consiste nel trasformare una relazione in una entità, così facendo è possibile trasformare

il semplice attributo di relazione in un elemento in grado di distinguere le istanze.

Così non si hanno più 2 coppie uguali ma una tripla comprendente l’attributo reificato.

Il ruolo

Serve nel caso di relazione che coinvolge più volte le stesse entità, permette di

specificare quale ruolo ha ogni istanza nella relazione.

Semantica: In ogni istanza I dello schema S, una relazione R tra le entità E , E , …, E

1 2 n

(non necessariamente tutte distinte) con rispettivi ruoli U , U , …, U (tutti distinti) è

1 2 n

istanze(I,R)

costituita da un insieme in cui ogni elemento è una n-pla etichettata

istanze(I,E

(U :x , U :x , …, U :x ) tale che ogni x appartiene a ), con i da 1 a n.

1 1 2 2 n n i i

Sintassi:

Relazione ISA

Relazione di sottoinsieme, cioè si ha un “entità figlia” nella quale ogni istanza è anche

istanza di “entità padre”, essa è quindi un sottoinsieme del padre ed eredita tutte le sue

proprietà: attributi, partecipazioni in relazioni e vincoli.

Entità figlia inoltre aggiunge a queste istanze nuovi elementi.

ATTENZIONE ogni entità può avere al massimo un entità padre (no ereditarietà multipla),

al contrario però ogni entità può avere più entità figlie, le quali possono avere anche

istanze in comune in comune. Inoltre vale proprietà di trasitività. ⊆

Semantica: istanze(I,E istanze(I,E

in ogni istanza I dello schema S con E ISA E : ) )

1 2 1 2

Sintassi: 8

Generalizzazioni

Altra relazione di sottoinsieme, questa volta però generalizza diverse sottoentità rispetto

un unico criterio, quindi le sottoentità hanno insieme di istanze disgiunti a coppie.

Similmente ad ISA esistono quindi un “entità padre” e più “entità figlia” sottoinsieme di

essa che eredita tutte le istanze con rispettivi: attributi, partecipazioni in relazioni e vincoli.

ATTENZIONE anche in questo caso ogni entità può avere al massimo un entità padre

(no ereditarietà multipla)

Possono essere di 2 tipi:

- Generalizzazione completa => l’unione dell’insieme delle sottoentità è uguale

all’insieme delle istanze dell'entità padre

- Generalizzazione non completa => esistono istanze che non appartengono a

nessuna delle sottoentità

Semantica: in uno schema S in cui è definita una generalizzazione tra un entità padre F e

istanze(I,E istanze(I,F)

le sottoentità E , E , …, E , in ogni istanza I di S si ha: ) e inoltre

1 2 n i

∩ ∅ 1 ≤ i, k ≥ n, i ≠ k

istanze(I,E istanze(I,E

) ) = , per ogni .

i k ∪ ∪

istanze(I,E istanze(I,E istanze(I,F)

Con generalizzazione completa vale anche: ) … ) =

1 n

Sintassi:

OSS quindi la differenza con le ISA sta nel fatto che nelle generalizzazioni non si possono

avere istanze in comune tra le sottoentità.

Extra

1. Uso corretto di generalizzazione al posto di ISA

2. Differenza tra entità basate su stesso criterio ed indipendenti 9

ISA e generalizzazioni tra relazioni

Gli stessi concetti si possono applicare anche sulle relazioni, nel caso ISA o

generalizzazione tra una relazione figlia R ed una relazione padre Qbisogna però tener

conto di alcune condizioni:

- Entrambe le relazioni hanno lo stesso grado

- Entrambe le relazioni hanno gli stessi ruoli

- Per ogni ruolo U, l'entità corrispondete ad U in R è un entità figlia dell’entità

corrispondente ad U in quel ruolo

Sintassi v1 (relazioni in ISA su stesse entità):

Sintassi v2 (relazioni in ISA su diverse entità):

ATTNZIONE la relazione in ISA può definirsi solo su entità che a loro volta sono in ISA con

entità in relazione con la sua relazione padre, inoltre è importante specificare che

entrambe hanno lo stesso ruolo di partecipazione

Sintassi v3 (generalizzazione di entità): 10

Vincoli di integrità modello ER

Regole che si esprimono nello schema e devono essere rispettate da ogni istanza

Vincoli di cardinalità sulle relazioni

Determina quante volte ogni istanza di un entità può partecipare ad una relazione in un

determinato ruolo, ovvero quante volte l'istanza dell'entità può comparire nella stessa

istanza della relazione.

Semantica: dato uno schema S in cui è definito un vincolo di cardinalità (x,y) associato

ad un ruolo U (corrispondente ad un entità E) in una relazione R, allora in ogni istanza di I

istanze(I,E),

nello schema S, per ogni e in il numero di istanze di R che in I hanno e come

x ≤ numero istanze ≤ y

componente nel ruolo U è:

Sintassi: Ogni impiegato può avere da 1 fino a 5 incarichi

Ogni incarico può essere assegnato fino a 50 volte

OSS mancanza del vincolo esplicito implica (0,n)

ATTENZIONE nel caso di ISA tra entità l'entità figlia eredita anche il vincolo, nel caso si

voglia modificarlo questo può essere solo più ristretto.

Vincoli di cardinalità sugli attributi

Di base gli attributi hanno cardinalità implicita (1,1), è possibile modificarla per avere:

- Opzionalità (valore può non essere presente, NULL)

- Attributi multivalore

Semantica: dato uno schema S su cui è definito un attributo A in n entità E , E , …, E ,

1 2 n

rispettivamente con domini D , D , …, D , e con cardinalità (x , y ), (x , y ), … (x , y ), in

1 2 n 1 1 2 2 1 n

ogni istanza I di S, A è una relazione del tipo:

⊆ ∪ ∪ ∪

istanze(I,A) istanze(I,E

(istanze(I,E ) … )) x D , (D … D )

1 n 1 2 n

∈ istanze(I,E istanze(I,A)

e tale che, per ogni i vale: se a ), allora il numero di coppie (a,b) in

i ∈ ∈

istanze(I,A),

è soggetto ad i vincoli di cardinalità (x , y ), e per ogni (a,b) si ha che b D

i i i

OSS nel caso in cui due entità dovessero avere lo stesso attributo questo farebbe parte

dello stesso dominio, quindi se non sono disgiunte deve corrispondere in entrambe

Sintassi: 11

Vincoli di identificazione di identità

Insieme di proprietà (attributi e/o relazioni) che permettono di identificare univocamente le

istanze di un entità, ovvero non esistono 2 istanze dell'entità che hanno lo stesso valore

per tutte le proprietà che compongono l’identificatore, possono essere di 2 tipi:

- Interno => formato solo da attributi dell'entità

- Esterno => formato da ruoli nelle relazioni ed eventuali attributi (id debole)

ATTENZIONE ogni attributo e ruolo deve avere cardinalità (1,1)

Semantica: dato uno schema S in cui è definito un vincolo di identificazione che

specifica un identificatore per l’entità E formato dagli attributi A , A , …, A e/o dalle

1 2 n

relazioni relazioni R (U ), R (U ), …, R (U ) (tutti con cardinalità (1,1)), allora in ogni istanza

1 1 2 2 n n istanze(I,E),

I di S, prese due istanze qualunque e ed e in esse differiscono almeno in un

1 2

valore A o almeno nella partecipazione con ruolo U in una R

i i i

OSS gli identificatori di una sola entità possono essere molteplici.

Sintassi v1 (vincoli interni):

Sintassi v2 (vincoli esterni):

Extra

Se un entità E ha un

identificatore (1,1) su una

relazione ed almeno un altra

entit&a

Dettagli
Publisher
A.A. 2017-2018
24 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher duke0000 di informazioni apprese con la frequenza delle lezioni di Basi di dati 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 Roma La Sapienza o del prof Lenzerini Maurizio.