venerdì, settembre 19, 2008

Basi di dati: Modello Entity - Relationship

Tre principi fondamentali: Entity, Relationship, Attributo

Entity

Tipo entità: rappresenta una classe.
Ha un nome e si rappresenta con un rettangolo


 

Relationship (associazione)

Relazione tra due tipi di identità
Si rappresenta come un rombo con nome e due linee


Ha un grado che equivale al numero di entità coinvolte (binarie di solito)

Due entità possono essere connesse da svariate associazioni

Associazioni binarie possono essere "ricorsive" ("ad anello"): legano un'entità a se stessa, in tal caso specifico i ruoli (etichette sulle braccia dell'associazione):

Attenzione si tratta comunque di una relazione BINARIA (impiegato nell'esempio ha valenza doppia)

Attributo

E' una caratteristica di un entity... Ha dei valori

Si indica con in pallino collegato:


E' univoco per entità o relazione.


 

Altri 5 principi "secondari":

Cardinalità

Ovvero la coppia di numeri che legano un'entità ad relazione (cardinalità minima mc e massima MC):


Ovviamente da ogni lato della relazione è specificata una coppia di mc/MC (vedi più avanti)
Per indicare che non c'é limite metto n
Se le cardinalità massime sono 1 e 1 si chiama associazione "uno a uno". Se uno a più di uno allora sarà "uno a molti", se più di uno a più di uno: "molti a molti"

Cardinalità degli attributi:

Se la cardinalità é omessa si intende (1, 1)
Attenzione il modello relazionale non consente più di un valore (a meno di splittare in tabelle diverse)
Nel modello relazionale la cardinalità degli attributi può essere solo (0,1) o (1,1) perché deve osservare la prima forma normale

Identificatori

Sono l'equivalente del concetto di chiave primaria.
Permette di identificare l'entità E.
Negli schemi vengono rappresentati come un attributo con un pallino "pieno" (a differenza degli attributi normali che hanno un pallino "vuoto"

Gli identificatori possono essere semplici (composti da un solo attributo) o composti


Identificatori interni hanno solo attributi interni, esterni hanno anche degli attributi esterni (nel modello relazionale hanno delle foreign key nella propria chiave primaria). Da notare che se l'entità E1 ha l'entità E2 come parte del proprio identificatore devono essere unite da una relazione e dalla parte di E1 la cardinalità di tale relazione deve essere (1,1)

Se l'identificatore é esterno le entità sono dette deboli (espresse con pallino bianco e riferimento in identificatore:

Attributi composti

Attributi complessi costruiti da più "sottoattributi" vengono rappresentati all'interno di un piccolo ovale collegato all'entità (vedi schema dell'attributo qui sopra)

Gerarchia (=ereditarietà)

Rappresentano i legami tra tipi di entità diversi per indicare legami di sottoclasse/superclasse
Si esprimono con una freccia dalla sottoclasse alla superclasse:

Ovviamente esiste il concetto di ereditarietà anche in questi schemi ER, le proprietà ereditate sono: attributi identificatori associazioni

Le gerarchie possono essere trovate in due modi:
Generalizzazione: generalizzazione di un certo numero di sottoclassi in una superclasse comune (partendo dalle sottoclassi cane, gatto, ecc. generalizzo la superclasse animale)
Specializzazione: specializza la superclasse in sottoclasse (partendo dalla superclasse pane specializzo in "pane all'olio", "pane alle olive", ecc.)

Le gerarchie sono sottoposte a vincoli di totalità e disgiunzione.
Una gerarchia é parziale (P) se é possibile avere istanze del supertipo (che non non siano del sottotipo) = istanziabile, altrimenti é totale (T)
Disgiunzione: se un'istanza può essere può appartenere ad più di una sottoclasse é sovrapposta (O = overlapped) altrimenti é disgiunta (E)

Di default é totale esclusiva (TE)

Descrizione

Possono essere specificati dei vincoli o degli altri commenti
Per maggior chiarezza:
http://blacklight.gotdns.org/wiki/index.php/Introduzione_ai_database_e_modellazione_E/R

Contenuti gestiti da Michele Bernardi. Non mi assumo alcuna responsabilità sulla correttezza di questi dati, usateli a vostro rischio e pericolo.

Nessun commento: