Hola a todos.
Vengo con una duda mas inclinada a lo teorico que a lo practico (la duda no se refiere a problemas con codigo java o sql).
En la universidad tengo un proyecto a realizar, nos encargaron realizar un software para dado un esquema R,sus dependencias funcionales de los atributos, y una superllave, normalizar (si no esta normalizada ) en 3 y 4ta forma.
Para este curso estuvimos trabajando con un archivo pdf :
Chapter 7: Relational Database Design Database System Concepts, 5th Ed.
©Silberschatz, Korth and Sudarshan.(si alguno quiere descargarlo, clic aqui)
En el libro se muestra un pseudocodigo para "facilitar" la normalizacion a 4ta forma:
y el resultado de ese codigo seria lo siguiente :
donde en el ejemplo se ve que se da un esquema, una relacion de dependencias ya partir de ello se hace la descomposicion de la base de datos.
Hablando con el maestro, me menciona que para este proceso se tiene que calcular la clausura de las dependencias funcionales ( o el cierre de las dependencias funcioanles) y la restriccion de las dependencias multievaluadas, pero en el algoritmo que pongo , no veo en que momento se ocupan(y de manera visual nunca las ocupe, asi que no veo el por que es necesario).
Esto conlleva ciertos conceptos que me falla ya que en la anterior universidad de donde estuve vi muy por encima las cosas, y estuve un poco perdido en el curso.
En la cuestion de codigo no quisiera que me ayudaran, seria pedir de mas, pero si que si alguno, que ya tenga conceptos de base de datos y normalizacion, me pudiera decifrar ¿ como es que se logra la descomposicion de la segunda imagen?
El pseudocodigo esta algo confuso, solo para aclarar confuciones que pudiera ver, en la linea
result :=
donde esta result - Ri , el simbolo "menos" no es una resta aparentemente, sino una diferencia(operacion de conjuntos).
Espero alguno pueda orientarme mas o menos en como decifrar este algoritmo.
Saludos