[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