Fórum Dúvidas sobre Bancos de Dados SQL #176164
20/08/2003
0
Com a ´morte´ iminente do BDE, estou pensado em converter minhas aplicações para base de dados SQL. Gostaria que alguém pudesse esclarecer algumas dúvidas.
1 - Qual a melhor base de dados para uso em aplicações desktop ou Cliente-servidor (Levando e consideração o principalmente custo para o cliente, velocidade e número de licenças) pois alguns projetos rodarão tanto em rede como stand-alone.
2 - O Interbase/Firebase tem limite de número de licenças.
3 - Fiz testes com o Interbase 6 (aquele que vem com o Delphi 6).
Tenho uma tabela com os seguintes campos:
Id_TelefoneInteger
DescricaoVarChar(50)
NumeroVarChar(35)
O campo ´Id_Telefone´ é para ser auto-incremental, então para isso criei um trigger amarrado a um generator.
No form estou usando o trio : SQLDatase + DatasetProvider + ClientDataset.
Quando atualizo o cadastro após o ClientDataset.Post + ClientDataset.ApplyUpdate, o DBEdit ligado ao campo Id_telefone não mostra a atualização. É preciso fechar e abrir o ClientDataset ou dar um refresh para exibir a modificação. Não tem outro jeito do campo exibir o resultado logo após o ´ApplyUpdate´. E se eu tivesse uma tabela ´Detail´ ligada justamente a este campo? Eu não saberia qual o valor para colocar na tabela Detail.
4 - Na conversão de um campo do tipo Boolean para uma base SQL, qual o melhor tipo: Char, VarChar. No SQL Server tem o tipo Bit. Não tem similar no Interbase, Firebase ou MySQL.
Eu sei que são varias dúvidas mas agradeço qualquer ajuda.
Desde já agradeço.
1 - Qual a melhor base de dados para uso em aplicações desktop ou Cliente-servidor (Levando e consideração o principalmente custo para o cliente, velocidade e número de licenças) pois alguns projetos rodarão tanto em rede como stand-alone.
2 - O Interbase/Firebase tem limite de número de licenças.
3 - Fiz testes com o Interbase 6 (aquele que vem com o Delphi 6).
Tenho uma tabela com os seguintes campos:
Id_TelefoneInteger
DescricaoVarChar(50)
NumeroVarChar(35)
O campo ´Id_Telefone´ é para ser auto-incremental, então para isso criei um trigger amarrado a um generator.
No form estou usando o trio : SQLDatase + DatasetProvider + ClientDataset.
Quando atualizo o cadastro após o ClientDataset.Post + ClientDataset.ApplyUpdate, o DBEdit ligado ao campo Id_telefone não mostra a atualização. É preciso fechar e abrir o ClientDataset ou dar um refresh para exibir a modificação. Não tem outro jeito do campo exibir o resultado logo após o ´ApplyUpdate´. E se eu tivesse uma tabela ´Detail´ ligada justamente a este campo? Eu não saberia qual o valor para colocar na tabela Detail.
4 - Na conversão de um campo do tipo Boolean para uma base SQL, qual o melhor tipo: Char, VarChar. No SQL Server tem o tipo Bit. Não tem similar no Interbase, Firebase ou MySQL.
Eu sei que são varias dúvidas mas agradeço qualquer ajuda.
Desde já agradeço.
Marcelo.l
Curtir tópico
+ 0
Responder
Posts
20/08/2003
Afarias
|1 - Qual a melhor base de dados para uso em aplicações desktop ou
|Cliente-servidor (Levando e consideração o principalmente custo {...}
Para aplicações stand-alone (ou poucos usuários em rede) Paradox não é má idéia (mesmo com a falta de suporte ao BDE) -- entretanto existem outras boas opções no mercado, sendo uma delas o DBISAM (http://www.elevatesoft.com/prodinfo.htm)
Para aplicações multi-usuário é melhor aplicar um SGDB, os de baixo custo são Interbase 6.0 OS, Firebird, PostgreSQL e MySQL
|2 - O Interbase/Firebase tem limite de número de licenças.
O Firebird e o Interbase 6.0 OS: NÃO; O Interbase comercial vc compra o número desejado de licenças (ainda assim bem mais barato q outros bancos comerciais)
|3 - Fiz testes com o Interbase 6 (aquele que vem com o Delphi 6).
|Tenho uma tabela com os seguintes campos:
O Interbase q vem com o Delphi não é gratúito (e acho q não é o 6.0 más o 6.5)
|O campo ´Id_Telefone´ é para ser auto-incremental, então para isso criei
|um trigger amarrado a um generator. {...}
Vc vai ter q estudar mais um pouco para entender como funcionam aplicações C/S -- como o ID foi gerado pelo servidor, não tem como o Cliente ficar sabendo sem executar a query novamente.
Sei q muita gente fala das triggers para criar IDs... não sei de onde tiraram essa idéia, em geral não é a melhor forma. Se vc usa IBX a forma mais fácil e usar a propriedade GENERATORFIELD.
|4 - Na conversão de um campo do tipo Boolean para uma base SQL,
|qual o melhor tipo: Char, VarChar. No SQL Server tem o tipo Bit. Não
|tem similar no Interbase, Firebase ou MySQL.
O Interbase 7 tem o tipo Boolean. Em geral existem duas formas de implementá-lo nos bancos q não tem, um CHAR(1) ou um SMALLINT que pode receber 0 ou 1
T+
|Cliente-servidor (Levando e consideração o principalmente custo {...}
Para aplicações stand-alone (ou poucos usuários em rede) Paradox não é má idéia (mesmo com a falta de suporte ao BDE) -- entretanto existem outras boas opções no mercado, sendo uma delas o DBISAM (http://www.elevatesoft.com/prodinfo.htm)
Para aplicações multi-usuário é melhor aplicar um SGDB, os de baixo custo são Interbase 6.0 OS, Firebird, PostgreSQL e MySQL
|2 - O Interbase/Firebase tem limite de número de licenças.
O Firebird e o Interbase 6.0 OS: NÃO; O Interbase comercial vc compra o número desejado de licenças (ainda assim bem mais barato q outros bancos comerciais)
|3 - Fiz testes com o Interbase 6 (aquele que vem com o Delphi 6).
|Tenho uma tabela com os seguintes campos:
O Interbase q vem com o Delphi não é gratúito (e acho q não é o 6.0 más o 6.5)
|O campo ´Id_Telefone´ é para ser auto-incremental, então para isso criei
|um trigger amarrado a um generator. {...}
Vc vai ter q estudar mais um pouco para entender como funcionam aplicações C/S -- como o ID foi gerado pelo servidor, não tem como o Cliente ficar sabendo sem executar a query novamente.
Sei q muita gente fala das triggers para criar IDs... não sei de onde tiraram essa idéia, em geral não é a melhor forma. Se vc usa IBX a forma mais fácil e usar a propriedade GENERATORFIELD.
|4 - Na conversão de um campo do tipo Boolean para uma base SQL,
|qual o melhor tipo: Char, VarChar. No SQL Server tem o tipo Bit. Não
|tem similar no Interbase, Firebase ou MySQL.
O Interbase 7 tem o tipo Boolean. Em geral existem duas formas de implementá-lo nos bancos q não tem, um CHAR(1) ou um SMALLINT que pode receber 0 ou 1
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)