View Full Version : Aiuto access
American horizo
27-03-2004, 17:48
Devo mettere in relazione tra loro 2 tabelle. La relazione deve essere del tipo 1 a molti, quindi in una tabella deve esserci un determinato campo come chiave primaria e nell'altra tabella tale campo deve essere chiave esterna. La mia domanda è: nella seconda tabella, come faccio a dichiarare che una determinata colonna rappresenta la chiave esterna? e sempre in questa tabella, deve esserci una chiave primaria?
Fenomeno85
27-03-2004, 18:06
la chiave primaria va sempre dichiarata (se te non la dichiari lo fa access comunque mettila) perchè serve a identificare in maniera univa una ennupla della tabella.
Poi per quanto riguarda la chiave esterna va messa nella relazione 1:N nella tabella dove c'è N.
Ti ho allegato un semplice esempio.
Ricordo di applicare quando fai le relazioni applica l'integrità referenziale.
~§~ Sempre E Solo Lei ~§~
Originariamente inviato da American horizo
nella seconda tabella, come faccio a dichiarare che una determinata colonna rappresenta la chiave esterna?
Non lo fai. Non e` cosi` che funziona.
Quando crei la relazione, dalla finestra apposita, oppure in una query, trascini col mouse il campo principale su quello secondario. Punto.
Originariamente inviato da American horizo
e sempre in questa tabella, deve esserci una chiave primaria?
No, non e` assolutamente necessario.
Al massimo devi stare attento che, se la chiave primaria della tabella 1 e` un contatore, la "chiave esterna" della tabella 2 sia impostata a intero lungo.
Guldo
p.s.: io mi riferisco a Access 2000, tu non so... :D
Fenomeno85
27-03-2004, 18:08
Originariamente inviato da guldo76
No, non e` assolutamente necessario.
Al massimo devi stare attento che, se la chiave primaria della tabella 1 e` un contatore, la "chiave esterna" della tabella 2 sia impostata a intero lungo.
la chiave primaria è obbligatoria ;)
~§~ Sempre E Solo Lei ~§~
Originariamente inviato da Fenomeno85
la chiave primaria è obbligatoria ;)
Non secondo il mio Access 2000...
Cmq sul fatto che sia opportuno creare sempre una chiave primaria, siamo d'accordo, sono stato un po' precipitoso nella risposta... :p
Guldo
EDIT: ah un attimo! :eek: forse e` obbligatoria quando cerchi di creare un join? Di sicuro non lo e` quando crei la tabella.
Fenomeno85
27-03-2004, 18:21
Originariamente inviato da guldo76
Non secondo il mio Access 2000...
Cmq sul fatto che sia opportuno creare sempre una chiave primaria, siamo d'accordo, sono stato un po' precipitoso nella risposta... :p
Guldo
EDIT: ah un attimo! :eek: forse e` obbligatoria quando cerchi di creare un join? Di sicuro non lo e` quando crei la tabella.
osserva bene la struttura ci deve essere PER FORZA ;)
~§~ Sempre E Solo Lei ~§~
American horizo
27-03-2004, 18:24
Originariamente inviato da Fenomeno85
la chiave primaria va sempre dichiarata (se te non la dichiari lo fa access comunque mettila) perchè serve a identificare in maniera univa una ennupla della tabella.
Poi per quanto riguarda la chiave esterna va messa nella relazione 1:N nella tabella dove c'è N.
Ti ho allegato un semplice esempio.
Ricordo di applicare quando fai le relazioni applica l'integrità referenziale.
~§~ Sempre E Solo Lei ~§~
grazie!
Però, saresti cosi gentile da spiegarmi a cosa serve il tuo database dell'esempio? in questo modo riesco a capire meglio perchè hai fatto determinate scelte, etc.....sai, sono alle prime armi :D
Fenomeno85
27-03-2004, 18:28
nessun problema, il db che ho fatto non è altro che due tabelle di con relazione 1:N in cui c'è:
1) una tabella Persona che contiene:
-- chiave primaria
-- nome
-- provincia (chiave esterna alla tabella provincia)
2) una tabella Provincia che contiene:
-- chiave primaria
-- provincia
In poche parole voglio che il campo provincia sia riferito a una tabella chiamata provincia.
sono a tua disposizione per qualunque problema.
~§~ Sempre E Solo Lei ~§~
American horizo
27-03-2004, 18:39
Originariamente inviato da Fenomeno85
nessun problema, il db che ho fatto non è altro che due tabelle di con relazione 1:N in cui c'è:
1) una tabella Persona che contiene:
-- chiave primaria
-- nome
-- provincia (chiave esterna alla tabella provincia)
2) una tabella Provincia che contiene:
-- chiave primaria
-- provincia
In poche parole voglio che il campo provincia sia riferito a una tabella chiamata provincia.
sono a tua disposizione per qualunque problema.
~§~ Sempre E Solo Lei ~§~
ok,ma in che senso è riferito ad una tabella provincia? Ovvero, tale riferimento che comporta?
American horizo
27-03-2004, 18:40
Altra domanda:
Perchè la relazione è da considerarsi 1 a molti ?
Fenomeno85
27-03-2004, 18:49
Originariamente inviato da American horizo
ok,ma in che senso è riferito ad una tabella provincia? Ovvero, tale riferimento che comporta?
cioè voglio nel mio caso avere la possibilità di mettere nel campo provincia solo le province inserite nella tabella province.
Perchè la relazione è da considerarsi 1 a molti ?
è da considerarsi 1:N perchè 1 provincia a N persone mentre 1 persona ha solo una provincia ;)
~§~ Sempre E Solo Lei ~§~
American horizo
27-03-2004, 18:57
Potresti aprire icq cosi parliamo meglio? ;)
Fenomeno85
27-03-2004, 19:09
Originariamente inviato da American horizo
Potresti aprire icq cosi parliamo meglio? ;)
ok ;)
~§~ Sempre E Solo Lei ~§~
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.