[firebase-br] Transaction

Jimi Roy Pugss jimi_roy em dew.com.br
Seg Dez 20 14:30:47 -03 2004


Bom ai vc tambem tem problema, pois, se a chave primaria é o nuermo do
lancamento (não era a primeira coluna do teu exemplo?) entaum, vc naum
pode ter duplicidade independente da tua empresas, volto a dizer, faca
como vc mesmo exemplificou, use um generator apenas, a empresa tem que
ser apenas filtro, mas se o numero do lancamento tem que ser um numero
amigavel do tipo que o usuário vai encher o saco se não for oque ele
queria, entaum, use um generator para cada emrpesa, ou crie parametros
no sistema para determinar contadores para cada empresa sem precisar
carregar generators, eu pessoalmente nesses casos optaria um um
parametro e uma funcção (store proc) para te retornar a chave mas ja fiz
muito isso e cheguei a conclusão que "não vale a pena" opto por um
generator so, e o numero que é retornado, naum me encomoda pode até ser
grande, pra vc ter uma ideia tenho um sistema que todas as entidades do
banco usam apenas um generator, e tenho umas rotinas que eu consigo
identificar qualquer "objeto" do meu banco apenas pelo seu id isto é se
alquem me perguntar oque é o nro 4577987 eu vou dizer : " ah, isso é um
registro de lancamento de cheque pre datado lancado no dia tal pelo
fulano de tal de tal estação... pq?" ou ainda oque é o numero 2246? e eu
digo " ah isso é um PRODUTO lancado tal dia pelo fulano de tal pq?" veja
que os numeros sao grandes e a base tem quase 900 mb de tamanho rodando
em um servidor linux debian sarge com firebird 1.5.1 redondissimo
rapidissimo e com modulos de acesso via web rodando nao tenho medo algum
de "estourar" o generator uma vez que o mesmo retorna "BIGINT" entaum,
sem paranoia, a proposito, os numeros são reaproveitaveis, pois as
rotinas de retorno de chaves procuram "buracos" na numeração antes de
sair detonando os generators, isto é em todo o meu banco, nao existe um
"ID" sequer repetido entende, nao esquento a cabeça na hora dos
"SELECTS" pois sempre sera uma informação segura. 

[]'s


-- 
     _  ______________________________
    / )|                              |
   / / | Jimi Roy Pugss (41 88377350) |
 _( (_ |  _   Developer World Inc.    |
(((\ \)|_/ )__________________________|
(\\\\ \_/ /                            
 \       /                             
  \    _/                              
  /   /         



Em Seg, 2004-12-20 às 13:39, Marlon escreveu:
> Oi Jimi,
> 
> Eu escrevi errado, a chave primária é só o número do lançamento. A chave 
> estrangeira é o código da empresa.
> Mania que eu tenho de não ler o que escrevo(hehehe). Desculpa a minha falha.
> 
> Jimi Roy Pugss escreveu:
> 
> >Meu amigo, reveja seus conceitos, sinceramente, com toda a certeza e
> >experiência no assunto, please, fuja como o diabo da cruz de
> >"chaves-compostas" pra que complicar oque não precisa ser complicado?
> >por que tornar lento oque não precisa ser lento? esqueça essa sua
> >modelagem, empresa não deve fazer parte da chave e sim ser apenas uma
> >mera condição de filtragem... 
> >
> >Qualquer dúvida com relação a modelagem, ou ao que eu disse, se quiser
> >responda em PVT.
> >
> >[]'s
> >
> >
> >  
> >
> 





Mais detalhes sobre a lista de discussão lista