Esempio: DB supermercato
forniture dirige
lavora_in
presente_in
data
fornitori
P_IVA Rag_sociale
indirizzo tel
reparti
nome dimensione
collocazione refrigerato
persone
nome
qualifica codice
(0,N) (0,1) (0,N)
prodotti
codice_barre genere
deperibilità marca
scadenza (0,1)
(0,1)
(0,N)
(0,N)
(0,N)
Da ER a relazionale
Reparti(nome,dimensione,collocazione,refrigerato) Persone(codice,nome,qualifica)
Prodotti(codice_barre,genere,marca,deperibilità,scadenza) Fornitori(P_IVA,rag_sociale,indirizzo,tel)
Primo passo: traduco ogni entità in una tabella.
Agli identificatori corrisponderanno le chiavi primarie delle tabelle
Da ER a relazionale
Secondo passo: traduciamo le relazioni molti a molti.
A ogni associazione corrisponderà una nuova tabella
lavora_in
data
reparti
nome dimensione
collocazione refrigerato
persone
nome
qualifica codice
(0,N)
(0,N)
Lavora_in(nome, collocazione, codice, data)
Da ER a relazionale
Ultimo passo: traduciamo le associazioni uno a molti
dirige
persone
nome qualifica codice
(0,1)
(0,N)
Persone(codice,nome,qualifica)
Persone(codice,nome,qualifica,supervisore)
Da ER a relazionale
presente_in reparti
nome dimensione
collocazione refrigerato
(0,N)
prodotti
codice_barre genere
deperibilità marca
scadenza (0,1)
Reparti(nome,dimensione,collocazione,refrigerato)
Prodotti(codice_barre,genere,marca,deperibilità,scadenza)
Prodotti(codice_barre,genere,marca,deperibilità,scadenza,n_rep,coll_rep)
Reparti(nome,dimensione,collocazione,refrigerato)
Da ER a relazionale
forniture
fornitori
P_IVA Rag_sociale
indirizzo tel
(0,N) (0,1)
prodotti
codice_barre genere
deperibilità marca
scadenza
Prodotti(codice_barre,genere,marca,
deperibilità,scadenza) Fornitori(P_IVA,rag_sociale,indirizzo,tel)
Prodotti(fornito_da, codice_barre,genere,marca, deperibilità,scadenza) Fornitori(P_IVA,rag_sociale,indirizzo,tel)