Salta el contingut

5. Opcions de disseny

5. Opcions de disseny

A l'hora de fer l'esquema E/R, segons el cas serà més convenient representar la realitat amb uns elements o amb uns altres. Vegem algunes consideracions:

Atribut, entitat o relació?

Com representem les ciutats de cada país? Depén de quina informació volem guardar:

Si volem guardar... Opció
Només dades de cada ciutat (codi, nom, país...) Posem CIUTATS com a entitat amb un atribut país.
Només dades de cada país (codi, nom, ciutats que té...) Posem PAÏSOS com a entitat amb un atribut ciutats.
Dades de cada país i cada ciutat, i saber quina ciutat pertany a quin país Posem PAÏSOS i CIUTATS com a entitats relacionades amb una relació pertànyer.

Com relacionem 3 entitats?

Tenim tres opcions per a relacionar 3 entitats:

  • Relació ternària: un sol rombe que connecta les 3 entitats.
  • Relacions binàries: 3 rombes connectant les entitats per parelles.
  • Agregació: convertim una relació binària en una entitat i la relacionem amb la tercera.

L'opció correcta depén del significat i de les regles de negoci.

Relació amb molts atributs, o altra entitat?

Si una relació acumula molts atributs i, a més, necessita tindre clau pròpia (identificador únic), cal plantejar-se convertir-la en una entitat.

Exemple: comandes

Volem saber quins articles es demanen a cada proveïdor, amb data, adreça d'enviament i quantitat. Si una mateixa parella (article, proveïdor) pot tindre moltes comandes amb diferents dates i adreces, i a més cada comanda necessita un codi únic → convertim COMANDES en una entitat (no una relació).

Generalització o atribut discriminador?

Si volem representar dades d'hòmens i dones, podem triar entre: - Fer una generalització amb entitats filles (HÒMENS, DONES) si tenen atributs o relacions diferents. - Posar un atribut discriminador sexe en l'entitat PERSONES si només volem guardar eixa dada.

Eliminar relacions redundants

Si tenim un «circuit» de relacions, cal analitzar si alguna és redundant (es pot deduir de les altres) i, en eixe cas, eliminar-la.

Exemple

Si una PERSONA treballa en un DEPARTAMENT, i un DEPARTAMENT està en una EMPRESA, podem deduir a quina empresa pertany la persona. Per tant, una relació directa pertànyer entre PERSONA i EMPRESA seria redundant → cal llevar-la.

Compte!

No sempre que hi ha un circuit de relacions n'hi ha una de redundant. Depén del significat:

  • Si la relació es diguera «empresa on voldria treballar» en compte de «pertànyer», no seria redundant.
  • Tampoc podríem eliminar «treballa» perquè, sabent que una persona pertany a una empresa amb molts departaments, no podem deduir en quin departament treballa.