[firebase-br] Procedimento para criar Tabelas, Geradores e Triggers???

Fausto fausto.s.a em uol.com.br
Sáb Mar 4 13:32:10 -03 2006


Hugo, não é por nada. .mas esta muito complicado, não sei se foi a forma 
como vc explicou o próprio sistema.
Pode não ser o seu caso, mas muitos programadores bolam a idéia do 
sistema/programa com muita eficiência e eles tem que ter este mesmo 
cuidado/eficiência na modelagem dos dados.
Chutando bem por cima, no seu caso seria bom vc rever sua estrutura e 
aplicar à sua modelagem as Fn´s(Formas normais), me parece que no seu 
caso a 3º FN resolveria seu problema.

Fausto

Hugo Ricardo escreveu:
> Boas.
>
> É possivel ter um procedimento que crie Tabelas, Geradores e Triggers???
>
> Descrevo o meu problema:
>
> Tenho um programa de gestao de clientes com uma tabela de clientes associada 
> com 500.000 registos com tendência para aumentar!!!
>
> 1. É possivel ter um programa 100% funcional e rápido com uma tabela com 
> estes registos todos? Como? O meu programa está muito lento!!!
>
> 2. Estava a pensar solucionar o problema da seguinte forma:
>
> - Dividir a tabela de clientes por várias tabelas conforme a familia (campo 
> da tabela de clientes). Ficaria com muitas tabelas, mas com poucos registos 
> dentre delas!!! Penso que em termos funcionais e de rapidez ficaria com um 
> programa muito melhor! Certo?
>
> 3. Para esta solução precisava de criar uma tabela por cada tipo de familia 
> (Familia/Tipo de Clientes). Pretendia fazer isto independente da aplicação, 
> ou seja, em SQL directamente na Base de Dados Firebird. Pretendia criar um 
> procedimento:
>
> Procedure CriarTabela(Nome_Tabela, Nome_Familia)
> begin
>     CREATE GENERATOR ...GERADOR_NOVO;
>
>     CREATE TABLE Nome_Tabela (
>         ...
>     );
>
>     CREATE TRIGGER Nome_Trigger FOR Nome_Tabela
>     ACTIVE BEFORE INSERT POSITION 0
>     AS
>     BEGIN
>           IF (NEW.ID IS NULL) THEN
>             NEW.ID = GEN_ID(GERADOR_NOVO,1);
>     END
> end;
>
> É possivel fazer isto???
>
> É possivel percorrer todos os registos da tabela Clientes Agrupados pela 
> Familia e inseri-los na nova Tabela???
>
> Agradeço qualquer tipo de ajuda, códigos, ...!
>
> Obrigado
> Hugo Ricardo, Portugal 
>
>
>
>
>   
> ------------------------------------------------------------------------
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 268.1.2/274 - Release Date: 03/03/2006
>   




Mais detalhes sobre a lista de discussão lista