vuoi
o PayPal
tutte le volte che vuoi
Gerarchie
Permettono di segmentare le entità.
Ci sono due dimensioni:
- Parziale o totale: totale quando prendo un insieme e lo divido esattamente a metà (la somma dei sottoinsiemi dà l'insieme stesso), mentre parziale quando la somma dei sottoinsiemi non dà l'insieme.
- Sovrapposta o esclusiva: sovrapposta quando un elemento di un sottoinsieme può essere anche nell'altro sottoinsieme, mentre esclusiva quando non c'è intersezione tra i due insiemi (l'uso se ho solo più di un sottoinsieme).
Attributi
Attributi associazioni: istanza (graffa tonda attributi tonda virgola tonda ... graffa).
Se ho gerarchie e attributi:
- Se trovo gli attributi nella sovra-entità, li trovo anche nella sotto-entità.
- Le cardinalità si possono trovare anche sugli attributi.
- Valore di default: quando non ho cardinalità scritta, essa è (0,1).
Se nella specifica del problema trovo dei nomi, essi possono essere sia.
entità sia associazioni:➔ di solito le entità sono strutturate mentre gli attributi noattributi semplici➔ non può mai esserci un entità senza identificatore (ha cardinalità di default 1,1)➔ identificatore composto: solo un identificatore non è abbastanza per identificare al massimo➔ una determinata entitàidentificatore multiplo: ha più identificatori (+ pallini neri), entrambi gli identificatori, a seconda➔ dei punti di vista, possono identificare la stessa entità:- posso scegliere di inserire solo uno dei due identificatori (nelle graffe)identificatore esterno: permette di prendere un attributo da un'entità esterna, si usa nei casi di➔ entità deboli (entità che non riescono con i loro attribuiti ad identificare autonomamente leproprie istanze); esse si appoggiano a entità esterna (entità forte) che dà il suo identificatore eaiuta a identificare anche elementi
dell'entità debole- sempre legame (1,1)tonde: accorpare elementi composti di una singola istanzagraffe: unire elementi di un insieme
Progettazione logica fase successiva alla progettazione concettuale (facciamo solo la prima fase)
➔ traduzione di schema EA in tabelle virtuali
➔ schemi di riferimento:
- università
- magazzini
- azienda
- gestione dati esami università
tradurre entità isolate ed identificatori interni
➔ ogni entità diventa una tabella
Fase 1: traduzione
tradurre entità semplici:
- sottolineatura di un singolo attributo indica identificatori semplici
- se ho identificatori multipli (+ identificatori) li sottolineo tutti (separatamente)
- identificatore composto: sottolineo gli attributi insieme, senza mai interrompere la linea (sottolineo anche la virgola che li separa)
tradurre gerarchie:
- nome entità (identificatore, attributi)
- nome sottoentità (identificatore con nome dell'entità sopra (attributo)
- attributi propri della sottoentità: ciò per tutte le sottoentità che ho
- vincoli di integrità referenziale: l'attributo E dell'entità Ei è un sottoinsieme dell'attributo I dell'entità E
- attributo E di Ei contiene valori identificativi dell'entità sovrastante (valori dell'identificatore I di E)
- tradurre associazioni binarie (guardare cardinalità massime):
- massima libertà (N a N): scrivo le due entità con i loro attributi come due tabelle
- associazione (A): metto nella parentesi i due identificatori delle due entità (che chiameremo per convenzione come le due entità, ma sono attributi!!) e li sottolineo
- insieme: diventano identificatori composti (se ci sono altri attributi li aggiungo)
L'entità E1 (⊂ E .I )1 1 1se ho identificatori multipli in una entità posso scegliere quale identificatore portare→nell'associazionenel caso di identificazione composta dentro A metto entrambi gli identificatori→- media libertà (1 a N):associazione A non diventa una tabella→ E1A: associazione A entra a far parte dell'entità E1 (entra a far parte dell'entità→dove c'è cardinalità massima pari a 1), cioè diventa un attributo di E1 e lo chiamo comel'altra entità (posso usare anche un nome composto + esplicativo)se E2 ha identificatore composto devo metterli entrambi dentro l'entità E1→ se associazione A ha attributi devo mettere anch'essi dentro E1→ scrivo vincolo integrità referenziale→- minima libertà (1 a 1):associazione A non diventa una tabella→ traduzione molto simile a quella della media libertà→
posso inserire l'associazione potenzialmente da entrambe le parti (spesso è facile→capire dove inserire l'attributo)vincolo di unicità (formalmente andrebbe sempre scritto ma all'esame basta scrivere→"*minima libertà")tradurre associazioni con attributi:
- se massima libertà lo riporto all'interno della tabella dell'associazione
- se media/minima libertà (associazione non diventa una tabella) gli attributi finiscono dove finisce l'associazione stessa
tradurre associazioni ternarie:
- se massima libertà creo 3 tabelle per le 3 entità e nella tabella dell'associazione inserisco tutte 3 le entità (diventate attributi con il nome dell'entità) e avrò 3 vincoli di integrità referenziale
tradurre identificatori esterni: