M2 - Bases de dades / UF1NF2: Conceptes del model entitat-relació

De wikiserver
La revisió el 20:01, 6 oct 2014 per Rsort (Discussió | contribucions) (Atributs derivats)
Dreceres ràpides: navegació, cerca

Les estructures bàsiques del model Entitat-Relació (model ER) es corresponen, fonamentalment, amb els conceptes proposats en la formulació original d’aquest model que va fer el Dr. Peter Pin Shan Chen en el seu treball The Entity-Relationship Model.

La notació d’aquestes construccions és fonamentalment diagramàtica. Es coneixen com a diagrames ER o diagrames Chen.

Els diagrames ER són molt eficaços a l’hora de modelitzar la realitat per obtenir un esquema conceptual entenedor.

Entitats i atributs

Una entitat és alguna cosa que existeix en el món real, distingible de la resta de coses, i de la qual ens interessen algunes propietats.

Exemple entitat

Les entitats poden tenir una existència física, com per exemple una persona, un cotxe o un llibre, però també poden consistir en conceptes més abstractes, com ara una assegurança o un deute.

Exemple d'entitat
Imaginem que estem dissenyant la BD d’un institut de secundària, dedicat a l’ensenyament de diferents cicles formatius de formació professional. Cada persona concreta, alumna de l’institut esmentat, existeix en el món real i, per tant, es pot considerar una entitat.

Les entitats en els diagrames ER es representen amb un rectangle.

Amb el terme entitat es pot fer referència a un objecte específic del món real, però també a un conjunt d’objectes semblants, dels quals ens interessen les mateixes característiques. Per tant, hem de distingir:

  • Entitats-instància, com a objectes concrets del món real (per exemple, l’alumne Manel Riba és una entitat-instància).
  • Entitats-tipus, com a conjunts d’entitats-instància (per exemple, l’entitat tipus alumne).

Anomenem atributs les característiques que ens interessen de les entitats.

Habitualment, només ens interessarà modelitzar una part dels atributs d’una entitat, ja que hi podrà haver dades que només seran d’utilitat en àmbits molt específics.

Exemples d'atributs
En una entitat-instància referent als alumnes d’un institut (figura.1), ens pot resultar interessant recollir certes dades personals, per tal d’identificar correctament els alumnes a l’hora de comunicar-nos amb ells, o d’expedir notes i títols acadèmics, com ara el DNI, el nom, els cognoms, l’adreça, el telèfon, etc.
En canvi, altres dades de la mateixa entitat no seran d’interès per a nosaltres, encara que sí que ho puguin ser per a una BD que pertanyi a un altre àmbit. Per exemple, des d’un punt de vista sanitari, podria ser interessant registrar l’alçada, el pes o el grup sanguini d’aquestes mateixes persones.

Els atributs en els diagrames ER es representen amb una el·lipse.

Exemples atributs

Domini dels atributs

Conjunt de valors acceptables per a l'atribut en qüestió.

Exemples de domini i de valors vàlids
El domini de l’atribut Nom de l’entitat ALUMNE podria consistir en el conjunt de totes les cadenes de caràcters possibles d’una longitud determinada, tot excloent les xifres i els caràcters especials. Serien valors vàlids per a l’atribut Nom, definit d’aquesta manera, “Laia”, “Pol”, etc. En canvi, no ho serien, per exemple, una data, un nombre o una cadena de caràcters que n’inclogués algun d’especial, com ara “Mariona”.

Valor nul dels atributs

Els atributs d’una entitat-instància poden no tenir cap valor per a algun atribut concret. En aquests casos, també es diu que l’atribut té valor nul.

Exemple de valor nul
Pot passar que un alumne no tingui telèfon. Aleshores, l’atribut Telefon de l’entitat ALUMNE no contindrà cap valor o, dit d’una altra manera, tindrà un valor nul.

Atributs simples i compostos

Un atribut simple no es pot dividir en parts més petites sense que això comporti la pèrdua del seu significat.

Exemple d'atribut simple
L’atribut Nom és un atribut simple, perquè el seu significat és indivisible (encara que en alguns casos emmagatzemi noms compostos, com ara Joan Manel), i per tant no té sentit dividir el seu valor en cadenes de caràcters més petites per tractar-les per separat.

Un atribut compost és el que està subdividit en parts més petites (que també tenen la consideració d’atributs), les quals tenen un significat propi.

Exemple d'atribut compost
L’atribut Cognoms es pot tractar com un atribut compost, perquè es pot dividir en dues parts més petites (dos atributs, en definitiva) que emmagatzemin, una, el primer cognom, i l’altra el segon cognom. Aquests dos atributs es poden tractar per separat sense problemes.
Com que moltes persones estrangeres només tenen un cognom, en aquest exemple, l’atribut Cognom1 sempre tindrà algun valor per a qualsevol entitat-instància, però l’atribut Cognom2 haurà d’admetre valors nuls.
Exemple atribut compost

Pot resultar interessant utilitzar atributs compostos si ens consta que els usuaris es referiran, de vegades, a l’atribut globalment considerat, i de vegades als seus components per separat.

D’altra banda, els atributs compostos agrupen els atributs relacionats, estructurant-los jeràrquicament, de manera que normalment contribueixen a la comprensibilitat dels models.

Atributs monovaluats i multivaluats

Un atribut monovaluat és el que només pot emmagatzemar, com a màxim, un sol valor per a cada entitat instància concreta, en un moment determinat.

Exemple d'atribut monovaluat
És evident que cada persona només pot tenir un DNI vàlid. Per tant, l’atribut DNI de l’entitat ALUMNE s’haurà de tractar necessàriament com un atribut monovaluat.

Un atribut multivaluat pot emmagatzemar, per a cada entitat instància concreta, diferents valors al mateix temps.

Exemple atribut multivaluat
Exemple d'atribut multivaluat
En el món real, una persona pot tenir més d’un telèfon. Per exemple, pot disposar d’un telèfon fix al domicili particular, d’un altre a la feina, i a més pot tenir un telèfon mòbil. Per tant, l’atribut Telefon de l’entitat ALUMNE es pot tractar com un atribut multivaluat.

Els atributs multivaluats es representen en els diagrames ER amb una el·lipse de doble traç.

Cardinalitat dels atributs

Si cal, es poden especificar a continuació del nom de l’atribut, entre parèntesis i separats per comes, el límit màxim i el mínim de valors que s’han d’emmagatzemar, això és la cardinalitat dels atributs. I es poden presentar les opcions següents:

  • NomAtribut (1, 1): atribut univaluat obligatori (valor per defecte, si no s’especifica res).
  • NomAtribut (0, 1): atribut univaluat opcional (admet valors nuls).
  • NomAtribut (1, n): atribut multivaluat obligatori (no admet valors nuls).
  • NomAtribut (0, n): atribut multivaluat opcional (admet valors nuls).
Exemples de límits superior i inferior
Seguint amb el cas de l’atribut Telefon, es podria establir, per exemple, un límit inferior a 0 (ja que un alumne pot no disposar de cap telèfon durant un període de temps determinat) o a 1 (si volem obligar l’alumne a donar un telèfon de contacte, encara que no sigui el seu, sinó el d’un familiar, amic o veí).
I es podria limitar el nombre màxim de telèfons a emmagatzemar, per exemple, a 2 (si es preveu la possibilitat, força habitual, de tenir un fix i un mòbil) o a 3 (si, a més, considerem la possibilitat de registrar el telèfon del centre de treball).

Atributs derivats

Es diu que un atribut és derivat quan el seu valor es pot calcular a partir d’altres atributs o bé d’altres entitats interrelacionades.

Quan un atribut serveix per calcular el valor d’un atribut derivat, se’l considera atribut base d’aquest.

Exemples d'atribut derivat
Podríem necessitar saber quina és l’edat en anys dels alumnes, per tal de permetre’ls sortir o no de l’institut durant els períodes d’esbarjo, en funció d’aquella. Si l’entitat ALUMNE té un atribut anomenat DataNaixement, en podríem modelitzar un altre de derivat, anomenat Edat, que es calculés a partir de la data actual (prenent la data del sistema) de la data de naixement (registrada en l’atribut DataNaixement).
També podríem necessitar saber el nombre total d’assignatures a les quals està matriculat cada alumne. Podríem establir un atribut derivat anomenat NombreAssignatures, el valor del qual es calcul és en funció del nombre d’ocurrències d’una altra entitat-tipus anomenada ASSIGNATURA interrelacionades amb cadascuna de les instàncies de l’entitat ALUMNE.

Els atributs derivats constitueixen una redundància, és a dir, una repetició normalment innecessària de dades. Per aquest motiu, les dades dels atributs derivats inclosos en els diagrames ER no s’acostumen a emmagatzemen (i molt especialment si traduïm aquest esquema conceptual a l’esquema lògic més freqüentment utilitzat, és a dir, al model relacional), sinó que es calculen quan és necessari.

Clau primària

Notació

Interrelacions

Atributs de les interrelacions

Grau de les interrelacions

Connectivitat de les interrelacions

Interrelacions recursives

Notació

Entitats febles

Notació