Salta el contingut
 

Model Entitat Relaci贸

Joan Puigcerver Ib谩帽ez

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露

馃搶 Aquest document pot quedar desactualitzat despr茅s d鈥檌mprimir-lo. Pots consultar la versi贸 m茅s recent a la p脿gina web.
馃尶 Abans d鈥檌mprimir aquest document, considera si 茅s realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.