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

organizar datos, uno vacio, cual es la mejor opcion logica

Estas en el tema de organizar datos, uno vacio, cual es la mejor opcion logica en el foro de Mysql en Foros del Web. hola una pregunta, cual es la mejor opcion , para la situacion que tengo en un sistema. resulta que ADMINISTRO ACTIVIDADES. puedo agregar , editar, ...
  #1 (permalink)  
Antiguo 03/04/2013, 17:14
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
organizar datos, uno vacio, cual es la mejor opcion logica

hola una pregunta, cual es la mejor opcion , para la situacion que tengo en un sistema.
resulta que ADMINISTRO ACTIVIDADES. puedo agregar , editar, borrar,


en mi caso, ya funcionaba pero le agregue,2 campos,
la tabla, esta compuesta asi,


id_actividad | id_primer_persona | id_segundo_persona | id_tercer_persona (otros campos mas)

los campos que agregue son id_segundo_persona y id_tercer_persona.


preguntas.

1) cuando registro una actividad, el id_primer_persona, se completa por un select, es obligatorio,
pero el segundo y tercero no son obligatorios, tambien son selects,
LOS CAMPOS DE PRIMER, SEGUNDA , TERCER PERSONA son selects, donde ya habran opciones cargadas.
como no son obligatorios, tendre una opcion, de que sea ninguna persona,
¿esa persona "NINGUNA", sera necesario que este en un campo de la tabla "personas"?
o cuando esten los select, habra un campo el primero que sea un la opcion ninguna y que tenga como valor "0",

2)en el caso de que no cargue la persona "NINGUNA" de la base de datos, enviare un valor, a la tabla actividades indicando que no hay ninguna persona, guardare un valor,? y despues como se que ese valor, por ejemplo 0, es de ninguno, esta bien, que despues cuando imprima los datos, halla un while que extrae las persona, si el id=0 imprimir persona "NINGUNA"

3) y si coloco a persona "NINGUNA" en un registro de la tabla personas, cuando en otro momento quiera lista a todas las personas, me va a salir , "NINGUNA" entre las personas, osea evito que salga, ese registro "ninguna" desde la base de datos,

select * from personas where id_personas != 334;

(supongamos que el id de "ninguna" es 334, esta bien asi ? hacerlo asi?)

Última edición por aldo_rengo; 03/04/2013 a las 20:06
  #2 (permalink)  
Antiguo 04/04/2013, 03:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: organizar datos, uno vacio, cual es la mejor opcion logica

Primero.... corres el riesgo de que en un futuro necesites 4 o mas personas, la solución no es definitiva. La solucion seria una tabla intermedia para montar una relacion N:M entre actividades y personas... con lo que podrias asociar tantas personas como quieras....

Pero si realmente sabes que no vas a necesitar mas personas... luego es mejor que dejes el campo como nulo con lo que puedes mantener la FK (recuerda que las FK permiten valores de la tabla referenciada y nulos) con lo que no tendrás que agregar la persona NINGUNA en la tabla personas, e igual que detectas el valor cero 0 puedes detectar el nulo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por gnzsoloyo; 04/04/2013 a las 04:22
  #3 (permalink)  
Antiguo 04/04/2013, 10:24
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: organizar datos, uno vacio, cual es la mejor opcion logica

Cita:
Iniciado por quimfv Ver Mensaje
Primero.... corres el riesgo de que en un futuro necesites 4 o mas personas, la solución no es definitiva. La solucion seria una tabla intermedia para montar una relacion N:M entre actividades y personas... con lo que podrias asociar tantas personas como quieras....

Pero si realmente sabes que no vas a necesitar mas personas... luego es mejor que dejes el campo como nulo con lo que puedes mantener la FK (recuerda que las FK permiten valores de la tabla referenciada y nulos) con lo que no tendrás que agregar la persona NINGUNA en la tabla personas, e igual que detectas el valor cero 0 puedes detectar el nulo.
a ver, en las en los registros de actividades, puedo poner cosas o no poner nada, ese opcion de poner nada , es seleccionar persona "ninguno"

esta bien que coloque la persona "ninguno " en la tabla de la base de datos???

por que algo tengo que colocar en la tabla, cuando registro actividades y no quiero que halla ni segunda-persona ni tercera-persona

.................
si no esta en una tabla en actividades tendre un valor...

id_actividad | prime-perosna|segunda-persona| tercera-persona
32.................44.............???............. .??............

coomo un valor tendre que ingresar coloco,..... 0? (cero?)

y cuando imprima las actividades,
asi de manera directa coloco??
while($actividades)
{
echo $actividades[id]
echo.$actividades[primer-p]

if ($actividades[segunda-p]==0){
$segunda-p="ninguna"}

if ($actividades[tercera-p]==0){
$tercera-p="ninguna"}


echo $segunda-p;

echo $tercera-p;
}

(esto no queda feo=? lo que puse arriba es SI NO ESTA la opcion "NINGUNO" en la base de datos, esta bien asi? )
  #4 (permalink)  
Antiguo 04/04/2013, 10:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: organizar datos, uno vacio, cual es la mejor opcion logica

Estás mezclando conceptos.
A lo que @quimfv se refiere es a cómo se maneja a nivel de bases de datos. Lo que haga la aplicación es independiente, y no, no es correcto poner "NINGUNO" o "NADA" como registro. Ese tipo de datos no tiene sentido y sólo se usa en las aplicaciones para resolver contingencias en los formularios, por lo que no tiene que impactar en la BBDD.
Pero eso es off-topic de este foro.
__________________
¿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: campo, logica, opcion, organizar, select, tabla, vacio
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 04:07.