SlideShare una empresa de Scribd logo
1 de 20
PROCESO DE NORMALIZACION
¿Qué es la normalización?
La normalización es el proceso mediante el
cual se transforman datos complejos a un
conjunto de estructuras de datos más
pequeñas, que además de ser más simples y
más estables, son más fáciles de mantener.
• Otra ventaja de la normalización de base de
datos es el consumo de espacio. Una base de
datos normalizada ocupa menos espacio en
disco que una no normalizada. Hay menos
repetición de datos, lo que tiene como
consecuencia un mucho menor uso de espacio
en disco.
• El proceso de normalización tiene un nombre y
una serie de reglas para cada fase. Esto puede
parecer un poco confuso al principio, pero poco a
poco se va entendiendo el proceso, así como las
razones para hacerlo de esta manera.
• También se puede entender como una serie de
reglas que sirven para ayudar a los diseñadores
de bases de datos a desarrollar un esquema que
minimice los problemas de lógica. Cada regla
está basada en la que le antecede.
• La normalización se adoptó porque el viejo estilo
de poner todos los datos en un solo lugar, como
un archivo o una tabla de la base de datos, era
ineficiente y conducía a errores de lógica cuando
se trataban de manipular los datos. La
normalización también hace las cosas fáciles de
entender.
• En la tabla siguiente se
describe brevemente en
que consiste cada una
de las reglas, y
posteriormente se
explican con más
detalle.
• Básicamente, las reglas
de Normalización están
encaminadas a eliminar
redundancias e
inconsistencias de
dependencia en el
diseño de las tablas.
Regla Descripción
Primera Forma
Normal (1FN)
Incluye la eliminación de
todos los grupos repetidos.
Segunda Forma
Normal (2FN)
Asegura que todas las
columnas que no son llave
sean completamente
dependientes de la llave
primaria (PK).
Tercera Forma
Normal (3FN)
Elimina cualquier
dependencia transitiva. Una
dependencia transitiva es
aquella en la cual las
columnas que no son llave
son dependientes de otras
columnas que tampoco son
llave.
EJEMPLO
• Digamos que queremos crear una tabla con la
información de usuarios, y los datos a guardar
son el nombre, la empresa, la dirección de la
empresa y algún e-mail, o bien URL si las tienen.
En principio comenzarías definiendo la estructura
de una tabla como esta:
• Formalización CERO
USUARIOS
NOMBRE EMPRESA DIRECCIÓN _ EMPRESA URL1 URL2
Juan ABC Guerrero No. 21 abc.com xyz.com
Maria XYZ Abasolo No. 36 abc.com xyz.com
• Diríamos que la anterior tabla esta en nivel de
Formalización Cero porque ninguna de nuestras reglas
de normalización ha sido aplicada.
Observa los campos URL1 y URL2
• ¿Qué haremos cuando en nuestra aplicación
necesitemos una tercera URL?
• ¿Quieres tener que añadir otro campo/columna a tu tabla
y tener que reprogramar toda la entrada de datos de tu
código?
• Obviamente no, tu quieres crear un sistema funcional
que pueda crecer y adaptarse fácilmente a los nuevos
requisitos. Echemos un vistazo a las reglas del Primer
Nivel de Formalización-Normalización, y las aplicaremos
a nuestra tabla
Primer nivel de
Formalización/Normalización.
(F/N)
• La regla de la Primera Forma Normal
establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas
• Poner la base de datos en la Primera Forma
Normal resuelve el problema de los
encabezados de columna múltiples.
¿En que consiste la primera forma?
• Eliminar los grupos repetitivos de las tablas
individuales.
• Crear una tabla separada por cada grupo de
datos relacionados.
• Identificar cada grupo de datos relacionados con
una clave primaria.
• Estamos rompiendo la primera regla cuando
repetimos los campos URL1 y URL2?
• ¿Y que pasa con la tercera regla, la clave
primaria? La regla tres básicamente significa
que tenemos que poner un campo tipo contador
autoincrementable para cada registro.
• De otra forma, ¿Qué pasaría si tuviéramos dos
usuarios llamados Joe y queremos
diferenciarlos.
• Una vez que aplicáramos el primer nivel de F/N
nos encontraríamos con la siguiente tabla:
usuarios
userId nombre empresa dirección _ empresa URL
1 Juan ABC Guerrero No. 21 abc.com
1 Juan ABC Guerrero No. 21 xyz.com
2 María XYZ
Abasolo No. 36
abc.com
2 María XYZ
Abasolo No. 36
xyz.com
• Ahora diremos que nuestra tabla está en el
primer nivel de F/N. Hemos solucionado el
problema de la limitación del campo URL.
• Pero sin embargo vemos otros
problemas....Cada vez que introducimos un
nuevo registro en la tabla usuarios, tenemos
que duplicar el nombre de la empresa y del
usuario. No sólo nuestra BD crecerá muchísimo,
sino que será muy fácil que la BD se corrompa si
escribimos mal alguno de los datos redundantes.
Segundo nivel de F/N
• Crear tablas separadas para aquellos grupos de
datos que se aplican a varios registros.
• Relacionar estas tablas mediante una clave
externa.
• Hemos separado el campo URL en otra tabla, de
forma que podemos añadir más en el futuro si
tener que duplicar los demás datos. También
vamos a usar nuestra clave primaria para
relacionar estos campos:
usuarios
USERID nombre empresa dirección _ empresa
1 Juan ABC Guerrero No. 21
2 María XYZ Abasolo No. 36
URLS
URLID relUserId URL
1 1 abc.com
2 1 xyz.com
3 2 abc.com
4 2 xyz.com
• Hemos creado tablas separadas y la clave
primaria en la tabla usuarios, userId, esta
relacionada ahora con la clave externa en la
tabla urls, relUserId.
• Pero que ocurre cuando queremos añadir otro
empleado a la empresa ABC? ¿o 200
empleados ? Ahora tenemos el nombre de la
empresa y su dirección duplicándose, otra
situación que puede inducirnos a introducir
errores en nuestros datos. Así que tendremos
que aplicar el tercer nivel de F/N:
Tercer nivel de F/N.
• Eliminar aquellos campos que no dependan de la
clave.
• Nuestro nombre de empresa y su dirección no
tienen nada que ver con el campo userId, así
que tienen que tener su propio empresa id:
usuarios
userId nombre relEmpresaId
1 Juan 1
2 María 2
empresas
emprId empresa dirección _ empresa
1 ABC Guerrero No. 21
2 XYZ Abasolo No. 36
urls
urlId RelUserId url
1 1 abc.com
2 1 xyz.com
3 2 abc.com
4 2 xyz.com
• Ahora tenemos la clave primaria emprId en la
tabla empresas relacionadas con la clave
externa relEmpresaId en la tabla usuarios, y
podemos añadir 200 usuarios mientras que sólo
tenemos que insertar el nombre 'ABC' una vez.
• Nuestras tablas de usuarios y urls pueden
crecer todo lo que quieran sin duplicación ni
corrupción de datos.
• La mayoría de los desarrolladores dicen que el
tercer nivel de F/N es suficiente, que nuestro
esquema de datos puede manejar fácilmente los
datos obtenidos de una cualquier empresa en su
totalidad, y en la mayoría de los casos esto será
cierto.

Más contenido relacionado

La actualidad más candente

Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)YENZU
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosMiguel Rodríguez
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalSuarezJhon
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Ejemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalEjemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalGema López
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental umlrigo berto
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalizacióncintiap25
 

La actualidad más candente (20)

Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
NORMALIZACIÓN
NORMALIZACIÓN  NORMALIZACIÓN
NORMALIZACIÓN
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Reglas de transformación
Reglas de transformaciónReglas de transformación
Reglas de transformación
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
PL/SQL
PL/SQLPL/SQL
PL/SQL
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Ejemplo de Base de Datos Relacional
Ejemplo de Base de Datos RelacionalEjemplo de Base de Datos Relacional
Ejemplo de Base de Datos Relacional
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 

Destacado (7)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Reglas de transformacion
Reglas de transformacionReglas de transformacion
Reglas de transformacion
 
Modelo entidad relacion-reduccion_a_tablas
Modelo entidad relacion-reduccion_a_tablasModelo entidad relacion-reduccion_a_tablas
Modelo entidad relacion-reduccion_a_tablas
 
Fbd e1 fase_3_modelos_de_datos
Fbd e1 fase_3_modelos_de_datosFbd e1 fase_3_modelos_de_datos
Fbd e1 fase_3_modelos_de_datos
 
Celabración de la milagrosa 2012
Celabración de la milagrosa 2012Celabración de la milagrosa 2012
Celabración de la milagrosa 2012
 
Algebra Relacional
Algebra RelacionalAlgebra Relacional
Algebra Relacional
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 

Similar a Proceso de normalizacion

Similar a Proceso de normalizacion (20)

NormalitzacioBD.pdf
NormalitzacioBD.pdfNormalitzacioBD.pdf
NormalitzacioBD.pdf
 
NORMALIZACIÓN DE BASE DE DATOS
NORMALIZACIÓN DE BASE DE DATOSNORMALIZACIÓN DE BASE DE DATOS
NORMALIZACIÓN DE BASE DE DATOS
 
DOCI2019-GRUPO4
DOCI2019-GRUPO4DOCI2019-GRUPO4
DOCI2019-GRUPO4
 
Qué es la normalización
Qué es la normalizaciónQué es la normalización
Qué es la normalización
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
5 cientifico-martes-19
5 cientifico-martes-195 cientifico-martes-19
5 cientifico-martes-19
 
TVCABLE
TVCABLE TVCABLE
TVCABLE
 
Informe del sistema ctas por cobrar
Informe del sistema ctas por cobrarInforme del sistema ctas por cobrar
Informe del sistema ctas por cobrar
 
Reglas de codd y normalizacion
Reglas de codd y normalizacionReglas de codd y normalizacion
Reglas de codd y normalizacion
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base 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
 
formas normales.docx
formas normales.docxformas normales.docx
formas normales.docx
 
Plantilla 903 icontec Sebastian Vela
Plantilla 903 icontec Sebastian VelaPlantilla 903 icontec Sebastian Vela
Plantilla 903 icontec Sebastian Vela
 
Grado 9 manual base de datos
Grado 9 manual base de datosGrado 9 manual base de datos
Grado 9 manual base de datos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Gbd5
Gbd5Gbd5
Gbd5
 
Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01Normalizaciondb 120828230415-phpapp01
Normalizaciondb 120828230415-phpapp01
 
Plantillapercho
PlantillaperchoPlantillapercho
Plantillapercho
 
Normalizacion de Base de datos,
Normalizacion de Base de datos, Normalizacion de Base de datos,
Normalizacion de Base de datos,
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 

Más de Universidad Estatal de Sonora

Norma de educacion_profesional_continua_para_2011_modificaciones
Norma de educacion_profesional_continua_para_2011_modificacionesNorma de educacion_profesional_continua_para_2011_modificaciones
Norma de educacion_profesional_continua_para_2011_modificacionesUniversidad Estatal de Sonora
 

Más de Universidad Estatal de Sonora (20)

Prese
PresePrese
Prese
 
El contador
El contadorEl contador
El contador
 
Responsabilidad fiscal y penal del Contador
Responsabilidad fiscal y penal del ContadorResponsabilidad fiscal y penal del Contador
Responsabilidad fiscal y penal del Contador
 
Presentación catálogo de cuentas y estructura
Presentación catálogo de cuentas y estructuraPresentación catálogo de cuentas y estructura
Presentación catálogo de cuentas y estructura
 
Mapa mental conceptual cuadro
Mapa mental conceptual cuadroMapa mental conceptual cuadro
Mapa mental conceptual cuadro
 
Necesidades satisface lc
Necesidades satisface lcNecesidades satisface lc
Necesidades satisface lc
 
Particularidades de la profesion
Particularidades de la profesionParticularidades de la profesion
Particularidades de la profesion
 
Particularidades de la profesion
Particularidades de la profesionParticularidades de la profesion
Particularidades de la profesion
 
Norma de educacion_profesional_continua_para_2011_modificaciones
Norma de educacion_profesional_continua_para_2011_modificacionesNorma de educacion_profesional_continua_para_2011_modificaciones
Norma de educacion_profesional_continua_para_2011_modificaciones
 
Profesional de la contaduria
Profesional de la contaduriaProfesional de la contaduria
Profesional de la contaduria
 
Material didactico fbd
Material didactico fbdMaterial didactico fbd
Material didactico fbd
 
Fundamentos de base_de_datos_e1
Fundamentos de base_de_datos_e1Fundamentos de base_de_datos_e1
Fundamentos de base_de_datos_e1
 
Experiencia integradora elemento 3
Experiencia integradora elemento 3Experiencia integradora elemento 3
Experiencia integradora elemento 3
 
Fuentes confiables para recabar datos
Fuentes confiables para recabar  datosFuentes confiables para recabar  datos
Fuentes confiables para recabar datos
 
Power point act 22 pau
Power point act 22 pauPower point act 22 pau
Power point act 22 pau
 
Image6
Image6Image6
Image6
 
Tractor rastreando
Tractor rastreandoTractor rastreando
Tractor rastreando
 
U2inecte10
U2inecte10U2inecte10
U2inecte10
 
Internacionalización
InternacionalizaciónInternacionalización
Internacionalización
 
Lectura voto femenino
Lectura voto femeninoLectura voto femenino
Lectura voto femenino
 

Proceso de normalizacion

  • 2. ¿Qué es la normalización? La normalización es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener.
  • 3. • Otra ventaja de la normalización de base de datos es el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco. • El proceso de normalización tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco confuso al principio, pero poco a poco se va entendiendo el proceso, así como las razones para hacerlo de esta manera.
  • 4. • También se puede entender como una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. • La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos. La normalización también hace las cosas fáciles de entender.
  • 5. • En la tabla siguiente se describe brevemente en que consiste cada una de las reglas, y posteriormente se explican con más detalle. • Básicamente, las reglas de Normalización están encaminadas a eliminar redundancias e inconsistencias de dependencia en el diseño de las tablas. Regla Descripción Primera Forma Normal (1FN) Incluye la eliminación de todos los grupos repetidos. Segunda Forma Normal (2FN) Asegura que todas las columnas que no son llave sean completamente dependientes de la llave primaria (PK). Tercera Forma Normal (3FN) Elimina cualquier dependencia transitiva. Una dependencia transitiva es aquella en la cual las columnas que no son llave son dependientes de otras columnas que tampoco son llave.
  • 6. EJEMPLO • Digamos que queremos crear una tabla con la información de usuarios, y los datos a guardar son el nombre, la empresa, la dirección de la empresa y algún e-mail, o bien URL si las tienen. En principio comenzarías definiendo la estructura de una tabla como esta:
  • 7. • Formalización CERO USUARIOS NOMBRE EMPRESA DIRECCIÓN _ EMPRESA URL1 URL2 Juan ABC Guerrero No. 21 abc.com xyz.com Maria XYZ Abasolo No. 36 abc.com xyz.com
  • 8. • Diríamos que la anterior tabla esta en nivel de Formalización Cero porque ninguna de nuestras reglas de normalización ha sido aplicada. Observa los campos URL1 y URL2 • ¿Qué haremos cuando en nuestra aplicación necesitemos una tercera URL? • ¿Quieres tener que añadir otro campo/columna a tu tabla y tener que reprogramar toda la entrada de datos de tu código? • Obviamente no, tu quieres crear un sistema funcional que pueda crecer y adaptarse fácilmente a los nuevos requisitos. Echemos un vistazo a las reglas del Primer Nivel de Formalización-Normalización, y las aplicaremos a nuestra tabla
  • 9. Primer nivel de Formalización/Normalización. (F/N) • La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas • Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna múltiples.
  • 10. ¿En que consiste la primera forma? • Eliminar los grupos repetitivos de las tablas individuales. • Crear una tabla separada por cada grupo de datos relacionados. • Identificar cada grupo de datos relacionados con una clave primaria.
  • 11. • Estamos rompiendo la primera regla cuando repetimos los campos URL1 y URL2? • ¿Y que pasa con la tercera regla, la clave primaria? La regla tres básicamente significa que tenemos que poner un campo tipo contador autoincrementable para cada registro. • De otra forma, ¿Qué pasaría si tuviéramos dos usuarios llamados Joe y queremos diferenciarlos. • Una vez que aplicáramos el primer nivel de F/N nos encontraríamos con la siguiente tabla:
  • 12. usuarios userId nombre empresa dirección _ empresa URL 1 Juan ABC Guerrero No. 21 abc.com 1 Juan ABC Guerrero No. 21 xyz.com 2 María XYZ Abasolo No. 36 abc.com 2 María XYZ Abasolo No. 36 xyz.com
  • 13. • Ahora diremos que nuestra tabla está en el primer nivel de F/N. Hemos solucionado el problema de la limitación del campo URL. • Pero sin embargo vemos otros problemas....Cada vez que introducimos un nuevo registro en la tabla usuarios, tenemos que duplicar el nombre de la empresa y del usuario. No sólo nuestra BD crecerá muchísimo, sino que será muy fácil que la BD se corrompa si escribimos mal alguno de los datos redundantes.
  • 14. Segundo nivel de F/N • Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros. • Relacionar estas tablas mediante una clave externa.
  • 15. • Hemos separado el campo URL en otra tabla, de forma que podemos añadir más en el futuro si tener que duplicar los demás datos. También vamos a usar nuestra clave primaria para relacionar estos campos:
  • 16. usuarios USERID nombre empresa dirección _ empresa 1 Juan ABC Guerrero No. 21 2 María XYZ Abasolo No. 36 URLS URLID relUserId URL 1 1 abc.com 2 1 xyz.com 3 2 abc.com 4 2 xyz.com
  • 17. • Hemos creado tablas separadas y la clave primaria en la tabla usuarios, userId, esta relacionada ahora con la clave externa en la tabla urls, relUserId. • Pero que ocurre cuando queremos añadir otro empleado a la empresa ABC? ¿o 200 empleados ? Ahora tenemos el nombre de la empresa y su dirección duplicándose, otra situación que puede inducirnos a introducir errores en nuestros datos. Así que tendremos que aplicar el tercer nivel de F/N:
  • 18. Tercer nivel de F/N. • Eliminar aquellos campos que no dependan de la clave. • Nuestro nombre de empresa y su dirección no tienen nada que ver con el campo userId, así que tienen que tener su propio empresa id:
  • 19. usuarios userId nombre relEmpresaId 1 Juan 1 2 María 2 empresas emprId empresa dirección _ empresa 1 ABC Guerrero No. 21 2 XYZ Abasolo No. 36 urls urlId RelUserId url 1 1 abc.com 2 1 xyz.com 3 2 abc.com 4 2 xyz.com
  • 20. • Ahora tenemos la clave primaria emprId en la tabla empresas relacionadas con la clave externa relEmpresaId en la tabla usuarios, y podemos añadir 200 usuarios mientras que sólo tenemos que insertar el nombre 'ABC' una vez. • Nuestras tablas de usuarios y urls pueden crecer todo lo que quieran sin duplicación ni corrupción de datos. • La mayoría de los desarrolladores dicen que el tercer nivel de F/N es suficiente, que nuestro esquema de datos puede manejar fácilmente los datos obtenidos de una cualquier empresa en su totalidad, y en la mayoría de los casos esto será cierto.