[Db] [mySQL] se non c è crealo!

Angelo Galleja angelo.galleja a email.it
Mer 15 Nov 2006 17:15:23 CET


Cristiano Verondini ha scritto:
>>> fai SELECT .. FROM figlio WHERE regione=... etc. etc.
>>>
>>>   ti risparmi una join, considera il caso in cui la tabella padre
>>> dovesse andare perduta (estremizzo volutamente), la tabella figlio
>>> avrebbe ancora un significato logico perchè i campi che compongono
>>> la pk hanno una corrispondenza nella realtà.
> 
>    Lo trovo un esempio poco calzante. Primo perchè non deve succedere 
> che si cancella una tabella (e certo non decido la *struttura* del DB in 
> vista di un evento di questo tipo), 

ho estremizzato volutamente :) c'era anche scritto tra parentesi

> secondo perché la ricerca che fai 
> nella tabella figlio di per sé ha poco significato

perchè? sto cercando qualcosa che ha una corrispondenza nella realtà:

sto cercando "nonsocosa" che sia in LIGURIA->GENOVA->GE->LA_MIA_FILIALE
e IMHO è più naturale di cercare "nonsocosa" che abbia come id padre 26

>, probabilmente dovrai 
> risalire all'elemento padre dei record trovato (e vai di join). 

probabilmente, ma qualora non fosse così mi sono risparmiato una JOIN

> Oltretutto, la WHERE andrebbe fatta con valori per campi componenti 
> l'indice nella sua parte iniziale ... 

scusa ma questa parte non l'ho capita

>insomma, lo trovo poco pratico.

non credo sia solo questione di praticità


Maggiori informazioni sulla lista Db