Diferència entre revisions de la pàgina «M2 - Bases de dades / UF1NF2: Annex: Decisions de disseny»

De wikiserver
Dreceres ràpides: navegació, cerca
(Alternatives de disseny)
(Ús alternatiu d'entitats o d'atributs)
Línia 61: Línia 61:
 
En la figura següent, es poden veure dos diagrames alternatius segons si es tracta el títol dels documents com un atribut o bé com una entitat.  
 
En la figura següent, es poden veure dos diagrames alternatius segons si es tracta el títol dels documents com un atribut o bé com una entitat.  
  
[[Imatge:uf1nf2_us_alternatiu_entitats_atributs.png |300px|center| Ús alternatiu d'entitats o d'atributs]]
+
[[Imatge:uf1nf2_us_alternatiu_entitats_atributs.png |400px|center| Ús alternatiu d'entitats o d'atributs]]
  
 
Quines són, aleshores, les diferències fonamentals entre les dues opcions considerades? Tractar un concepte del món real com una entitat en lloc de com un atribut comporta certs avantatges:  
 
Quines són, aleshores, les diferències fonamentals entre les dues opcions considerades? Tractar un concepte del món real com una entitat en lloc de com un atribut comporta certs avantatges:  
Línia 79: Línia 79:
 
Així, doncs, estem en condicions d’afegir, per exemple, un nou atribut a l’entitat POBLACIO que ens indiqui el nombre d’habitants, o bé d’establir una nova interrelació amb COMARCA que ens indiqui quina és la capital de cadascun d’aquests ens territorials, tal com es pot veure en la figura següent.
 
Així, doncs, estem en condicions d’afegir, per exemple, un nou atribut a l’entitat POBLACIO que ens indiqui el nombre d’habitants, o bé d’establir una nova interrelació amb COMARCA que ens indiqui quina és la capital de cadascun d’aquests ens territorials, tal com es pot veure en la figura següent.
  
[[Imatge:uf1nf2_nous_atributs.png |300px|center| Nous atributs]]  
+
[[Imatge:uf1nf2_nous_atributs.png |400px|center| Nous atributs]]  
  
 
Evidentment, aquestes opcions no haurien estat possibles si haguéssim conceptualitzat les poblacions com a simples atributs d’algunes entitats del model (concretament de COMARCA, IES i USUARI).
 
Evidentment, aquestes opcions no haurien estat possibles si haguéssim conceptualitzat les poblacions com a simples atributs d’algunes entitats del model (concretament de COMARCA, IES i USUARI).

Revisió del 16:56, 9 oct 2014

El disseny de les BD consisteix a definir una estructuració de les dades tal que satisfaci les necessitats dels futurs usuaris del sistema d’informació que es vol construir.

Per tal de satisfer com cal els requeriments funcionals dels usuaris, el dissenyador de BD haurà de considerar els diferents tipus d’operacions a realitzar sobre les dades.

          El dissenyador haurà de prendre certes decisions en la modelització 
          de les dades, que fins i    tot poden comportar la revisió de l’esquema 
          trobat inicialment, com per exemple en els àmbits següents:

              - Ús d’entitats o d’atributs
              - Ús d’entitats o d’interrelacions         
              - Ús d’una interrelació n-ària o de diferents interrelacions binàries
              - Ubicació dels atributs de les interrelacions
              - Ús de l’entitat DATA
                Pot ser interessant per al dissenyador de BD conèixer 
                algunes notacions alternatives que permetin representar 
                els mateixos conceptes del model ER de manera equivalent,
                com ara l’estàndard UML (unified modeling language), o 
                llenguatge unificat de modelització, el qual permet modelar
                simultàniament dades i funcionalitats, i que està especialment
                orientat al disseny global de dades i d’aplicacions que 
                s’hagin d’implementar preferentment mitjançant llenguatges 
                de programació orientats a objectes. 
          El dissenyador també haurà de detectar i evitar els paranys de disseny que es 
          puguin produir en fer conceptualitzacions errònies del món real, com ara:

               - Encadenament erroni d’interrelacions binàries 1-N
               - Ús incorrecte d’interrelacions binàries M-N
               - Falses interrelacions ternàries

A continuació, cal plasmar totes aquestes decisions en una documentació que permeti continuar treballant en les fases de disseny posteriors.

Alternatives de disseny

Una de les característiques fonamentals del model ER és que és molt flexible. Tant és així, que una mateixa realitat pot ser modelitzada de diferents maneres pel dissenyador, el qual de vegades disposa d’alternatives a l’hora de definir les entitats i les seves interrelacions.

Ús alternatiu d'entitats o d'atributs

          De vegades, un mateix objecte del món real es pot representar mitjançat un atribut 
          o una entitat. 

Considerem la ja coneguda entitat DOCUMENT, del model ER que hem elaborat per la XBIC, i que compta amb els atributs Signatura, Titol, AnyPublicacio, Import i ExclosPrestec. Es podria argumentar que el títol del document podria constituir una entitat per ell mateix. Els motius són els següents:

  • Una biblioteca pot disposar de més d’un exemplar d’alguns títols (per exemple, una biblioteca podrà tenir dos o tres exemplars d’una mateixa novel·la si la demanda ho aconsella).
  • Una biblioteca també pot disposar d’un mateix títol en diferents formats, cadascun constituirà un document diferent (pensem en el cas, per exemple, d’un mateix títol per a una obra que està disponible en format llibre, còmic i DVD).
  • Finalment, un mateix títol pot estar disponible a més d’una biblioteca, i la futura BD ha de possibilitar el préstec interbibliotecari de documents i, per tant, la seva consulta.

Si s’accepta aquest punt de vista, l’entitat DOCUMENT originària s’hauria de tornar a definir de la manera següent:

  • L’entitat DOCUMENT es quedaria amb els atributs Signatura, AnyPublicacio, Import i ExclosPrestec, i perdria l’atribut Titol.
  • Hi hauria una nova entitat, anomenada TITOL. En previsió de la possible coincidència d’un mateix títol per a diferents obres, establim un atribut anomenat Codi, com a clau primària de l’entitat, i un altre atribut anomenat Descripcio, que emmagatzemarà els diferents títols de què disposin els fons bibliogràfic i documental de la XBIC.
  • Seria necessari establir una interrelació entre les entitats TITOL i DOCUMENT, amb cardinalitat 1-N, i anomenar-la, per exemple, TitolDocument, per tal de reflectir l’associació entre cada títol i els documents respectius.

En la figura següent, es poden veure dos diagrames alternatius segons si es tracta el títol dels documents com un atribut o bé com una entitat.

Ús alternatiu d'entitats o d'atributs

Quines són, aleshores, les diferències fonamentals entre les dues opcions considerades? Tractar un concepte del món real com una entitat en lloc de com un atribut comporta certs avantatges:

  • Evita redundàncies de dades, ja que un mateix valor (com per exemple el títol d’un document) només s’introduirà un cop (i no un cop per l’atribut de cada exemplar), la qual cosa permet el següent:
  • Estalviar espai en la BD.
  • Minimitzar la possibilitat d’error dels usuaris (i al mateix temps facilitar-los la correcció).
  • Optimitzar les consultes sobre la BD i potenciar-ne la coherència dels resultats.
  • Assigna una cardinalitat (1 o N), i uns límits sobre aquesta, sense recórrer a l’ús d’atributs multivaluats (els quals no són directament implementables en el model relacional, que continua essent el model lògic més utilitzat), de tal manera que podem assignar 0, 1 o més valors en cada cas, segons la realitat que correspongui modelitzar.
  • Inclou informació addicional afegint nous atributs a l’entitat creada o, si no, relacionant aquesta amb altres entitats.

Així, doncs, estem en condicions d’afegir, per exemple, un nou atribut a l’entitat POBLACIO que ens indiqui el nombre d’habitants, o bé d’establir una nova interrelació amb COMARCA que ens indiqui quina és la capital de cadascun d’aquests ens territorials, tal com es pot veure en la figura següent.

Nous atributs

Evidentment, aquestes opcions no haurien estat possibles si haguéssim conceptualitzat les poblacions com a simples atributs d’algunes entitats del model (concretament de COMARCA, IES i USUARI).

Això no significa que sempre és recomanable l’ús d’entitats abans que no pas d’atributs. El primer que hauríem de fer abans d’adoptar una decisió en aquest sentit seria examinar si l’atribut en qüestió emmagatzemarà valors repetits, ja que en cas contrari, normalment, serà preferible obtenir només un objecte (una entitat) en lloc de tres (dues entitats i una interrelació), la qual cosa comporta un resultat molt més compacte.

          En definitiva, el fet de tractar un concepte com a entitat és una opció més 
          general que no pas tractar-lo com a atribut, la qual permet emmagatzemar 
          informació addicional, afegint nous atributs o bé establint noves interrelacions. 

Ara bé, decidir-se per aquesta opció només té sentit quan resulta d’alguna utilitat. Per exemple, difícilment es podria defensar el tractament del nom propi dels usuaris com a entitat per si mateix. Encara que, de ben segur, es produiran repeticions de valors en aquest atribut, utilitzar una entitat per representar-lo només complicaria l’esquema resultant, però no reflectiria millor la realitat que es vol modelitzar ni, en principi, aportaria cap avantatge respecte a l’opció inicial.

Ús alternatiu d'entitats o d'interrelacions






Ús alternatiu d'interrelacions binàries o ternàries

Ubicació dels atributs de les interrelacions

L'entitat DATA

Paranys del disseny

Encadenament erroni d'interrelacions binàries 1-N

Ús incorrecte d'interrelacions binàries M-N

Falses interrelacions ternàries