João Paulo,
Eu realmente não conheço a fundo o Oracle, apesar de também trabalhar
com ele.
Como eu faço um sistema orientado a objetos sem a dependência de um
banco de dados, algumas funções de determinados bancos ficam difíceis de
trabalhar.
Eu acredito que já tenham alguns bancos que trabalham dessa forma, no
meu ultimo estudo,  o Caché tinha um serviço excelente, o que pecava era
a falta de compatibilidade com o Delphi.
Mas quero salientar, que não sou contra os bancos de dados, apenas tenho
uma visão que é o cliente que tem que escolher as ferramentas que ele
vai usar. Se ele já tiver as licenças do Oracle, dificilmente ele irá
querer usar um banco gratuito como o FB, e vice e versa... então eu
realmente isolo o banco e só trabalho na camada de negocio.
 
[]’s
 
Eduardo E. J. Menoncello
 
-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de João Paulo Linhares Gonçalves
Enviada em: sexta-feira, 13 de maio de 2005 15:55
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: RES: [delphi-br] Auto-Incremento
 
Os problemas são reais e acho que por isso o Oracle implementa o
conceito de sequências. Quando se cria uma sequência pode-se dizer a
partir de qual número a geração irá começar e a geração do número não
precisa de nenhum bloqueio, é uma função otimizada dentro do banco.



Em 13/05/05, Eduardo E. J. Menoncello<[EMAIL PROTECTED]>
escreveu:
> João Paulo,
> 
> Vamos para a Importação e Exportação, nos dois casos, tanto dentro do
> mesmo BD quanto migrando ela tem problemas.
> A menos que você crie uma rotina que nosso colega sugeriu, por
exemplo:
> Eu tenho um código interno de um produto de valor 350, quando eu vou
> incluir ele com auto-incremento, como posso chegar a esse número?
> Eu poderia criar uma rotina pra ir gerando até o número 350. Mas eu to
> falando de só 350, imagine se o código for 123456, imagina o tempo que
> levaria para chegar a esse número.
> Em um outro caso, se por acaso no banco de dados primeiro importar o
355
> que veio numa remessa anterior e depois chegasse o 350? Acabaria sem
> importar.
> E a pior das hipóteses seria se o código utilizado pelo cliente
contiver
> letras, o que não é raro.
> 
> A solução mais lógica, seria criar 2 códigos, um interno, que até pode
> ser auto-incremento, pq só existirá no banco de dados atual, e o outro
o
> externo, que poderia ser alterado a vontade pelo usuário, além de
poder
> conter letras. Quando você exportar, ele será o código que sairá no
> arquivo, e o interno não, será encapsulado no próprio banco.
> 
> Quanto à performance, claro, tudo é relativo. Mas já trabalhei em
> sistemas que tinha um alto nível de inclusão e eles tinham um sério
> problema de performance, porque sempre que você grava no banco, ele
tem
> que alterar uma variável e gravá-la também. Então, além de acabar
> gerando um tráfego a mais na rede, também tem o esquema da fila,
porque
> se 1000 incluírem ao mesmo tempo, o auto-incremento irá travar até que
> seja liberado um por um.
> 
> Então para solucionar o problema, e até não ter que ficar esperando o
> retorno do banco de dados com o ID, a solução seria implementar um ID
> que gere com o instante atual (em milisegundos) e ainda com um número
> aleatório grande, para você ter absoluta certeza de que não irá
incluir
> o mesmo ID. E como já havia discutido na lista à um tempo atrás, o
GUID
> ou algo baseado nele, percebi que é a solução mais viável.
> 
> []'s
> 
> Eduardo E. J. Menoncello
> 
> -----Mensagem original-----
> De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> Em nome de João Paulo Linhares Gonçalves
> Enviada em: quinta-feira, 12 de maio de 2005 09:43
> Para: delphi-br@yahoogrupos.com.br
> Assunto: Re: RES: [delphi-br] Auto-Incremento
> 
> Olá,
> 
> Que tipo de problemas de importação e exportaçãovc está falando ? Isso
> é dentro do mesmo banco de dados ou migrando de um banco para outro ?
> 
> E os problemas de performance ? pq o gargalo na gravação dos dados ?
> Que tipo de auto-incremento gera tal gargalo ?
> 
> Em 12/05/05, Eduardo E. J. Menoncello<[EMAIL PROTECTED]>
> escreveu:
> > Paulo,
> >
> > Sinceramente, eu ainda não consegui achar as vantagens, então vou
> dizer
> > as desvantagens...
> > No auto-incremento, você tem problemas com importação e exportação,
> você
> > terá que criar um algoritmo pra achar a tabela relacionada, pode
> ocorrer
> > problemas de performance, porque se cria um gargalo na gravação dos
> > dados.
> >
> > Sugestão:
> > Como eu mesmo pedi informações por aqui, crie um campo inteiro, ou
> > string, e decomponha-o,  de forma que você consiga guardar nele o
> > momento atual e um número relativamente grande aleatório. Por que?
> Para
> > que você não precise acessar o banco para criar a chave, ele no
> momento
> > que gravar já terá uma chave única. E com isso, reduzirá e muito o
> > gargalo do sistema.
> >
> > Abraços
> >
> > Eduardo E. J. Menoncello
> >
> > -----Mensagem original-----
> > De: delphi-br@yahoogrupos.com.br
[mailto:[EMAIL PROTECTED]
> > Em nome de Info Desenvolvimento
> > Enviada em: quinta-feira, 12 de maio de 2005 09:27
> > Para: delphi-br@yahoogrupos.com.br
> > Assunto: [delphi-br] Auto-Incremento
> >
> > Alguém pode me responder quais as vantagens e as desvantagens em se
> > trabalhar com Auto-Incremento?
> >
> > PAULO FERNANDES
> >
 


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a