You are on page 1of 7

Diventa:

Ipotizziamo ora di voler tenere traccia anche dell’alloggio.


Per rappresentare una classe di oggetti:

Per rappresentare un oggetto unico:


ALTERNATIVA:

Diventa:
INPUT: MODELLO CONCETTUALE

OUTPUT:

1) ELIMINARE LE GENERALIZZAZIONI (che non sono rappresentabili nel modello logico). Posso
decidere se collassare verso l’alto o verso il basso la generalizzazione, ovvero:
a. Tenere solo il padre
b. Tenere solo i figli
c. Tenere un mix tra padre e figli

ESEMPIO:

VIAGGIO (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, TIPO, POSTO, CC)

Se i figli fossero stati molto caratterizzati, e avessi deciso di tenerli, avrei dovuto adottare una soluzione del
tipo:

VIAGGIOAEREO (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, POSTO)

VIAGGIOTRENO (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, POSTO)

VIAGGIOTAXI (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, CC)

N.B. Quando si ha TOTALE/ESCLUSIVO, molto spesso si tiene il padre e si aggiunge “tipo”.


2) ELIMINARE I CAMPI MULTIVALORE

VIAGGIO (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, TIPO, POSTO, CC)

OSPITE(COGNOME,NOME,ETA,PROVENIENZA)

ALLERGENE(NOME,DESCRIZIONE

PRENOTAZIONE(NUM,DATA,COSTO)

ALBERGO(NOME,INDIRIZZO,TELEFONO)

STANZA(NOME,DESCRIZIONE,FUMATORE)

TAVOLO(NOME,POSIZIONE,NUMPOSTI)

Relazioni:

 1-N (o anche “0-N”, lasciando vuoto il campo che andiamo a creare):


o per rappresentarla si lavora sulle chiavi esterne.
o Prendo l’entità lato 1 (es. OSPITE) e aggiungo in fondo un nuovo attributo che corrisponde
esattamente alla chiave dell’entità al lato N (l’entità a lato N è VIAGGIO, e la chiave è
NUMPREN).

VIAGGIO (NUMPREN, PARTENZA, DESTINAZIONE, COSTO, TIPO, POSTO, CC)

OSPITE(COGNOME,NOME,ETA,PROVENIENZA,NUMPRENOTAZIONE,TAVOLO)

ALLERGENE(NOME,DESCRIZIONE

PRENOTAZIONE(NUM,DATA,COSTO,NOMEALBERGO,TIPOSTANZA)

ALBERGO(NOME,INDIRIZZO,TELEFONO)

STANZA(NOME,DESCRIZIONE,FUMATORE)

TAVOLO(NOME,POSIZIONE,NUMPOSTI)

ALLERGIA(COGNOME,NOME,ALLERGENE)
Entità debole

O(KA….

A(KA….

S(KS…,KA