Lançado Adianti Framework 7.6!
Clique aqui para saber mais
DÚVIDA MODELAGEM Bom dia pessoal, Estou desenvolvendo um sistema para igreja e me deparei com um conflito de modelagem, vou tentar explicar e gostaria de uma sugestão de como resolver. Tenho um sistema onde um membro(pessoa) pertence uma comunidade e uma comunidade possui uma diretoria composta por vários membros (presidente, vice-presidente, tesoureiro, secretario, etc.). Na tabela membro coloquei chav...
AR
DÚVIDA MODELAGEM  
Bom dia pessoal,

Estou desenvolvendo um sistema para igreja e me deparei com um conflito de modelagem, vou tentar explicar e gostaria de uma sugestão de como resolver.

Tenho um sistema onde um membro(pessoa) pertence uma comunidade e uma comunidade possui uma diretoria composta por vários membros (presidente, vice-presidente, tesoureiro, secretario, etc.).

Na tabela membro coloquei chave estrangeira para comunidade, pois pertence a uma única comunidade.

Se eu colocar na tabela comunidade, os membros da diretoria como chave estrangeira de membros, terei um conflito, pois não será possível nem criar um membro sem que exista uma comunidade, e nem criar uma comunidade sem que haja membros da diretoria, visto que serão campos de preenchimento obrigatório.

Qual a melhor forma de fazer a modelagem para os membros da diretoria da comunidade?

Desde já, agradeço pela ajuda!

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (7)


MG

Bom dia. Os diretores não são membros também?
Eu criarei um campo na tabela membro dizendo qual o papel/perfil dele na comunidade.
Pois os diretores podem mudar, certo?
MG

Mais um detalhe, um membro pode participar de mais de uma comunidade?
Um diretor pode ser diretor em mais de uma unidade?
Se sim, então deve haver um tabela intermediária de relacionamentos, se for o caso.
AR

Entendi,
Pode ser uma solução. Obrigado pela dica.
Más não pode ter mais de um presidente, por exemplo, somente um para cada cargo. São vários cargos, e para cada cargo somente um membro (um presidente, um tesoureiro, um secretário, etc).
AR

Um diretor pode ser diretor somente da comunidade que ele pertence.
Somente de uma comunidade.
MG

Para não ter que criar várias colunas na comunidade indicando seu presidente e etc, pois pelo que eu sabia poder ter mais de um tesoureiro ou secretário. Sugiro tratar isso como regra de negócio. Ou poderia criar uma tabela auxiliar onde teria um relacionamento membro x comunidade e cargo. O presidente como membro seria associado normalmente à comunidade, e outra estrutura seria administrado os membros da direção dela. A regra de negócio ficaria apenas apontando para esta estrutura em separado.
Bom, existem muitas formas.
Eu considero a mais simples, o papel dele como membro daquela comunidade.
Ou seja, um estrutura

membro_id
comunidade_id
papel_id => uma estrutura para definir os papéis, assim se forem criados novos não tem que alterar programa.

Assim se um membro poderá estar em várias comunidades.......
MG

A situação do diretor é igual para os demais membros, tesoureiro, secretários, presidente e etc?
AR

Ok. Marcelo.
São os cargos da diretoria:
PRESIDENTE, VICE-PRESIDENTE, TESOUREIRO, VICE TESOUREIRO, SECRETÁRIO, VICE SECRETÁRIO, CONSELHEIRO FISCAL, VICE CONSELHEIRO FISCAL.
Somente um membro de cada um.

Obrigado pela dica vou quebrar a cabeça aqui.
Muito obrigado e grande abraço.