DOCENTE:
DOCENTE:
Ing. Cornelio Alberto Pérez Méndez
Ing. Cornelio Alberto Pérez Méndez
MATERIA:
MATERIA:
Modulo
Modulo
TRABAJO:
TRABAJO:
Investigación:
Investigación:
las tres formas normales para aplicar en un diseño de
las tres formas normales para aplicar en un diseño de
BD.
BD.
ALUMNO:
ALUMNO:
Yesenia Marisol Reynoso López
Yesenia Marisol Reynoso López
ESPECIALIDAD:
ESPECIALIDAD:
Ofimática
Ofimática
SEMESTRE:
SEMESTRE:
5°semestre
5°semestre
FECHA
FECHA
23 de septiembre del 2015
23 de septiembre del 2015
En este tema conoceremos las tres formas normales para aplicar en un diseño de En este tema conoceremos las tres formas normales para aplicar en un diseño de bd (base de datos).
bd (base de datos).
Primera Forma Normal si:
Primera Forma Normal si:
Todos los atributos son atómicos. Un atributo esTodos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son simples e indivisibles.atómico si los elementos del dominio son simples e indivisibles.
Segunda forma normal:
Segunda forma normal:
Una relación está en 2FN si está en 1FN y si los Una relación está en 2FN si está en 1FN y si los atributos que no forman parte de ninguna clave dependen de forma completa de la atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal.clave principal.
Tercer forma normal.
Tercer forma normal.
La tabla se encuentra en 3FN si es 2FN y si no existeLa tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia funcional transitiva entre los atributos que no son clave.NORMALIZACIÓN DE BASES DE DATOS (LAS 3
NORMALIZACIÓN DE BASES DE DATOS (LAS 3 FORMAS NORMALES)
FORMAS NORMALES)
La normalización es el proceso de organizar los datos de una base de datos. Se 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 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 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. datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. Estas 3 reglas de Normalización se las conoce como las 3 FORMAS NORMALES. Estas 3 reglas de Normalización se las conoce como las 3 FORMAS NORMALES.
La Primera Forma Normal.
La Primera Forma Normal.
Esta primera Forma Normal, nos lleva a no repetir Esta primera Forma Normal, nos lleva a no repetir datos en nuestras tablas. Los famosos maestrodatos en nuestras tablas. Los famosos maestro – – detalle, deben aplicarse a la detalle, deben aplicarse a la estructura de la tabla. Si nuestra tabla de ventas repite una y otra vez (por cada estructura de la tabla. Si nuestra tabla de ventas repite una y otra vez (por cada venta), el nombre, el domicilio y otros datos del Cliente, es que no hemos aplicado venta), el nombre, el domicilio y otros datos del Cliente, es que no hemos aplicado esta Normalización. Si tenemos una tabla clientes, en la tabla ventas, solo debería esta Normalización. Si tenemos una tabla clientes, en la tabla ventas, solo debería figurar el código del cliente, para que el resto de los datos se puedan referenciar figurar el código del cliente, para que el resto de los datos se puedan referenciar automáticamente sin problemas y sin duplicar información. Lo mismo ocurriría en automáticamente sin problemas y sin duplicar información. Lo mismo ocurriría en una tabla de detalle de ventas, si por cada ítem vendido colocamos el detalle del una tabla de detalle de ventas, si por cada ítem vendido colocamos el detalle del producto, con su descripción, medidas, etc…Tendríamos un desaprovechamiento producto, con su descripción, medidas, etc…Tendríamos un desaprovechamiento de espacio y recursos muy grande. Para ello, tendremos nuestra tabla maestra de de espacio y recursos muy grande. Para ello, tendremos nuestra tabla maestra de Productos y con solo grabar el código de dicho producto en nuestra tabla de Productos y con solo grabar el código de dicho producto en nuestra tabla de ventas, será suficiente.
ventas, será suficiente.
La Segunda Forma Normal
La Segunda Forma Normal
(Si o si debe estar previamente aplicada la Primera (Si o si debe estar previamente aplicada la Primera Forma Normal) La Segunda Forma Normal nos habla de que cada columna de la Forma Normal) La Segunda Forma Normal nos habla de que cada columna de la tabla debe depender de la clave. Esto significa que todo un registro debe tabla debe depender de la clave. Esto significa que todo un registro debe depender únicamente de la clave principal, si tuviéramos alguna columna que se depender únicamente de la clave principal, si tuviéramos alguna columna que se repite a lo largo de todos los registros, dichos datos deberían atomizarse en una repite a lo largo de todos los registros, dichos datos deberían atomizarse en una nueva tabla. Veamos un ejemplo:Venta
Venta ID
ID
Item
Item ID
ID
Fecha
Fecha
Venta
Venta
Cliente
Cliente
Venta
Venta
Producto
Producto
ID
ID
Cantidad
Cantidad
1 1 1 1 01/12/2007 01/12/2007 2 2 2334 2334 1010 1 1 2 2 01/12/2007 01/12/2007 2 2 3333 3333 22 1 1 3 3 01/12/2007 01/12/2007 2 2 66643 66643 3434 1 1 4 4 01/12/2007 01/12/2007 2 2 21 21 33 2 2 1 1 02/12/2007 02/12/2007 5 5 3566 3566 66 Ahí
Ahí tenemos tenemos un un claro claro problema. problema. Acaso Acaso no no se se busca busca NO NO REPEREPETIR TIR DATOS DATOS ?Si?Si toda una venta tendrá el mismo numero de Cliente y la misma Fecha…Por que no toda una venta tendrá el mismo numero de Cliente y la misma Fecha…Por que no crear una Tabla de MAESTRO DE VENTAS y que contenga esos 2 datos ?Es crear una Tabla de MAESTRO DE VENTAS y que contenga esos 2 datos ?Es evidente que la columna Cliente Venta y Fecha Venta se repetirán por cada venta evidente que la columna Cliente Venta y Fecha Venta se repetirán por cada venta realizada. Es por ello que proponemos el siguiente esquema
realizada. Es por ello que proponemos el siguiente esquema
Venta
Venta ID
ID
Item
Item ID
ID
Producto
Producto ID
ID
Cantidad
Cantidad
1 1 1 1 3334 3334 1010 1 1 2 2 3333 3333 22 1 1 3 3 66643 66643 3434 1 1 4 4 21 21 33 2 2 1 1 3566 3566 66
Y ahora nuestra nueva tabla maestra Y ahora nuestra nueva tabla maestra
Venta
Venta ID
ID
Fecha
Fecha Venta
Venta
Cliente Venta
Cliente
Venta
1 01/12/2007 2
1 01/12/2007 2
2 02/12/2007 5
2 02/12/2007 5
Entonces, nuestra 2da Forma Normal nos habla de que cada columna de una Entonces, nuestra 2da Forma Normal nos habla de que cada columna de una tabla debe depender de toda la clave y no constituir un dato único para cada grupo tabla debe depender de toda la clave y no constituir un dato único para cada grupo de registros.
de registros.
La Tercera Forma Normal En realidad si nos guiamos en el ejemplo de esta nota, La Tercera Forma Normal En realidad si nos guiamos en el ejemplo de esta nota, ya no quedaría normalización por aplicar y podríamos decir que nuestro ejemplo ya no quedaría normalización por aplicar y podríamos decir que nuestro ejemplo cumple con las 3 formas normales, ya que la 3ra Forma Normal nos habla de que: cumple con las 3 formas normales, ya que la 3ra Forma Normal nos habla de que:
1)
1) Ninguna Columna puede Ninguna Columna puede depender de depender de una columna que una columna que no tenga no tenga una claveuna clave 2)
En el 2do ejemplo hemos descubierto campos que dependían de la clave principal En el 2do ejemplo hemos descubierto campos que dependían de la clave principal (Venta ID) y que podrían incluirse en una tabla maestra. Pero supongamos un (Venta ID) y que podrían incluirse en una tabla maestra. Pero supongamos un ejemplo donde ciertas columnas no dependen de la clave principal y si dependen ejemplo donde ciertas columnas no dependen de la clave principal y si dependen de una columna de nuestra tabla.
de una columna de nuestra tabla.
Venta
Venta
ID
ID
Item ID
Item ID
Producto
Producto
ID
ID
Cantidad Descripción Medida Proveedor
Cantidad Descripción Medida Proveedor
1 1 1 1 3455 3455 1212 ImpresoraImpresora HP LJ8000 HP LJ8000 122 122 Cm Cm 11 1 1 2 2 2455 2455 3434 Scanner HPScanner HP A3555 A3555 33 33 Cm Cm 11 2 2 1 1 5444 5444 2121 Mouse HPMouse HP Wireless Wireless - - 11
Esto es muy normal encontrar en bases mal normalizadas. Vemos que los campos Esto es muy normal encontrar en bases mal normalizadas. Vemos que los campos DESCRIPCION, MEDIDA y PROVEEDOR no dependen de VENTA ID y es por DESCRIPCION, MEDIDA y PROVEEDOR no dependen de VENTA ID y es por ello que no deberían estar dentro de la tabla de detalle de ventas, ya que ello que no deberían estar dentro de la tabla de detalle de ventas, ya que dependen de PRODUCTO ID. Aquí no se trata ya de eliminar grupos repedidos de dependen de PRODUCTO ID. Aquí no se trata ya de eliminar grupos repedidos de datos (1ra Forma Normal) sino que ante la inclusión de una clave perteneciente a datos (1ra Forma Normal) sino que ante la inclusión de una clave perteneciente a otra tabla, cualquier campo que sea subordinado de dicha clave debe estar en otra otra tabla, cualquier campo que sea subordinado de dicha clave debe estar en otra tabla y no en nuestra tabla detalle.
tabla y no en nuestra tabla detalle.
Conclusión.
Conclusión.
Finalmente si tomamos en cuenta que una tabla de detalle de venta Finalmente si tomamos en cuenta que una tabla de detalle de venta (ítem x ítem) puede contener un volumen de millones de registros, al haberle (ítem x ítem) puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la performance. tamaño en dicha tabla y por supuesto mejorado notablemente la performance.Llegue ala conclusión que es muy importante enfocarme en esta investigación por Llegue ala conclusión que es muy importante enfocarme en esta investigación por en ella aprendí sobre las tres formas normales para aplicar en un diseño de bd en ella aprendí sobre las tres formas normales para aplicar en un diseño de bd como por ejemplo:
como por ejemplo:
Primera Forma Normal (1FN)
Primera Forma Normal (1FN)
Una tabla está en Primera Forma Normal si: Una tabla está en Primera Forma Normal si:
Todos los atributos son aTodos los atributos son atómicos. Un atributo tómicos. Un atributo es atómico si es atómico si loslos
elementos del dominio son simples e indivisibles. elementos del dominio son simples e indivisibles.
La tabla La tabla contiene contiene una una clave clave primaria primaria única.única.
La clave La clave primaria primaria no no contiene contiene atributos atributos nulos.nulos.
No No debe debe existir existir variación en variación en el el número número de de columnas.columnas.
Los Campos no clave deben identificarse por la clave (Dependencia Los Campos no clave deben identificarse por la clave (Dependencia Funcional)
Funcional)
Debe Existir una independencia del orden tanto de las filas como de las Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus columnas, es decir, si los datos cambian de orden no deben cambiar sus significados.