Access: relazione tabelle

di il
4 risposte

Access: relazione tabelle

Salve,

Mi dispiace ma sono un po' negato con le relazioni di access e vorrei il vostro aiuto.

Sto realizzando un Database di fonti storiche per analizzarne il contenuto in maniera più veloce ed efficace.

Ho creato una prima Tabella: Fonti

ID Fonte (chiave primaria): numerazione automatica
Data: numerico
Fondo: testo breve
Fonte: allegato
Soggetto: testo breve

Vorrei creare una seconda Tabella: Anagrafe, vorrei strutturarla in questo modo:

ID Persona (chiave primaria): numerazione automatica
nome: testo breve
cognome: testo breve
Ruolo: testo breve
Ordine: testo breve

Avrei bisogno di collegare le due tabella in modo da poter conoscere:

A) Quali persone compaiono in una fonte.
B) In quale fonte compare una determinata persona.
C) In quante fonti compare una persona.

Considerato che:

una persona può comparire in più fonti e una fonte può nominare più persone.

Come posso fare?

Spero di essere stato abbastanza chiaro,

vi ringrazio per l'aiuto.

4 Risposte

  • Re: Access: relazione tabelle

    Ti serve una tabella di congiunzione che chiamerei Partecipazioni o PersoneFonti con i seguenti campi:
    IDPartecipazione (PK, numerazione automatica)
    IDPersona (FK, numerico)
    Ruolo
    IDFonte (FK, numerico)

    Relazioni:
    Persone.IDPersona uno-a-molti Partecipazioni.IDPersona
    Fonti.IDFonte uno-a-molti Partecipazioni.IDFonte

    Ti faccio notare che direi che sia più giusto mettere il campo Ruolo nella tabella Partecipazioni e non in Persone.
    Il campo Data dovrebbe essere di tipo Data/Ora.
  • Re: Access: relazione tabelle

    Grazie mille, non avevo pensato alla possibilità di creare una terza tabella.

    Per quanto riguarda il campo data non ho utilizzato data/ora perché alcune fonti posso individuarle solo per l'anno in cui sono state scritte, altre per mese ed anno, altre ancora per giorno/mese/anno. Non so se il formato data/ora consenta queste differenze.

    Grazie ancora.
  • Re: Access: relazione tabelle

    Purtroppo no. Ho avuto un problema simile in un mio database. La soluzione più pratica sarebbe quella di un campo testo breve e avere l'accortezza di scrivere sempre secondo questo formato:
    AAAA/MM/GG
    quando conosci solo l'anno scriverai solo
    1960
    per Anno/Mese scriverai
    1970/04
    per Anno/Mese/Giorno scriverai
    2001/08/12

    Direi anche che il nome più appropriato per questo campo potrebbe essere Epoca.
  • Re: Access: relazione tabelle

    Grazie effettivamente è un ottimo escamotage
Devi accedere o registrarti per scrivere nel forum
4 risposte