Sistema para la normalización automática de Bases de Datos

Automatic database
normalization

Julio Rafael Contreras Díaz

DESCRIPCIÓN DEL PROBLEMA

La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. 

Julio Rafael Contreras Díaz

Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos.

DESCRIPCIÓN DEL PROBLEMA

Julio Rafael Contreras Díaz

Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". 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". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones

DESCRIPCIÓN DEL PROBLEMA

Julio Rafael Contreras Díaz

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, hay que asegurarse de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. 

DESCRIPCIÓN DEL PROBLEMA

Julio Rafael Contreras Díaz

Formulación del problema

¿Cómo desarrollar un sistema que automatice el procesos de normalización de bases de datos utilizando modelos conceptuales y lógicos estandarizados?

Julio Rafael Contreras Díaz

JUSTIFICACIÓN

Un paso indispensable para crear una base de datos es su diseño, el que tiene como punto de partida la planificación del tipo de información que se quiere almacenar en la misma;

 

Muchos desarrolladores de las BD no dan importancia a este aspecto, dando lugar a serios problemas en la manipulación de la información y creando redundancias de datos.

 

En este orden de ideas el proceso de diseño de una base de datos no siempre es sencillo de realizar, en ocasiones requiere de refinamientos sucesivos para lograr que el sistema relacional sea óptimo y en última instancia, evite la redundancia de los datos. 

Julio Rafael Contreras Díaz

Para lograr este objetivo y obtener estructuras de datos eficientes, se debe utilizar la técnica de normalización.

 

Esta realidad condiciona la necesidad de automatizar el proceso de normalización de bases de datos para contribuir a dicho proceso de normalización, que es justamente el proceso de estandarizado de reducción de un conjunto de relaciones a formas más deseables evitando problemas comunes de diseño lógico.

JUSTIFICACIÓN

Julio Rafael Contreras Díaz

  • Redundancia de los datos (repetición de los datos en un sistemas), anomalías de actualización
  • Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
  • Anomalías de borrado: perdida no intencional de datos debido a que han borrado otros datos
  • Anomalías de inserción: imposibilidad de adicionar datos en las bases de datos debido a la ausencia de otros datos.

JUSTIFICACIÓN

Julio Rafael Contreras Díaz

A modo de ilustración veamos los problemas que se plantean sobre la tabla LIBRO (Autor, Nacionalidad, Codigo_libro, Titulo_libro, Editor).

 

  • Renundancia: Cuando un autor tiene varios libros, se repite innecesariamente su nacionalidad.

 

  • Anomalias de inserción: no se puede dar de alta a un autor sin libros.

JUSTIFICACIÓN

Julio Rafael Contreras Díaz

   OBJETIVO GENERAL

Diseñar un sistema que automatice procesos de normalización de bases de datos utilizando modelos conceptuales y lógicos estandarizados

Julio Rafael Contreras Díaz

 Objetivos Específicos

1. Esquematizar el proceso de normalización de bases de datos pasando de un modelo conceptual a un modelo lógico estandarizado relacional.

 

2. Describir las etapas o fases que involucra el proceso de normalización de base de datos, utilizando métodos de estandarización para generar sus formas normales.

 

3. Utilizar el algoritmo Bernstein como método matemático que permita una manera estructurada, estandarizada y eficiente en la normalización de las relaciones de las bases de datos.

 

4. Generar prototipos para cada fase de normalización

Julio Rafael Contreras Díaz

  ANTECEDENTES

En realidad hay mucha información y teorías sobre normalización de bases de datos, pero un sistema como tal que automatice procesos de normalización no hay basado en las revisiones bibliográficas hechas hasta el momento.

 

Sin embargo hay documentos que generan propuestas sobre este tipo de sistema automatizado o software, su autora es la Lic. Beatriz Steimberg. En su propuesta llamada proyecto de normalización automática de bases de datos.

Julio Rafael Contreras Díaz

    REFERENCIAS

Aplicación para normalizar bases de datos relacionales

http://www.sociedadelainformacion.com/38/Relacional.pdf

Julio Rafael Contreras Díaz

Proyecto de normalización y depuración de la base de datos bibliográfica Janium. https://prezi.com/zk6w2ucwwkeh/proyecto-de-normalizacion-y-depuracion-de-la-base-de-datos-b/

Proyecto de normalización de bases de datos.

http://www.palermo.edu/ingenieria/downloads/CyT%204/CYT404.pdf

Codd, E. F. "A relational model of data for a large shared data banks Com of ACM". Communications of the ACM. 13/6. 377-387. New York, ACM, 1970. 

Made with Slides.com