Saltar la navegación

8.4.- Redundancia en diagramas E/R.

Una de las principales razones por las que las bases de datos aparecieron fue la eliminación de la redundancia en los datos ¿Y qué es la redundancia?

Redundancia: reproducción, repetición,  reiteración, insistencia, reincidencia, reanudación. En bases de datos hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares.

Se muestra un diagrama Entidad Relación con las entidades Municipio, Vivienda y Persona relacionando Municipio con VIvienda, Vivienda con Persona, y Municipio con Persona
Jorge Castellanos (Creatiev Commons CCO)


La redundancia de datos puede provocar problemas como:

  • Aumento de la carga de trabajo: al estar almacenado un dato en varios lugares, las operaciones de grabación o actualización de datos necesitan realizarse en varias ocasiones.
  • Gasto extra de espacio de almacenamiento: al estar repetidos, los datos ocupan mayor cantidad de espacio en el medio de almacenamiento. Cuanto mayor sea la base de datos, más patente se hará esta problema.
  • Inconsistencia: es el problema más importante ya que produce que la información no sea fiable. Se produce cuando los datos que están repetidos, no contienen los mismos valores. Es decir, se ha actualizado su valor en un lugar y en otro no, por lo que no se sabría qué dato es válido y cual erróneo.

Para que una base de datos funcione óptimamente, hay que empezar realizando un buen diseño de ella. Es imprescindible que nuestros diagramas E/R controlen la redundancia y, para ello, debemos analizar el esquema y valorar qué elementos pueden estar incorporando redundancia a nuestra solución.

¿Dónde buscamos indicios de redundancia en nuestros esquemas? Existen lugares y elementos que podrían presentar redundancia, por ejemplo:

  • Atributos redundantes cuyo contenido se calcula en función de otros. Un atributo derivado puede ser origen de redundancia.
  • Varias entidades unidas circularmente o cíclica a través de varias relaciones, es lo que se conoce como un ciclo. En caso de existir un ciclo, deberemos tener en cuenta las siguientes condiciones, antes de poder eliminar dicha relación redundante:
    • Que el significado de las relaciones que componen el ciclo sea el mismo.
    • Que si eliminamos la relación redundante, el significado del resto de relaciones es el mismo.
    • Que si la relación eliminada tenía atributos asociados, éstos puedan ser asignados a alguna entidad participante en el esquema, sin que se pierda su significado.

Pero hay que tener en cuenta que no siempre que exista un ciclo estaremos ante una redundancia. Es necesario analizar detenidamente dicho ciclo para determinar si realmente existe o no redundancia.

Para finalizar, una apreciación. No toda redundancia es perjudicial. Existen ciertas circunstancias y condiciones en las que es conveniente (sobre todo a efectos de rendimiento) introducir cierta redundancia controlada en una base de datos. Por ejemplo, si el método de cálculo del valor de un determinado atributo derivado es complejo (varias operaciones matemáticas o de cadenas de caracteres, varios atributos implicados, etc.) y ralentiza el funcionamiento de la base de datos, quizá sea conveniente definir dicho atributo desde el principio y no considerarlo como un atributo redundante. La incorporación o no de redundancia controlada dependerá de la elección que haga el diseñador.

Repetición innecesaria o inútil de un concepto o elemento