entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Tabla Errores en mysql

Tengo una tabla en mysql llamada Usuario que se relaciona con errores [Usuario] -1--muchos->[Error] pero tengo otras tablas de registros llamada [Prueba] que también puede tener errores. Lo que estaba pensando es relacionar [Prueba]-1---muchos->[Error] pero el problema viene es que puedo tener llaves foráneas en NULL y no quiero dejarlas así. Entonces pensaba en hacer para pruebas una tabla ErrorPrueba pero esto pasa para otras tablas y crear una tabla para cada tipo de error que pase en cada tabla en la que necesito almacenar los errores que pasen
en la misma, no se me hace nada elegante. No sé si haya otra manera de hacer esto.
Entonces mi pregunta es ¿De que otra manera puedo solucionarlo?

2 Respuestas

0voto

manuel26892 Puntos1360

Quizás no te haya entendido bien pero te explico algo que seguramente ya sabrás pero para que no te surja el error de la foránea. Un clave foránea no puede ser nunca nula porque es el campo que relaciona las tablas. Entiendo que lo que intentas es que cada vez que se produzca un error se te almacene en la tabla error, puedes hacer sin relación de una tabla a otra que cuando se produzca un error este se almacene en la tabla error usando como PK(id) del error la id del usuario, después con hacer una consulta condicionada con la id podrías rescatar por ejemplo los errores de un usuario. Por tanto cada error que haya harías una inserción en la tabla error siendo la PK la id del usuario.

1voto

Leonardo-Tadei Puntos227320

Hola @rpzr,

salvo que los errores sean exactaemnte los mismos para los Usuarios que para las Pruebas, tendrías que tener una tabla para los errores de usuarios y otra tabla para los errores de las pruebas.

Es natural confundirse un poco en estos casos porque ambas tablas tienen idéntica estructura y forma de uso, pero a nivel de Entidad, son cosas distintas (es como si quisieras guardar en la misma tabla todo lo que tenga ID y Nombre, sin importar si son Provincias, Categorías, Estados de comprobantes, etc. Que tengan la misma estructura no los hace la misma cosa)

La parte que no explicás del todo es eso de que los datos "pasan para otras tablas". Habría que ver bien lo que se pasa, por qué se pasa y cómo funciona el dato en el contexto del problema, para ver si esto que te incomoda no está revelando que hay algo todavía sin normalizar completamente.

Saludos cordiales!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta