--- fabrizio venerandi ha scritto: 
> C'è solo una cosa che non capisco, evidentemente legata all'uso di 
> foreing key: perché in table B ripeti la dichiarazione di  id_a
> integer ? Cioé cosa mi serve avere due campi con lo stesso nome in 
> tabelle diverse? Il valore viene aggiornato automaticamente o cosa? 

non è necessario che i due campi abbiano lo stesso nome, ma questa può
essere una pratica che ti facilita di molto l'uso delle colonne nelle
query perché ti fa capire subito quali sono le relazioni tra le
tabelle.

A
------------
id_a | des_a
------------
  1  | desa1
  2  | desa2
  3  | desa3

i valori di id_a sono automatici

B
-------------------
id_b | id_a | des_b
-------------------
  1  |   2  | desb1
  2  |   1  | desb2
  3  |      | desb3

i valori di id_b sono automatici
i valori di id_a non sono automatici, sono inseriti da chi popola la
tabella

id_a serve a capire come legare i record di A con quelli di B

select * from A, B where A.id_a = B.id_b;

A.id_a | A.des_a | B.id_b | B.id_a | B.des_b
  1    | desa1   |    2   |    1   | desb2
  2    | desa2   |    1   |    2   | desb1

come vedi la join ha unito le righe con A.id_a = B.id_a
B.id_a è la foreign key su A.id_a

Ciao
Davide

Dizionari: http://linguistico.sourceforge.net/wiki
Conoscere il TC: http://www.no1984.org
Strumenti per l'ufficio: http://it.openoffice.org
Sistema operativo: http://www.it.debian.org
Browser: http://www.mozilla.org/products/firefox
Client di posta: http://www.mozilla.org/products/thunderbird
GNU/Linux User: 302090: http://counter.li.org
--
Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: 
non voglio essere invaso da spam


        

        
                
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a