Salta el contingut

2. El model E/R

El Model Entitat-Relació (E/R) és un model de dades que permet representar la realitat en termes d'entitats, atributs i relacions entre entitats. Veiem qui són aquests elements i com es representen gràficament.

2.1 Entitats

Definició

Entitat: Representa un conjunt de persones, llocs, coses, conceptes o successos (reals o abstractes), d'interés per a l'organització. És aquell objecte sobre el qual volem emmagatzemar informació en la BD.

Exemples: llibres, persones, alumnes, vehicles.

Representació gràfica

Per exemple, suposem que ens han manat fer una base de dades per a la biblioteca municipal. Després d'haver-nos entrevistat amb el bibliotecari, etc., hem fet una anàlisi de requeriments de les necessitats de la biblioteca, consistent en un llistat de la informació que ha de gestionar la futura base de dades. En eixos requeriments, si diu alguna cosa com "Caldrà guardar la informació de socis, llibres i autors", veiem que hi ha, de moment, 3 entitats: socis, llibres i autors. En l'esquema E-R les representarem així:

La representació gràfica d'una entitat és un rectangle etiquetat amb el nom de l'entitat en MAJÚSCULES. Un nom d'entitat només pot aparéixer una vegada a l'esquema. Els noms de les entitats són substantius (ja vorem que el nom de les relacions són verbs) i és aconsellable posar-los en plural ("LLIBRES" i no "LLIBRE").

Elements de l'E-R

Ocurrències d'una entitat

Cal diferenciar entre entitat i ocurrències de l'entitat: entitat és l'estructura genèrica i ocurrència d'entitat és cadascun dels objectes que representa eixa entitat (però que no es posa a l'esquema E-R, clar). Per exemple:

  • L'entitat LLIBRES es referix a l'estructura que ens descriu les característiques dels llibres.
  • Les ocurrències de LLIBRES seran cadascun dels llibres, com per exemple El nom de la Rosa, Tirant lo Blanc, Nosaltres els valencians...

Resumint

Una entitat representa N ocurrències d'eixa entitat. És a dir: l'entitat LLIBRES representa els centenars de llibres que podria tindre la biblioteca. Cadascun d'eixos llibres és una ocurrència de l'entitat LLIBRES.

Selecció múltiple — Exercici d'Entitats en E-R

L'anàlisi de requeriments d'un videoclub diu:

"Pep, Joan i Maria són els empleats d'un videoclub. Pep, el gerent, ens ha dit que cal guardar informació dels socis, de les pel·lícules, dels empleats i de quines pel·lícules es presten a cada soci."

Quines entitats creus que cal posar en el corresponent esquema E-R?

  • [ ] INFORMACIÓ
  • [x] SOCIS
  • [x] PEL·LÍCULES
  • [ ] PRÉSTECS
  • [x] EMPLEATS
  • [ ] PEP
  • [ ] JOAN
  • [ ] MARIA

Solució raonada:

  • INFORMACIÓ: És tot el que es guarda en la base de dades. No té sentit crear una entitat genèrica.
  • PRÉSTECS: Encara que podria semblar una entitat a primera vista, realment associa socis i pel·lícules. És una relació entre les entitats SOCIS i PEL·LÍCULES (ho vorem en l'apartat 2.3).
  • PEP, JOAN i MARIA: No són entitats, sinó instàncies/ocurrències concretes de l'entitat EMPLEATS.

2.2 Atributs

Definició

Atribut: És cadascuna de les propietats que té una entitat (o una relació, ja ho vorem).

Exemples: per a l'entitat LLIBRES els atributs podrien ser: TÍTOL, AUTOR, EDITORIAL, ANY_EDICIÓ, ISBN...

Ara bé, només ens interessaran aquells atributs indicats en l'anàlisi de requeriments.

Reflexió — Entitats i Atributs

Si en l'anàlisi de requeriments diu alguna cosa com:

"Cada llibre s'identificarà per un codi i, a més del nom, voldrem guardar el tipus de llibre (la lletra inicial de: Por, Ficció, Infantil, Humor, Assaig)"

1. Quina seria l'entitat?

  • [ ] Por, Ficció, Infantil, Humor, Assaig
  • [x] LLIBRES
  • [ ] CODI

2. Quins serien els atributs de l'entitat?

  • [ ] codi, nom, Por, Ficció, Infantil
  • [x] codi, nom, tipus
  • [ ] codi, nom, tipus, lletra

Solució raonada:

  • L'entitat seria LLIBRES.
  • Els atributs de LLIBRES serien codi, nom i tipus.
  • Compte: "Por, Ficció, Infantil..." no són atributs, sinó possibles valors de l'atribut "tipus" (el seu domini).

Representació gràfica

L'atribut es representa mitjançant el·lipses amb un nom, unides amb un arc a l'entitat (o relació) que descriu.

Domini de l'atribut

El domini d'un atribut és el conjunt de possibles valors que pot prendre un atribut.

Per simplicitat, en l'E-R no posarem el domini de cada atribut sinó que només indicarem els possibles valors en aquells camps on ho indique l'anàlisi de requeriments de forma explícita. I ho representarem junt a l'atribut de l'esquema E-R. Així:

2.2.1 Tipus d'atributs segons la seua funció

Atribut identificador (clau)

Permet distingir entre les distintes ocurrències d'una entitat. Es representa subratllant el nom de l'atribut. També se li anomena "la clau" de l'entitat. Dos ocurrències d'una entitat no poden tindre el mateix valor en l'atribut identificador.

No poden haver 2 clients que tinguen el mateix número de DNI.

DNI
76.333.333H
87.333.445A
76.333.333H
54.233.567C

Note

Tota entitat ha de tindre un atribut identificador.

Atribut descriptor

Descriu les ocurrències d'una entitat o relació. És a dir: són els atributs "que no són clau". Es representa simplement amb l'el·lipse, sense subratllar el nom.

En l'exemple anterior, nom i data_naix són atributs descriptors.

Atribut "no nul"

Un atribut no nul és un atribut descriptor que indica que totes les ocurrències de l'entitat han de tindre un valor obligatòriament en eixe atribut.

Es simbolitza mitjançant un xicotet cercle entre l'arc i l'el·lipse.

En l'exemple, l'atribut nom és un atribut no nul. Així estem dient que tots els clients han de tindre, obligatòriament, un nom. Però podem permetre que hi haja clients que no tinguen res en el camp data_naix.

Note

Els atributs clau són no nuls però no se'ls posa el redolinet.

Qüestió Veritat / Mentida — Propietats dels Atributs en E-R

A partir de l'esquema E-R anterior (l'entitat CLIENTS amb els atributs DNI [clau], nom i data_naix), avalua les següents afirmacions:

DNI Nom Data_naix
76333333H Pep 08/07/1970
87333445A Abdó 08/07/1970
54233567C Neus 01/12/1998
45654322N Neus 12/12/2002
77654432D Pepa (nul)

1. Poden haver-hi 2 o més clients que tinguen el mateix DNI.

  • [ ] Veritat
  • [x] Mentida

2. Poden haver-hi 2 o més clients que tinguen el mateix nom.

  • [x] Veritat
  • [ ] Mentida

3. Tots els clients han de tindre un DNI obligatòriament.

  • [x] Veritat
  • [ ] Mentida

4. Tots els clients han de tindre un nom obligatòriament.

  • [x] Veritat
  • [ ] Mentida

5. Tots els clients han de tindre obligatòriament una data de naixement.

  • [ ] Veritat
  • [x] Mentida

Solució raonada:

  1. FALS: El DNI és l'atribut clau (identificador únic). No pot tindre valors duplicats (p. ex. 76.333.333H no es pot repetir).
  2. VERITAT: Com que el nom no és clau (no està subratllat), s'accepten clients amb el mateix nom (veure cas de "Neus" en la taula).
  3. VERITAT: Com que el DNI és l'atribut clau, a més de ser únic, no admet valors nuls.
  4. VERITAT: En l'esquema E-R, el nom s'ha definit com un atribut obligatori, per tant cap client pot quedar-se sense nom.
  5. FALS: Si l'atribut data_naix no té la marca d'obligatorietat (o "el cercle/redolinet"), s'indica que és opcional i pot haver-hi clients sense aquest dada (com en la darrera fila de la taula).

2.2.2 Tipus d'atributs segons la seua estructura

Atribut simple

Per a cada ocurrència de l'entitat (o relació) que qualifiquen, l'atribut pren un únic valor. En l'exemple següent, "DNI", "Data_naix" i "Adreça" són atributs simples ja que 1 client només pot tindre 1 únic DNI, 1 única data de naixement i 1 única adreça.

DNI Data_naix Adreça
1 08/07/1970 C/Moro, 13 (Sueca)
2 04/03/1970 C/Sequial, 45 (Algemesí)
3 01/12/1998 C/Moro, 13 (Alginet)

Atribut multivalent

Per a cada ocurrència de l'entitat que qualifica, l'atribut pot prendre diversos valors. Es posa una "n" damunt l'arc de l'atribut.

L'atribut telèfon és multivalent (porta la "n") i representa que de cada client podem tindre guardats molts telèfons (no només un).

DNI Telèfons
1 96-170-33-44
2 96-171-33-46 · 96-171-33-47 · 636-092-555
3
4 96-170-44-64 · 699-076-433

Cada ocurrència de l'entitat CLIENTS (cada client) pot tindre 0, 1 o molts telèfons.

Atribut compost

És un atribut que està format per un conjunt d'altres atributs.

En l'exemple anterior, adreça és un atribut compost. Una ocurrència d'un atribut compost estarà formada per una ocurrència de cadascun dels seus "sub-atributs". És a dir: un client no tindrà un únic valor on posar tota l'adreça, sinó que la posarà separada en 3 valors:

DNI Carrer Número Població
1 C/Moro 13 Sueca
2 C/Sequial 45 Algemesí
3 C/Moro 13 Alginet

!!! note title="Reflexió"

Text Only
1
L'atribut compost pareix que no calguera, ja que el podríem descompondre en atributs simples. Però no ho podríem fer en el cas de tindre un atribut **compost multivalent** (per exemple, n adreces). A més, es veu més clar si ho posem en forma d'atribut compost.

Atribut derivat

El seu valor es pot calcular a partir d'altres atributs. Es representa amb una el·lipse discontínua.

Atribut compost multivalent

Es dona, per exemple, si volem guardar moltes adreces per a cada client i, a més, cada adreça està estructurada amb 3 sub-atributs: carrer, número i població.

DNI Carrer Núm Població Carrer Núm Població
1 C/Moro 13 Sueca C/Mayor 2 Sueca
2 C/Sequial 45 Algemesí

2.3 Relacions

Definicions

Relació:

És una estructura que associa entitats entre sí.

Ocurrència de relació:

És l'associació d'una ocurrència de cada entitat que participa en la relació. És a dir: una ocurrència de relació és un conjunt d'ocurrències d'entitats.

Exemple de relació i ocurrències de relació

  • Relació ESCRIURE: estructura que descriu una associació entre l'entitat AUTORS i l'entitat LLIBRES.
  • Ocurrències de la relació ESCRIURE: parelles d'ocurrències d'AUTORS i de LLIBRES, de forma que un autor ha escrit el llibre corresponent. Per exemple:

    • Joanot Martorell - Tirant lo Blanch
    • Manolo Baixauli - L'home Manuscrit
    • Manolo Baixauli - La cinquena planta

Representació de la relació

Representem la relació mitjançant un rombe etiquetat amb el nom de la relació, unit mitjançant arcs a les entitats que associa.

Després vorem que el rombe pot ser un triangle si participen 3 entitats en la relació. I que els triangles del rombe podran estar en negre.

Característiques de les relacions

Una relació es caracteritza pel nom, els seus atributs, el grau i la connectivitat.

El nom de la relació

Cada relació té un nom, que la identifica dins del E-R. Per això en un diagrama E-R no poden haver 2 relacions amb el mateix nom (tampoc poden haver 2 entitats amb el mateix nom).

El nom de les relacions sol ser un verb, ja que és l'acció per la qual s'associen les entitats.

Quan representem una relació, és molt important el nom que li posem ja que, depenent d'això:

  • la relació implicarà unes entitats o altres.
  • la connectivitat (el tipus de relació) podrà ser diferent.
  • potser que entre dos entitats hi haja més d'una relació.

Els atributs de la relació

Igual que en les entitats, les relacions també poden tindre atributs. També es representen amb el·lipses però "penjant" de la relació. Estos atributs no són de cap de les entitats sinó de la pròpia relació.

Per exemple, per a indicar la data de casament d'un home i una dona, aquest atribut no depén de l'entitat HÒMENS ni de l'entitat DONES, sinó de la relació entre les 2 entitats. És a dir, l'atribut "data" és de la relació "estar_casat":

El grau de la relació

El grau d'una relació és la quantitat d'entitats que participen en ella. Pot ser de grau 1, 2, 3 o n.

Relacions unàries (grau 1): quan una entitat es relaciona amb ella mateixa.

Note

A vegades no posarem els atributs per simplicitat dels exemples, però sí que es posen en l'E-R.

Possibles ocurrències de la relació "estar_casat":

Persona Persona
Pep Pepa
Maria Albert
Marc Joana

Relacions binàries (grau 2): quan participen 2 entitats en la relació.

Possibles ocurrències de la relació "condueix":

Cotxe Pilot
Ferrari Michael Schumacher
Renault Fernando Alonso

Relacions ternàries (grau 3): quan associen 3 entitats.

Note

Els símbols de les relacions (rombes i triangles) els "pintarem" d'una forma o altra, però això ho vorem en l'apartat següent (connectivitat).

Possibles ocurrències de la relació "impartir":

Professor Grup Assignatura Hores
Abdó 1DAM-SP BD 5
Abdó 1DAM BD 5
Abdó 1DAM PRG 8
Joan Gerard 1DAM-SP PRG 8

Relacions n-àries (grau n): quan associen més de 3 entitats. No són tan freqüents i, per tant, no les vorem.

Reflexió

Com creus que es podria representar una relació de grau 4, 5, 6...? Pensa una possible relació quaternària.

Realimentació

Es representarien amb una forma geomètrica amb "tants triangles" com entitats associe. És a dir: si fóra una relació de grau 5 es representaria amb una estrela de 5 puntes.

Si volguérem guardar la informació de quantes hores imparteix un professor una determinada assignatura a quin grup d'alumnes i en quina aula, tindríem que la relació impartir és quaternària: seria una estrela de 4 puntes que apuntarien a les entitats PROFESSORS, ASSIGNATURES, GRUPS_D'ALUMNES i AULES. I, com a atribut de la relació: hores.

Activitat desplegable

Llig i completa:

Per a representar persones, llocs, coses, conceptes o successos s'utilitza ____, que es representa amb ____.

Per a representar les seues característiques s'utilitza ____, que es representa amb ____.

Per a representar les associacions entre les entitats s'usa ____, que es representa amb ____ que uneix les entitats amb ____.

Solució

Les entitats solen ser substantius i es representen amb rectangles.

Cada entitat té diversos atributs, que descriuen com és, i es representen per el·lipses.

Per a associar entitats entre elles s'usen les relacions: un rombe que uneix les entitats mitjançant arcs.


La connectivitat de la relació

La connectivitat d'una relació és la quantitat màxima d'ocurrències amb què pot estar relacionada una ocurrència en una relació.

Per dir-ho planerament: la connectivitat és com pintem els triangles del rombe.

Com pintar una relació binària?

Per a pintar els triangles de la relació hem de fer dos preguntes sobre si una ocurrència d'una entitat pot estar relacionada amb més d'una ocurrència de l'altra entitat. Preguntarem usant el verb de la relació: una en activa i l'altra en passiva («en sentit contrari»).

Exemple: relació ser_tutor entre PROFESSORS i ALUMNES

— Donat 1 professor, de quants alumnes pot ser tutor?

Resposta: De molts → triangle negre a la part d'ALUMNES.

— Donat 1 alumne, per quants professors pot estar tutoritzat?

Resposta: Només per 1 → triangle blanc a la part de PROFESSORS.

Per tant, la connectivitat de la relació ser_tutor és 1:N (un a molts). «Un» (triangle blanc) a la part de PROFESSORS i «Molts» (triangle negre) a la part d'ALUMNES.

Compte!

NO faces la pregunta així: «Donats molts professors, quants alumnes...?». Sempre la farem a partir d'una ocurrència: «Donat 1 professor, quants...»

Tipus de connectivitats en relacions binàries

Els tipus de connectivitats d'una relació binària són:

Tipus Significat
1:N Cada A es relaciona amb molts B, cada B només amb un A
1:1 Cada A es relaciona només amb un B, i viceversa
N:M Cada A es relaciona amb molts B, i cada B amb molts A

D'1 a molts (1:N): cada ocurrència de l'entitat A pot estar relacionada amb moltes ocurrències de B. Però cada ocurrència de B només pot estar relacionada amb una ocurrència de A.

D'1 a 1 (1:1): per cada ocurrència de A només en tenim una de B, i viceversa.

De molts a molts (N:M): per cada ocurrència de A podem tindre qualsevol nombre d'ocurrències de B, i viceversa.

Nota

Entre dos entitats pot existir més d'una relació (amb igual o diferent connectivitat).

Com pintar una relació unària?

Per a saber com pintar una relació unària hem de fer les mateixes preguntes que en les binàries. La diferència és que ara tenim la mateixa entitat a les dues parts de la relació.

Els tipus de connectivitats en les relacions unàries són els mateixos que en les binàries: 1:1, 1:N i N:M.

Exemple: relació estar_casat (unària 1:1)

— Donada 1 persona, amb quantes persones pot estar casada?

Resposta: Només amb 1. Per tant, és 1:1.

Com pintar una relació ternària?

Les connectivitats de les relacions ternàries s'expressen amb 3 dades, corresponents a les connectivitats de les respectives 3 entitats. Per exemple: (1:1:N), (1:N:M), etc.

Per a saber com pintar la relació ternària hem de fer 3 preguntes. En cada pregunta es parteix d'una parella d'ocurrències de dues entitats i es pregunta amb quantes ocurrències de la 3a entitat pot estar relacionada (com a màxim).

Exemple: relació impartir entre PROFESSORS, GRUPS i ASSIGNATURES

— El professor Abdó, al grup 1DAM... quantes assignatures pot impartir? Moltes (BD i PRG)

— El professor Abdó, l'assignatura BD... a quants grups la pot impartir? Molts (1DAM i 1DAM-SP)

— L'assignatura BD al grup 1DAM-SP... quants professors la poden impartir? Només 1 (Abdó)

Per tant, la connectivitat és (1:N:M):

  • (1 prof, 1 grup) → N assignatures
  • (1 prof, 1 assignatura) → M grups
  • (1 assignatura, 1 grup) → 1 professor

Les possibles connectivitats de les ternàries són: 1:1:1, N:M:M, 1:N:M, 1:1:N.

Altra notació: cardinalitats (mínima, màxima)

Alguns autors representen la connectivitat amb parelles (mínima, màxima) al costat de cada entitat:

  • Escriure: un autor pot escriure com a mínim 1 llibre i com a màxim molts → (1,n). Un llibre pot ser escrit per 0 autors (anònim) i com a màxim molts → (0,n).
  • Nàixer: un autor ha nascut en exactament 1 ciutat → (1,1). En una ciutat poden haver nascut de 0 a molts → (0,n).
  • Morir: un autor pot no haver mort o haver mort en 1 ciutat → (0,1). En una ciutat poden haver mort de 0 a molts → (0,n).

Resumint

No se sol usar esta notació perquè:

En compte de... Usarem...
( 0 , No res (per defecte el mínim és 0)
( 1 , La restricció d'existència: E (ho vorem més endavant)
, 1 ) Triangle del rombe blanc
, n ) Triangle del rombe negre
Exercicis de connectivitat

6. Posa la connectivitat a les relacions dels exercicis anteriors.

7. Inventa't relacions de diferents tipus: diferent grau (unàries/binàries/ternàries) i diferent connectivitat (1:1 / 1:N / N:M / N:M:M...). Inventa't també algunes ocurrències.

8. Inventa't 2 entitats amb més d'una relació entre elles.

9. Posa la connectivitat a estes relacions matrimonials: com faries per a representar la relació estar_casat_pel_civil?


2.4 Entitats dèbils

Definició

Hem vist que les entitats es representen amb un rectangle. Però hi ha dos tipus d'entitats:

Tipus Significat Representació
Entitat forta Les seues ocurrències no necessiten estar relacionades amb ocurrències d'altres entitats per a existir. Rectangle simple
Entitat dèbil Les seues ocurrències que necessiten estar relacionades amb alguna ocurrència d'una altra entitat per a existir. Doble rectangle

Si una entitat és dèbil, es diu que té una restricció d'existència (E). A més, pot tindre una restricció d'identificació (ID).

Restricció d'existència (E)

Una entitat té una restricció d'existència respecte a una relació si cada ocurrència d'eixa entitat no pot existir sense estar relacionada amb alguna ocurrència de l'altra entitat.

Dit d'altra forma: si desapareix una ocurrència de l'entitat forta, totes les ocurrències de l'entitat dèbil que en depenen desapareixen amb ella.

Exemple

En una biblioteca, l'entitat EXEMPLARS (cada còpia física d'un llibre) depén de l'entitat LLIBRES: no pot existir un exemplar sense el llibre corresponent. Si esborrem un llibre, s'esborren tots els seus exemplars.

Representació: doble rectangle i una E en l'arc de la relació.

Restricció d'identificació (ID)

Una entitat té una restricció d'identificació respecte a una relació quan, a més de la restricció d'existència, les seues ocurrències no es poden identificar només amb la seua clau: necessiten també la clau de l'entitat forta de la qual depenen.

Exemple

Per a identificar un EXEMPLAR no basta amb el seu número d'exemplar (núm_exemplar), perquè podria haver dos exemplars número 3 de llibres diferents. Cal també el codi del LLIBRE al qual pertany: la clau d'EXEMPLARS serà (codi_llibre, núm_exemplar).

Representació: doble rectangle i ID en l'arc de la relació.

Nota

Si una entitat té una restricció d'identificació (ID), també té restricció d'existència (E). Però no al revés: pot tindre E sense tindre ID.

Exercicis d'entitats dèbils

14. En l'institut volen tindre informació de les aules (ubicació i metres quadrats), dels ordinadors (cpu, ram i dd) i en quina aula està cada ordinador. En la porta de cada aula hi ha un cartell on indica el codi de l'aula. Els ordinadors tenen una etiqueta que els identifica. Pensa com faries l'E-R en cadascun d'estos dos supòsits:

a) En l'etiqueta dels ordinadors hi ha un codi diferent a cada ordinador de l'institut.

b) En l'etiqueta dels ordinadors consta el codi de l'aula i un codi diferent a cada ordinador de l'aula.


2.5 Altres restriccions d'integritat

Les restriccions d'integritat són limitacions sobre les dades que el propi esquema E-R ja capta directament en molts casos:

Tipus de restricció Com es representa en l'E-R Exemple
En un atribut Clau (subratllat), domini (al costat), no nul (cercle) El dni és clau → no es pot repetir. L'estat_civil té domini {S, C, D, V}.
En una relació Connectivitat (triangle blanc/negre) Una relació 1:N amb triangle blanc a A → un A no pot relacionar-se amb molts B.
En una entitat Restriccions E i ID Una E sobre PROFESSORS → no pot haver un professor sense departament.

Però de vegades apareixen restriccions que no poden ser captades en l'E-R. En eixos casos s'especificaran en llenguatge natural, a continuació de l'esquema E-R, en un apartat d'«Altres restriccions».

Exemple de restricció no captable en l'E-R

«L'edat mitjana de totes les ocurrències de PERSONES ha de superar els 20 anys.»

Exercicis de restriccions

13. Suposem les entitats ALUMNES i ORDINADORS (amb els atributs que cregues convenients) i la relació assignar, que assigna ordinadors als alumnes. Un alumne només pot tindre un ordinador però un ordinador es pot assignar a diferents alumnes. Fes un esquema E-R per a cadascun dels supòsits següents:

a) No pot haver cap alumne sense ordinador.

b) No pot haver cap ordinador sense assignar.

c) Tots els alumnes han de tindre un ordinador assignat i cada ordinador ha d'estar assignat obligatòriament a un alumne almenys.