Diagrama Entitat-Relació

De Viquipèdia
Salta a: navegació, cerca

Un diagrama Entitat-Relació (de vegades anomenat per en anglès, E-R Entity relationship o DER per les sigles en català) és una eina per modelar dades que permet representar les entitats rellevants d'un sistema d'informació i les seves interrelacions i propietats.

Definició de model Entitat-Relació[modifica | modifica el codi]

El diagrama o model entitat-relació (en anglès: entity-relationship model) és una eina utilitzada en les fases de desenvolupament de programari per reflectir de manera clara i entenedora un model conceptual (sovint d’una base de dades) amb els seus requisits i així poder verificar si els satisfà. El model ER es pot construir fàcilment amb eines informàtiques CASE i en ell es mostren les entitats (coses) i les interrelacions existents entre elles. Tot i que un «model de dades» té en compte aspectes com l’estructura, la manipulació i la integritat, el model ER només es fa servir per a reflectir aspectes de l’estructura de les dades i de la seva integritat, però no de la seva manipulació.

Introducció[modifica | modifica el codi]

El model entitat-relació s’utilitza per representar les dades que pot tenir una aplicació i les seves relacions. Les dades es representen com entitats (coses o conceptes) i estan relacionades entre elles mitjançant relacions que expressen les dependències i requeriments entre elles. Per exemple hi ha una interrelació entre clients i factures, o una interrelació entre conductors i autobusos. El terme entitat habitualment es fa servir per referenciar a conjunts d’objectes amb el mateix tipus d’atributs (Edificis, Persones, Treballadors, Factures...) tot i que a vegades també es pot fer servir per referir-se a un membre d'aquest conjunts. Per evitar ambigüitat és millor referir-se a un membre d'aquest conjunt amb el terme instància.[1]

Les propietats d’un objecte que ens interessen, les anomenem atributs. D’una entitat persona podríem registrar per exemple: DNI, nom, edat, població, telèfon, etc.

El model entitat-relació és l’eina bàsica per començar a fer el disseny de les bases de dades, ja que permet obtenir el disseny conceptual de la base de dades a partir dels requeriments que haurà de complir l’aplicació mostrant una descripció detallada de:

  • Tipus d’entitats
  • Relacions entre entitats (Interrelacions)
  • Restriccions

Diagrama entitat-relació[modifica | modifica el codi]

Diferències entre el diagrama Entitat-Relació i la notació de modelatge UML.

Entitat[modifica | modifica el codi]

Considerarem entitat a un objecte (o un concepte, o un fet) que podem distingir de la resta d’objectes de manera única, encara que siguin objectes d’un mateix tipus. Quan diem que ha de ser del món real no significa que l’entitat hagi de ser tangible. L’objecte pot ser conceptual però s’ha de poder distingir d’altres. Les entitats: contractes, compres, vendes, matrícules d’universitat o vols d’avió són molt més conceptuals que d’altres com persones, cotxes o edificis on els últims ocupen un espai al món, però totes són diferents per si mateixa. Les entitats es descriuen també per el conjunt d’atributs que els hi són propis. Per exemple un cotxe tindria els atributs: model, marca, color, nombre de portes, matrícula i número de bastidor. Els atributs d'un vol d’avió podrien ser: número de vol, aeroport d’origen i aeroport de destí.

Atributs[modifica | modifica el codi]

Els atributs caracteritzen les «instàncies» d’una entitat. Sovint aquests atributs fan possible identificar de manera única a cada instància de l’entitat amb la fi de poder tractar la informació sense errors. En el cas de l’entitat cotxes on podem existir molts cotxes amb una mateixa marca, model i color l'única manera de triar a un únic cotxe seria través de l’atribut matrícula o número de bastidor. La quantitat d’atributs que té una entitat dependrà de la seva complexitat. Durant fases posteriors de disseny, s’escolliran els atributs a implementar. La tria pot estar influenciada per la quantitat d’atributs imprescindibles i les possibilitats per modelar les dades de manera correcta.

Interrelacions[modifica | modifica el codi]

Les interrelacions ens mostren la connexió existent entre diferents entitats. La seva representació en els diagramas ER es fa dibuixant un rombe que uneixi les entitats interrelacionades. Aquestes interrelacions poden enllaçar dos o més entitats. Alhora, de vegades ens pot interessar reflectir algunes propietats de les interrelacions, per això una entitat pot tenir també atributs.

El grau que tingui una interrelació vindrà determinat per el nombre d’entitats que estan associades entre si. Si la interrelació uneix només dos entitats direm que és de grau 2 (o binaria). Si en relaciona més, direm que és una interrelació n-ària (tant si relaciona 3 o més)

Exemple d'entitat feble

Entitats fortes i dèbils[modifica | modifica el codi]

Una entitat forta no és res més que una entitat regular o normal però que, al connectar-se amb una entitat feble li pot cedir algun dels seus atributs perquè aquesta es pugui identificar. Es representa igual que una entitat normal i la podem veure en l'apartat 5.1. Una entitat dèbil és una entitat en la qual els atributs que posseeix no la identifiquen totalment, sinó que només de manera parcial. Ha de tenir una interrelació que l’ajudi a ésser identificada. Es representa com un rectangle doble, de la mateixa manera la línia que la connecta amb l’entitat forta també es doble. Una entitat feble pot ser-ho per dues raons diferents: Per existència: Pot ser identificada mitjançant un atribut identificatiu clau sense necessitat d’identificar l’entitat forta relacionada. Per identitat: No pot existir sense l'entitat forta, ja que el seu significat no pot entendre’s sense l’existència d'un altre objecte. A l’exemple següent veiem com una comanda té diverses linees de factura i que aquesta no pot ser entesa sense que hi hagi una comanda.

Participació de les entitats en les interrelacions[modifica | modifica el codi]

En els diagrames Entitat-Relació cal indicar quina és la participació de cada Entitat en la interrelació. Es diu que la participació és total si obligatòriament totes les instàncies de l'entitat han de participar de la interrelació. I la participació és parcial si poden haver-hi instàncies de l'entitat no interrelacionades amb cap altre. Per exemple en la interrelació entre factures i clients la participació de Factures és total (no hi pot haver cap factura sense un client) però en canvi la del client seria parcial (per exemple un client nou al que encara no s'ha facturat res).

Cardinalitat i grau de les interrelacions[modifica | modifica el codi]

Relació i grau de la relació, en aquest cas, 1 a N

El grau d’una interrelació es defineix com el nombre d’entitats que participen en ella. El més habitual és trobar-se amb interrelacions binàries encara que també podem trobar interrelacions ternàries o, en general, n-àries (poc freqüents). El cas especial on només hi participa una entitat es diu que hi ha una interrelació anell (per exemple una interrelació d'Empleat amb Empleat que associa a cada treballador el seu cap dins l'empresa)

Es defineix com cardinalitat el grau de participació de les entitats que participen en una interrelació. Poden ser de tres tipus:

1:1 :On participen, com a molt, una unitat de cada entitat en la interrelació. Per exemple en un compte de la universitat un usuari només pot tenir una adreça. Així doncs una adreça només podrà ser d'un únic estudiant.

1:N :On participen una unitat d’una entitat amb zero, una o moltes de la segona. Per exemple un client pot tenir diverses factures però una factura és només d'un client.

N:M :On poden participar més d’una unitat de cada entitat de la interrelació. Per exemple un alumne pot estar matriculat de diverses assignatures i una assignatura pot tenir diversos alumnes matriculats.

Es representa de l'anterior manera, amb una etiqueta acompanyant la interrelació. També es pot expressar amb un número tal com 0 o 1 o una lletra tal com N o M al costat de cada entitat de la relació. Ho podem veure en els dos anteriors esquemes on hi ha una cardinalitat 1 a n.

Interrelacions reflexives[modifica | modifica el codi]

Exemple d'interrelació reflexiva

Reben el nom d'interrelacions reflexives o recursives les interrelacions d’un conjunt d’entitats amb ell mateix. En aquest tipus d'interrelacions és important concepte de paper. Per exemple, la interrelació la relació “és supervisor de” entre empleats d’una empresa és una interrelació reflexiva 1 a N amb relació de participació parcial per tots dos costats. Cal indicar el paper que pren cada entitat participant en la interrelació: en un cas “és supervisor de” i per l’altre costat “és supervisat per”. Exemple: la relació “és prerequisit de” entre assignatures d’un pla d’estudis. És una relació reflexiva N a M amb relació de participació parcial per tots dos costats. Exemple: la relació “és parent de” entre persones és una relació N a M. I un exemple d'interrelació reflexiva 1 a 1 de l'entitat Persona podria ser la interrelació "parella".

Atributs en interrelacions[modifica | modifica el codi]

Les interrelacions també poden tenir atributs associats. Es representen igual que els atributs de les entitats. És molt habitual que les interrelacions binàries M:N i totes les n-àries tinguin atributs.

Model Entitat-Relació Extès[modifica | modifica el codi]

Una extensió habitual al model Entitat-Relació és la incorporació del concepte d'Herència (programació) a les Entitats, permeten construir una jerarquia (o un graf en general) de superclasses i subclasses.

Herència[modifica | modifica el codi]

Exemple d'herència

En la generalització/especialització s’anomena herència quan existeix una superclasse que és la base de les especialitzades i que cedeix els atributs que té a totes les classes que la precedeixin. Es crearà una relació entre superclasse i les seves subclasses. Les entitats subclasses tenen com a clau primària la clau de l’entitat superclasse i com hem dit, aquestes contenen tots els atributs comuns de la superclasse i els seus específics de subclasse. Per exemple un empleat té un dni com a clau principal i una sèrie d'atributs tals com nom,cognom,adreça...D’aquest se’n poden derivar tres subclasses tals com a director, amb un atribut específic “cotxe”, tècnic, amb un atribut específic “títol” i administratiu amb un atribut específic “antiguitat”.

Referències[modifica | modifica el codi]

Bibliografia[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Diagrama Entitat-Relació Modifica l'enllaç a Wikidata