Cita:
Iniciado por truman_truman
es muy fácil, en la tabla usuarios tenemos entre otros el campo id_usuario, este deberá ser único y autoincrementable, de esa forma nos aseguramos que todos los usuarios tengan un id distinto.
El id es solo un numero.
En la tabla proyectos habrá un campo id_usuario, en el que se guardará el id del usuario.
Entonces a la hora de guardar un proyecto se debe saber cual es el id del usuario.
tabla usuarios
id_usuario
nombre
apellido
nombre_usuario
contrasena
tabla proyectos
id_usuario
nombre_proyecto
fecha
etc
etc
Hola truman. Hay solo un detalle. Según entendí en la pregunta, la relación uno a varios debe ser recíproca, o sea:
un usuario a
varios proyectos
y
un proyecto a
varios usuarios
En el caso que planteas funciona solo para:
un usuario a
varios proyectos
Yo creo que debería haber una tabla puente para hacer las relaciones. Algo así:
Tabla Usuarios Id_usuario | Nombre_usuario
1 | pepe
2 | lola
3 | cuco
Tabla Proyectos Id_proyecto | Nombre_proyecto
1 | proyecto1
2 | proyecto2
3 | proyecto3
Tabla Relaciones Id_usuario |
Id_proyecto 1 |
1 1 |
2 1 |
3 2 |
1 3 |
1
De esta forma la tabla Relaciones guardaría información de relación recíproca entre usuarios y proyectos. De esa forma si queremos todos los id de proyectos en los que participa el usuario 1 hacemos:
SELECT Id_proyecto FROM Relaciones WHERE Id_usuario=1
Y si queremos todos los todos los id de usuarios que participan en el proyecto 1 hacemos:
SELECT Id_usuario FROM Relaciones WHERE Id_proyecto=1
En el caso que planteo el usuario1 participa en los proyectos 1,2y3 pero en el proyecto1 participan los usuarios 1,2y3.
Esto es solo una idea, ya faltaría adaptarlo a tu caso en concreto.
Saludos.