Olá Olavo,

A divisão em schemas parece interessante porque realmente divide as tabelas 
em grupos. À medida que seu modelo cresce (e nem precisa chegar nas 2000 
tabelas, com 1000 já se tem problemas), o que costuma aparecer são tabelas 
compartilhadas por diversos módulos. Não importa em que módulo você as 
coloque, sempre terá quem interprete que ela deveria estar em outro lugar. 
Pior ainda quando mudam seus requisitos e começam a sobrar motivos para 
mudá-la de um módulo para o outro, gerando um retrabalho absurdo por um 
benefício questionável.
Mudar a tabela de lugar em visões de modelo dentro da sua ferramenta de 
modelagem, contudo, é uma tarefa simples e sem consequências mais sérias, 
pois você poderá colocar cópias dela em quantos modelos convier.
Devido a isso, sou mais favorável a largar mão dessa história de misturar 
schema com documentação e colocar todas as tabelas num schema só. Facilita 
enormemente o desenvolvimento e montagem das consultas, além de facilitar 
*muito* a manutenção.
Talvez alguém cogite a idéia de controlar a segurança dos módulos por 
esquema, porém acho pouco provável que um esquema assim atenda a qualquer 
cliente por causa das tabelas compartilhadas e potenciais problemas quando 
uma tabela mudar de módulo.

Minha sugestão, portanto, é: use um schema só e seja feliz.

Atenciosamente,

Mozart Hasse



From: "C.P.D. - T.I. MoRHena" <[email protected]>
To: [email protected]

     Estou desenvolvendo um ERP e vou comercializá-lo em módulos. Em
virtude de disponibilizar em módulos, gostaria de separar as tabelas do
banco de dados por módulo. Seria adequado o uso de esquema neste caso ?
Ou seja no banco de dados teria esquema como: vendas, faturamento,
financeiro e para cada esquema suas respectivas tabelas. É uma boa
prática usar deste artifício ?

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a