Introducción
Uno de los procesos que permiten garantizar una organización eficiente y libre de redundancia en las bases de datos se denomina normalización. Existen diferentes niveles de normalización que están asociados a la aplicación de una serie de reglas denominadas «formas normales», las cuales especifican los elementos a validar en cada conjunto de datos y la forma como deben generarse nuevos grupos de datos.
Para aplicar de manera correcta las formas normales es necesario identificar diferentes tipos de dependencias entre los datos, por lo cual este tema se abordará en la primera parte de la unidad, facilitando posteriormente el análisis de dependencias entre los datos y la verificación del cumplimiento, o no, de las reglas de normalización.
En algunas ocasiones, el desempeño de la base de datos no es el adecuado por tener demasiados esquemas de relación que, si bien garantizan una estructuración lógica de los datos, demoran las operaciones necesarias para obtener cierta información e involucran más recursos de procesamiento que los necesarios.
Es entonces cuando se incorporan técnicas de desnormalización, sobre las cuales se explicarán algunos conceptos básicos y se explicará su uso a través de ejemplos.
Propósitos de aprendizaje
Propósito general
Optimizar modelos de bases de datos a partir de la implementación de técnicas de normalización y desnormalización.
Propósitos específicos
- Identificar los tipos de dependencias entre los datos para determinar la coherencia en los esquemas de relación.
- Conocer los fundamentos de un proceso de normalización y su incidencia en el modelado de una base de datos.
- Describir las formas normales y cómo se aplican a un conjunto de datos para optimizar el modelo de datos.
- Determinar qué es y cómo se aplican los procesos de desnormalización para mejorar el rendimiento en una base de datos.
Dependencias entre los datos
Cuando se analiza el nivel de redundancia presente en un esquema de relación es posible considerar diferentes tipos de dependencias de los datos. A continuación se presentan las características de estas dependencias, las cuales son un elemento importante en el proceso de depuración de los esquemas relacionales para poder optimizar el diseño del modelo relacional de una base de datos.
Sin importar su tipo, las dependencias no deben variar con el tiempo. Esto significa que el conjunto de atributos de una tupla debe cumplir siempre el tipo de dependencia definido, a menos que cambie el contexto de negocio que pretende reflejar el modelo de datos.
Dependencias entre los datos
Dependencia funcional
Una dependencia funcional es un tipo de restricción que existe entre las tuplas de un esquema de relación, que establece que un atributo implica o determina a otro.
Para ilustrar esta definición se toma como referencia un esquema de relación R que tiene un conjunto de atributos A y B, para denotar una dependencia funcional entre ellos se utiliza A→B, donde B depende funcionalmente de A. Otra expresión utilizada es que B está determinado por A, para esta última expresión se considera el término a la izquierda A como el determinante y B como el dependiente.
Para que se cumpla esta dependencia funcional es necesario que en toda instancia del esquema R, las tuplas que tengan el mismo valor de atributo para A, también lo tengan para B. El conocimiento del contexto de negocio es necesario para identificar las dependencias que se deben reflejar en el esquema; es decir, tener en cuenta las restricciones de datos que siempre deben darse.
![]() |
Para aclarar este concepto, revise el siguiente esquema de relación de Dependencia funcional. |
El siguiente ejemplo presenta dependencias funcionales y un atributo que no depende funcionalmente de ningún otro en el esquema de relación. En él, se analiza el esquema de relación «calificación», en el que confluye la información de profesores, asignaturas, estudiantes y sus calificaciones.
Dependencias entre los datos
Tipos de dependencia funcional
Existen diferentes tipos de dependencias funcionales que corresponden a las características de las relaciones entre los atributos. En la siguiente interactividad se relacionan las principales dependencias funcionales que se pueden encontrar durante el análisis de instancias de los datos.
Tipos de dependencias funcionales
Haga clic sobre el enlace para conocer los tres tipos de dependencias funcionales que existen.
Proceso de normalización de una base de datos
Se denomina normalización al proceso de analizar la forma como se encuentran organizados los datos en una base de datos. El proceso de normalización parte de la verificación de una serie de reglas que se deben cumplir en el modelo relacional y que incluyen, entre otras, la eliminación de redundancias y la identificación de dependencias.
El principal objetivo del proceso de normalización es verificar las condiciones mínimas de calidad que permitan una descripción idónea de los datos, sus relaciones y sus restricciones.
Proceso de normalización de una base de datos
Conceptos
Para abordar este tema es necesario conocer las nociones básicas de los procesos de modelado de bases de datos, pues se requiere corroborar que los esquemas, o tablas, resultantes representen el contexto de la realidad de negocio para la cual se está elaborando el diseño, y que conserven unos estándares que permitan optimizar el acceso y mantenimiento de la base de datos.
Este proceso también puede ser utilizado cuando el diseño de la base de datos parte de esquemas universales —información en una única tabla— que las organizaciones han construido de manera rudimentaria para el registro de los datos que consideran importantes para su negocio.
Edgar Frank Codd, inventor del modelo relacional, publicó en 1971 un informe técnico de IBM en el que socializó su trabajo sobre normalización de bases de datos. En dicho informe expuso lo que luego se conoció como la «primera forma normal», en la que analizaba anomalías que se podían presentar en el manejo de los datos y cómo eliminarlas.
Dos años más tarde, ya había definido las tres primeras formas normales y en 1974, junto a Raymond Boyce, definieron la forma normal Boyce-Codd. Estas formas normales determinan las propiedades que deben cumplir los atributos de un esquema de relación para optimizar su diseño.
Proceso de normalización de una base de datos
Primera forma normal
La primera forma normal, comúnmente representada como 1FN, está determinada por una de las características del modelo relacional que establece que un atributo debe ser atómico, es decir que el número de valores que puede tomar un atributo debe limitarse a uno.
Para que se considere que un esquema de relación, o tabla, está en primera forma normal se deben cumplir las características que se relacionan en este enlace.
Ejemplo
Haga clic sobre el enlace para ver un ejemplo de aplicación de la 1FN.
Proceso de normalización de una base de datos
Segunda forma normal
De acuerdo con Piattini, Calero y Vela (2010):
La segunda forma normal (2FN) está basada en el concepto de dependencias funcionales entre los atributos del esquema de relación y sus atributos clave. Cuando se trata de claves compuestas es necesario que la dependencia se dé por completo con todos los atributos clave y no con parte de ellos.
Ejemplo
Haga clic sobre el enlace para ver un ejemplo de aplicación de la 2FN.
Proceso de normalización de una base de datos
Tercera forma normal
La tercera forma normal (3FN) se basa en el concepto de dependencias transitivas y establece que ningún atributo debe depender de otros atributos que no sean el atributo clave de la relación.
Para que un esquema de relación esté en tercera forma normal se deben presentar las siguientes características:
- Debe estar en segunda forma normal.
- No deben existir atributos no principales que dependan transitivamente del atributo clave.
En los casos en los que el esquema solo tiene atributos principales o cuando tiene un único atributo no principal, se puede decir que dicho esquema ya se encuentra en tercera forma normal.
Ejemplo
Haga clic sobre el enlace para ver un ejemplo de aplicación de la 3FN.
Proceso de normalización de una base de datos
Forma normal Boyce-Codd
De acuerdo con Piattini, Calero y Vela (2010):
Las primeras tres formas normales fueron postuladas por Edgar Frank Codd; sin embargo, ciertos problemas asociados con los esquemas de relación donde existen varias claves candidatas hizo que fuesen insuficientes para solucionar los problemas que se presentaban, así que en colaboración con Raymond Boyce planteó la forma normal Boyce-Codd.
Un esquema de relación se encuentra en forma normal Boyce-Codd (FNBC) si todo determinante de una dependencia funcional tiene que ser una llave candidata.
Ejemplo
Haga clic sobre el enlace para ver un ejemplo de aplicación de la FNBC.
Desnormalización
Antes de exponer el concepto de desnormalización se deben tener en cuenta las siguientes dos circunstancias.
Aunque en el proceso de normalización se van constituyendo nuevos esquemas de relación disminuyendo la redundancia en la medida en que se verifican y aplican las formas normales, en algunas ocasiones la recuperación de información puede causar problemas de rendimiento en el servidor de base de datos.
De igual manera, aun cuando se puedan optimizar las consultas con el uso de técnicas para el manejo del lenguaje estructurado de consultas, en ocasiones se hace necesario invertir las transformaciones que se realizaron en el proceso de normalización para obtener una mejora en el rendimiento del servicio.
«Se denomina desnormalización al proceso de tomar un esquema normalizado y hacerlo no normalizado para ajustar el rendimiento de los sistemas de bases de datos y dar respuesta a procesos críticos durante su administración». (Silberschatz, 2005).
Desnormalización
Conceptos generales
Para realizar el proceso de desnormalización es necesario haber aplicado, con anterioridad, las reglas de normalización o por lo menos las tres primeras formas normales.
![]() |
Lo anterior significa que no es igual un modelo de datos sin normalizar a un modelo de datos desnormalizado. |
Al aplicar la desnormalización sobre un modelo de datos el número de tablas tiende a disminuir, con lo cual se reduce la complejidad de las consultas a realizar, aunque aumentará la redundancia y se dificultará el manejo de la integridad sobre los datos.
Desnormalización
Técnicas de desnormalización
Cuando se ha tomado la decisión de desnormalizar se debe elegir el mecanismo para hacerlo, lo cual dependerá del análisis previo de las causas y consecuencias en cada modelo de datos.
Estas tres técnicas son: combinación de tablas, duplicación de datos y particionamiento de tablas. Haga clic sobre el enlace para conocerlos en detalle.
Actividad de aprendizaje
![]() |
Haga clic sobre enlace para acceder a una actividad de emparejamiento que le permitirá poner en práctica los conocimientos aprendidos hasta este punto. |
Resumen
Un buen diseño de base de datos implica, entre otros aspectos, la reducción en la redundancia de la información. Es así que cuando se analiza el nivel de redundancia de un esquema de relación es posible considerar diferentes tipos de dependencia funcional de los datos: completa, trivial y transitiva.
El conocimiento del contexto de negocio es necesario para identificar las dependencias que se deben reflejar en el esquema; es decir, tener en cuenta las restricciones de datos que se presentan cotidianamente.
La normalización es el proceso de analizar la forma como se encuentran organizados los datos en una base de datos. El proceso de normalización parte de la verificación de una serie de reglas que se deben cumplir en el modelo relacional y que incluyen, entre otras, la eliminación de la redundancia y la identificación de dependencias, lo cual da como resultado la creación de nuevas tablas y sus respectivas relaciones.
Para normalizar una base de datos se aplican diferentes reglas denominadas formas normales, las cuales determinan las propiedades que deben cumplir los atributos de un esquema de relación para optimizar su diseño.
En la medida en que se verifican y aplican las formas normales en un proceso de normalización se van creando nuevos esquemas de relación, disminuyendo la redundancia de los datos, sin embargo es posible que la recuperación de la información pueda causar problemas de rendimiento en el servidor de base de datos.
Caso de estudio: unidad de fisioterapia
El siguiente caso le permitirá poner en práctica los conocimientos adquiridos en esta unidad en la solución de un problema cotidiano. Haga clic sobre el enlace para acceder al contenido.
Bibliografía ()
- Date, C. J. (2001). Introducción a los sistemas de base de datos. 7.ª ed. México: Pearson.
- Jiménez, Y. (2014). Bases de datos relacionales y modelado de datos. Madrid, España: IC Editorial.
- López Rodríguez, J. (2011). El modelo relacional.
- Oppel, A. (2010). Fundamentos de Bases de Datos. México: McGraw-Hill.
- Piattini, M., Calero, C., y Vela, B. (2010). Tecnología y Diseño de Base de Datos. México: Alfaomega Ra-Ma.
- Silberschatz, A. (2005). Fundamentos de Bases de Datos. 5.ª ed. Madrid, España: McGraw-Hill.
Referencias Web
- Dataprix.com. (2017). Datawarehouse manager. Recuperado de: https://goo.gl/XQnnXw.
- IBM. (Abril de 2003). Edgar F. Codd. IBM Research News. Recuperado de: https://goo.gl/qKed3E.
- IBM Knowledge Center. (S. f.). Diseño de base de datos con desnormalización. Recuperado de: https://goo.gl/qrNeXS.
- Poolet, M. A. (Abril de 2011). Database design essentials. SQL Server Magazine, 13. pp. 14-18. Recuperado de: https://goo.gl/KU6JAa.
- Wikipedia. (2017). Modelo de datos. Recuperado de: https://goo.gl/qXjn1i.










