Base de Datos


Profesor:
Msc Luis Serna Jherry
Objetivos de Hoy
 Proceso de Normalización.
 Dependencias Funcional Funcional
              Funcional,
 Completa y Transitiva.
 Primera,
 Primera Segunda y Tercera Formas
 Normales.
El Proceso de Normalización
La teoría de la normalización permite reconocer
propiedades indeseables en las relaciones y
convertirlas.
Tiene como fundamento el concepto de formas
normales.
Se dice que una relación está en una
determinada forma normal si satisface un cierto
conjunto de restricciones.
    j    d       i i
El proceso de normalización es reversible y no
se pierde información
          información.
Formas Normales
Universo de las relaciones (normalizadas y no normalizadas)
 Relaciones 1FN (relaciones normalizadas)
     Relaciones 2 FN
        Relaciones 3 FN
          Relaciones FNBC
              Relaciones 4FN
              R l i
                  Relaciones FN/PJ (5FN)
El Proceso de Normalización
Definiciones

DEPENDENCIA FUNCIONAL
 Relación semántica entre dos ó más atributos:
El valor de un atributo “x”determina el valor de
otro atributo “y”
RELACIÓN = Tabla
Dependencia Funcional
     Dada una Relación R, el atributo “y” de R,
     depende funcionalmente (DF) del atributo
     “x” de R, si el valor de “y” está determinado
     por el valor de “x”. El atributo x se llama
     determinante.
     d t     i   t
              R.x         R.y

Se lee: “R.x determina funcionalmente a R.y”
o      “R.y d
       “R depende funcionalmente de R.x”.
                  d f i l        t d R ”
Dependencia Funcional
   p
Ejemplo:
  C Alumno        N Alumno         C Postal      N Especialidad

  200800101       Salazar            L14            Industrial
  200840126       Jiménez            L27           Electrónica
  200812536       Bernales           L01            Sistemas
  200840016       Cordova            L20            Sistemas
  200820010       Alvarez            L27              Civil

       C Alumno              N Alumno
       C Alumno              C Postal
       C Alumno              N Especialidad
   C Alumno            (N Alumno, C Postal, N Especialidad)
Dependencia Funcional
    p
Ejemplo: Relación Evaluación en Cursos que se llevan sólo
   una vez
CAlumno C Profesor           N alumno      C Curso       Q Nota
  3456      0301      José Pérez             SI03         15.00
  1256      2005      María Antúnez          SI20         16.50
  0101      0312      Lourdes Sánchez        SI03         17.00
  3456      2002      José Pérez             SI20         13.50
  1234      0304      Pilar García           SI03         18.00

          CAlumno                       N alumno
          CAlumno, C curso              C Profesor
          CAlumno,
          CAlumno C curso               Q Nota
          CAlumno, C curso              (C Profesor, Q Nota)
Dependencia Funcional
   p
Dada una relación R, el atributo “y” depende
                   R              y
funcionalmente del atributo “x” si y sólo si,
siempre que dos tuplas concuerden en el valor
     p q           p
de “x”, deben por fuerza concordar también en
el valor de “y”.

La definición de Dependencia Funcional (DF) no
                   p                    ( )
requiere que el determinante x sea una clave
candidata de R: no es obligatorio que un valor
dado de x aparezca en una sola tupla de R.
Dependencia Funcional
   p
Relación Evaluación
  C Alumno      N Alumno    C Curso    Q Nota

 200810025       Jiménez      S03       15.00
 200810025       Jiménez      S20       16.50
 200810025       Jiménez      S25       13.25
 200840026      La Madrid
                L M d id     SI03       17.00
                                        17 00
 200840026      La Madrid    HU2        14.00

             C Alumno       N Alumno

 Sin embargo el atributo C Alumno NO es clave
     embargo,
       candidata de la relación Evaluación
Dependencia Funcional Completa

 Dada una Relación R, el atributo “z” de R, está
 en dependencia funcional completa (DFC) de
 l clave primaria PK de R, si el valor de “z”
 la l      i   i     d      i l l d “ ”
 depende funcionalmente de TODA la clave PK
 y NO de un subconjunto de la misma.

             R.(x,y)            R.z

               Donde PK=(x,y)
Dependencia Funcional Completa
Ejemplo:

  EVALUACION
   C Estudiante        C Curso       Q Nota
    200810025               S03        16.00
    200810025               S114       15.25
    200525036               SI03       14.00

        C Estudiante
                                   Q Nota
        C Curso

  (C Estudiante, C Curso)           Q Nota
Dependencia Funcional Completa
D    d   i F    i   lC    l t

    C-          C-         N-           N-      Q Horas
 Consultor   Proyecto   Consultor    Proyecto trabajadas
    C1          P1           Juan     Auditoria   25
    C1          P2           Juan       DW        80
    C2          P1           Pedro    Auditoria   35
    C3          P3           María     CRM        20
    C3          P4           María      ERP       50

         C-Consultor
                                     Q Horas_Trabajadas
         C Proyecto
         C-Proyecto

 (C-Consultor, C-Proyecto)           Q Horas_Trabajadas
Dependencia Transitiva
  p

 Dada una Relación R, el atributo “z” de R, está en dependencia
 transitiva (DT) de la clave primaria PK de R, si el valor de “z”
 depende funcionalmente de otro atributo no clave “y”.




                  R.x
                  R                   R.y, R
                                      R R.z
                        Donde PK=x
 Se lee “R.z es funcionalmente dependiente de
 R.y y transitivamente dependiente de R.x
                                      R.x”
Dependencia Transitiva
  Ejemplo:
   COMPROBANTE

#Comprobante   C Cliente   N Cliente       D Venta


    0040         C01         Juan         20/05/02
    0050         C01         Juan         18/04/02
    0010         C02        María         15/04/02
    0020         C02        María         15/04/02


    #Comprobante
        p                     C Cliente, D Venta,
                                       ,
                                          N Cliente
Dependencia Transitiva
Ejemplo: Relación Asignación de Personal en un solo proyecto P

                                                C-    D Proyecto-
C-Empleado     N-Empleado     $ Salario
                                             Proyecto  Término
     E1           Juan          3,500           P1      31/10/02
     E2           Pedro         3,000           P1      31/10/02
     E3           María         3,800
                                3 800           P2      15/11/02
     E4          Andrés         3,000           P2      15/11/02
     E5            Ana          2,800           P1      31/10/02


  C-Empleado                   C-Proyecto,

                                        DProyecto-Término
N    li   ió
Normalización
  Datos sin normalizar
                         1FN: Las relaciones no deben
                         contener grupos repetitivos

  1ra. Forma Normal
                         2FN: Cada atributo no clave
                         debe depender de toda la clave
  2da. Forma Normal
                         3FN: Cada atributo no clave
                         debe depender de toda la
  3ra. Forma Normal      clave de esa relación y no de
                         otros atributos.
                          t     t ib t
Anomalías
A    lí
Se presentan cuando tratamos de almacenar
 información en tablas no normalizadas:
• D actualización: i
  De t li ió inconsistencia de los datos como
                           it i d l d t
  consecuencia de actualizaciones parciales y datos
  redundantes.
  redundantes
• De inserción: imposibilidad de adicionar datos en la
  BD por la ausencia de otros.
• De borrado: pérdida no intencionada de datos
  debido a la eliminación de otros.
Primera Forma Normal
      (1FN)
Una relación está en primera forma normal o (1FN)
   si todos los atributos de cada tupla contienen un
     solo valor tomado de sus dominios respectivos
                    (valores atómicos)
 Todos los atributos de una relación tienen valores
 simples
 Todos los valores de cualquier columna son del
 mismo tipo
   i      ti
 No hay grupos ni arreglos repetidos como valores
Primera Forma Normal (1FN)
                      (   )
       Relación: Pedido
CCliente   NCliente   NCiudad $Flete   $
                                       $Precio    CProducto Qpedida
                                                             p        DPedido
                                       Unitario
C1         JUAN       LIMA     0.75     8.20        I3       1         5/6/03

C1         JUAN       LIMA     0.75     8.20        I3       2         12/10/03

C2         MARIA      TUMBES   1.95     4.00        I2       1         15/05/03

C2         MARIA      TUMBES   1.95     8.20        I3       1         15/05/03

C2         MARIA      TUMBES   1.95     2.00        I1       3         15/05/03

C3         PEDRO      LIMA     0.75     4.00        I2       1         10/08/03

C3         PEDRO      LIMA     0.75     2.00        I1       2         10/10/03

C4         ANA        ICA      1.05     10.50       I4       1         5/05/03
Primera Forma Normal (1FN)
¿Cuál
¿C ál es el
          l
problema?
¿Por qué habría
que modificar este
esquema?
Fallas de 1FN
Las fallas en el almacenamiento de una relación
que ya está en 1FN, se deben a la presencia de
uno o más atributos no-clave que no son DFC con
                             q
la clave primaria (PK).
Los defectos se pueden eliminar con el siguiente
                p                        g
procedimiento
  Quitar de la relación 1FN todos los atributos no-clave
  que no estén en DFC d la PK.
             é         C de l
  Guardar esos atributos no-clave en relaciones nuevas y
  adecuadas.
  adecuadas
Ejemplo de Fallas del 1FN ya que los atributos no dependen funcionalmente de
toda la clave




CCliente   NCliente   NCiudad $Flete   $
                                       $Precio    CProducto Qpedida
                                                             p          DPedido
                                       Unitario
C1         JUAN       LIMA     0.75      8.20       I3        1          5/6/03

C1         JUAN       LIMA     0.75      8.20       I3        2          12/10/03

C2         MARIA      TUMBES   1.95      4.00       I2        1          15/05/03

C2         MARIA      TUMBES   1.95      8.20       I3        1          15/05/03

C2         MARIA      TUMBES   1.95      2.00       I1        3          15/05/03

C3         PEDRO      LIMA     0.75      4.00       I2        1          10/08/03

C3         PEDRO      LIMA     0.75      2.00       I1        2          10/10/03

C4         ANA        ICA      1.05      10.50      I4        1          5/05/03
Segunda Forma Normal (2FN)

 Una relación está en segunda forma
   normal o (2FN) si es 1FN y cada
   atributo no clave de la relación es
  total y funcionalmente dependiente
       (DFC) de su clave primaria
Normalización                      2FN
Producto:
(C-Producto, $ Precio Unitario)


Cliente:
(C-Cliente, N-Cliente, N Ciudad, $Flete)

Pedido 1:
(C-Cliente, C-Producto, Pedido, Pedida)
(C Cli t C P d t D P did Q P did )
Segunda Normal (2FN)
 ¿Cuál
 ¿C ál es el
           l
 problema?
 ¿Por qué habría
 que modificar este
 esquema?
Fallas de 2FN
Los defectos de almacenamiento de una relación
2FN son causados por la dependencia transitiva
( )
(DT) de atributos no-clave con la clave primaria.
                                        p
Se puede normalizar como sigue:
  Examinar cada atributo no-clave para ver si
  está en DF con otro atributo diferente de la PK.
  Crear una nueva relación para almacenar la no-
  clave transitivamente dependiente.
Ejemplo de Falla de 2FN


Cliente:
(C-Cliente, N-Cliente, Ciudad
(C Cliente N Cliente N Ciudad, $ Flete)
Tercera Forma Normal (3FN)

 Una relación está en tercera forma
  normal o (3FN) si es 2FN y ningún
atributo no-clave en la relación esta en
 DF con algún otro atributo no clave.
                              no-clave.
I.E. Si está en 2FN y no tiene dependencias
transitivas
Normalización hasta 3FN
Producto:
(C-Producto, $ Precio Unitario)

Cliente 1:                          Ciudad:
(C-Cliente, N-Cliente, N Ciudad)    (N Ciudad, $ Flete)

Pedido 1:
(C-Cliente, C-Producto, D Pedido, Q Pedida)
Resumen de 1FN, 2FN y 3FN
    R       d 1FN
Primera Forma Normal
 Una relación está en primera forma normal o (1FN) si todos los
 atributos de cada tupla contienen un solo valor tomado de sus
 dominios respectivos (valores atómicos).
Segunda Forma Normal
 U a e ac ó
 Una relación está e segu da forma normal o (
                   en segunda o a o a              (2FN) si es 1FN y cada
                                                       )s
 atributo no clave de la relación es total y funcionalmente dependiente
 (DFC) de su clave primaria.
Tercera Forma Normal
 Una relación está en tercera forma normal o (3FN) si es 2FN y ningún
 atributo no-clave en la relación esta en DF con algún otro atributo no-
 clave.
Objetivos Generales de las
 Formas Normales
Eliminar ciertos tipos de redundancia.
Evitar ciertas anomalías en la actualización de
datos.
Producir un diseño que sea una “buena”
representación del mundo real: que sea fácil de
entender intuitivamente y constituya una buena
base para un crecimiento futuro.
b                  i i t f t
Facilitar la recuperación de la información.

Normalizacion 1 -_3_fn

  • 1.
    Base de Datos Profesor: MscLuis Serna Jherry
  • 2.
    Objetivos de Hoy Proceso de Normalización. Dependencias Funcional Funcional Funcional, Completa y Transitiva. Primera, Primera Segunda y Tercera Formas Normales.
  • 3.
    El Proceso deNormalización La teoría de la normalización permite reconocer propiedades indeseables en las relaciones y convertirlas. Tiene como fundamento el concepto de formas normales. Se dice que una relación está en una determinada forma normal si satisface un cierto conjunto de restricciones. j d i i El proceso de normalización es reversible y no se pierde información información.
  • 4.
    Formas Normales Universo delas relaciones (normalizadas y no normalizadas) Relaciones 1FN (relaciones normalizadas) Relaciones 2 FN Relaciones 3 FN Relaciones FNBC Relaciones 4FN R l i Relaciones FN/PJ (5FN)
  • 5.
    El Proceso deNormalización Definiciones DEPENDENCIA FUNCIONAL Relación semántica entre dos ó más atributos: El valor de un atributo “x”determina el valor de otro atributo “y” RELACIÓN = Tabla
  • 6.
    Dependencia Funcional Dada una Relación R, el atributo “y” de R, depende funcionalmente (DF) del atributo “x” de R, si el valor de “y” está determinado por el valor de “x”. El atributo x se llama determinante. d t i t R.x R.y Se lee: “R.x determina funcionalmente a R.y” o “R.y d “R depende funcionalmente de R.x”. d f i l t d R ”
  • 7.
    Dependencia Funcional p Ejemplo: C Alumno N Alumno C Postal N Especialidad 200800101 Salazar L14 Industrial 200840126 Jiménez L27 Electrónica 200812536 Bernales L01 Sistemas 200840016 Cordova L20 Sistemas 200820010 Alvarez L27 Civil C Alumno N Alumno C Alumno C Postal C Alumno N Especialidad C Alumno (N Alumno, C Postal, N Especialidad)
  • 8.
    Dependencia Funcional p Ejemplo: Relación Evaluación en Cursos que se llevan sólo una vez CAlumno C Profesor N alumno C Curso Q Nota 3456 0301 José Pérez SI03 15.00 1256 2005 María Antúnez SI20 16.50 0101 0312 Lourdes Sánchez SI03 17.00 3456 2002 José Pérez SI20 13.50 1234 0304 Pilar García SI03 18.00 CAlumno N alumno CAlumno, C curso C Profesor CAlumno, CAlumno C curso Q Nota CAlumno, C curso (C Profesor, Q Nota)
  • 9.
    Dependencia Funcional p Dada una relación R, el atributo “y” depende R y funcionalmente del atributo “x” si y sólo si, siempre que dos tuplas concuerden en el valor p q p de “x”, deben por fuerza concordar también en el valor de “y”. La definición de Dependencia Funcional (DF) no p ( ) requiere que el determinante x sea una clave candidata de R: no es obligatorio que un valor dado de x aparezca en una sola tupla de R.
  • 10.
    Dependencia Funcional p Relación Evaluación C Alumno N Alumno C Curso Q Nota 200810025 Jiménez S03 15.00 200810025 Jiménez S20 16.50 200810025 Jiménez S25 13.25 200840026 La Madrid L M d id SI03 17.00 17 00 200840026 La Madrid HU2 14.00 C Alumno N Alumno Sin embargo el atributo C Alumno NO es clave embargo, candidata de la relación Evaluación
  • 11.
    Dependencia Funcional Completa Dada una Relación R, el atributo “z” de R, está en dependencia funcional completa (DFC) de l clave primaria PK de R, si el valor de “z” la l i i d i l l d “ ” depende funcionalmente de TODA la clave PK y NO de un subconjunto de la misma. R.(x,y) R.z Donde PK=(x,y)
  • 12.
    Dependencia Funcional Completa Ejemplo: EVALUACION C Estudiante C Curso Q Nota 200810025 S03 16.00 200810025 S114 15.25 200525036 SI03 14.00 C Estudiante Q Nota C Curso (C Estudiante, C Curso) Q Nota
  • 13.
    Dependencia Funcional Completa D d i F i lC l t C- C- N- N- Q Horas Consultor Proyecto Consultor Proyecto trabajadas C1 P1 Juan Auditoria 25 C1 P2 Juan DW 80 C2 P1 Pedro Auditoria 35 C3 P3 María CRM 20 C3 P4 María ERP 50 C-Consultor Q Horas_Trabajadas C Proyecto C-Proyecto (C-Consultor, C-Proyecto) Q Horas_Trabajadas
  • 14.
    Dependencia Transitiva p Dada una Relación R, el atributo “z” de R, está en dependencia transitiva (DT) de la clave primaria PK de R, si el valor de “z” depende funcionalmente de otro atributo no clave “y”. R.x R R.y, R R R.z Donde PK=x Se lee “R.z es funcionalmente dependiente de R.y y transitivamente dependiente de R.x R.x”
  • 15.
    Dependencia Transitiva Ejemplo: COMPROBANTE #Comprobante C Cliente N Cliente D Venta 0040 C01 Juan 20/05/02 0050 C01 Juan 18/04/02 0010 C02 María 15/04/02 0020 C02 María 15/04/02 #Comprobante p C Cliente, D Venta, , N Cliente
  • 16.
    Dependencia Transitiva Ejemplo: RelaciónAsignación de Personal en un solo proyecto P C- D Proyecto- C-Empleado N-Empleado $ Salario Proyecto Término E1 Juan 3,500 P1 31/10/02 E2 Pedro 3,000 P1 31/10/02 E3 María 3,800 3 800 P2 15/11/02 E4 Andrés 3,000 P2 15/11/02 E5 Ana 2,800 P1 31/10/02 C-Empleado C-Proyecto, DProyecto-Término
  • 17.
    N li ió Normalización Datos sin normalizar 1FN: Las relaciones no deben contener grupos repetitivos 1ra. Forma Normal 2FN: Cada atributo no clave debe depender de toda la clave 2da. Forma Normal 3FN: Cada atributo no clave debe depender de toda la 3ra. Forma Normal clave de esa relación y no de otros atributos. t t ib t
  • 18.
    Anomalías A lí Se presentan cuando tratamos de almacenar información en tablas no normalizadas: • D actualización: i De t li ió inconsistencia de los datos como it i d l d t consecuencia de actualizaciones parciales y datos redundantes. redundantes • De inserción: imposibilidad de adicionar datos en la BD por la ausencia de otros. • De borrado: pérdida no intencionada de datos debido a la eliminación de otros.
  • 19.
    Primera Forma Normal (1FN) Una relación está en primera forma normal o (1FN) si todos los atributos de cada tupla contienen un solo valor tomado de sus dominios respectivos (valores atómicos) Todos los atributos de una relación tienen valores simples Todos los valores de cualquier columna son del mismo tipo i ti No hay grupos ni arreglos repetidos como valores
  • 20.
    Primera Forma Normal(1FN) ( ) Relación: Pedido CCliente NCliente NCiudad $Flete $ $Precio CProducto Qpedida p DPedido Unitario C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03 C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03 C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03 C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03 C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03 C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03 C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03 C4 ANA ICA 1.05 10.50 I4 1 5/05/03
  • 21.
    Primera Forma Normal(1FN) ¿Cuál ¿C ál es el l problema? ¿Por qué habría que modificar este esquema?
  • 22.
    Fallas de 1FN Lasfallas en el almacenamiento de una relación que ya está en 1FN, se deben a la presencia de uno o más atributos no-clave que no son DFC con q la clave primaria (PK). Los defectos se pueden eliminar con el siguiente p g procedimiento Quitar de la relación 1FN todos los atributos no-clave que no estén en DFC d la PK. é C de l Guardar esos atributos no-clave en relaciones nuevas y adecuadas. adecuadas
  • 23.
    Ejemplo de Fallasdel 1FN ya que los atributos no dependen funcionalmente de toda la clave CCliente NCliente NCiudad $Flete $ $Precio CProducto Qpedida p DPedido Unitario C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03 C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03 C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03 C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03 C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03 C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03 C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03 C4 ANA ICA 1.05 10.50 I4 1 5/05/03
  • 24.
    Segunda Forma Normal(2FN) Una relación está en segunda forma normal o (2FN) si es 1FN y cada atributo no clave de la relación es total y funcionalmente dependiente (DFC) de su clave primaria
  • 25.
    Normalización 2FN Producto: (C-Producto, $ Precio Unitario) Cliente: (C-Cliente, N-Cliente, N Ciudad, $Flete) Pedido 1: (C-Cliente, C-Producto, Pedido, Pedida) (C Cli t C P d t D P did Q P did )
  • 26.
    Segunda Normal (2FN) ¿Cuál ¿C ál es el l problema? ¿Por qué habría que modificar este esquema?
  • 27.
    Fallas de 2FN Losdefectos de almacenamiento de una relación 2FN son causados por la dependencia transitiva ( ) (DT) de atributos no-clave con la clave primaria. p Se puede normalizar como sigue: Examinar cada atributo no-clave para ver si está en DF con otro atributo diferente de la PK. Crear una nueva relación para almacenar la no- clave transitivamente dependiente.
  • 28.
    Ejemplo de Fallade 2FN Cliente: (C-Cliente, N-Cliente, Ciudad (C Cliente N Cliente N Ciudad, $ Flete)
  • 29.
    Tercera Forma Normal(3FN) Una relación está en tercera forma normal o (3FN) si es 2FN y ningún atributo no-clave en la relación esta en DF con algún otro atributo no clave. no-clave. I.E. Si está en 2FN y no tiene dependencias transitivas
  • 30.
    Normalización hasta 3FN Producto: (C-Producto,$ Precio Unitario) Cliente 1: Ciudad: (C-Cliente, N-Cliente, N Ciudad) (N Ciudad, $ Flete) Pedido 1: (C-Cliente, C-Producto, D Pedido, Q Pedida)
  • 31.
    Resumen de 1FN,2FN y 3FN R d 1FN Primera Forma Normal Una relación está en primera forma normal o (1FN) si todos los atributos de cada tupla contienen un solo valor tomado de sus dominios respectivos (valores atómicos). Segunda Forma Normal U a e ac ó Una relación está e segu da forma normal o ( en segunda o a o a (2FN) si es 1FN y cada )s atributo no clave de la relación es total y funcionalmente dependiente (DFC) de su clave primaria. Tercera Forma Normal Una relación está en tercera forma normal o (3FN) si es 2FN y ningún atributo no-clave en la relación esta en DF con algún otro atributo no- clave.
  • 32.
    Objetivos Generales delas Formas Normales Eliminar ciertos tipos de redundancia. Evitar ciertas anomalías en la actualización de datos. Producir un diseño que sea una “buena” representación del mundo real: que sea fácil de entender intuitivamente y constituya una buena base para un crecimiento futuro. b i i t f t Facilitar la recuperación de la información.