amigos,
Sé que es un tema que surge de cuando en cuando y que desde una perspectiva de OO parece estar bastante claro, pero me gustaría recibir orientación sobre el modelado de las tablas de una base de datos relacional en la que se guardan por ejemplo colaboraciones en actividades de personas particulares y empresas. Las personas no pertenecen a empresas.
tabla actividades
id_actividad (PK)|actividad
tabla personas
id_persona(PK)|DNI|nombre|apellidos
tabla instituciones
id_institucion(PK)|CIF|nombre
No sé si esta tabla es necesaria para algo.
tabla tipos?
id_tipo|tipo: persona, institución
tabla colaboradores
id_colaborador(PK)|id_tipo(FK relacionado con PK id_tipo de la tabla tipos)
tabla colaboradores_actividades
id_col_actividad|id_colaborador(FK relacionado con PK id_colaborador)
En qué medida los id_persona e id_institucion deberían aparecer como id_colaborador. Mi pregunta es si esto es correcto o si sobra o falta algo. Y, además, qué tipo de consultas facilitaría esta o la estructura que os parezca más apropiada.