Análise e deseño detallado de aplicacións de informática e de xestión/Heurísticas para a elección do construtor axeitado

En Galilibros, o Wikibooks en galego.
Saltar ata a navegación Saltar á procura


Aínda que é doado definir os construtores de entidade, atributo e relación, non é tan doado distinguir o seu papel no modelado da base de datos. A continuación veremos algunhas heurísticas que nos deberían axudar a decidir se un concepto é unha entidade, unha relación ou un atributo.

Entidades ou atributos[editar]

Os atributos non teñen existencia por si mesmos, senón que teñen sentido en canto a que pertencen a unha determinada entidade ou relación. Unha entidade debe estar caracterizada por algo máis que o seu identificador principal. Se existe información descritiva sobre un concepto ou obxecto, entón debería clasificarse coma entidade. Se só se precisa un identificador para un obxecto, o obxecto debería clasificarse coma un atributo. Así as entidades posúen información descritiva e os atributos non.

Por outra banda, podería ocorrer que aínda tendo un concepto para o que só existe un atributo identificador principal, este se relacione con máis dunha entidade. Neste caso podería aparecer coma unha entidade no esquema entidade-relación.

Entidades ou atributos multivaluados[editar]

Neste aspecto existen discrepancias. Algunhas propostas prefiren incorporar nos esquemas entidade-relación un atributo multivaluado como unha entidade e outras prefiren representalo coma un atributo.

Entidades ou relacións[editar]

O habitual é non ter problemas na diferenciación entre entidades e relacións. As relacións ligan unha ou varias entidades, mentres que as entidades non. Porén, en calquera relación pode realizarse un proceso de nominalización.

A pesar de que a nominalización pode resultar de utilidade nun proceso de deseño complexo, en especial ao tratar de reducir o grao dunha relación moi complexa ou para atopar elementos de interese para o sistema que inicialmente non se tiveran en conta, por regra xeral evitaranse as nominalizacións que non estean presentes non enunciados ou que non resulten evidentes no universo do discurso.

Estruturación dos problemas[editar]

Coa finalidade de facilitar a comprensión das solucións propostas aos problemas de modelado, cada problema expandirase arbitrariamente en varios pasos. En cada paso estudaranse un conxunto de supostos semánticos que darán lugar a un esquema entidade-relación parcial. En cada paso iranse engadindo elementos ao esquema parcial obtido no paso anterior e así sucesivamente ata completar o estudo de todos os supostos semánticos contemplados no enunciado do problema. Suporemos que o enunciado constitúe unha descrición correcta (e case sempre completa) so universo do discurso.

Unha aproximación utilizada frecuentemente na construción de esquemas entidade relación é identificar primeiro as entidades, logo as relacións e por último os atributos das entidades e relacións.

No noso caso identificaranse todos os elementos (entidades, atributos, relacións, cardinalidades, etc.) por cada conxunto de supostos semánticos analizados. Iso pode implicar que algúns conceptos se representen mediante os primeiros pasos con determinados construtores e que posteriormente, en sucesivos pasos, os novos supostamente semánticos analizados nos proporcionen información adicional que modifique algún dos supostos construtores seleccionados.

Por exemplo, podería ocorrer que un determinado concepto se representase nunha primeira aproximación coma un atributo e que segundo avanza a análise dos supostos do enunciado se descubra que se debe representar coma unha entidade.

Ás veces tamén se adoita recorrer a outro tipo de ferramentas que axudan a detectar información que non aparece explicitamente representada no enunciado e que resultan de gran utilidade para os deseñadores inexpertos. Así, unha proposta de metodoloxía de realización dun esquema conceptual que ten en conta estes aspectos contaría dos seguintes pasos:

  1. Estudar o enunciado que describe o universo do discurso e elaborar dúas listas: unha cos candidatos a ser entidades e outra coas posibles relacións xunto co seu tipo de correspondencia (1:1, 1:N, N:M). Asemade, especificaranse aqueles conceptos dubidosos que non se sabe como representar (se como entidade ou como relación).
  2. Construír unha matriz de entidades na que as filas e as columnas son nome de entidades e cada cela pode conter ou non nomes de relacións. Na elaboración desta matriz é posible detectar relacións que non aparecen explicitamente representadas no enunciado e que, porén, podería resultar interesante que se recollesen no esquema entidade-relación. Este tipo de relacións detéctanse, xeralmente, por sentido común, aínda que sería necesario sempre validalas canda o usuario.
  3. Utilizando a matriz de entidades constrúese un primeiro esquema entidade-relación coas entidades, atributos, relacións e os seus tipos de correspondencia. A este esquema engádenselle as cardinalidades mínimas e máximas.
  4. Neste último paso refínase o esquema entidade-relación do paso anterior estudando as posibles redundancias sempre e cando existan ciclos con relacións equivalentes no que respecta á semántica. Existe redundancia nun esquema entidade-relación cando a mesma semántica se recolle de maneira duplicada, polo que ese esquema podería representarse mantendo a mesma semántica con menos elementos. En xeral, pode haber redundancia cando existen ciclos nun esquema entidade-relación (varias entidades unidas por varias relacións semellantes en termos de semántica formando un ciclo). Neste caso, habería que comprobar se eliminando unha relación,a semántica representada nela pode obterse mediante as relacións restantes. Para iso, hai que estudar detalladamente as cardinalidades das relacións e facer a comprobación tanto nun sentido coma no outro.