SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Normalización de
                Base de Datos




@emalca          Ing. Eddie Malca Vicente
                   emalca@iluminatic.com
/iluminatic           emalca@gmail.com
Introducción
• El diseño de base de datos tiene como objetivo obtener una
  serie de esquemas que permitan almacenar información, sin
  redundancia y de fácil acceso.
• Las formas normales permiten lograr un buen diseño de base
  de datos cumpliendo ciertas reglas.
• Para esto se necesita información acerca del problema que
  se esté modelando. Parte de esta información se encuentra
  en un diagrama E-R, pero se necesita información adicional.
Normalización

• El proceso de normalización de una base de datos consiste
  en aplicar una serie de reglas a las relaciones obtenidas en el
  modelo E-R (entidad-relación).
• Las bases de datos relacionales se normalizan para:
   Evitar la redundancia de los datos.
   Evitar problemas de actualización de los datos en las tablas.
   Proteger la integridad de los datos.
• En el modelo relacional es frecuente llamar tabla a una
  relación, la cual tiene que cumplir con algunas restricciones:
   - Cada columna debe tener su nombre único.
   - No puede haber dos renglones iguales. No se permiten los
      duplicados.
   - Todos los datos en una columna deben ser del mismo tipo.
Teoría de la Normalización

• Técnica formal de análisis y organización de datos; trata de
  evitar la redundancia y anomalías de actualización.
• Introduce formalización en el diseño lógico de base de datos
  relacionales.
• Además permite mecanizar parte del proceso al disponer de
  instrumentos algorítmicos de ayuda al diseño.
• Proceso de normalización: disminuye las anomalías de
  actualización, pero penaliza las consultas (combinación
  consume muchos recursos, las consultas demoran más en
  dar resultados).
Las Formas normales

•   Un esquema de relación está en una determinada forma normal si
    satisface un determinado conjunto específico de restricciones
    definidas sobre los atributos del esquema (dependencias).

    – 1ª FN (Codd, 1970)
       • Concepto de relación normalizada.
    – 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd, 1974)
       • Basadas en análisis de dependencias funcionales.
    – 4ª FN. Fagin, 1977
       • Basada en análisis de dependencias multivaluadas.
    – 5ª FN. Fagin, 1979
       • Basada en análisis de dependencias de proyección /
          combinación.
Formas normales

     Relaciones en 2ªFN

    Relaciones en 3ªFN

     Relaciones en FNBC

     Relaciones en 4ªFN

      Relaciones en 5ªFN




   Relaciones normalizadas

          Relaciones
Normalización de un esquema de BD
Ejemplo 1

• Estamos en un servicio de biblioteca y
  queremos llevar el control del préstamo que
  incluya los siguientes datos:
• Información sobre el usuario del servicio, datos
  del libro y la información sobre el préstamos que
  se realiza.
Diagrama E-R para el ejemplo

• Estamos en un servicio de biblioteca y queremos llevar
  el control del préstamo que incluya los siguientes datos:
• Información sobre el usuario del servicio, datos del libro
  y la información sobre el préstamos que se realiza.

    usuario                                           libro




   Existe una relación muchos a muchos que hay que romper.
Primera Forma Normal
•   En una relación (tabla) no pueden existir grupos de repetición, es
    decir, un atributo no puede tomar más de un valor del dominio
    subyacente:
•   Considerando la entidad usuario, sus atributos son:
    i_usuario#, n_usuario, i_libro, d_prestamo, d_entrega

•   Y considerando la entidad libro, sus atributos son:
    i_libro#, n_título, n_editorial, n_país, d_año

•   La entidad usuario, presenta el siguiente problema: cada vez que un
    usuario pida un libro hay que escribir su número de usuario
    (i_usuario) y su nombre (n_usuario), además en la realidad se
    tendrán muchos datos más de los usuarios de la biblioteca.
•   ¿Qué problemas puede traer esto?
•   Hacer una tabla con datos y ver que pasa
La Tablita

i_usuario   n_usuario    i_libro    d_prestamo d_entrega



3435        J. Perez     Qa76.9     25/IV/07   13/V/07



3435        J. Perez     Qa76.9     5/X/07     13/X/07



3435        J. Perez     Qa76.893   3/III/07   13/III/07



5678        A. Ramírez   Qa76.9     2/IV/07    3/V/07
Aplicando la Primera Forma Normal

1.    Identificar “grupos de repetición”. En el ejemplo el “grupo
      de repetición” es lo que está en rojo: i_usuario#, n_usuario,
      i_libro, d_prestamo, d_entrega
2.    Eliminar “grupos de repetición”. Para poderlos eliminar se
      crea una nueva tabla con una llave primaria compuesta, una
      parte es la llave primaria de la tabla original (i_usuario) y la
      otra parte es la llave primaria del grupo de repetición (i_libro),
      las entidades quedan así:
     usuario (i_usuario#, n_usuario)
     prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega)
     –    De una entidad se crearon 2 entidades
     –    La entidad libro queda igual
     libro(i_libro#, n_título, n_editorial, n_país, d_año)
Segunda Forma Normal

•   Establece que todas las dependencias parciales se deben
    eliminar y separar dentro de sus propias tablas.
•   Una dependencia parcial es un atributo que no depende
    completamente de la llave primaria. Normalmente se
    presenta cuando la llave primaria es compuesta, es decir,
    que está formada por dos atributos.
•   Analizando la entidad préstamo que es la que tiene la llave
    primaria compuesta:
    prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega)

•   En este ejemplo todas las entidades se encuentran en 2
    FN, ya que los atributos d_prestamo y d_entrega dependen
    completamente de la llave primaria compuesta y no de una
    parte de ésta.
Aplicando la Segunda Forma Normal

•    Cuando alguna entidad se encuentre en 2FN, será
     necesario:
1.   Determinar cuáles atributos no dependen de la llave
     primaria compuesta de la tabla.
2.   Eliminar esas columnas de la tabla base.
3.   Crear una segunda tabla con esos atributos cuya llave
     primaria será el atributo del cual dependen.
Tercera Forma Normal

• Una relación está en 3FN si no hay dependencias transitivas.
  Una dependencia transitiva es aquella en la cual existen
  columnas (atributos) que dependen de otras columnas
  (atributos) que tampoco son llave.

• En el ejemplo, estas dos entidades están en 3FN:
   usuario (i_usuario#, n_usuario)
   prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega)

• Pero en esta entidad se puede aplicar la 3FN
   libro(i_libro#, n_título, n_editorial, n_país, d_año)
Aplicando la Tercera Forma Normal

Los pasos a seguir son:
1.    Determinar que columnas son dependientes de otra columna no
      llave.
    - En el ejemplo el atributo n_pais y d_año dependen del atributo
        no llave n_editorial, por lo tanto se puede sacar a otra entidad.
2.    Eliminar esas columnas de la tabla base
3.    Crear otra tabla con esas columnas y con la columna no llave de
      la cual son dependientes, crear una llave primaria para esta tabla.
      - En el ejemplo, a partir de la entidad libro quedarían las
      siguientes dos entidades:
       libro(i_libro#, n_título, n_editorial, n_país, d_año)
       editorial(i_editorial#, n_editorial, n_editorial, n_país, d_año)
Ejemplo 2

• Se requiere tener la información sobre los alumnos de los
  distintos programas de postgrado de la UPCI. Sus datos
  generales. Que grado cursan (especialidad, maestría y/o
  doctorado) y el nombre del programa, que materias han
  cursado, que calificación llevan en cada una de ellas, en que
  período la cursaron y con que profesor. De cada materia se
  necesita saber clave, su área y el número de créditos.
Metodología

• Identificar entidad(es): Definir objetos como personas, lugares
  o conceptos sobre los que se quiere tener información.
• Identificar atributos:    Definir las “propiedades” de cada
  entidad
• Determinar llave primaria.
Comencemos

• ENTIDADES: alumno
• ATRIBUTOS: expediente, nombre, clave_mat, calificacion,
  trimestre, creditos, materia
• LLAVE PRIMARIA: expediente
• La entidad resultante es:
  alumno(expediente#, nombre, grado, programa
  clave_mat, materia, profesor, periodo_cursada,
  calificacion, creditos, área)
Primera Forma Normal

• 1FN: Identificar “grupos de repetición” en cada
  entidad
• Cada grupo de repetición sacarlo a una nueva
  entidad. Su llave primaria será una llave primaria
  compuesta (2 atributos).
Aplicación Primera Forma Normal

• IDENTIFICAR GRUPO(S) DE REPETICION:
  alumno(expediente#, nombre, grado, programa
  (clave_mat, materia, profesor, periodo_cursada,
  calificacion, creditos, área))
• SACAR GRUPO REPETICION A NUEVA ENTIDAD:
  alumno(expediente#, nombre, grado, programa)
  alumno-materia(expediente#, clave_mat#, materia,
  profesor, periodo_cursada, calificacion, creditos,
  área))
Segunda Forma Normal

• Identificar atributos que no dependen completamente
  de la llave primaria compuesta
• Sacar a una nueva entidad los atributos que no
  dependen completamente de la llave primaria
  compuesta. La llave primaria de esta nueva entidad
  será la parte de la llave primaria compuesta de la cual
  dependen estos atributos.
Aplicación Segunda Forma Normal

• IDENTIFICAR ATRIBUTOS QUE NO DEPENDEN
  COMPLETAMENTE DE expediente#-materia#:
  materia, créditos, área SACARLOS A OTRA ENTIDAD
  CON SU LLAVE PRIMARIA
  alumno(expediente#, nombre, grado, programa)
  alumno-materia(expediente#, clave_mat#,
  periodo_cursada#, profesor, calificacion,))
  materia(clave_mat#, materia, creditos, área)
Tercera Forma Normal
•   Identificar atributos no llave que dependan de otro atributo no llave
                   alumno                 nombre
                           expediente# grado
                                          programa

    alumno-materia                      profesor,
      expediente#, clave_mat#, periodo_cursada#,
                                        calificacion

    materia                       materia
                    clave_mat# creditos
                                  área
•    Analizar: un alumno puede estar en más de un programa? ya sea
    al mismo tiempo o al finalizar uno, iniciar otro?
•   ¿Conviene un catálogo de programas que se imparten en la UPCI?
Normalización
                 de Base de
                      Datos



@emalca         Ing. Eddie Malca Vicente
                  emalca@iluminatic.com
/iluminatic          emalca@gmail.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Ejercicios de base de datos
Ejercicios de base de datosEjercicios de base de datos
Ejercicios de base de datos
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Tema3 modelo relacional - normalización
Tema3   modelo relacional - normalizaciónTema3   modelo relacional - normalización
Tema3 modelo relacional - normalización
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
 
Reglas de transformacion
Reglas de transformacionReglas de transformacion
Reglas de transformacion
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Caso de uso de caja negra
Caso de uso de caja negraCaso de uso de caja negra
Caso de uso de caja negra
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Funciones en SQL SERVER
Funciones en SQL SERVERFunciones en SQL SERVER
Funciones en SQL SERVER
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Ejercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalizaciónEjercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalización
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 

Similar a Normalización de bases de datos

Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalizacióncintiap25
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en Bases de datoskamui002
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosJorge Luis Chalén
 
Diapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdfDiapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdfMauroAlvarez42
 
Diseño logico de la base de datos
Diseño logico de la base de datosDiseño logico de la base de datos
Diseño logico de la base de datosFabricio Sanchez
 
Modelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresModelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresRafaelOlivares22
 
Modelo entidad relación Rojas
Modelo entidad relación RojasModelo entidad relación Rojas
Modelo entidad relación RojasJoselineRojas
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionJosé Antonio Sandoval Acosta
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datosMaximilianoCspedes1
 
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
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalluisftafur
 
Programación en base de datos
Programación en base de datosProgramación en base de datos
Programación en base de datosFred M. Jr.
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacionalluisftafur
 

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

Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
004 normalizacion
004 normalizacion004 normalizacion
004 normalizacion
 
Tuto 2 -normalizacion
Tuto 2 -normalizacionTuto 2 -normalizacion
Tuto 2 -normalizacion
 
Normalización en Bases de datos
Normalización en Bases de datosNormalización en Bases de datos
Normalización en 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
 
01 introduccion (1)my sql
01 introduccion (1)my sql01 introduccion (1)my sql
01 introduccion (1)my sql
 
Diapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdfDiapositiva_BD_Unidad_02_TES.pdf
Diapositiva_BD_Unidad_02_TES.pdf
 
Diseño logico de la base de datos
Diseño logico de la base de datosDiseño logico de la base de datos
Diseño logico de la base de datos
 
Base
BaseBase
Base
 
Modelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael OlivaresModelos de bdd y modelos de datos Rafael Olivares
Modelos de bdd y modelos de datos Rafael Olivares
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Modelo entidad relación Rojas
Modelo entidad relación RojasModelo entidad relación Rojas
Modelo entidad relación Rojas
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Base de datos ti09313
Base de datos ti09313Base de datos ti09313
Base de datos ti09313
 
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
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Programación en base de datos
Programación en base de datosProgramación en base de datos
Programación en base de datos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Bases de datos ss14
Bases de datos ss14Bases de datos ss14
Bases de datos ss14
 

Último

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Normalización de bases de datos

  • 1. Normalización de Base de Datos @emalca Ing. Eddie Malca Vicente emalca@iluminatic.com /iluminatic emalca@gmail.com
  • 2. Introducción • El diseño de base de datos tiene como objetivo obtener una serie de esquemas que permitan almacenar información, sin redundancia y de fácil acceso. • Las formas normales permiten lograr un buen diseño de base de datos cumpliendo ciertas reglas. • Para esto se necesita información acerca del problema que se esté modelando. Parte de esta información se encuentra en un diagrama E-R, pero se necesita información adicional.
  • 3. Normalización • El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas en el modelo E-R (entidad-relación). • Las bases de datos relacionales se normalizan para: Evitar la redundancia de los datos. Evitar problemas de actualización de los datos en las tablas. Proteger la integridad de los datos. • En el modelo relacional es frecuente llamar tabla a una relación, la cual tiene que cumplir con algunas restricciones: - Cada columna debe tener su nombre único. - No puede haber dos renglones iguales. No se permiten los duplicados. - Todos los datos en una columna deben ser del mismo tipo.
  • 4. Teoría de la Normalización • Técnica formal de análisis y organización de datos; trata de evitar la redundancia y anomalías de actualización. • Introduce formalización en el diseño lógico de base de datos relacionales. • Además permite mecanizar parte del proceso al disponer de instrumentos algorítmicos de ayuda al diseño. • Proceso de normalización: disminuye las anomalías de actualización, pero penaliza las consultas (combinación consume muchos recursos, las consultas demoran más en dar resultados).
  • 5. Las Formas normales • Un esquema de relación está en una determinada forma normal si satisface un determinado conjunto específico de restricciones definidas sobre los atributos del esquema (dependencias). – 1ª FN (Codd, 1970) • Concepto de relación normalizada. – 2ª, 3ª FN (Codd, 1970), FNBC (Boyce/Codd, 1974) • Basadas en análisis de dependencias funcionales. – 4ª FN. Fagin, 1977 • Basada en análisis de dependencias multivaluadas. – 5ª FN. Fagin, 1979 • Basada en análisis de dependencias de proyección / combinación.
  • 6. Formas normales Relaciones en 2ªFN Relaciones en 3ªFN Relaciones en FNBC Relaciones en 4ªFN Relaciones en 5ªFN Relaciones normalizadas Relaciones
  • 7. Normalización de un esquema de BD
  • 8. Ejemplo 1 • Estamos en un servicio de biblioteca y queremos llevar el control del préstamo que incluya los siguientes datos: • Información sobre el usuario del servicio, datos del libro y la información sobre el préstamos que se realiza.
  • 9. Diagrama E-R para el ejemplo • Estamos en un servicio de biblioteca y queremos llevar el control del préstamo que incluya los siguientes datos: • Información sobre el usuario del servicio, datos del libro y la información sobre el préstamos que se realiza. usuario libro Existe una relación muchos a muchos que hay que romper.
  • 10. Primera Forma Normal • En una relación (tabla) no pueden existir grupos de repetición, es decir, un atributo no puede tomar más de un valor del dominio subyacente: • Considerando la entidad usuario, sus atributos son: i_usuario#, n_usuario, i_libro, d_prestamo, d_entrega • Y considerando la entidad libro, sus atributos son: i_libro#, n_título, n_editorial, n_país, d_año • La entidad usuario, presenta el siguiente problema: cada vez que un usuario pida un libro hay que escribir su número de usuario (i_usuario) y su nombre (n_usuario), además en la realidad se tendrán muchos datos más de los usuarios de la biblioteca. • ¿Qué problemas puede traer esto? • Hacer una tabla con datos y ver que pasa
  • 11. La Tablita i_usuario n_usuario i_libro d_prestamo d_entrega 3435 J. Perez Qa76.9 25/IV/07 13/V/07 3435 J. Perez Qa76.9 5/X/07 13/X/07 3435 J. Perez Qa76.893 3/III/07 13/III/07 5678 A. Ramírez Qa76.9 2/IV/07 3/V/07
  • 12. Aplicando la Primera Forma Normal 1. Identificar “grupos de repetición”. En el ejemplo el “grupo de repetición” es lo que está en rojo: i_usuario#, n_usuario, i_libro, d_prestamo, d_entrega 2. Eliminar “grupos de repetición”. Para poderlos eliminar se crea una nueva tabla con una llave primaria compuesta, una parte es la llave primaria de la tabla original (i_usuario) y la otra parte es la llave primaria del grupo de repetición (i_libro), las entidades quedan así: usuario (i_usuario#, n_usuario) prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega) – De una entidad se crearon 2 entidades – La entidad libro queda igual libro(i_libro#, n_título, n_editorial, n_país, d_año)
  • 13. Segunda Forma Normal • Establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. • Una dependencia parcial es un atributo que no depende completamente de la llave primaria. Normalmente se presenta cuando la llave primaria es compuesta, es decir, que está formada por dos atributos. • Analizando la entidad préstamo que es la que tiene la llave primaria compuesta: prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega) • En este ejemplo todas las entidades se encuentran en 2 FN, ya que los atributos d_prestamo y d_entrega dependen completamente de la llave primaria compuesta y no de una parte de ésta.
  • 14. Aplicando la Segunda Forma Normal • Cuando alguna entidad se encuentre en 2FN, será necesario: 1. Determinar cuáles atributos no dependen de la llave primaria compuesta de la tabla. 2. Eliminar esas columnas de la tabla base. 3. Crear una segunda tabla con esos atributos cuya llave primaria será el atributo del cual dependen.
  • 15. Tercera Forma Normal • Una relación está en 3FN si no hay dependencias transitivas. Una dependencia transitiva es aquella en la cual existen columnas (atributos) que dependen de otras columnas (atributos) que tampoco son llave. • En el ejemplo, estas dos entidades están en 3FN: usuario (i_usuario#, n_usuario) prestamo (i_usuario#, i_libro#, d_prestamo, d_entrega) • Pero en esta entidad se puede aplicar la 3FN libro(i_libro#, n_título, n_editorial, n_país, d_año)
  • 16. Aplicando la Tercera Forma Normal Los pasos a seguir son: 1. Determinar que columnas son dependientes de otra columna no llave. - En el ejemplo el atributo n_pais y d_año dependen del atributo no llave n_editorial, por lo tanto se puede sacar a otra entidad. 2. Eliminar esas columnas de la tabla base 3. Crear otra tabla con esas columnas y con la columna no llave de la cual son dependientes, crear una llave primaria para esta tabla. - En el ejemplo, a partir de la entidad libro quedarían las siguientes dos entidades: libro(i_libro#, n_título, n_editorial, n_país, d_año) editorial(i_editorial#, n_editorial, n_editorial, n_país, d_año)
  • 17. Ejemplo 2 • Se requiere tener la información sobre los alumnos de los distintos programas de postgrado de la UPCI. Sus datos generales. Que grado cursan (especialidad, maestría y/o doctorado) y el nombre del programa, que materias han cursado, que calificación llevan en cada una de ellas, en que período la cursaron y con que profesor. De cada materia se necesita saber clave, su área y el número de créditos.
  • 18. Metodología • Identificar entidad(es): Definir objetos como personas, lugares o conceptos sobre los que se quiere tener información. • Identificar atributos: Definir las “propiedades” de cada entidad • Determinar llave primaria.
  • 19. Comencemos • ENTIDADES: alumno • ATRIBUTOS: expediente, nombre, clave_mat, calificacion, trimestre, creditos, materia • LLAVE PRIMARIA: expediente • La entidad resultante es: alumno(expediente#, nombre, grado, programa clave_mat, materia, profesor, periodo_cursada, calificacion, creditos, área)
  • 20. Primera Forma Normal • 1FN: Identificar “grupos de repetición” en cada entidad • Cada grupo de repetición sacarlo a una nueva entidad. Su llave primaria será una llave primaria compuesta (2 atributos).
  • 21. Aplicación Primera Forma Normal • IDENTIFICAR GRUPO(S) DE REPETICION: alumno(expediente#, nombre, grado, programa (clave_mat, materia, profesor, periodo_cursada, calificacion, creditos, área)) • SACAR GRUPO REPETICION A NUEVA ENTIDAD: alumno(expediente#, nombre, grado, programa) alumno-materia(expediente#, clave_mat#, materia, profesor, periodo_cursada, calificacion, creditos, área))
  • 22. Segunda Forma Normal • Identificar atributos que no dependen completamente de la llave primaria compuesta • Sacar a una nueva entidad los atributos que no dependen completamente de la llave primaria compuesta. La llave primaria de esta nueva entidad será la parte de la llave primaria compuesta de la cual dependen estos atributos.
  • 23. Aplicación Segunda Forma Normal • IDENTIFICAR ATRIBUTOS QUE NO DEPENDEN COMPLETAMENTE DE expediente#-materia#: materia, créditos, área SACARLOS A OTRA ENTIDAD CON SU LLAVE PRIMARIA alumno(expediente#, nombre, grado, programa) alumno-materia(expediente#, clave_mat#, periodo_cursada#, profesor, calificacion,)) materia(clave_mat#, materia, creditos, área)
  • 24. Tercera Forma Normal • Identificar atributos no llave que dependan de otro atributo no llave alumno nombre expediente# grado programa alumno-materia profesor, expediente#, clave_mat#, periodo_cursada#, calificacion materia materia clave_mat# creditos área • Analizar: un alumno puede estar en más de un programa? ya sea al mismo tiempo o al finalizar uno, iniciar otro? • ¿Conviene un catálogo de programas que se imparten en la UPCI?
  • 25. Normalización de Base de Datos @emalca Ing. Eddie Malca Vicente emalca@iluminatic.com /iluminatic emalca@gmail.com