r94111
-
Upload
german-jose-ramirez-rangel -
Category
Documents
-
view
221 -
download
0
Transcript of r94111
-
7/22/2019 r94111
1/18
Normalizaciones de Bases de
DatosElprofe3.wordpress.com
-
7/22/2019 r94111
2/18
Normalizacin
La normalizacin es el proceso de organizar los datosen una base de datos. Esto incluye la creacin de tablasy que establece relaciones entre aquellas tablas segnreglas diseadas para proteger los datos y hacer la basede datos que es ms flexible al eliminar redundancia y
dependencia incoherente.
Los datos redundantes desperdician espacio en disco ycrean problemas de mantenimiento. Si es necesariocambiar datos que aparecen en ms de un sitio, el
cambio deber ser exactamente igual en todos estossitios. Por ejemplo, un cambio de direccin de un clientees mucho ms fcil de implementar si los datos slo sealmacenan en la tabla Clientes y en ningn otro lugar dela base de datos.
-
7/22/2019 r94111
3/18
Normalizacin
Qu es una "dependencia incoherente"? Aunque para un usuariopuede resultar intuitivo buscar la direccin de un determinadocliente en la tabla Clientes, es posible que no tenga sentido buscaren esa misma tabla el sueldo del empleado que atiende a dichocliente. El salario del empleado est relacionado con el empleado(es decir, existe una dependencia entre ambos), por lo que debe
moverse a la tabla Empleados. Las dependencias incoherentespueden dificultar el acceso a los datos, ya que la ruta de acceso alos mismos puede estar rota o no encontrarse.
Existen unas cuantas reglas para la normalizacin de bases dedatos. Cada regla se denomina "forma normal" Si se cumple laprimera regla, se dice que la base de datos est en la "primeraforma normal" Si se cumplen las tres primeras reglas, se consideraque la base de datos est en la "tercera forma normal" Aunqueexisten otros niveles de normalizacin, se considera que la terceraforma normal es el mximo nivel necesario para la mayora de lasaplicaciones.
-
7/22/2019 r94111
4/18
Primera forma normal
Eliminar grupos repetidos en tablasindividuales.
Crear una tabla diferente para cada
conjunto de datos relacionados. Identificar cada conjunto de datos
relacionados mediante una clave principal.
No utilizar varios campos en una nica tablapara almacenar datos similares.
-
7/22/2019 r94111
5/18
Ejemplo
En lugar de hacer varioscampos para losproveedores en una solatabla, hacemos otra tabla
con el campo proveedor ycolocamos variosregistros para losproveedores (tabla de en
medio). Sustituimos latabla superior de laizquierda por la tablainferior.
Artculo Prov1 Prov2 Prov3
Maz - Granja -Arroz Casita - -
Cdigo Proveedor
145 Casita
154 Granja
Artculo Cod.Prov
Maz 154
Arroz 145
-
7/22/2019 r94111
6/18
Segunda forma normal
Crear tablas independientes paraconjuntos de valores que se apliquen avarios registros.
Relacionar dichas tablas mediante unaclave externa.
Los registros tan slo deben depender de la
clave principal de una tabla (si esnecesario, puede ser una clavecompuesta).
-
7/22/2019 r94111
7/18
Ejemplo
piense en la direccin de un cliente en unsistema de contabilidad. La direccin esnecesitada por la tabla Clientes pero por
las tablas Pedidos, Facturas y Cuentas acobrar tambin. En lugar de almacenar ladireccin del cliente como una entradadiferente en cada tabla, almacnela en un
nico lugar, ya sea en la tabla Clientes oen una tabla de direccionesindependiente.
-
7/22/2019 r94111
8/18
Tercera forma normal
Eliminar los campos que no dependan de la clave. Los valores deun registro que no forman parte de la clave de dicho registro nopertenecen a esa tabla. En general, siempre que el contenido de ungrupo de campos se puede aplicar a ms de un registro de la tabla,debe tener en cuenta la posibilidad de incluir dichos campos en unatabla independiente.
EXCEPCIN: No es prctico siempre cumplir la forma terceranormal tericamente conveniente. Si tiene una tabla Clientes ydesea eliminar todas las posibles dependencias entre campos,debe crear tablas independientes para ciudades, cdigos postales,representantes de ventas, clases de clientes y cualquier otro factor
que pueda aparecer duplicado en varios registros. En teora, lanormalizacin merece la pena. Sin embargo, la utilizacin de ungran nmero de tablas pequeas puede perjudicar el rendimiento osuperar la capacidad de memoria y de archivos abiertos delsistema.
-
7/22/2019 r94111
9/18
Otras formas normales
Otras formas de normalizacin Existe una cuarta forma normal, llamada
tambin Forma normal de Boyce Codd
(BCNF), y una quinta forma normal, peropocas veces se consideran prcticas enun diseo. La omisin de estas reglaspuede dar como resultado una tabla queno sea perfecta, pero no debera afectar asu funcionamiento
-
7/22/2019 r94111
10/18
Haga esta tabla en Access para normalizarla. La tabla se llama alumnos
-
7/22/2019 r94111
11/18
Primera forma normal: Ningngrupo repetido
Como cada alumno se encuentra inscritoen varios cursos, estos deben aparecer enuna tabla independiente. Los campos
curso1, curso2, curso3 de los registrosanteriores indican que existe un problemaen el diseo.
-
7/22/2019 r94111
12/18
-
7/22/2019 r94111
13/18
Segunda forma Normal: Eliminedatos redundantes
Curso no depende del carn (que sernuestra clave principal) por lo que la tablano esta en la segunda forma normal.
Debemos separar la informacin de loscursos-alumnos a otra tabla. Haremos latabla asignaciones.
-
7/22/2019 r94111
14/18
Asignaciones
Tabla alumnos luego del cambio
-
7/22/2019 r94111
15/18
Tercera forma Normal: Eliminardatos que no dependen de la clave De el ltimo ejemplo la oficina del asesor
depende funcionalmente del atributoasesor. La solucin es mover dicho
atributo de la tabla alumnos a la tablapersonal, como se muestra acontinuacin.
-
7/22/2019 r94111
16/18
Tabla Alumno
Tabla Personal
-
7/22/2019 r94111
17/18
Normalizada
-
7/22/2019 r94111
18/18
Hemos llegado finalmente a una base dedatos bien organizada en la cual podemosactualizar o cambiar los datos
almacenados fcilmente y de una maneraordenada sin alterar los dems registros.