Cita: La FK va donde la cardinalidad de la relación es N. Siempre.
Ok, hasta ahi me queda claro, ese dato es el q no tengo en cuenta para relacionar las tablas.
Ahora bien, siguiendo con mi ejemplo pero yendo a lo practico y volcando la teoria q me das de ejemplo:
- un user tiene un perfil y un perfil corresponde a un solo usuario, esa relacion la veo como 1:1
Es obvio q van a haber muchos perfiles, como asi tambien, muchos usuarios... y muchos posts y comentarios.
Volviendo al user->perfil, perfil->user, repito, yo lo veo como una relacion 1:1 y no 1:N. En mi logica ya estoy diciendo q un perfil pertenece a un solo usuario.
En cambio, si veo relacion 1:N en decir q un usuario va a tener ninguno/muchos posts, o un post va a tener ninguno/muchos comentarios.
No le encuentro sentido cuando me decis:
Cita: En este sentido, los usuarios tienen perfiles, pero sólo un perfil cada uno.Pero hay N perfiles posibles, entonces la relación Usuario - > perfil es N:1, y por tanto la FK de Perfil va en el usuario, pero no al revés-
Seguramente me estoy expresando mal:
Yo creo la tabla users y la tabla profile:
Users:
id int() primary key auto_increment... etc,
:
Profiles:
id int() primary key auto_increment... etc,
id_user int()...
:
El articulo q estoy leyendo dice:
Cita: Una clave foránea es simplemente un campo en una tabla que se corresponde con la clave primaria de otra tabla.
En mi caso, el campo id_user de la tabla Profiles es FK del campo id de la tabla User. Es asi como lo veo yo por el momento.
Vos me decis q asi no, q la logica es N:1 y la FK "deberia" estar en un campo de la tabla Users, o sea, crearia un campo en la tabla Users q se llame profile_id... es correcto lo q entendi?
Podrias aclararme eso?
Gracias