Multi Empresa

18/03/2009

0

Caros, gostaria da opnião dos amigos principalmente dos que já sofreram com está duvida. Estou querendo desenvolver um sistema de contabilidade multi empresa, mais me surgiu a duvida na hora da modelagem e criação do banco. Se crio as tabelas com o id_empresa, onde por exemplo a tabela plano de contas iria conter os registros do plano de contas de todas as empresas, ou se criou varias tabelas plano de contas para cada empresa que crio no sistema, não sei tecnicamente o que seria o melhor para um aplicativo com está caracteristica, principalmente na questão desempenho, desde já agradeço a opnião dos amigos.

Sem mais para o momento


Blue Timber

Blue Timber

Responder

Posts

13/03/2010

Eleuterio Gonzalez

Se não consegue separar por BD separe por tabelas.
Responder

26/03/2010

Edinei Colli

Creio que utilizar o campo id_empresa seja uma boa opção.

Não crie uma tabela para cada empresa pois isso irá dificultar futuras atualizações nos metadados, pois você poderá ter clientes utilizando seu sistema com 1 tabela e outro com n.

Se manter os dados em uma tabela com o campo id_empresa ao atualizar os metadados para 1 empresa ficará atualizado para todas e você terá o mesmo número de tabelas em todos os seus clientes independente do número de empresas.

Espero ter ajudado.
Responder

26/03/2010

Djean Figueira

Obrigado a todos!
Responder

31/03/2010

Wilson Junior

Sugiro colocar o ID_Empresa e ao logar no sistema perguntar qual a empresa que gostaria de se logar, assim poderia ser mostrado somente os dados da empresa na qual se logou.

Espero ter colaborado.
Responder

17/06/2010

Eduardo Apolo

ID_Empresa é uma boa. Porém, precisa se preocupar com LOCKS. Considere que várias empresas podem realizar vários updates ao mesmo tempo.

Talvez para tabelas maiores seja melhor quebrar em várias tabelas.
Responder

17/06/2010

Carlos Mazzi

Concordo com a ideia do Paulista.. acho q assim vai normal... Abracos++
Responder

18/06/2010

Wilson Junior

Caro Apolo,

Trabalhei com base de dados gigantes e com várias empresas, e lhe garanto que a performance fica boa, basta você ter um índice pelo campo da empresa nas suas tabelas, caso não tiver um índice (ID_Empresa junto na Chave primária ou criar um INDEX) a performance cai e muito.

Espero ter colaborado.
Responder

28/06/2010

Jener Martins

  Penso que o melhor seja separar as tabelas e se possível separar as bases (Qdo for SQL-Server, Oracle, etc...).
O uso do campo ID certamente é mais prático. No entanto em pouco tempo você terá uma base "obesa" e por mais que digam o contrário, vejo que este é um risco desnecessário.
Já tive experiência em ambas situações, e sem sobra de dúvidas sempre opto por separar os dados. Seja por meio de tabelas ou bases distintas.
Responder

25/10/2010

Flavio França

Acho que cada situação tem uma solução distinta, exemplo pegemos alguns órgãos de controle profissional, cito conselho de medicina, contabilidade, advogados, etc., creio que pra esses órgãos não caberia a junção em uma só tabela, mas no seu caso cabe ver se existirá milhares de registros, caso tenha separe, caso contrário não separe, pois pra manutenção do banco é preferível uma só tabela, depedendo do sgbd leva-se muito tempo para tornar uma base obesa, creio que não podemos generalizar, estudo calmente o seu caso!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar