SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
•	

                •	   Clase 4
•	   Normalizacion de tablas
        •	   de Bases de datos
•	   Clase 4 - Normalización de tablas de base de datos                                     Atlantis University




En este capítulo, aprenderá a:
            •	 Lo que es la normalización y qué papel desempeña en el proceso de diseño de bases de
                 datos.

            •	 Sobre las formas normalizadas, 1NF, 2NF, BCNF y 4NF

4.1. Fundamentos de la normalización
      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. 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.



      ¿Qué es una “dependencia incoherente”? Aunque es intuitivo para un usuario mirar en la tabla

      Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el

      salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el

      empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las

      dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos

      puede no estar o estar interrumpida.



      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.



Lcda. Carol Puche                                                                           Modalidad - Online
•	   Clase 4 - Normalización de tablas de base de datos                                    Atlantis University




       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, asegúrese de que su aplicación se anticipa a

       los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias

       incoherentes. En las descripciones siguientes se incluyen ejemplos.


4.2. Primera forma normal
             •	 Elimine los grupos repetidos de las tablas individuales.
             •	 Cree una tabla independiente para cada conjunto de datos relacionados.
             •	 Identifique cada conjunto de datos relacionados con una clave principal.
       No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para realizar

       el seguimiento de un elemento del inventario que proviene de dos orígenes posibles, un registro

       del inventario puede contener campos para el Código de proveedor 1 y para el Código de

       proveedor 2.



       ¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta,

       requiere modificaciones en las tablas y el programa, y no admite fácilmente un número variable

       de proveedores. En su lugar, coloque toda la información de los proveedores en una tabla
       independiente denominada Proveedores y después vincule el inventario a los proveedores con

       el número de elemento como clave, o los proveedores al inventario con el código de proveedor

       como clave.




Lcda. Carol Puche                                                                           Modalidad - Online
•	   Clase 4 - Normalización de tablas de base de datos                                    Atlantis University




4.3. Segunda forma normal
            •	 Cree tablas independientes para conjuntos de valores que se apliquen a varios registros.
            •	 Relacione estas tablas con una clave externa.
      Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave

      compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en un sistema de

      contabilidad. La dirección se necesita en la tabla Clientes, pero también en las tablas Pedidos,

      Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la dirección de un

      cliente como una entrada independiente en cada una de estas tablas, almacénela en un lugar, ya

      sea en la tabla Clientes o en una tabla Direcciones independiente.


4.4. Tercera forma normal
      Elimine los campos que no dependan de la clave.
      Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la

      tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de

      un único registro de la tabla, considere colocar estos campos en una tabla independiente. Por

      ejemplo, en una tabla Contratación de empleados, puede incluirse el nombre de la universidad

      y la dirección de un candidato. Pero necesital una lista completa de universidades para enviar
      mensajes de correo electrónico en grupo. Si la información de las universidades se almacena en la

      tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese

      momento. Cree una tabla Universidades independiente y vincúlela a la tabla Candidatos con el

      código de universidad como clave.




Lcda. Carol Puche                                                                          Modalidad - Online
•	   Clase 4 - Normalización de tablas de base de datos                                    Atlantis University




      EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es
      práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los

      campos, debe crear tablas independientes para las ciudades, códigos postales, representantes

      de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros.

      En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas

      pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos.



      Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con

      frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al

      usuario que compruebe todos los campos relacionados cuando cambie alguno.


4.5.Otras formas de normalización
      La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce Codd

      Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseño real.

      Si no se aplican estas reglas, el diseño de la base de datos puede ser menos perfecto, pero no

      debería afectar a la funcionalidad.




Lcda. Carol Puche                                                                           Modalidad - Online
•	   Clase 4 - Normalización de tablas de base de datos                                                 Atlantis University




4.6. Normalizar una tabla de ejemplo
      Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia.
      1. Tabla sin normalizar:

                              Nº alumno      Tutor        Despacho-Tut   Clase 1   Clase 2    Clase 3
                                 1022        García           412        101-07    143-01     159-02
                                 4123         Díaz            216        201-01    211-02     214-01


      2. Primera forma normal: no hay grupos repetidos

      Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas

      clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los

      registros anteriores son indicativos de un problema de diseño.

      Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra

      forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno

      y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal

      eliminando el grupo repetido (Nº clase), según se muestra a continuación:

                                          Nº alumno         Tutor   Despacho-Tut   Nº clase
                                             1022          García        412       101-07
                                             1022          García        412       143-01
                                             1022          García        412       159-02
                                             4123           Díaz         216       201-01
                                             4123           Díaz         216       211-02
                                             4123           Díaz         216       214-01




Lcda. Carol Puche                                                                                       Modalidad - Online
•	   Clase 4 - Normalización de tablas de base de datos                                        Atlantis University




       3. Segunda forma normal: eliminar los datos redundantes

       Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº

       clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación

       no cumple la segunda forma normal.

       Las dos tablas siguientes demuestran la segunda forma normal:

       Alumnos:
                                                 Nº alumno          Tutor       Despacho-Tut
                                                      1022          García              412
                                                      4123           Díaz               216


       Registro:
                                                          Nº alumno          Nº clase
                                                             1022            101-07
                                                             1022            143-01
                                                             1022            159-02
                                                             4123            201-01
                                                             4123            211-02
                                                             4123            214-01



       4. Tercera forma normal: eliminar los datos no dependientes de la clave

       En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente

       dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla

       Personal, según se muestra a continuación:

       Alumnos:
                                                           Nº alumno           Tutor
                                                              1022            García
                                                              4123             Díaz


       Personal:
                                            Nombre           Habitación               Dept
                                             García             412                     42
                                              Díaz              216                     42




Lcda. Carol Puche                                                                              Modalidad - Online

Más contenido relacionado

La actualidad más candente

Normas icontec26 08 15 torre
Normas icontec26 08 15 torreNormas icontec26 08 15 torre
Normas icontec26 08 15 torre2503468
 
Normalizacion Base de Datos
Normalizacion Base de DatosNormalizacion Base de Datos
Normalizacion Base de Datosalex A
 
Base de datos access j yg..
Base de datos access j yg..Base de datos access j yg..
Base de datos access j yg..juanesvs
 
Base de datos "primera parte"
Base de datos "primera parte"Base de datos "primera parte"
Base de datos "primera parte"paola rincon
 
Base de Datos 11:02
Base de Datos 11:02Base de Datos 11:02
Base de Datos 11:02fabianleon10
 
Base de datos-Primera Parte-
Base de datos-Primera Parte-Base de datos-Primera Parte-
Base de datos-Primera Parte-SilviaRincon4
 
TRABAJO FINAL
TRABAJO FINALTRABAJO FINAL
TRABAJO FINALCAMSAN
 
Platilla con normas jevs
Platilla con normas jevsPlatilla con normas jevs
Platilla con normas jevsjuanesvs
 
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lkPlantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lksanti302930
 
Infraestructura educativa, instructivo. 1
Infraestructura educativa,  instructivo. 1Infraestructura educativa,  instructivo. 1
Infraestructura educativa, instructivo. 1SupervisionEscolar025
 

La actualidad más candente (17)

Normas icontec26 08 15 torre
Normas icontec26 08 15 torreNormas icontec26 08 15 torre
Normas icontec26 08 15 torre
 
Normalizacion Base de Datos
Normalizacion Base de DatosNormalizacion Base de Datos
Normalizacion Base de Datos
 
Base de datos access j yg..
Base de datos access j yg..Base de datos access j yg..
Base de datos access j yg..
 
Base de datos "primera parte"
Base de datos "primera parte"Base de datos "primera parte"
Base de datos "primera parte"
 
Base de Datos 11:02
Base de Datos 11:02Base de Datos 11:02
Base de Datos 11:02
 
Normas y contec sakaters (1)
Normas y contec  sakaters (1)Normas y contec  sakaters (1)
Normas y contec sakaters (1)
 
Base de datos
Base de datosBase de datos
Base de datos
 
Plantilla con-normas-icontec (1) (1)
Plantilla con-normas-icontec (1) (1)Plantilla con-normas-icontec (1) (1)
Plantilla con-normas-icontec (1) (1)
 
Base de datos-Primera Parte-
Base de datos-Primera Parte-Base de datos-Primera Parte-
Base de datos-Primera Parte-
 
Silvia
SilviaSilvia
Silvia
 
TRABAJO FINAL
TRABAJO FINALTRABAJO FINAL
TRABAJO FINAL
 
Papo.
Papo.Papo.
Papo.
 
base de datos
base de datosbase de datos
base de datos
 
Platilla con normas jevs
Platilla con normas jevsPlatilla con normas jevs
Platilla con normas jevs
 
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lkPlantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
Plantillaoriginal 150709154917-lva1-app6892-150901002344-lva1-app6892lk
 
Base de Datos
Base de Datos Base de Datos
Base de Datos
 
Infraestructura educativa, instructivo. 1
Infraestructura educativa,  instructivo. 1Infraestructura educativa,  instructivo. 1
Infraestructura educativa, instructivo. 1
 

Destacado

Tercera formal normalización
Tercera formal normalizaciónTercera formal normalización
Tercera formal normalizaciónNeguib Núñez
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datoskamui002
 
Unidad iii normalizacion
Unidad iii normalizacionUnidad iii normalizacion
Unidad iii normalizacionOrlando Verdugo
 
Normalización de bases de datos
Normalización de bases de datosNormalización de bases de datos
Normalización de bases de datoshugofreestyle
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosMayra Romero
 
Normalización
NormalizaciónNormalización
NormalizaciónLaura Lia
 
Taller base de datos 1
Taller base de datos 1Taller base de datos 1
Taller base de datos 1danielab19
 
Modelo logico de datos
Modelo logico de datosModelo logico de datos
Modelo logico de datosAnyeni Garay
 
Normalización de Bases de Datos
Normalización de Bases de DatosNormalización de Bases de Datos
Normalización de Bases de DatosEduardo S de Loera
 
06 Normalización fácil
06 Normalización fácil06 Normalización fácil
06 Normalización fáciltoniserna
 
Normalización
NormalizaciónNormalización
NormalizaciónJOANRIOS
 
Núcleo 3 - Normalización de Bases de datos
Núcleo 3 - Normalización de Bases de datosNúcleo 3 - Normalización de Bases de datos
Núcleo 3 - Normalización de Bases de datoscarsanta
 
Normalizacion de datos
Normalizacion de datosNormalizacion de datos
Normalizacion de datosUDES - USTA
 
Normalizacion db
Normalizacion db Normalizacion db
Normalizacion db josecuartas
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Ariel Tonatiuh Espindola
 

Destacado (20)

Tercera formal normalización
Tercera formal normalizaciónTercera formal normalización
Tercera formal normalización
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datos
 
Unidad iii normalizacion
Unidad iii normalizacionUnidad iii normalizacion
Unidad iii normalizacion
 
Normalización de bases de datos
Normalización de bases de datosNormalización de bases de datos
Normalización de bases de datos
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Normalización
NormalizaciónNormalización
Normalización
 
Taller base de datos 1
Taller base de datos 1Taller base de datos 1
Taller base de datos 1
 
Modelo logico de datos
Modelo logico de datosModelo logico de datos
Modelo logico de datos
 
Normalización de Bases de Datos
Normalización de Bases de DatosNormalización de Bases de Datos
Normalización de Bases de Datos
 
06 Normalización fácil
06 Normalización fácil06 Normalización fácil
06 Normalización fácil
 
Presentación normalización
Presentación normalización Presentación normalización
Presentación normalización
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Normalización
NormalizaciónNormalización
Normalización
 
Ejercicio
EjercicioEjercicio
Ejercicio
 
Normalizacion2
Normalizacion2Normalizacion2
Normalizacion2
 
Núcleo 3 - Normalización de Bases de datos
Núcleo 3 - Normalización de Bases de datosNúcleo 3 - Normalización de Bases de datos
Núcleo 3 - Normalización de Bases de datos
 
Normalizacion de datos
Normalizacion de datosNormalizacion de datos
Normalizacion de datos
 
Normalizacion db
Normalizacion db Normalizacion db
Normalizacion db
 
Herrera marcelo bdii_T3
Herrera marcelo bdii_T3Herrera marcelo bdii_T3
Herrera marcelo bdii_T3
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 

Similar a Normalización de bases de datos

Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01Delimar Rodriguez
 
Reglas de codd y normalizacion
Reglas de codd y normalizacionReglas de codd y normalizacion
Reglas de codd y normalizacionKevyn Martir
 
Bases de datos 16112009
Bases de datos 16112009Bases de datos 16112009
Bases de datos 16112009mariqueve
 
hasbdjkasbjkdaskjdbasjed
hasbdjkasbjkdaskjdbasjedhasbdjkasbjkdaskjdbasjed
hasbdjkasbjkdaskjdbasjedjayerxD
 
Fundamentos de normalizacion
Fundamentos de normalizacionFundamentos de normalizacion
Fundamentos de normalizacionvinceq
 
Normas icontec hajsdfs dfsdf
Normas icontec hajsdfs dfsdfNormas icontec hajsdfs dfsdf
Normas icontec hajsdfs dfsdfjayerxD
 
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datosPresentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datosBryanSotalin1
 
Normas icontec ladino
Normas icontec ladino Normas icontec ladino
Normas icontec ladino jayerxD
 
Desnormalizacion bases datos 2
Desnormalizacion bases datos 2Desnormalizacion bases datos 2
Desnormalizacion bases datos 2Velmuz Buzz
 
Qué es la normalización
Qué es la normalizaciónQué es la normalización
Qué es la normalizaciónJoefelix18
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Diego Maury Orcue
 
Plantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreadaPlantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreadaDiego Maury Orcue
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Diego Maury Orcue
 

Similar a Normalización de bases de datos (20)

Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01
 
CLASE 3.ppt
CLASE 3.pptCLASE 3.ppt
CLASE 3.ppt
 
Reglas de codd y normalizacion
Reglas de codd y normalizacionReglas de codd y normalizacion
Reglas de codd y normalizacion
 
Tercera forma normal
Tercera forma normalTercera forma normal
Tercera forma normal
 
5 cientifico-martes-19
5 cientifico-martes-195 cientifico-martes-19
5 cientifico-martes-19
 
Normalizacion de Base de datos,
Normalizacion de Base de datos, Normalizacion de Base de datos,
Normalizacion de Base de datos,
 
Bases de datos 16112009
Bases de datos 16112009Bases de datos 16112009
Bases de datos 16112009
 
hasbdjkasbjkdaskjdbasjed
hasbdjkasbjkdaskjdbasjedhasbdjkasbjkdaskjdbasjed
hasbdjkasbjkdaskjdbasjed
 
Fundamentos de normalizacion
Fundamentos de normalizacionFundamentos de normalizacion
Fundamentos de normalizacion
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Normas icontec hajsdfs dfsdf
Normas icontec hajsdfs dfsdfNormas icontec hajsdfs dfsdf
Normas icontec hajsdfs dfsdf
 
Presentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datosPresentaciones base de datos , fundamentos de base de datos
Presentaciones base de datos , fundamentos de base de datos
 
Normas icontec ladino
Normas icontec ladino Normas icontec ladino
Normas icontec ladino
 
Plantilla con-normas-icontec oso polar
Plantilla con-normas-icontec oso polar Plantilla con-normas-icontec oso polar
Plantilla con-normas-icontec oso polar
 
Desnormalizacion bases datos 2
Desnormalizacion bases datos 2Desnormalizacion bases datos 2
Desnormalizacion bases datos 2
 
Qué es la normalización
Qué es la normalizaciónQué es la normalización
Qué es la normalización
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
 
Plantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreadaPlantilla con-normas-icontec 901 recreada
Plantilla con-normas-icontec 901 recreada
 
Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901Plantilla con-normas-icontec 901
Plantilla con-normas-icontec 901
 
03. BASE DE DATOS 2.pptx
03. BASE DE DATOS 2.pptx03. BASE DE DATOS 2.pptx
03. BASE DE DATOS 2.pptx
 

Más de Javier Juliac (20)

Clase 3 hsa 401
Clase 3 hsa 401Clase 3 hsa 401
Clase 3 hsa 401
 
Clase 2
Clase 2Clase 2
Clase 2
 
Clase1
Clase1Clase1
Clase1
 
Clase 4 bus 223
Clase 4 bus 223Clase 4 bus 223
Clase 4 bus 223
 
Clase3 a ul_liderazgo_sep_2011_nueva
Clase3 a ul_liderazgo_sep_2011_nuevaClase3 a ul_liderazgo_sep_2011_nueva
Clase3 a ul_liderazgo_sep_2011_nueva
 
Clase4 ib 400
Clase4 ib 400Clase4 ib 400
Clase4 ib 400
 
Class4
Class4Class4
Class4
 
Clase1 transacciones internacionales
Clase1  transacciones internacionalesClase1  transacciones internacionales
Clase1 transacciones internacionales
 
Clase4bus333
Clase4bus333Clase4bus333
Clase4bus333
 
Clase3bus333
Clase3bus333Clase3bus333
Clase3bus333
 
Clase2bus333
Clase2bus333Clase2bus333
Clase2bus333
 
Ceib 2012
Ceib 2012Ceib 2012
Ceib 2012
 
Class one
Class oneClass one
Class one
 
Class one
Class oneClass one
Class one
 
Class four
Class fourClass four
Class four
 
Class three
Class threeClass three
Class three
 
Class two
Class twoClass two
Class two
 
Class one
Class oneClass one
Class one
 
Class four
Class fourClass four
Class four
 
Class three
Class threeClass three
Class three
 

Normalización de bases de datos

  • 1. • Clase 4 • Normalizacion de tablas • de Bases de datos
  • 2. Clase 4 - Normalización de tablas de base de datos Atlantis University En este capítulo, aprenderá a: • Lo que es la normalización y qué papel desempeña en el proceso de diseño de bases de datos. • Sobre las formas normalizadas, 1NF, 2NF, BCNF y 4NF 4.1. Fundamentos de la normalización 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. 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. ¿Qué es una “dependencia incoherente”? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. 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. Lcda. Carol Puche Modalidad - Online
  • 3. Clase 4 - Normalización de tablas de base de datos Atlantis University 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, asegúrese de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. En las descripciones siguientes se incluyen ejemplos. 4.2. Primera forma normal • Elimine los grupos repetidos de las tablas individuales. • Cree una tabla independiente para cada conjunto de datos relacionados. • Identifique cada conjunto de datos relacionados con una clave principal. No use varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para realizar el seguimiento de un elemento del inventario que proviene de dos orígenes posibles, un registro del inventario puede contener campos para el Código de proveedor 1 y para el Código de proveedor 2. ¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta, requiere modificaciones en las tablas y el programa, y no admite fácilmente un número variable de proveedores. En su lugar, coloque toda la información de los proveedores en una tabla independiente denominada Proveedores y después vincule el inventario a los proveedores con el número de elemento como clave, o los proveedores al inventario con el código de proveedor como clave. Lcda. Carol Puche Modalidad - Online
  • 4. Clase 4 - Normalización de tablas de base de datos Atlantis University 4.3. Segunda forma normal • Cree tablas independientes para conjuntos de valores que se apliquen a varios registros. • Relacione estas tablas con una clave externa. Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en un sistema de contabilidad. La dirección se necesita en la tabla Clientes, pero también en las tablas Pedidos, Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la dirección de un cliente como una entrada independiente en cada una de estas tablas, almacénela en un lugar, ya sea en la tabla Clientes o en una tabla Direcciones independiente. 4.4. Tercera forma normal Elimine los campos que no dependan de la clave. Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de un único registro de la tabla, considere colocar estos campos en una tabla independiente. Por ejemplo, en una tabla Contratación de empleados, puede incluirse el nombre de la universidad y la dirección de un candidato. Pero necesital una lista completa de universidades para enviar mensajes de correo electrónico en grupo. Si la información de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese momento. Cree una tabla Universidades independiente y vincúlela a la tabla Candidatos con el código de universidad como clave. Lcda. Carol Puche Modalidad - Online
  • 5. Clase 4 - Normalización de tablas de base de datos Atlantis University EXCEPCIÓN: cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos. Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno. 4.5.Otras formas de normalización La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseño real. Si no se aplican estas reglas, el diseño de la base de datos puede ser menos perfecto, pero no debería afectar a la funcionalidad. Lcda. Carol Puche Modalidad - Online
  • 6. Clase 4 - Normalización de tablas de base de datos Atlantis University 4.6. Normalizar una tabla de ejemplo Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia. 1. Tabla sin normalizar: Nº alumno Tutor Despacho-Tut Clase 1 Clase 2 Clase 3 1022 García 412 101-07 143-01 159-02 4123 Díaz 216 201-01 211-02 214-01 2. Primera forma normal: no hay grupos repetidos Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseño. Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación: Nº alumno Tutor Despacho-Tut Nº clase 1022 García 412 101-07 1022 García 412 143-01 1022 García 412 159-02 4123 Díaz 216 201-01 4123 Díaz 216 211-02 4123 Díaz 216 214-01 Lcda. Carol Puche Modalidad - Online
  • 7. Clase 4 - Normalización de tablas de base de datos Atlantis University 3. Segunda forma normal: eliminar los datos redundantes Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación no cumple la segunda forma normal. Las dos tablas siguientes demuestran la segunda forma normal: Alumnos: Nº alumno Tutor Despacho-Tut 1022 García 412 4123 Díaz 216 Registro: Nº alumno Nº clase 1022 101-07 1022 143-01 1022 159-02 4123 201-01 4123 211-02 4123 214-01 4. Tercera forma normal: eliminar los datos no dependientes de la clave En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación: Alumnos: Nº alumno Tutor 1022 García 4123 Díaz Personal: Nombre Habitación Dept García 412 42 Díaz 216 42 Lcda. Carol Puche Modalidad - Online