|
Normalización de Bases de Datos Fuente: Dataprix.com, consultado 20/03/2009
Introducción Los seres humanos poseemos la tendencia de facilitar las cosas al máximo. Lo hacemos con casi todo, con los automóviles, artefactos eléctricos, empresas (operaciones, servicios, ventas, entre otras actividades). En actividades, que sean practicas, confiables y eficientes. Es por ello, que el proceso para el diseño de almacenamiento de datos, ha constituido durante mucho tiempo un paso importante en la organización de toda empresa, y que las bases de datos juegan un papel significativo, ya que son las encargadas de almacenar datos (Grupo de datos) de manera organizada, con la finalidad de obtener respuestas eficientes. A continuación, se definirá el proceso de transformación de los datos complejos a un conjunto de datos con estructuras más simples y reducidas llamada Normalización, sus ventajas, formas, y ejemplos prácticos que ayuden al lector en la puesta en práctica de este interesante tema.
En los modelos de bases de datos relacionales, la normalización, es el proceso de organizar los datos para reducir la duplicidad de información, este proceso generalmente implica la fragmentación de una base de datos en dos o más tablas y de establecer relaciones entre ellas. Según la Universidad Nacional Abierta en su libro Base de Datos, la normalización "es un proceso reversible de reemplazar un conjunto dado de relaciones por un sucesivo conjunto de relaciones las cuales tienen progresivamente una estructura más simple y regular". Pág. 191. Desde una perspectiva mas amplia, la normalización es un proceso de creación de estructuras de base de datos eficientes, confiables, flexibles y apropiadas para el almacenamiento de información, siendo su objetivo primordial el aislamiento de los datos, de forma tal que al momento de adicionar, modificar o eliminar el valor de un campo, se pueda hacer sobre una sola tabla, la cual posteriormente se propagara a las demás tablas relacionadas. Cabe considerar que, la normalización como una serie de reglas permite ayudar a los diseñadores de base de datos en el desarrollo de esquemas que reducen los problemas lógicos. Cada regla está basada en la que le antecede. La normalización se adoptó porque el antiguo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos. A modo ilustrado, la necesidad de normalizar, esta dada por los siguientes aspectos:
El proceso de normalización se basa en la descomposición sin pérdida - de datos - de las tablas que están en una forma normal inferior, obteniéndose una forma normal superior. El proceso dedescomposición sin pérdida, significa que se ha de dividir o descomponer la tabla en otras con menor cantidad de atributos sin que haya pérdida de información. El objetivo fundamental de la normalización es dale consistencia a la base de datos. Un modelo de base de datos completamente normalizado no tendrá problemas de acceso, es decir, leer, almacenar o actualizar la información. Grados de Normalización La teoría de base de datos describe el grado de normalización de una tabla en términos de "formas normales" (FN). Cuanto mayor sea la forma normal a la que pertenezca, mayor será la cantidad de restricciones a las que se ajustará la base de datos, y más protegida estará contra las anomalías. A medida que la base de datos crezca en su nivel de normalización, serán cada vez más las restricciones con las que cumplirá. Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Existen otras reglas de las cuales se hará mención a continuación:
Cada nuevo nivel o forma nos acerca más a hacer una base de datos verdaderamente relacional, aunque son posibles estos grados de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones. Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalización, se debe asegurar de que la aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes.
Primera Forma Normal La primera forma normal permite modelar una tupla[1] de una Relación determinada. Una relación R estará en Primera Forma Normal si cada una de sus tuplas tiene el mismo número de atributos. Una Relación R está en Primera Forma Normal:
Segunda Forma Normal La Segunda y Tercera Forma Normal tratan con la relación existente entre los atributos que componen la Clave[2] de una tupla y el resto de los atributo pertenecientes a la tupla. La Segunda Forma Normal se viola cuando un atributo no integrante de la clave posee información relacionada con un subconjunto de la Clave.
Tercera Forma Normal Una relación R está en Tercera Forma Normal si se encuentra en Segunda Forma Normal y además cada atributo que no forma parte de la Clave depende en forma directa de ella. La Tercera Forma Normal se viola cuando un atributo no integrante de la Clave provee información acerca de otro atributo no participante en la Clave.
Cuarta Forma Normal Una relación R se encuentra en Cuarta Forma Normal si se encuentra en Tercera Forma Normal y además cada tupla en R consiste de una Clave primaria que identifica la tupla y del conjunto de valores de los atributo, los cuales son mutuamente independientes, que describen a dicha tupla.
Quinta Forma Normal La Quinta Forma Normal se relaciona con los casos donde la información puede reconstruirse a partir de piezas más pequeñas de información, las cuales pueden ser almacenadas utilizando menos redundancia. La Segunda, Tercera y Cuarta Forma Normal se pueden utilizar para este propósito, pero la Quinta Forma Normal se generaliza a los casos no cubiertos por las anteriores.
Fuente: Escuela de Educación Técnica (Informática/Normalización), consultado 20/03/2009
Se busca normalizar la siguiente tabla que contiene todos los datos de la base de datos:
Una vez que tenemos la información de los datos que conformarán la base de datos, se procederá primero a crear un Diccionario de Datos:
Primera Forma Normal (1FN): Analizando todos los atributos o datos anteriores, se pueden definir algunos repetitivos y otros no repetitivos. Por lo que agruparemos los atributos de la siguiente manera:
Como los atributos Id e Id_alumno son únicos, es decir, dos alumnos no podrán tener el mismo código y dos registros no podrán ser iguales; además los atributos del Grupo Repetitivo contendrán datos que se pueden repetir por cada alumno; la Primera Forma Normal quedaría entonces:
Segunda Forma Normal (2FN): La relación antes descrita estará en segunda forma normal si ninguno de los atributos suministra información sobre un subconjunto de la clase.
Tercera Forma Normal (2FN): La relación estará en Tercera Forma Normal eliminando la relación que existe entre los atributos que no forman parte de la clave.
En esta Tercera Forma Normal cada atributo es parte de la Clave o provee información acerca de ella y nada más.
Referencias
Bibliografía
González, Carlos A. “Sistemas de Bases de Datos”. Editorial Tecnológica de Costa Rica. 1996 IBM Corporation, "Base de Datos I". S/E. 2001 MySql Hispano, “La Normalización de Base de Datos”, Dirección electrónica: http://www.eet2mdp.edu.ar/alumnos/MATERIAL/MATERIAL/info/infonorma.pdf, (Consultado: 18/03/09). Universidad Nacional Abierta (1997). “Base de Datos”. Impresión Gráficas COLSON, C.A. Caracas – Venezuela Viescas, Jhon. “Microsoft Access 2000”. Editorial Mc Graw Hill. 1999 |
Integrantes:
|