Sobre el contenido del blog

Todo aquel que estudia carreras relacionadas a la informática necesita aprender sobre bases de datos. Si bien algunos conceptos son muy teóricos, no son difíciles de entender si son explicados de manera adecuada y sencilla.

En este blog quiero explicar sobre aquellos temas de bases de datos de la manera en que me hubiera gustado a mí que me las explicaran.

lunes, 16 de abril de 2012

Segunda Forma Normal en Bases de Datos (2FN)

La segunda forma normal (2NF) es una forma normal usada en normalización de bases de datos. Una tabla que está en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal.

Una tabla 1NF estará en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo una parte de ella.

Ejemplos:
  • Ejemplo1:
Esto se soluciona separando el atributo N_TRABAJADOR a una tabla separada
  • Ejemplo 2:
en este caso se puede separar la tabla en 3 tablas diferentes para cumplir con la 2FN

Ejemplo3: 
Esta tabla esta en FN2

Ejemplo4:
Esta tabla esta en FN2

La Segunda Forma Normal presenta anomalias, en donde si existe dependencia funcional completa entre los atributos. como en el ejemplo siguiente: 

De este tipo de anomalias se encarga la tercera forma normal.

19 comentarios:

  1. Hola Jean Carlo Espinoza.

    Habrá alguna otra manera de explicar lo que publicaste sobre la 2FN?

    " Una tabla 1NF estará en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo una parte de ella."

    No la logré entender del todo

    ResponderEliminar
  2. 1FN debe de cumplir todos los requisitos. (cambiar atributos multivaluados, atributos compuestos, grupos alternativos o especializaciones)

    Y para que cumpla 2FN todos los atributos no clave dependen por completo de la clave primaria.

    ResponderEliminar
  3. Toda la tabla debe depender de su clave primaria, no deben existir otros campos en la misma tabla que dependa de otra eso es 2FN.

    ResponderEliminar
  4. Trataré de explicar la segunda forma normal con una analogía o regla ficticia. Imaginen que hubiera una ley que indicar lo siguiente "En una casa que es propiedad de mama y papá solamente deben habitar los hijos de ambos pues dependen de los dos; si hay algun niño que es hijo solamente de uno de ellos..Afuera!!. El no puede vivir ahi. Mama o papá, quien sea su padre deberá comprar otra casa, esta sera solamente de el/ella y ahi vivirá su hijo pues depende solamente y directamente de el/ella"
    Que regla tan drástica. Pues bien.. eso es la 2FN.
    Si la "casa" tiene solamente un "propietario" ni se agobien. Esta cumple la 2FN
    La teoria dice que segun la 2FN no puede existir en una tabla DEPENDENCIAS PARCIALES, es decir que al tener una idenrificador /llave primaria compuesta, no pueden aparecer atributos que dependen directamente solamente de uno de los atributos que forman la llave primaria. Espero haber explicado

    ResponderEliminar
    Respuestas
    1. En suficiente aplicar la NF2 para evitar la redundancia

      Eliminar
    2. muchas gracias de esta forma quedo claro.
      Simplemente todos los atributos deben depender de la clave compuesta es decir que si tenemos dos claves primarias todos los atributos deben depender de esas dos claves, en caso de que un atributo solo depende de una parte de la clave primaria las segunda forma no se cumple

      Eliminar
    3. Muchas gracias, con este ejemplo que por cierto es muy bueno, me quedó clarísimo. Gracias nuevamente

      Eliminar
  5. mmmmmh estoy al 75% de entenderlo bien, creo que con la práctica lo haré !

    ResponderEliminar
  6. Tengo 59 años. 38 haciendo sistemas. Veo tu teoría bien y los ejemplos correctos. Lo que le diría a los chicos que no han entendido es que revisen Y ANALIZEN los ejemplos que incluyes.

    ResponderEliminar
  7. Es suficiente aplicar la NF2 para evitar la redundancia

    ResponderEliminar
  8. Saludos, si tienes un entidad llamada alumno esta solo debe contener atributos que describan la entidad, dado que exista un atributo por ejemplo curso este debe convertirse en una entidad aparte.

    ResponderEliminar
  9. Muchas gracias me sirvió para complementar.

    ResponderEliminar
  10. Muchas gracias, me fue de gran ayuda para mi tarea.

    ResponderEliminar
  11. Una Gran manera de explicar es de mucha ayuda

    ResponderEliminar