Salta el contingut

Model Entitat Relació

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Introducció

El modelatge de les dades és una part fonamental en el disseny i la utilització de les bases de dades. El modelatge ens ajuda a definir i a estructurar les dades que es gestionaran. Dins del context de l'enginyeria de programari, aquesta tasca es realitzarà en la fase de disseny.

En aquest cas, ens centrem en el modelatge de les dades en el model conceptual de la base de dades.

Model Entitat Relació

El Model Entitat Relació (ER) és una tècnica de representació gràfica d'un conjunt de dades i les relacions que existeixen entre elles. El model ER va ser descrit per Peter Chen en 1976.

Les característiques principals d'aquest model són:

  • Representar les dades i les relacions entre aquestes, no les seues transformacions.
  • Inclou totes les dades del sistema, independentment de les utilitzades després per cada aplicació.
  • És un model teòric, independent al SGBD o al sistema operatiu utilitzat.
  • No contempla aspectes com l'espai utilitzat, emmagatzemament o el temps d'execució.

El model ER es basa en dos objectes: Entitats i Relacions.

Entitat

Una entitat és qualsevol objecte o element (real o abstracte) que existeix i del qual es dessitja emmagatzemar informació a la base de dades. Una entitat no és un objecte concret, sinó una definició sobre la qual poden existir diferents objectes o instàncies. En cada entitat es poden definir múltiples dades o característiques, anomenades atributs.

Exemple

L'entitat Cotxe té com a atributs el nom de la marca i el nom del model.

Entitat COTXE amb atributs
Figura 1: Entitat COTXE amb atributs

D'aquesta entitat podem tindre diferents objectes concrets, anomenades instàncies o ocurrències:

  • Cotxe Marca Seat i Model León.
  • Cotxe Marca Renault i Model Clio.

Atributs

Un atribut és una característica o una propietat d'una entitat que ens interessa emmagatzemar. Els atributs es representen en el diagrama amb un cercle connectat a l'entitat.

Els atributs de cada instància adoptaran uns valors concrets, que han de ser vàlids. Es pot definir com domini d'un atribut aquells valors que pot prendre un atribut.

  • Per exemple, un atribut numèric com l'edat no pot emmagatzemar caràcters alfabètics (lletres).

Si algun atribut pot no estar present, es diu que pot prendre el valor nul (null en anglés).

  • Per exemple, l'atribut telèfon de l'entitat Persona pot ser null si una persona en concret no té telèfon.

Quan un atribut s'utilitza per identificar a una ocurrència d'una entitat, s'anomena que l'atribut és una clau primària. Es representa subratllant el nom de l'atribut.

  • Per exemple, en l'entitat Cotxe, la matrícula podria ser la clau primària.
  • Per exemple, en l'entitat Persona, el DNI podria ser la clau primària.

Entitats regulars

Les entitats es poden dividir en dos grups, les entitats regulars o fortes i les entitats febles.

Les entitats regulars, fortes o pròpies són aquelles entitats que s'identifiquen i tenen existència per elles mateixes. Es representen per un rectangle i el seu nom és un substantiu.

Representació d'una entitat
Figura 2: Representació d'una entitat

Exemple

Les entitats Cotxe i Persona que estan relacionades entre si, i qualsevol de les dues té sentit i pot existir per ella mateixa. Es pot dir que les dues entitats són entitats regulars o fortes.

Entitats Cotxe i Persona
Figura 3: Entitats Cotxe i Persona

Entitats febles

Per contra, les entitats febles són aquelles que sols poden ser identificades per estar associades a una altra entitat, és a dir, que algun dels seus atributs que l'identifiquen es refereix a una altra entitat. Es representen per un doble rectangle.

La relació que uneix una entitat feble amb la entitat forta de la que depén, s'anomena una relació feble o de dependència i s'indica amb un doble rombe.

El atribut o conjunt d'atributs que s'utilitzen per identificar una entitat feble s'anomenen clau parcial o discriminant., que permet diferenciar totes les ocurrències de l'entitat feble que depenen de la mateixa ocurrència de l'entitat forta. S'indica amb un subratllat de punts.

Representació d'una entitat feble
Figura 4: Representació d'una entitat feble

Exemple

Avió que és una entitat forta ja que pot existir per si mateix, i Seient, és una entitat feble ja que la seua existència depén de l'existència de l'avió on està situat el seient.

L'avió s'identifica per un codi, el qual es la seua clau primària. En canvi, seien s'identifica per la seua relació amb avió. Per poder distingir entre els diferents seients de l'avió, s'utilitza el número de fila i la lletra del seient. Aquest conjunt d'atribut són els discriminants o claus parcials.

Entitats Avió i Seient
Figura 5: Entitats Avió i Seient

Relació

Una relació és una associació o una correspondència entre múltiples entitats i es representa mitjançant un rombe amb un verb que descriu el tipus d'associació que es produeix.

Representació d'una relació entre entitats
Figura 6: Representació d'una relació entre entitats

Grau

El grau d'una relació es defineix com el nombre d'entitats diferents que participen en una relació. No existeix un límit en el nombre d'entitats que poden participar en una relació.

Relació reflexiva

Si en una relació sols intervé una entitat, el grau de la relació és 1 i s'anomena relació reflexiva.

Representació d'una relació reflexiva
Figura 7: Representació d'una relació reflexiva

Exemple

Aquesta relació representa una relació reflexiva, una relació de grau 1 on una entitat està relacionada amb ella mateixa.

Relació reflexiva entre empleats
Figura 8: Relació reflexiva entre empleats

En aquesta relació es representa que un empleat pot estar subordinat a un altre empleat, i que un empleat pot tindre a múltiples altres empleats subordinats.

Relació binària

Si en una relació intervenen dues entitats, el grau de la relació és 2 i s'anomena binària. Aquest tipus és el més comú de relació.

Representació d'una relació binària entre entitats
Figura 9: Representació d'una relació binària entre entitats

Relació ternària

Si en una relació intervenen tres relacions, el grau de la relació és 3 i s'anomena ternària.

Representació d'una relació ternària entre entitats
Figura 10: Representació d'una relació ternària entre entitats

Exemple

Aquesta relació ternària representa les obres interpretades per una orquestra dirigides per un director.

Relació ternària entre Orquestra, Director i Obra
Figura 11: Relació ternària entre Orquestra, Director i Obra

Cardinalitat

La correspondència o cardinalitat es defineix com el nombre d'ocurrències o instàncies de cada entitat que estan relacionades entre si. Les cardinalitats s'expresen com el número mínim i màxim d'instàncies que intervenen en la relació.

Cardinalitat Definició Símbol
(1, 1) Cada element de l'entitat li correspon un únic objecte de l'altra entitat obligatòriament. Es pot llegir com 1 i sols 1.
(0, 1) Cada element de l'entitat li correspon un o zero objectes de l'altra entitat. Es pot llegir com 0 o 1.
(1, N) Cada element de l'entitat li correspon un o més objectes de l'altra entitat obligatòriament. Es pot llegir com 1 o més.
(0, N) Cada element de l'entitat li correspon zero o més objectes de l'altra entitat. Es pot llegir com 0 o més.

Exemple: (1,1) a (1,1)

Exemple

Aquesta relació representa una relació d'1 a 1, és a dir, cada ocurrència d'una entitat es relaciona amb 1 i sols amb 1 ocurrència de l'altra entitat.

Relació 1 a 1 entre Conductor i Permís de conducció
Figura 12: Relació 1 a 1 entre Conductor i Permís de conducció

Aquesta relació representa que un conductor té un permís de conducció obligatòriament, i que un permís de conducció ha de tindre un conductor associat obligatòriament.

Exemple: (1,1) a (0,1)

Exemple

Aquesta relació representa una relació de 0 a 1, és a dir, cada ocurrència d'una entitat pot estar relacionada amb 1 ocurrència de l'altra entitat, però pot no estar-ho.

Relació 0 a 1 entre Persona i Permís de conducció
Figura 13: Relació 0 a 1 entre Persona i Permís de conducció

Aquesta relació representa que una persona pot tindre un permís de conducció o no, i que un permís de conducció ha de tindre una persona associada obligatòriament.

Exemple: (1,1) a (0,N)

Exemple

Aquesta relació representa una relació de 0 a N, és a dir, cada ocurrència d'una entitat pot estar relacionada amb moltes ocurrències de l'altra entitat, però pot no estar-ho.

Relació 0 a N entre Persona i Cotxe
Figura 14: Relació 0 a N entre Persona i Cotxe

Aquesta relació representa que una persona pot tindre o no molts cotxes, i que cada cotxe ha d'estar associada a una persona.

Exemple: (1,N) a (0,N)

Exemple

Aquesta relació representa una relació de N a N, és a dir, cada ocurrència d'una entitat pot estar relacionada amb moltes ocurrències de l'altra entitat, i viceversa.

Relació N a N entre Persona i Biblioteca
The Office
Figura 15: Relació N a N entre Persona i Biblioteca

Aquesta relació representa que una persona pot ser membre de múltiples biblioteques, però pot no ser-ho de cap. També representa que cada biblioteca té múltiples membres, però com a mínim en té 1.

Exemple ternària: (1, N) a (1, N) a (1, 1)

Exemple

Aquesta relació ternària representa les obres interpretades per una oruestra dirigides per un director.

Relació ternària entre Orquestra, Director i Obra
Figura 16: Relació ternària entre Orquestra, Director i Obra

La cardinalitat s'interpreta de la següent manera:

  • Un director i una orquestra poden interpretar múltiples obres.
  • Un director pot dirigir una obra en múltiples orquestres.
  • Una orquestra interpreta una obra, dirigida per un únic director.

Atributs d'interrelació

Les relacions entre diferents entitats també poden tindre característiques determinades, que poden ser modelades mitjançant atributs d'interrelació.

Representació d'un atribut d'interrelació
Figura 17: Representació d'un atribut d'interrelació

Exemple

En aquest diagrama s'està modelant que una Cistella de la compra conté múltiples Productes, però a més es té en compte quantes unitats de cada producte hi ha en cada cistella.

Relació entre Cistella de la compra i Producte
Figura 18: Relació entre Cistella de la compra i Producte

Entitat associativa

A més, en alguns casos una relació entre diverses entitats es pot considerar com una entitat diferent. En aquests casos, parlem d'entitats associatives, que també poden contindre atributs. Normalment apareixen en relacions de molts a molts (N:N), on es necessita que la relació ha d'estar relacionada amb una altra entitat.

Representació d'una entitat associativa
Figura 19: Representació d'una entitat associativa

Exemple

Aquesta relació representa una associació entre diferents entitats mitjançant una entitat associativa, que està relacionada amb una tercera entitat.

Relació entre Metge, Pacient i Prova
Figura 20: Relació entre Metge, Pacient i Prova

En aquest diagrama s'està modelant que un Pacient pot ser atés per diferents Metges. A més, en aquesta consulta, el metge pot demanar diferents proves diagnòstiques.

Generalització i especialització

La generalització és el procés que permet combinar propietats comunes de diferents entitats en una única entitat per evitar la redundància de dades.

En canvi, la especialització és el procés de crear una nova entitat que herete les característiques d'una altra entitat.

En els dos casos, en el diagrama ER es representa de la mateixa manera, amb un triangle invertit que connecta les classes generals amb les classes específiques.

Representació d'una relació de generalització i especialització
Figura 21: Representació d'una generalització i especialització

Exemple

En el següent exemple tenim tres entitats, Vehicle,Cotxe i Moto, que estan relacionades amb una relació d'especialització o generalització.

Cotxe i Moto comparteixen els atributs de Vehicle, però també tenen atributs propis.

Relació de generalització entre Vehicle, Cotxe i Moto
Figura 22: Relació de generalització entre Vehicle, Cotxe i Moto

Bibliografia