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

Relacion con primary key autoincremental

Estas en el tema de Relacion con primary key autoincremental en el foro de Mysql en Foros del Web. Hola, Tengo una duda, estoy haciendo una BD para una "universidad", pero al llegar al ciclo (ej: ciclo 1 del 2017) puse como llave primaria ...
  #1 (permalink)  
Antiguo 04/03/2017, 15:54
 
Fecha de Ingreso: marzo-2014
Mensajes: 41
Antigüedad: 5 años, 8 meses
Puntos: 0
Relacion con primary key autoincremental

Hola,
Tengo una duda, estoy haciendo una BD para una "universidad", pero al llegar al ciclo (ej: ciclo 1 del 2017) puse como llave primaria un int autoincremental.

La duda que tengo es como hago para asociar 'x' ciclo con 'y' curso?






Código MySQL:
Ver original
  1. statement.executeUpdate("INSERT INTO Curso VALUES ('" + curso.getCodigo() + "', '"
  2.                     + curso.getNombre() + "', '" + curso.getCreditos() + "', '"
  3.                     + curso.getHorasSemanales() + "', '" + curso.getNivel() + "', '" + curso.getCiclo().get??? + "')");

Última edición por newb; 04/03/2017 a las 16:38
  #2 (permalink)  
Antiguo 08/03/2017, 10:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 12 años
Puntos: 2653
Respuesta: Relacion con primary key autoincremental

Es un tema de entendimiento del modelo relacional.

Si tienes dos entidades que se relacionan en cardinalidad N:M, eso obligatoriamente requiere una tabla intermedia
Es decir que si en un mismo Ciclo hay N curso, y cada Curso se dicta en N ciclos, sí o si neceistas una tabla CURSO_CICLOS, donde las dos FK conforman la PK.

La otra forma, es decir que un Ciclo determinado esté asociado a un único Curso ya la has construido, porque las relaciones son reflexivas. Y NO puedes crear una FK de Curso en Ciclo porque eso determinaría una relación circular, que es un defecto grave.
Las relaciones circulares generan fallos en las BBDD dado que son de cumplimiento imposible.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, java, sql
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 20:42.