Da E/R a relazionale

Uno a molti Uno a molti

Si aggiunge la chiave esterna dal lato molti

  • A(IdA, A1, A2, …, An)
  • B(IdB, B1, B2, …, Bm, RifA)

B.RifA è chiave esterna collegata a A.IdA.

Eventuali attributi dell’associazione seguono la chiave esterna nel lato molti.

1-n1-n
Molti a molti Molti a molti

Si introduce una tabella di collegamento AB tra A e B

  • A(IdA, A1, A2, …, An)
  • B(IdB, B1, B2, …, Bm)
  • AB(RifA, RifB, …)

AB.RifA è chiave esterna collegata a A.IdA
AB.RifB è chiave esterna collegata a B.IdB
(AB.RifA, AB.RifB) è la chiave primaria di AB.

Eventuali attributi dell’associazione seguono le chiavi esterne nella tabella di collegamento.

n-m
n-m
Uno a uno Uno a uno

Si segue il metodo del caso uno a molti ma si sceglie da quale lato inserire la chiave esterna…

  • A(IdA, A1, A2, …, An)
  • B(IdB, B1, B2, …, Bm, RifA)

B.RifA è chiave esterna collegata a A.IdA.

1-n
IS-A Uno a uno

Se un’entità è una specializzazione, sottocategoria, dell’altra allora non è necessaria la chiave primaria IdB

  • A(IdA, A1, A2, …, An)
  • B(RifA, B1, B2, …, Bm)

B.RifA è chiave esterna collegata a A.IdA
B.RifA è chiave primaria per B quindi… indicizzato, duplicati non ammessi.

Si può valutare di non creare la tabella B e aggiungere i campi di B alla tabella A.

  • A(IdA, A1, A2, …, An, B1, B2, …, Bm)
IS_AoppureIS-A
IS-A