SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Desnormalización
de Base de Datos
Por: Jesús Canales
Antes de empezar… recordemos
Normalización
● Proceso que se implementa para organizar y garantizar la
integridad y estructura de los datos.
● Su meta es eliminar datos redundantes o duplicados en la
base de datos y asegurar que las dependencias tengan
sentido.
● De esta manera, se hace más fácil el mantenimiento y la
escalabilidad del sistema.
Reglas de Normalización
Primer Forma Normal
1FN
Segunda Forma Normal
2FN
Tercera Forma Normal
3FN
sin valores repetidos
sin grupos repetidos
sin valores no clave basados
en parte de una clave
compuesta
sin valores no clave basados
en otros valores no clave
Demo
Id_orden Fecha Id_cliente
2301 23/02/2011 101
2302 25/02/2011 107
2303 27/02/2011 110
Id_cliente Nom_cliente Ciudad
101 Martin Lima
107 Herman Ica
110 Pedro Piura
Id_Det Id_orden Num_art cant
100 2301 3786 3
101 2301 4011 6
102 2301 9132 8
103 2302 5794 4
104 2303 4011 2
105 2303 3141 2
Num_art nom_art Precio
3786 Mouse 35.00
4011 Teclado 65.00
9132 Monitor 475.00
5794 Impresora 255.00
3141 USB 35.00
Id_cliente Nom_cliente Ciudad
101 Martin Lima
107 Herman Ica
110 Pedro Piura
Num_art nom_art Precio
3786 Mouse 35.00
4011 Teclado 65.00
9132 Monitor 475.00
5794 Impresora 255.00
3141 USB 35.00
Artículo
Cliente
Id_orden Fecha Id_cliente
2301 23/02/2011 101
2302 25/02/2011 107
2303 27/02/2011 110
Id_Det Id_orden Num_art cant
100 2301 3786 3
101 2301 4011 6
102 2301 9132 8
103 2302 5794 4
104 2303 4011 2
105 2303 3141 2
Orden
OrdDet
1
∞
1
∞
1
∞
Desnormalización
Es la duplicación intencionada de columnas en una o
varias tablas y esto aumenta la redundancia de datos.
Ejemplo 01
Tabla:
Id_Emp Nombre Apellidos Email Personal Teléfono
2301 Rosa Herlinda Barrios Guerra rbarrios@gmail.com 581-2261
2302 María Ofelia Campos Chávez mcampos@outlook.com 284-2345
2303 Carlos Alberto Pérez Francia cperez@yahoo.com 530-4578
Empleado
Tabla:
Id_Emp Nombre Apellidos Email Personal Teléf 01 Teléf 02
2301 Rosa Herlinda Barrios Guerra rbarrios@gmail.com 581-2261 581-7845
2302 María Ofelia Campos Chávez mcampos@outlook.com 284-2345 284-7845
2303 Carlos Alberto Pérez Francia cperez@yahoo.com 530-4578 530-4512
Empleado
Ejemplo 02
Tabla:
Id_Emp Nombre Apellidos Lugar Distrito Provincia Zip
2301 Rosa Barrios Guerra Montejato San Vicente Cañete 15700
2302 María Campos Chávez Ungará San Vicente Cañete 15700
2303 Carlos Pérez Francia La Quebrada San Luis Cañete 15720
Empleado
Consideraciones adicionales
Convención de nombres
● Documenta la estructura de la base de datos
● Ayuda a otros a entender sus decisiones de diseño
● Ayuda a agregar nuevas características
1. Ser consistente
● Cod-Emp, Nom-Emp, Ape-Emp, Depart-Emp
● COD-EMP, NOM-EMP, APE-EMP, DEPART-EMP
● CodEmp, NomEmp, ApeEmp, DepartEmp
2. Evitar caracteres especiales
● No utilice espacios en los nombres de tablas y campos.
● Use caracteres alfanuméricos
● No utilice llaves, parentesis, etc.
● ! # $ ^ & = ? *
3. Conozca las palabras reservadas
● Los SGBD tienen palabras reservadas.
● SELECT
● CREATE
● DATE, TIME, NAME, CHARACTER, GROUP
Tipos de datos
● Almacenar datos de texto.
● Los datos numéricos también pueden ser texto.
● Almacenar números.
● Datos de tipo fecha y hora.
● Datos boleanos: Si / No.
● Datos especiales: geográficos, XML, hipervínculos, etc.
Aplicar Integridad y Restricciones
● Controlando el ingreso de datos.
● Controlando el ingreso de números.
● Campos requeridos.
Vamos por más acción!!!
GRACIAS TOTALES!!!!

Más contenido relacionado

La actualidad más candente

Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionsandrikarina
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físicoerrroman
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciònomarzon
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bdArnold Ortiz
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaIsrael Rey
 

La actualidad más candente (20)

Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Integridad de base de datos
Integridad de base de datosIntegridad de base de datos
Integridad de base de datos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bd
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistema
 

Más de Jesús Canales Guando

Trabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetrosTrabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetrosJesús Canales Guando
 
Productividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerProductividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerJesús Canales Guando
 
Trabajando sentencias de manipulación de datos con MySQL
Trabajando sentencias de manipulación de datos con MySQLTrabajando sentencias de manipulación de datos con MySQL
Trabajando sentencias de manipulación de datos con MySQLJesús Canales Guando
 
Diseño físico de base de datos - Part I
Diseño físico de base de datos - Part IDiseño físico de base de datos - Part I
Diseño físico de base de datos - Part IJesús Canales Guando
 
Trabajando con informes en MS Access
Trabajando con informes en MS AccessTrabajando con informes en MS Access
Trabajando con informes en MS AccessJesús Canales Guando
 
Trabajando con formularios en MS Access
Trabajando con formularios en MS AccessTrabajando con formularios en MS Access
Trabajando con formularios en MS AccessJesús Canales Guando
 
03 Creando una aplicación con Oracle Apex 18.1
03 Creando una aplicación con Oracle Apex 18.103 Creando una aplicación con Oracle Apex 18.1
03 Creando una aplicación con Oracle Apex 18.1Jesús Canales Guando
 
02 Revisando aplicaciones web en Oracle Apex 18.1
02 Revisando aplicaciones web en Oracle Apex 18.102 Revisando aplicaciones web en Oracle Apex 18.1
02 Revisando aplicaciones web en Oracle Apex 18.1Jesús Canales Guando
 
Workshop web design con Adobe Photoshop
Workshop web design con Adobe PhotoshopWorkshop web design con Adobe Photoshop
Workshop web design con Adobe PhotoshopJesús Canales Guando
 
Trabajando con consultas en Microsoft Access
Trabajando con consultas en Microsoft AccessTrabajando con consultas en Microsoft Access
Trabajando con consultas en Microsoft AccessJesús Canales Guando
 
Creando base de datos con Microsoft Access - Parte 01
Creando base de datos con Microsoft Access - Parte 01Creando base de datos con Microsoft Access - Parte 01
Creando base de datos con Microsoft Access - Parte 01Jesús Canales Guando
 
00 Introducción a Oracle Database 11g R2
00 Introducción a Oracle Database 11g R200 Introducción a Oracle Database 11g R2
00 Introducción a Oracle Database 11g R2Jesús Canales Guando
 

Más de Jesús Canales Guando (17)

Trabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetrosTrabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetros
 
Productividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerProductividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modeler
 
Oracle Database 11g enterprise
Oracle Database 11g enterpriseOracle Database 11g enterprise
Oracle Database 11g enterprise
 
Trabajando sentencias de manipulación de datos con MySQL
Trabajando sentencias de manipulación de datos con MySQLTrabajando sentencias de manipulación de datos con MySQL
Trabajando sentencias de manipulación de datos con MySQL
 
Diseño físico de base de datos - Part I
Diseño físico de base de datos - Part IDiseño físico de base de datos - Part I
Diseño físico de base de datos - Part I
 
Trabajando con informes en MS Access
Trabajando con informes en MS AccessTrabajando con informes en MS Access
Trabajando con informes en MS Access
 
Trabajando con formularios en MS Access
Trabajando con formularios en MS AccessTrabajando con formularios en MS Access
Trabajando con formularios en MS Access
 
03 Creando una aplicación con Oracle Apex 18.1
03 Creando una aplicación con Oracle Apex 18.103 Creando una aplicación con Oracle Apex 18.1
03 Creando una aplicación con Oracle Apex 18.1
 
02 Revisando aplicaciones web en Oracle Apex 18.1
02 Revisando aplicaciones web en Oracle Apex 18.102 Revisando aplicaciones web en Oracle Apex 18.1
02 Revisando aplicaciones web en Oracle Apex 18.1
 
01 Conociendo Ooracle Apex part01
01 Conociendo Ooracle Apex part0101 Conociendo Ooracle Apex part01
01 Conociendo Ooracle Apex part01
 
Diseño de base de datos
Diseño de base de datosDiseño de base de datos
Diseño de base de datos
 
Diseño lógico de base de datos
Diseño lógico de base de datosDiseño lógico de base de datos
Diseño lógico de base de datos
 
Workshop web design con Adobe Photoshop
Workshop web design con Adobe PhotoshopWorkshop web design con Adobe Photoshop
Workshop web design con Adobe Photoshop
 
Trabajando con consultas en Microsoft Access
Trabajando con consultas en Microsoft AccessTrabajando con consultas en Microsoft Access
Trabajando con consultas en Microsoft Access
 
Creando base de datos con Microsoft Access - Parte 01
Creando base de datos con Microsoft Access - Parte 01Creando base de datos con Microsoft Access - Parte 01
Creando base de datos con Microsoft Access - Parte 01
 
Base de Datos con Microsoft Access
Base de Datos con Microsoft AccessBase de Datos con Microsoft Access
Base de Datos con Microsoft Access
 
00 Introducción a Oracle Database 11g R2
00 Introducción a Oracle Database 11g R200 Introducción a Oracle Database 11g R2
00 Introducción a Oracle Database 11g R2
 

Desnormalización de Base de Datos

  • 1. Desnormalización de Base de Datos Por: Jesús Canales
  • 2. Antes de empezar… recordemos
  • 3. Normalización ● Proceso que se implementa para organizar y garantizar la integridad y estructura de los datos. ● Su meta es eliminar datos redundantes o duplicados en la base de datos y asegurar que las dependencias tengan sentido. ● De esta manera, se hace más fácil el mantenimiento y la escalabilidad del sistema.
  • 4. Reglas de Normalización Primer Forma Normal 1FN Segunda Forma Normal 2FN Tercera Forma Normal 3FN sin valores repetidos sin grupos repetidos sin valores no clave basados en parte de una clave compuesta sin valores no clave basados en otros valores no clave
  • 6. Id_orden Fecha Id_cliente 2301 23/02/2011 101 2302 25/02/2011 107 2303 27/02/2011 110 Id_cliente Nom_cliente Ciudad 101 Martin Lima 107 Herman Ica 110 Pedro Piura Id_Det Id_orden Num_art cant 100 2301 3786 3 101 2301 4011 6 102 2301 9132 8 103 2302 5794 4 104 2303 4011 2 105 2303 3141 2 Num_art nom_art Precio 3786 Mouse 35.00 4011 Teclado 65.00 9132 Monitor 475.00 5794 Impresora 255.00 3141 USB 35.00
  • 7. Id_cliente Nom_cliente Ciudad 101 Martin Lima 107 Herman Ica 110 Pedro Piura Num_art nom_art Precio 3786 Mouse 35.00 4011 Teclado 65.00 9132 Monitor 475.00 5794 Impresora 255.00 3141 USB 35.00 Artículo Cliente Id_orden Fecha Id_cliente 2301 23/02/2011 101 2302 25/02/2011 107 2303 27/02/2011 110 Id_Det Id_orden Num_art cant 100 2301 3786 3 101 2301 4011 6 102 2301 9132 8 103 2302 5794 4 104 2303 4011 2 105 2303 3141 2 Orden OrdDet 1 ∞ 1 ∞ 1 ∞
  • 8. Desnormalización Es la duplicación intencionada de columnas en una o varias tablas y esto aumenta la redundancia de datos.
  • 10. Tabla: Id_Emp Nombre Apellidos Email Personal Teléfono 2301 Rosa Herlinda Barrios Guerra rbarrios@gmail.com 581-2261 2302 María Ofelia Campos Chávez mcampos@outlook.com 284-2345 2303 Carlos Alberto Pérez Francia cperez@yahoo.com 530-4578 Empleado
  • 11. Tabla: Id_Emp Nombre Apellidos Email Personal Teléf 01 Teléf 02 2301 Rosa Herlinda Barrios Guerra rbarrios@gmail.com 581-2261 581-7845 2302 María Ofelia Campos Chávez mcampos@outlook.com 284-2345 284-7845 2303 Carlos Alberto Pérez Francia cperez@yahoo.com 530-4578 530-4512 Empleado
  • 13. Tabla: Id_Emp Nombre Apellidos Lugar Distrito Provincia Zip 2301 Rosa Barrios Guerra Montejato San Vicente Cañete 15700 2302 María Campos Chávez Ungará San Vicente Cañete 15700 2303 Carlos Pérez Francia La Quebrada San Luis Cañete 15720 Empleado
  • 15. Convención de nombres ● Documenta la estructura de la base de datos ● Ayuda a otros a entender sus decisiones de diseño ● Ayuda a agregar nuevas características
  • 16. 1. Ser consistente ● Cod-Emp, Nom-Emp, Ape-Emp, Depart-Emp ● COD-EMP, NOM-EMP, APE-EMP, DEPART-EMP ● CodEmp, NomEmp, ApeEmp, DepartEmp
  • 17. 2. Evitar caracteres especiales ● No utilice espacios en los nombres de tablas y campos. ● Use caracteres alfanuméricos ● No utilice llaves, parentesis, etc. ● ! # $ ^ & = ? *
  • 18. 3. Conozca las palabras reservadas ● Los SGBD tienen palabras reservadas. ● SELECT ● CREATE ● DATE, TIME, NAME, CHARACTER, GROUP
  • 19. Tipos de datos ● Almacenar datos de texto. ● Los datos numéricos también pueden ser texto. ● Almacenar números. ● Datos de tipo fecha y hora. ● Datos boleanos: Si / No. ● Datos especiales: geográficos, XML, hipervínculos, etc.
  • 20. Aplicar Integridad y Restricciones ● Controlando el ingreso de datos. ● Controlando el ingreso de números. ● Campos requeridos.
  • 21. Vamos por más acción!!!