Obrigado pela manifestação Mozart, Fabiano e Fabrízio

Estive lendo o manual do PostgreSQL na sua versão 8.0.0 no capítulo 5.8 
e li alguns motivos que justificam o uso dos esquemas:

"Existem diversas razões pelas quais pode-se desejar utilizar esquemas:
• Para permitir vários usuários utilizarem o mesmo banco de dados sem 
que um interfira com o outro.
• Para organizar objetos do banco de dados em grupos lógicos tornando-os 
mais gerenciáveis.
• Os aplicativos desenvolvidos por terceiros podem ser colocados em 
esquemas separados, para não haver colisão com
nomes de outros objetos."

Minha intenção era deixar os módulos separados também com suas 
respectivas tabelas, mas se terei que escrever mais código, ou tiver que 
tratar de forma específica em virtude apenas de deixar separados em 
esquemas, não vejo vantagem em usar este modelo.

Olavo Jr.


Em 01/07/2010 19:24, Mozart Hasse escreveu:
> 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
>
>    
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a