SlideShare a Scribd company logo
1 of 14
Normalización de bases de datos
Una relación es una tabla, compuesta por
 renglones y columnas que cumple con los
 siguientes requisitos:
Las celdas de la tabla deben ser de un valor único, (no
grupos repetidos, no series por valores)

Todas las entradas en cualquier columna deben ser del
mismo tipo

Cada columna tiene un nombre único y el orden de las
columnas no es importante

Dos renglones no pueden ser identicos y el orden de los
renglones no tiene importancia
Normalización de bases de datos
Dependencia Funcional
Relación entre atributos según la cual conociendo el valor de
uno podemos saber el valor del otro. En la relación de atributos
A y B, B depende (funcionalmente) de A, si para un valor de A
hay sólo un valor de B, aunque a la inversa a un valor de B
puedan corresponderle varios valores de A. También pueden
incolucrar grupos de atributos.




En este caso, ID_Estudiante y Asignatura, determinan la
calificación.
Se escribe así: (ID_Estudiante, Asignatura)-> Calificación
Normalización de bases de datos
Determinantes vs. Llaves
A diferencia de los determinantes, las llaves son únicas.

Ejemplo: se establece que cada estudiante puede participar
máximo en una actividad:




Según lo anterior, ID_Estudiante es tanto llave como
determinante, mientras  que    Actividad es  solamente
determinante.
Normalización de bases de datos
Anomalías en las relaciones:
Anomalía de eliminación: Si al suprimir hechos de una entidad
  se suprimen hechos de otra entidad
                                                    Si    borramos    al
                                                    estudiante     1100
                                                    también se borra el
                                                    hecho      de   que
                                                    baloncesto    cuesta
                                                    3000




                          Para registrar el hecho de que tejo cuesta 2000
                          habría que esperar a que alguien se inscriba



Anomalía de inserción: Si no podemos insertar un hecho sobre
una entidad hasta que tengamos un hecho adicional de otra
entidad
Normalización de bases de datos

La esencia de la normalización:
   Cualquier relación que tenga dos o más temas, debe
   dividirse en dos o más relaciones, que contengan
   cada una un tema
Normalización de bases de datos
Clases de relaciones
Las relaciones se clasifican por
los tipos de anomalías a las
cuales son vulnerables. Las
técnicas para prevenir esas
anomalías se llaman formas
normales    y   se   encuentran
anidadas de la primera a la
quinta.


Primera forma normal:
 La tabla debe cumplir con los requisitos para ser una relación
Normalización de bases de datos
Segunda forma normal (2NF)
La relación está en 2NF si todos los atributos que no son llave
dependen de todos los atributos de la llave
 Ejemplo:
                            Como los estudiantes pueden estar
                            más de una actividad la llave está
                            formada      por      los   campos
                            ID_Estudiante-Actividad,  pero   el
                            campo valor es dependiente SÓLO de
                            Actividad.


  Solución:
Normalización de bases de datos
Tercera Forma normal (3NF)
Una relación está en 3NF si está en 2NF y no tiene dependencias
transitivas.
Ejemplo:

                            Llave: ID_Estudiante
                            Dependencias funcionales:
                            Municipio → Pasaje
                            ID_Estudiante → Municipio → Pasaje
ID_Estudiante → Municipio → Pasaje es una dependencia transitiva

Solución:
Normalización de bases de datos
Forma normal Byce-Codd (BCNF)
La relación está en BCNF si cada determinante es una llave
candidata
Ejemplo:
                             Aquí un estudiante puede estar en
                             más de una carrera, un cansejero sólo
                             puede asesorar en una carrera, pero
                             en cada carrera pueden haber varios
                             consejeros.

Llaves: hay dos llaves candidatas           Solución:

1. ID_Estudiante-Carrera
2. ID_Estudiante-Consejero

Otros determinantes:
Consejero → Carrera
Normalización de bases de datos
Cuarta forma normal (4NF)
La relación está en 4NF si está en BCNF y no tiene dependencias
multivaluadas.
Ejemplo:

                         Los estudiantes puede estar en más
                         de una carrera y estar en más de una
                         actividad.

Llave:                                        Solución:
ID_Estudiante-Carrera-Actividad

Dependencías funcionales: No hay

Hay Dependencias multivaluadas:
ID_Estudiante → → Carrera
ID_Estudiante → → Actividad
Normalización de bases de datos
Cuarta forma normal (4NF)
La relación está en 4NF si está en BCNF y no tiene dependencias
multivaluadas.
Ejemplo:

                         Los estudiantes puede estar en más
                         de una carrera y estar en más de una
                         actividad.

Llave:
ID_Estudiante-Carrera-Actividad            Solución:

Dependencías funcionales: No hay

Hay Dependencias multivaluadas:
ID_Estudiante → → Carrera
ID_Estudiante → → Actividad
Normalización de bases de datos
Quinta forma normal (5NF)
Las condiciones necesarias para que una relación se encuentre
en 4NF y no esté en 5NF son raras y escapan al alcance de este
curso. En todo caso se aplica como regla de oro la esencia de la
normalización:




   Cualquier relación que tenga dos o más temas, debe
   dividirse en dos o más relaciones, que contengan
   cada una un tema
Normalización de bases de datos
Forma normal dominio-llave (DK/NF)
Primero se definen los conceptos, restricción, dominio y llave
Restricción: Cualquier regla que gobierna los valores estáticos
de un atributo y es lo suficientemente precisa como para poder
verificar que es verdadera.
Llave: Atributo o grupo de atributos que identifica de manera
única una tupla.
Dominio: Descripción física y lógica del conjunto de valores que
puede tomar un atributo.

Una relación está en DK/NF si al cumplir las restricciones de la
llave y del dominio, da como resultado que todas las
restricciones se cumplan. Si se logra definir la relación de esta
forma, no habrá anomalías de modificación.
Normalización de bases de datos
   Ejemplo forma normal dominio-llave (DK/NF)




Dominios:
Persona_rica: Toda la gente rica
Tipo_de_persona_rica: Puede tomar los valores 'Millonario excéntrico', 'Multimillonario
excéntrico', 'Millonario malvado', y 'Multimillonario malvado'
Valor_neto_en_dólares: Valores superiores a 1'000.000

 Hay una restricción que de acuerdo con este diseño podría no cumplirse, ya que aún
 cuando los atributos conserven los valores dentro de sus dominios, podría violarse y es el
 hecho de que para ser 'Multimillonario excéntrico'o 'Multimillonario malvado' el valor neto
 en dólares debe ser superior a 999.999.999.

More Related Content

What's hot

Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosMayra Romero
 
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
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+neltherdaza
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datosvanessa peñafiel
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Listas en prolog
Listas en prologListas en prolog
Listas en prologJeffoG92
 

What's hot (20)

Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a 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
 
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
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Entidad Relación Banco
Entidad Relación BancoEntidad Relación Banco
Entidad Relación Banco
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
JTABLE
JTABLEJTABLE
JTABLE
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datos
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Listas en prolog
Listas en prologListas en prolog
Listas en prolog
 

Similar to Núcleo 3 - Normalización de Bases de datos

Similar to Núcleo 3 - Normalización de Bases de datos (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Optimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionalesOptimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionales
 
Tema9
Tema9Tema9
Tema9
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacin De Una Base De Datos
Normalizacin De Una Base De DatosNormalizacin De Una Base De Datos
Normalizacin De Una Base De Datos
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Base de datos 4
Base de datos 4Base de datos 4
Base de datos 4
 
Bdconcepbasicos2 ii
Bdconcepbasicos2 iiBdconcepbasicos2 ii
Bdconcepbasicos2 ii
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
004 normalizacion
004 normalizacion004 normalizacion
004 normalizacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion en base de datos BLOG GRUPO 5
Normalizacion en base de datos BLOG GRUPO 5Normalizacion en base de datos BLOG GRUPO 5
Normalizacion en base de datos BLOG GRUPO 5
 
Normalizacion en base de datos
Normalizacion en base de datosNormalizacion en base de datos
Normalizacion en base de datos
 
Unidad iii normalizacion
Unidad iii normalizacionUnidad iii normalizacion
Unidad iii normalizacion
 
Normalización de una base de datos
Normalización de una base de datosNormalización de una base de datos
Normalización de una base de datos
 
Reglas conversión modelo relacional
Reglas conversión modelo relacionalReglas conversión modelo relacional
Reglas conversión modelo relacional
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalización
NormalizaciónNormalización
Normalización
 
Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 

More from carsanta

Nucleo 4 - Diseño de DB con Modelo Entidad Relación
Nucleo 4 - Diseño de DB con Modelo Entidad RelaciónNucleo 4 - Diseño de DB con Modelo Entidad Relación
Nucleo 4 - Diseño de DB con Modelo Entidad Relacióncarsanta
 
Analisis de sistemas: nucleo 3
Analisis de sistemas: nucleo 3Analisis de sistemas: nucleo 3
Analisis de sistemas: nucleo 3carsanta
 
Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2carsanta
 
Analisis de sistemas: nucleo 1
Analisis de sistemas: nucleo 1Analisis de sistemas: nucleo 1
Analisis de sistemas: nucleo 1carsanta
 
Nucleo 3 listas pilas colas
Nucleo 3 listas pilas colasNucleo 3 listas pilas colas
Nucleo 3 listas pilas colascarsanta
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicascarsanta
 
Nucleo 1 estructuras de datos y vectores
Nucleo 1 estructuras de datos y vectoresNucleo 1 estructuras de datos y vectores
Nucleo 1 estructuras de datos y vectorescarsanta
 
Nucleo 2 sobre los sistemas
Nucleo 2 sobre los sistemasNucleo 2 sobre los sistemas
Nucleo 2 sobre los sistemascarsanta
 
Nucleo 3 mecanismos de ordenamiento de los sistemas
Nucleo 3 mecanismos de ordenamiento de los sistemasNucleo 3 mecanismos de ordenamiento de los sistemas
Nucleo 3 mecanismos de ordenamiento de los sistemascarsanta
 
Nucleo1 introducción a la teoría general de sistemas
Nucleo1 introducción a la teoría general de sistemasNucleo1 introducción a la teoría general de sistemas
Nucleo1 introducción a la teoría general de sistemascarsanta
 

More from carsanta (10)

Nucleo 4 - Diseño de DB con Modelo Entidad Relación
Nucleo 4 - Diseño de DB con Modelo Entidad RelaciónNucleo 4 - Diseño de DB con Modelo Entidad Relación
Nucleo 4 - Diseño de DB con Modelo Entidad Relación
 
Analisis de sistemas: nucleo 3
Analisis de sistemas: nucleo 3Analisis de sistemas: nucleo 3
Analisis de sistemas: nucleo 3
 
Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2Analisis de sistemas: nucleo 2
Analisis de sistemas: nucleo 2
 
Analisis de sistemas: nucleo 1
Analisis de sistemas: nucleo 1Analisis de sistemas: nucleo 1
Analisis de sistemas: nucleo 1
 
Nucleo 3 listas pilas colas
Nucleo 3 listas pilas colasNucleo 3 listas pilas colas
Nucleo 3 listas pilas colas
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicas
 
Nucleo 1 estructuras de datos y vectores
Nucleo 1 estructuras de datos y vectoresNucleo 1 estructuras de datos y vectores
Nucleo 1 estructuras de datos y vectores
 
Nucleo 2 sobre los sistemas
Nucleo 2 sobre los sistemasNucleo 2 sobre los sistemas
Nucleo 2 sobre los sistemas
 
Nucleo 3 mecanismos de ordenamiento de los sistemas
Nucleo 3 mecanismos de ordenamiento de los sistemasNucleo 3 mecanismos de ordenamiento de los sistemas
Nucleo 3 mecanismos de ordenamiento de los sistemas
 
Nucleo1 introducción a la teoría general de sistemas
Nucleo1 introducción a la teoría general de sistemasNucleo1 introducción a la teoría general de sistemas
Nucleo1 introducción a la teoría general de sistemas
 

Núcleo 3 - Normalización de Bases de datos

  • 1. Normalización de bases de datos Una relación es una tabla, compuesta por renglones y columnas que cumple con los siguientes requisitos: Las celdas de la tabla deben ser de un valor único, (no grupos repetidos, no series por valores) Todas las entradas en cualquier columna deben ser del mismo tipo Cada columna tiene un nombre único y el orden de las columnas no es importante Dos renglones no pueden ser identicos y el orden de los renglones no tiene importancia
  • 2. Normalización de bases de datos Dependencia Funcional Relación entre atributos según la cual conociendo el valor de uno podemos saber el valor del otro. En la relación de atributos A y B, B depende (funcionalmente) de A, si para un valor de A hay sólo un valor de B, aunque a la inversa a un valor de B puedan corresponderle varios valores de A. También pueden incolucrar grupos de atributos. En este caso, ID_Estudiante y Asignatura, determinan la calificación. Se escribe así: (ID_Estudiante, Asignatura)-> Calificación
  • 3. Normalización de bases de datos Determinantes vs. Llaves A diferencia de los determinantes, las llaves son únicas. Ejemplo: se establece que cada estudiante puede participar máximo en una actividad: Según lo anterior, ID_Estudiante es tanto llave como determinante, mientras que Actividad es solamente determinante.
  • 4. Normalización de bases de datos Anomalías en las relaciones: Anomalía de eliminación: Si al suprimir hechos de una entidad se suprimen hechos de otra entidad Si borramos al estudiante 1100 también se borra el hecho de que baloncesto cuesta 3000 Para registrar el hecho de que tejo cuesta 2000 habría que esperar a que alguien se inscriba Anomalía de inserción: Si no podemos insertar un hecho sobre una entidad hasta que tengamos un hecho adicional de otra entidad
  • 5. Normalización de bases de datos La esencia de la normalización: Cualquier relación que tenga dos o más temas, debe dividirse en dos o más relaciones, que contengan cada una un tema
  • 6. Normalización de bases de datos Clases de relaciones Las relaciones se clasifican por los tipos de anomalías a las cuales son vulnerables. Las técnicas para prevenir esas anomalías se llaman formas normales y se encuentran anidadas de la primera a la quinta. Primera forma normal: La tabla debe cumplir con los requisitos para ser una relación
  • 7. Normalización de bases de datos Segunda forma normal (2NF) La relación está en 2NF si todos los atributos que no son llave dependen de todos los atributos de la llave Ejemplo: Como los estudiantes pueden estar más de una actividad la llave está formada por los campos ID_Estudiante-Actividad, pero el campo valor es dependiente SÓLO de Actividad. Solución:
  • 8. Normalización de bases de datos Tercera Forma normal (3NF) Una relación está en 3NF si está en 2NF y no tiene dependencias transitivas. Ejemplo: Llave: ID_Estudiante Dependencias funcionales: Municipio → Pasaje ID_Estudiante → Municipio → Pasaje ID_Estudiante → Municipio → Pasaje es una dependencia transitiva Solución:
  • 9. Normalización de bases de datos Forma normal Byce-Codd (BCNF) La relación está en BCNF si cada determinante es una llave candidata Ejemplo: Aquí un estudiante puede estar en más de una carrera, un cansejero sólo puede asesorar en una carrera, pero en cada carrera pueden haber varios consejeros. Llaves: hay dos llaves candidatas Solución: 1. ID_Estudiante-Carrera 2. ID_Estudiante-Consejero Otros determinantes: Consejero → Carrera
  • 10. Normalización de bases de datos Cuarta forma normal (4NF) La relación está en 4NF si está en BCNF y no tiene dependencias multivaluadas. Ejemplo: Los estudiantes puede estar en más de una carrera y estar en más de una actividad. Llave: Solución: ID_Estudiante-Carrera-Actividad Dependencías funcionales: No hay Hay Dependencias multivaluadas: ID_Estudiante → → Carrera ID_Estudiante → → Actividad
  • 11. Normalización de bases de datos Cuarta forma normal (4NF) La relación está en 4NF si está en BCNF y no tiene dependencias multivaluadas. Ejemplo: Los estudiantes puede estar en más de una carrera y estar en más de una actividad. Llave: ID_Estudiante-Carrera-Actividad Solución: Dependencías funcionales: No hay Hay Dependencias multivaluadas: ID_Estudiante → → Carrera ID_Estudiante → → Actividad
  • 12. Normalización de bases de datos Quinta forma normal (5NF) Las condiciones necesarias para que una relación se encuentre en 4NF y no esté en 5NF son raras y escapan al alcance de este curso. En todo caso se aplica como regla de oro la esencia de la normalización: Cualquier relación que tenga dos o más temas, debe dividirse en dos o más relaciones, que contengan cada una un tema
  • 13. Normalización de bases de datos Forma normal dominio-llave (DK/NF) Primero se definen los conceptos, restricción, dominio y llave Restricción: Cualquier regla que gobierna los valores estáticos de un atributo y es lo suficientemente precisa como para poder verificar que es verdadera. Llave: Atributo o grupo de atributos que identifica de manera única una tupla. Dominio: Descripción física y lógica del conjunto de valores que puede tomar un atributo. Una relación está en DK/NF si al cumplir las restricciones de la llave y del dominio, da como resultado que todas las restricciones se cumplan. Si se logra definir la relación de esta forma, no habrá anomalías de modificación.
  • 14. Normalización de bases de datos Ejemplo forma normal dominio-llave (DK/NF) Dominios: Persona_rica: Toda la gente rica Tipo_de_persona_rica: Puede tomar los valores 'Millonario excéntrico', 'Multimillonario excéntrico', 'Millonario malvado', y 'Multimillonario malvado' Valor_neto_en_dólares: Valores superiores a 1'000.000 Hay una restricción que de acuerdo con este diseño podría no cumplirse, ya que aún cuando los atributos conserven los valores dentro de sus dominios, podría violarse y es el hecho de que para ser 'Multimillonario excéntrico'o 'Multimillonario malvado' el valor neto en dólares debe ser superior a 999.999.999.