linux user group brescia

immagine del castello

Archivio della mailing list

trigger ?

cartolina cartolina a tiscali.it
Lun 17 Ott 2005 14:59:48 UTC
marco ghidinelli wrote:

>On Mon, Oct 17, 2005 at 12:59:29PM +0000, cartolina wrote:
>  
>
>>sto giocando con postgres, e mi sono immaginato una tabella che abbia 
>>dei campi doppi,
>>uno con la descrizione, leggibile da un commerciale qualsiasi,
>>e uno con un integer da poter passare a delle query per velocizzarle.
>>es:
>>ecc,
>>nome varchar(),
>>nome_id integer
>>    
>>
>
>direi che stai partendo nella direzione sbagliata.
>
>secondo me (e penso secondo qualche principio noto nei database)
>dovresti mettere in tale tabella solo l'id del campo che ci vuoi
>aggiungere, e poi una tabella esterna che contiene l'id associato alla
>descrizione.
> 
>  
>
cosi' e' al momento, come i principi noti, ma a scrivere una query si 
diventa cretini, quando hai molte descrizioni da infilare,
e poi, non e' piu' lento a fare una join su 15 tabelle che su una sola?

>>ed un'altra tabella con le associazioni descrizioni - indici
>>nome | nome_id
>>gino   |1
>>pino   |2
>>    
>>
>
>quindi vorresti addirittura replicare i campi descrittivi?
>  
>
si, una e' residente in tabella, e la richiamo in query, e una esterna 
per costringere l'inserimento di un dato esatto

> 
>  
>
>>da quel che ho letto dovrei avere una funzione che, al momento di 
>>inserire il nome nella prima tabella,
>>vada a chiedere l'integer corrispondente alla seconda tabella e lo 
>>inserisca nel campo nome_id
>>ed un trigger che esegua la funzione al momento di insert or update
>>    
>>
>
>si, le funzioni ci sono, e ti permettono di fare un sacco di cose.
>purtroppo non mi ricordo se erano le trigger o le stored procedures che
>ti interessano. (non ricordo nemmeno se sono la stessa cosa).
>
>  
>
>>e' corretto o esistono sistemi piu' semplici?
>>    
>>
>
>non ho ben capito quello che vuoi fare, pero'.
>  
>
questo e' perche d'abitudine non leggi mai fino in fondo la mail a cui 
rispondi!! .-)
questa era in italiano comprensibile


grazie
ciao
furio



Maggiori informazioni sulla lista Lug