Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con normalización de bases de datos

Estas en el tema de Problemas con normalización de bases de datos en el foro de Bases de Datos General en Foros del Web. Hola. Tengo un problema con la segunda forma normal (2FN) y no he podido resolverlo usando Google. Me está volviendo loco porque soy un profesor ...
  #1 (permalink)  
Antiguo 23/09/2015, 19:33
 
Fecha de Ingreso: septiembre-2015
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Problemas con normalización de bases de datos

Hola.

Tengo un problema con la segunda forma normal (2FN) y no he podido resolverlo usando Google. Me está volviendo loco porque soy un profesor y no quiero enseñar incorrectamente a mis estudiantes.

Tengamos una tabla con 5 campos:

Calificaciones = {NombreEstudiante, CodigoAsignatura, NombreAsignatura, NumeroExamen, Nota}

Las dependencias son así

NombreEstudiante, CodigoAsignatura, NumeroExamen -> Nota

CodigoAsignatura -> NombreAsignatura

NombreAsignatura -> CodigoAsignatura


Por lo tanto, la primera clave candidata es {NombreEstudiante, CodigoAsignatura, NumeroExamen} y la segunda clave candidata es {NombreEstudiante, NombreAsignatura, NumeroExamen}.

Atributos primos (o clave) son {NombreEstudiante, CodigoAsignatura, NombreAsignatura, NumeroExamen} y atributo no primos (o no clave) es Nota

Según la definición de la segunda forma normal, un atributo no primo no puede depender de parte de la clave candidata. El único atributo no primo (Nota) no depende de parte de una clave candidata así que la tabla parece en segunda forma normal.

Sin embargo, pienso que algo no cuadra (y podría equivocarme). Pienso que las asignaturas deberían tener su propia tabla.

Calificaciones = {NombreEstudiante, CodigoAsignatura, NumeroExamen, Nota}

Asignaturas = {CodigoAsignatura, NombreAsignatura}

Pero la segunda forma normal no produce esto. La tercera forma normal trata de dependencias entre atributos no primos por lo que tampoco lo produce. Pero me parece que este es el resultado correcto, pues no tiene redundancia.

¿Qué estoy haciendo mal? Me estoy golpeando contra la pared.

Gracias de antemano,
  #2 (permalink)  
Antiguo 24/09/2015, 07:42
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problemas con normalización de bases de datos

Las asignaturas,estudiantes y examenes puden tener su propia tabla para que al final te quede algo como esto:

{codigoEstudiante, codigoAsignatura, codigo_examen}

y las tablas quedarian

estudiantes
codigo, nombre, .....

asignaturas
codigo, nombre

examen
codigo, codigo_alumno, codigo_asignatura, nota
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: bases, campo, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.