Qué es la normalizaciónNormalización es un conjunto de reglas que sirven para ayudar a losdiseñadores a desarrollar un esq...
usted tiene tres diferentes grupos: clientes, productos y pedidos. Sisigue las guías de la normalización, podría crear las...
ID ClienteNombreApellidosNombre_Producto1Costo_Producto1Imagen_Producto1Nombre_Producto2Costo_Producto2Imagen_Producto2Fec...
Primera Forma NormalClientes PedidosID_Productos ID_ProductosID_Clientes Nombre_ProductosNombre Costo_ProductoApellidos Im...
más de treinta veces. Cada vez que una nueva parte se tenía quedar de alta, se creaba una nueva columna para almacenar lai...
Nombre_Cia_EnviosTendría que hacer algunos cambios en sus reglas del negocio paraque esto fuera aplicable, pero para ilust...
Numero_Pedido Costos_Productos Cantidad_Pedidos Fecha_PedidoID_Cia_Envios Foto_Producto Cantidad_PedidoNombreApellidosDire...
De acuerdo con las reglas, si aplica la Primera Forma Normal, lacolumna de dirección debería sacarse de esta tabla y reemp...
Boyce-Codd, Cuarta Forma Normal, Quinta Forma Normal o FormaNormal de Proyección-Unión, Forma Normal de Proyección-UniónFu...
Próxima SlideShare
Cargando en…5
×

¿Qué es la normalización?

808 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
808
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
10
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

¿Qué es la normalización?

  1. 1. Qué es la normalizaciónNormalización es un conjunto de reglas que sirven para ayudar a losdiseñadores a desarrollar un esquema que minimice los problemasde lógica. Cada regla está basada en la que le antecede. Lanormalización se adoptó porque el viejo estilo de poner todos losdatos en un solo lugar, como un archivo o una tabla de la base dedatos, era ineficiente y conducía a errores de lógica cuando setrataba de manipular los datos. Por ejemplo, vea la base de datosMiTienda. Si almacena todos los datos en la tabla Clientes, éstapodría verse como se muestra a continuación:ClientesID_Cliente NombreApellidosNombre_Producto1 Costo_Producto1Imagen_Producto1 Nombre_Producto2 Costo_Producto2Imagen_Producto2 Fecha_PedidoCantidad_PedidoNombre_Cia_EnviosLa tabla se ha descrito de manera abreviada pero aun así representala idea general.¿Cómo podría añadir un nuevo cliente en su tabla Clientes? Deberíaañadir un producto y un pedido también. ¿Qué tal si quisiera emitirun informe de todos los productos que vende? No podría separarfácilmente los productos de los clientes con una simple instrucciónSQL. Lo bello de las bases de datos relacionales, si están biendiseñadas, es que puede hacer esto fácilmente.La normalización también hace las cosas fáciles de entender. Losseres humanos tenemos la tendencia de simplificar las cosas almáximo. Lo hacemos con casi todo desde los animales hasta con losautomóviles. Vemos una imagen de gran tamaño y la hacemosmenos compleja agrupando cosas similares juntas. Las guías que lanormalización provee crean el marco de referencia para simplificar laestructura. En su base de datos de muestra es fácil detectar que
  2. 2. usted tiene tres diferentes grupos: clientes, productos y pedidos. Sisigue las guías de la normalización, podría crear las tablasbasándose en estos grupos.El proceso de normalización tiene un nombre y una serie de reglaspara cada fase. Esto puede parecer un poco confuso al principio,pero poco a poco irá entendiendo el proceso, así como las razonespara hacerlo de esta manera. A la mayoría de la gente le encantanlas hojas de cálculo por la forma en la que manejan sus datos. Eltiempo que le lleve reconfigurar su esquema para ajustarlo alproceso de normalización, siempre será bien invertido. Al fin y alcabo, esto le tomará menos tiempo que el que tendría que invertir ,para cortar y pegar sus columnas de datos para generar el informeque quiere su jefe.Otra ventaja de la normalización de su base de datos es el consumode espacio. Una base de datos normalizada puede ocupar menosespacio en disco que una no normalizada. Hay menos repetición dedatos, lo que tiene como consecuencia un mucho menor uso deespacio en disco.Grados de normalizaciónExisten básicamente tres niveles de normalización: Primera FormaNormal (1NF), Segunda Forma Normal (2NF) y Tercera FormaNormal (3NF). Cada una de estas formas tiene sus propias reglas.Cuando una base de datos se conforma a un nivel, se consideranormalizada a esa forma de normalización. Por ejemplo,supongamos que subase de datos cumple con todas las reglas del segundo nivel denormalización. Se considera que está en la Segunda Forma Normal.No siempre es una buena idea tener una base de datos conformadaen el nivel más alto de normalización. Puede llevar aun nivel decomplejidad que pudiera ser evitado si estuviera en un nivel másbajo de normalización.Primera Forma NormalLa regla de la Primera Forma Normal establece que las columnasrepetidas deben eliminarse y colocarse en tablas separadas. Ésta esuna regla muy fácil de seguir. Observe el esquema de la tablaClientes de la base de datos.Clientes
  3. 3. ID ClienteNombreApellidosNombre_Producto1Costo_Producto1Imagen_Producto1Nombre_Producto2Costo_Producto2Imagen_Producto2Fecha_PedidoCantidad_PedidoNombre Cia Envios--La tabla tiene varias columnas repetidas. Éstas se refierenprincipalmente a los productos. De acuerdo con la regla, debeeliminar las columnas repetidas y crearles su propia tabla.Eliminación de datos repetidos en una base de datos--Ahora tiene dos tablas. Pero todavía hay un problema. No hay formade relacionar los datos de la tabla original con los de la nueva tabla.Para hacerlo, debe añadir un campo clave a la segunda tabla deforma que se establezca la relación. Añada a la tabla Productos unaclave primaria que se llame ID_Producto y añada una clave a latabla Clientes que la relacione con la tabla Productos. El campoID_Producto es el candidato ideal.
  4. 4. Primera Forma NormalClientes PedidosID_Productos ID_ProductosID_Clientes Nombre_ProductosNombre Costo_ProductoApellidos Imagen_ProductoDireccionNumero_PedidoFecha_PedidoCantidad_PedidoClave_Cia_Envios--Así, se ha establecido una relación uno a varios. Ésta representa loque la base de datos estará haciendo en la vida real. El clientetendrá muchos productos que podrá comprar,sin importar cuántos otros clientes quieran comprarlos también.Además, el cliente necesitará haber pedido un producto para ser uncliente. Usted ya no está obligado a añadir un cliente cada vez queañade un nuevo producto a su inventario.Poner la base de datos en la Primera Forma Normal resuelve elproblema de los encabezados de columna múltiples. Muy a menudo,los diseñadores de bases de datos inexpertos harán algo similar a latabla no normalizada. Una y otra vez, crearán columnas querepresenten los mismos datos. En una empresa de servicios deelectricidad, había una base de datos para el control de refaccionesde una planta nuclear. La tabla de su base de datos, la cual conteníalos números de parte de las refacciones, tenía una columna repetida
  5. 5. más de treinta veces. Cada vez que una nueva parte se tenía quedar de alta, se creaba una nueva columna para almacenar lainformación. Obviamente, el diseño de la base de datos era bastantepobre y, por lo mismo, resultaba una pesadilla para susprogramadores/administradores.La normalización ayuda a clarificar la base de datos ya organizarlaen partes más pequeñas y más fáciles de entender. En lugar detener que entender una tabla gigantesca y monolítica que tienemuchos diferentes aspectos, usted sólo tiene que entender objetospequeños y más tangibles, así como las relaciones que guardan conotros objetos también pequeños. No es necesario mencionar que unmejor entendimiento del funcionamiento de su base de datosconducirá aun mejor aprovechamiento de sus activos.Segunda Forma NormalLa regla de la Segunda Forma Normal establece que todas lasdependencias parciales se deben eliminar y separar dentro de suspropias tablas. Una dependencia parcial es un término que describea aquellos datos que no dependen de la clave de la tabla paraidentificarlos. En la base de datos de muestra, la información depedidos está en cada uno de los registros. Sería mucho más simpleutilizar únicamente el número del pedido. El resto de la informaciónpodría residir en su propia tabla. Una vez que haya organizado lainformación de pedidos.Eliminación de las dependencias parciales -Segunda Forma NormalClientes Pedidos ProductosID_Productos ID_Productos ID_ProductoID_Clientes Nombre_Productos Fecha_CompraNombre Cantidad_Pedido Costos_ProductosApellidos Imagen_ProductoDireccionNumero_Pedido
  6. 6. Nombre_Cia_EnviosTendría que hacer algunos cambios en sus reglas del negocio paraque esto fuera aplicable, pero para ilustrar la normalización, así estábien.Una de las mayores desventajas de la normalización es el tiempoque lleva hacerlo. La mayoría de la gente está demasiado ocupada,y emplear tiempo para asegurarse de que sus datos estánnormalizados cuando todo funciona más o menos bien, parece serun desperdicio de tiempo. Pero no es así. Usted tendrá que emplearmás tiempo arreglando una base de datos no normalizada que elque emplearía en una normalizada.Al haber alcanzado la Segunda Forma Normal, usted puede disfrutarde algunas de las ventajas de las bases de datos relacionales. Porejemplo, puede añadir nuevas columnas a la tabla Clientes sinafectar a las tablas Productos y Pedidos. Lo mismo aplica para lasotras tablas. Alcanzar este nivel de normalización permite que losdatos se acomoden de una manera natural dentro de los límitesesperados.Una vez que ha alcanzado el nivel de la Segunda Forma Normal, sehan controlado la mayoría de los problemas de lógica. Puedeinsertar un registro sin un exceso de datos en la mayoría de lastablas. Observando un poco más de cerca la tabla Clientes, vemos lacolumna Nombre_Cia_Envios. Ésta no es dependiente del cliente. Elsiguiente nivel de normalización explicará cómo solucionar esto.cual no se identifica únicamente por la clave. Podría separarestos datos de la tabla y ponerlos en una tabla aparte.Eliminación de los datos que no son claves para la Tercera FormaNormalClientes Productos PedidoMaestro PedidoDetallado Cias_EnviosID_cliente ID_Producto ID_Pedido ID_PedidoDetalladoID_Cia_EnviosID_Producto Nombre_Producto Fecha_Pedido ID_PedidoNombre_Cia_Envios.
  7. 7. Numero_Pedido Costos_Productos Cantidad_Pedidos Fecha_PedidoID_Cia_Envios Foto_Producto Cantidad_PedidoNombreApellidosDireccionAhora todas sus tablas están en la Tercera Forma Normal. Esto le damás flexibilidad y previene errores de lógica cuando inserta o borraregistros. Cada columna en la tabla está identificada de maneraúnica por la clave, y no hay datos repetidos. Esto provee unesquema limpio y elegante, que es fácil de trabajar y expandir.Qué tan lejos debe llevar la normalizaciónLa siguiente decisión es ¿qué tan lejos debe llevar la normalización?La normalización es una ciencia subjetiva. Determinar lasnecesidades de simplificación depende de usted. Si su base de datosva a proveer información aun solo usuario para un propósito simpley existen pocas posibilidades de expansión, normalizar sus datoshasta la 3FN sea quizá algo extremoso. Las reglas de normalizaciónexisten como guías para crear tablas que sean fáciles de manejar,así como flexibles y eficientes.A veces puede ocurrir que normalizar sus datos hasta el nivel másalto no tenga sentido. Por ejemplo, suponga que añade una columnaextra para la dirección en su base de datos. Es muy normal tenerdos líneas para la dirección. El esquema de la tabla podría versecomo se muestra a continuación:ID_ClienteNombreApellidosDireccion1Direccion2
  8. 8. De acuerdo con las reglas, si aplica la Primera Forma Normal, lacolumna de dirección debería sacarse de esta tabla y reemplazarsecon la clave de una nueva tabla. El resultado de este esquema semuestra a continuación:ID_Ciente ID_DireccionNombre ID_ClienteApellidos DireccionLa base de datos ahora cumple con la Primera Forma Normal. Losclientes pueden tener más de una dirección. El problema aquí es queusted ha complicado demasiado una idea simple, por tratar deseguir las reglas de normalización. En el ejemplo mostrado, lasegunda dirección es totalmente opcional. Está ahí sólo para colectarinformación que pudiera utilizarse como información de contacto. Nohay necesidad de partir la tabla en dos y forzar las reglas de lanormalización. En esta instancia, el exceso de normalización frustrael propósito para el que se utilizan los datos. Añade, de manerainnecesaria, un nivel más de complejidad. Una buena forma dedeterminar si está llevando demasiado lejos su normalización, es verel número de tablas que tiene. Un número grande de tablas pudieraindicar que está normalizando demasiado. Observe su esquema.¿Está dividiendo tablas sólo para seguir las reglas o estas divisionesson en verdad prácticas? Éstas son el tipo de cosas que usted, eldiseñador de la base de datos, necesita decidir. La experiencia y elsentido común lo pueden auxiliar para tomar la decisión correcta. Lanormalización no es una ciencia exacta. Es subjetiva.mal de Clave de Dominio. Estas formas de normalización puedenllevar las cosas más allá de lo que necesita. Éstas existen para haceruna base de datos realmente relacional. Tienen que verprincipalmente con dependencias múltiples y claves relacionales.En resumenLa normalización es una técnica que se utiliza para crear relacioneslógicas apropiadas entre tablas de una base de datos.Ayuda a prevenir errores lógicos en la manipulación de datos. Lanormalización facilita también agregar nuevas columnas sin romperel esquema actual ni las relaciones.Existen varios niveles de normalización: Primera Forma Normal,Segunda Forma Normal, Tercera Forma Normal, Forma Normal
  9. 9. Boyce-Codd, Cuarta Forma Normal, Quinta Forma Normal o FormaNormal de Proyección-Unión, Forma Normal de Proyección-UniónFuerte, Forma Normal de Proyección-Unión Extra Fuerte y FormaNormal de Clave de Dominio. Cada nuevo nivel o forma lo acercamás a hacer su base de datos verdaderamente relacional.Se discutieron las primeras tres formas. Éstas proveen suficientenivel de normalización para cumplir con las necesidades de lamayoría de las bases de datos.Normalizar demasiado puede conducir a tener una base de datosineficiente y hacer a su esquema demasiado complejo para trabajar.Un balance apropiado de sentido común y práctico puede ayudarle adecidir cuándo normalizar.

×