
02/05/2011, 06:10
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años Puntos: 574 | |
Respuesta: Duda diseño de base de datos Eso es una relación N:M y se soluciona con una tercera tabla tal y como correctamente has intuido....
La tercera tabla solo guarda los identificadores relacionados entre si, "idRel" podrias opcionalmente agregar un id de la relacion para simplificar la llave primaria y un indice unico sobre idCarrera,idCurso.
idCarrera puede aparecer N veces en la tabla RelCarreraCurso y idCurso puede aparecer M veces, pero un par (idCarrera,idCurso)=(X,Y) solo puede aparecer una vez...
Eso minimiza la info repetida que guardas, puesto que solo prepites ids...
No uses como id el codigo oficial puesto que puede ser muy largo lo mejor es tener un id Integer Auto inc, y controlas la repeticion de codigos con un indice unico...
Si tienes Carreras
idCarrera Codigo....... Nombre...
1..............FyLCG254...CarreraFyLCG254...
2..............FyLCG255...CarreraFyLCG255...
.... Cursos
idCurso...Codigo.........Nombre...
1.............CFyLCG257..CursoCFyLCG257...
2.............CFyLCG258..CursoCFyLCG258...
... RelCarreraCurso
diRel...IdCarrera...idCuros
1...............1...............1
2...............1...............2
3...............2...............1
4...............2...............2
...
La info guardada de mas es mínima.
__________________ Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
Última edición por quimfv; 02/05/2011 a las 06:24 |