Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/05/2008, 05:45
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ¿Uso una tabla o dos?

Te diré lo que yo hacía y sigo haciendo en alguno de esos casos. Creo un grupo llamado no_grupo con su número de grupo, y los alumnos que no tienen grupo les asigno el número de grupo asignado a ese no grupo. Ventajas: evitas el nulo y tus relaciones no sufren. Luego a la hora de hacer las consultas distingues en la búsqueda los alumnos cuyo numero de grupo es el de no_grupo de los demás. Incoveniente: al agrupar para sacar medias, máximos por grupo, agruparía a todos los alumnos como pertenecientes a un grupo llamado no_grupo; pero tú puedes decirle en esas consultas que agrupe todos los grupos menos ese.
Otra opción sería poner grupos de un alumno y asignar los alumnos que no tienen grupo a esos grupos. Distinguirías los que grupos reales de los otros por el número de alumnos mayor que uno. Eso no sería un obstáculo para las agrupaciones y demás, pero sería un desperdicio de recursos y algo confuso.
Yo prefiero la primera, pero seguro que hay soluciones más profesionales, y, según lo que quieras hacer, tal vez nunca necesites una chapuza como estas, y te bastará el buen uso de un LEFT JOIN para mostrar los alumnos, tanto los que tienen grupo (con su grupo) como los que no...

Última edición por jurena; 30/05/2008 a las 06:12