É possivel trabalhar conectado a 2 DBs Interbase?
Olá pessoal,
Estou iniciando um projeto, e não tenho muita experiência com Interbase, e logo de cara já deparei com uma questão que acredito deve ser resolvida antes da criação do BD.
Meu Sistema terá um BD com 5 tabelas, sendo que duas serão bases de dados gerais, e eu criaria ´projetos´ dentro do sistema que pegaria essas bases gerais, e a partir delas eu faria modificações exclusivas para o ´projeto´ corrente, resguardando as bases gerais.
Pensei em três soluções:
1a. - Para cada ´projeto´ criado no meu sistema, eu criaria uma cópia do BD, e trabalharia somente nele. (desvantagem de não poder restaurar dados da minha base original, caso queira);
2a. - Para cada ´projeto´ criaria outras 2 tabelas específicas dentro do mesmo BD (vantagem de poder trabalhar tanto os registros originais quanto os específicos, e a desvantagem de ter um BD com inclusão indefinida de tabelas, talvez acarretando perda de perfomance a medio prazo);
3a. - Criar um novo BD para cada projeto com apenas as tabelas específicas, e trabalhar ao mesmo tempo com os dois BDs , inclusive copiando registros entre eles, pesquisando nos dois ao mesmo tempo, etc.(isso q eu não sei se pode, e como fazer), acredito ser esta a melhor solução.
Se alguém puder me ajudar, inclusive se tiver alguma idéia melhor eu agradeceria muito.
obrigado,
rjanuzzi
Estou iniciando um projeto, e não tenho muita experiência com Interbase, e logo de cara já deparei com uma questão que acredito deve ser resolvida antes da criação do BD.
Meu Sistema terá um BD com 5 tabelas, sendo que duas serão bases de dados gerais, e eu criaria ´projetos´ dentro do sistema que pegaria essas bases gerais, e a partir delas eu faria modificações exclusivas para o ´projeto´ corrente, resguardando as bases gerais.
Pensei em três soluções:
1a. - Para cada ´projeto´ criado no meu sistema, eu criaria uma cópia do BD, e trabalharia somente nele. (desvantagem de não poder restaurar dados da minha base original, caso queira);
2a. - Para cada ´projeto´ criaria outras 2 tabelas específicas dentro do mesmo BD (vantagem de poder trabalhar tanto os registros originais quanto os específicos, e a desvantagem de ter um BD com inclusão indefinida de tabelas, talvez acarretando perda de perfomance a medio prazo);
3a. - Criar um novo BD para cada projeto com apenas as tabelas específicas, e trabalhar ao mesmo tempo com os dois BDs , inclusive copiando registros entre eles, pesquisando nos dois ao mesmo tempo, etc.(isso q eu não sei se pode, e como fazer), acredito ser esta a melhor solução.
Se alguém puder me ajudar, inclusive se tiver alguma idéia melhor eu agradeceria muito.
obrigado,
rjanuzzi
Rjanuzzi
Curtidas 0
Respostas
Afarias
16/08/2003
Na verdade não entendi nada. Defina o q é SISTEMA e PROJETO para vc... e essas TABELAS...
No que eu entendo, um sistema único deve ser INTEGRADO isso significa usar apenas 1 banco de dados (mesmo q com muitas tabelas) -- ficar criando tabelas durante a evolução do sistema (digamos, cadastros) não é algo condizente com os procedimentos normais de bancos relacionais.
Más é possível q eu não tenha mesmo entendido seu problema.
T+
No que eu entendo, um sistema único deve ser INTEGRADO isso significa usar apenas 1 banco de dados (mesmo q com muitas tabelas) -- ficar criando tabelas durante a evolução do sistema (digamos, cadastros) não é algo condizente com os procedimentos normais de bancos relacionais.
Más é possível q eu não tenha mesmo entendido seu problema.
T+
GOSTEI 0
Rjanuzzi
16/08/2003
Vou tentar ser mais claro:
Eu vou fazer um programa de orçamento de obras, ´sistema´ é o meu programa, e ´projeto´, é cada orçamento novo feito pelo usuário.
O problema é o seguinte, além das tabelas comuns que terão campos como Cliente, Local, Data de entrega, etc..., existirão outras 3 tabelas que são bases de dados específicas para auxílio a orçamentos de obras:
Composições_de_Custos(mestre)
Cod
Descrição
Unidade
Composição_de_Custos(detalhe)
CodMestre
Insumo
Qtd_Insumo
Insumos
Cod
Descriçao
Unid
Preço
Exemplo de Composição de Custo:
[b:b37b42800b]Execução de Alvenaria[/b:b37b42800b] Unid: m2
Servente...............2h........x.....R$1,20
Pedreiro................2h........x.....R$2,10
Bloco Cerâmico....20unid....x.....R$0,70
Argamassa..........0,2m3.....x.....R¬170.00
Preço Total: R$ 54,60
Essas tabelas são compostas por bases de dados já existentes na literatura que irão auxiliar na execução dos orçamentos.
E cada orçamento é composto por ´N´ Composições de Custo dependendo da obra.
[b:b37b42800b]O que eu quero, é usar essas composições, e insumos para cada orçamento, tendo a liberade de poder modificá-las de acordo com as condições de meu orçamento. E ainda preservar a minha base de dados original.[/b:b37b42800b]
Desculpe por me alongar tanto, e muito obrigado pela resposta.
rjanuzzi
Eu vou fazer um programa de orçamento de obras, ´sistema´ é o meu programa, e ´projeto´, é cada orçamento novo feito pelo usuário.
O problema é o seguinte, além das tabelas comuns que terão campos como Cliente, Local, Data de entrega, etc..., existirão outras 3 tabelas que são bases de dados específicas para auxílio a orçamentos de obras:
Composições_de_Custos(mestre)
Cod
Descrição
Unidade
Composição_de_Custos(detalhe)
CodMestre
Insumo
Qtd_Insumo
Insumos
Cod
Descriçao
Unid
Preço
Exemplo de Composição de Custo:
[b:b37b42800b]Execução de Alvenaria[/b:b37b42800b] Unid: m2
Servente...............2h........x.....R$1,20
Pedreiro................2h........x.....R$2,10
Bloco Cerâmico....20unid....x.....R$0,70
Argamassa..........0,2m3.....x.....R¬170.00
Preço Total: R$ 54,60
Essas tabelas são compostas por bases de dados já existentes na literatura que irão auxiliar na execução dos orçamentos.
E cada orçamento é composto por ´N´ Composições de Custo dependendo da obra.
[b:b37b42800b]O que eu quero, é usar essas composições, e insumos para cada orçamento, tendo a liberade de poder modificá-las de acordo com as condições de meu orçamento. E ainda preservar a minha base de dados original.[/b:b37b42800b]
Desculpe por me alongar tanto, e muito obrigado pela resposta.
rjanuzzi
GOSTEI 0
Afarias
16/08/2003
Ok, entendi. era o q eu pensava mesmo... seguindo os conceitos normais de construção de sistemas eu diria:
1) use apenas 1 banco de dados
2) construa suas tabelas todas no início (esqueça de criar tabelas novas a cada projeto)
3) leia um pouco sobre conceitos relacionais, vai te ajudar muito. Por ex, vc pode criar grupos de composição de custos, q poderiam ser escolhidos ou criados dependendo do projeto -- sem precisar estar criando tabelas.
Em bancos relacionais, a principio e dentro de 99¬ dos sistemas padrões, tudo q se cria são LINHAS (tuplas).
T+
1) use apenas 1 banco de dados
2) construa suas tabelas todas no início (esqueça de criar tabelas novas a cada projeto)
3) leia um pouco sobre conceitos relacionais, vai te ajudar muito. Por ex, vc pode criar grupos de composição de custos, q poderiam ser escolhidos ou criados dependendo do projeto -- sem precisar estar criando tabelas.
Em bancos relacionais, a principio e dentro de 99¬ dos sistemas padrões, tudo q se cria são LINHAS (tuplas).
T+
GOSTEI 0
Rjanuzzi
16/08/2003
Caro afarias, acho q entendi, no caso minha tabela de composição de custos, teria um campo que fizesse o relacionamento com o projeto corrente, não é. De qualquer forma vou ler, sim, sobre conceitos relacionais.
Mas nesse caso, supondo ter um orçamento em média umas 100 composições, e fosse executado uns 100 orçamentos por ano, isso corresponderia a 10 mil registros por ano na tabela.
Esse número não é grande não?
Já descartei a idéia de 2 BDs.
Mas qual seria a desvantagem de criar novas tabelas? Imaginei agora a possibilidade de criar uma nova tabela para cada projeto, com somente os registros de composições realmente usadas. Acho que assim minhas pesquisas seriam mais enxutas.
Grato,
rjanuzzi
Mas nesse caso, supondo ter um orçamento em média umas 100 composições, e fosse executado uns 100 orçamentos por ano, isso corresponderia a 10 mil registros por ano na tabela.
Esse número não é grande não?
Já descartei a idéia de 2 BDs.
Mas qual seria a desvantagem de criar novas tabelas? Imaginei agora a possibilidade de criar uma nova tabela para cada projeto, com somente os registros de composições realmente usadas. Acho que assim minhas pesquisas seriam mais enxutas.
Grato,
rjanuzzi
GOSTEI 0
Afarias
16/08/2003
|no caso minha tabela de composição de custos, teria um campo que
|fizesse o relacionamento com o projeto corrente, não é.
Isso!
|{...} isso corresponderia a 10 mil registros por ano na tabela.
|Esse número não é grande não?
NÃO (más tenha sempre em mente a conduta C/S)
|Mas qual seria a desvantagem de criar novas tabelas? Imaginei agora a
|possibilidade de criar uma nova tabela para cada projeto, com somente
|os registros de composições realmente usadas. Acho que assim minhas
|pesquisas seriam mais enxutas.
Sim, más, o número de tabelas no banco de dados é bem mais limitado q o de linhas e seu sistema seria bem mais ´complicado´.
T+
|fizesse o relacionamento com o projeto corrente, não é.
Isso!
|{...} isso corresponderia a 10 mil registros por ano na tabela.
|Esse número não é grande não?
NÃO (más tenha sempre em mente a conduta C/S)
|Mas qual seria a desvantagem de criar novas tabelas? Imaginei agora a
|possibilidade de criar uma nova tabela para cada projeto, com somente
|os registros de composições realmente usadas. Acho que assim minhas
|pesquisas seriam mais enxutas.
Sim, más, o número de tabelas no banco de dados é bem mais limitado q o de linhas e seu sistema seria bem mais ´complicado´.
T+
GOSTEI 0
Rjanuzzi
16/08/2003
Obrigado afarias! vou seguir sua recomendação.
GOSTEI 0