[ImoLUG] R: Mysql 5.5 e modo per semplificare la vita

ireneo.zauli@alice.it ireneo.zauli@alice.it
Ven 4 Ott 2013 15:11:27 CEST


Ciao,scrivere la stessa informazione (cf varchar(30)) in due tabelle é fondamentalmente non corretto.Che tipo di relazione ti servirebbe? Molti a molti? oppure uno a molti?
Se ti serve uno a molti: ad ogni anagrafica hai un solo recapito, ad un recapito puoi avere pių di una anagrafica.recapiti (id, ...)anagrafica (id, id_recapito, ..., cf)
e non hai bisogno della tabella intermedia.
Se ti serve molti a molti: ad ogni una anagrafica hai pių recapiti, ad ogni recapito hai pių anagrafiche.recapiti (id, ...)anagrafica (id, ..., cf)intermedia (id_recapito, id_anagrafica)
poi interrogando le tabelle puoi tirare fuori tutto quello che ti serve sapere



----Messaggio originale----

Da: gicoan62@gmail.com

Data: 4-ott-2013 14.24

A: <imolug@lists.linux.it>

Ogg: [ImoLUG] Mysql 5.5 e modo per semplificare la vita




  
  
    Buongiorno a tutti:

    ho un db mysql 5.5 chiamato ambulatorio che contiene 3 tabelle:

    
      anagrafica(id int not null auto_increment primary key ... cf
        varchar(30));
      recapiti(id int not null auto_increment primary key ...);
      intermedia(id INT che referenzia recapiti.id, cf(varchar(30)
        che referenzia anagrafica.cf)
    
    Volendo inserire i dati in intermedia senza preoccuparmi di
    conoscerli, ho fatto la seguente query insetr:

    

    INSERT INTO intermedia SELECT id,cf FROM anagrafica WHERE 
    anagrafica.id=LAST_INSERT_ID();

    

    e funziona se la richiamo dopo ogni inserimento di dati in
    anagrafica.

    

    Ma vorrei partisse automaticamente, senza chiamare la query. come
    posso fare? la faccio diventare un trigger con funzioni AFTER
    INSERT?

  





-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.linux.it/pipermail/imolug/attachments/20131004/ec75a270/attachment.html>


Maggiori informazioni sulla lista ImoLUG