Relazioni MOLTI a MOLTI

di il
11 risposte

Relazioni MOLTI a MOLTI

Buongiorno !

Vorrei l'aiuto di qualche esperto per capire come creare maschere e query funzionanti, partendo dalle relazioni sotto riportate.

Ci sono tre tabelle principali con tre tabelle di raccordo per la relazione molti a molti.

Tabella 1 = ID; Nome X;

Tabella 2 = ID; Tipologia;

Raccordo tra 1 e 2 = ID 1 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 1; ID 2 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 2;

Tabella 3 = ID; Nome Y;

Raccordo tra 1 e 3 = ID 1 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 1; ID 3 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 3;

Raccordo tra 2 e 3 = ID 2 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 2; ID 3 (numerico; indicizzato; indicizzato, duplicati ammessi) collegato con l'ID della tabella 3.

Saluti a tutti.

11 Risposte

  • Re: Relazioni MOLTI a MOLTI

    Secondo me, mancano dei pezzi.
    Se ti è chiaro che OGNI TABELLA, ovviamente ragiono semplificando i casi e rifacendomi alla NORMALIZZAZIONE, richiede una CHIAVE PRIMARIA, e, nel caso in cui sia relazionata lato MOLTI una CHIAVE ESTERNA, ne consegue che un Tipico di Tabella potrebbe essere questo:
    
    PK (Counter)
    FK (Long)
    CampoTesto(nome/Tipologia ecc...)
    La dove una Tabella è relazionata Lato(1) solamente il Numero dei Campi potrebbe essere 2, ma se la Tabella ha delle Relazioni lato Molti allora minimo saranno 3, incluso il campo Descrittivo...
    
    T1                          T2
    IdT1 (Pk 1)<------->(oo FK) IdT1
    Tipologia                   IdT2 (Pk)
                                Nome


    Se pensiamo poi al MOLTI-MOLTI
    
    T1                          T2                      T3
    IdT1 (Pk 1)<------->(oo FK) IdT1
    Tipologia                   IdT3 (FK oo) < -------> (PK 1) IdT3 
                                IdT2 (Pk)               Categoria
                                Nome

    Nel tuo caso credo tu abbia esposto in modo da generare molta confusione...
  • Re: Relazioni MOLTI a MOLTI

    Se non mi sono spiegato bene, chiedo scusa, però, su Access la relazione MOLTI a MOLTI va spacchettata in due relazioni 1 a MOLTI, dove al centro c'è la tabella di raccordo che può non avere una chiave primaria, ma solamente due chiavi esterne.

    Nell'elenco di tabelle, lì dove ho scritto:
    - ID 1 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 1;
    questa è la chiave esterna della tabella di raccordo (nella quale non c'è la chiave primaria);

    Nelle tue tabelle non mi sembra di vedere le tabelle di raccordo.
  • Re: Relazioni MOLTI a MOLTI

    ProgrammD ha scritto:


    Se non mi sono spiegato bene, chiedo scusa, però, su Access la relazione MOLTI a MOLTI va spacchettata in due relazioni 1 a MOLTI, dove al centro c'è la tabella di raccordo che può non avere una chiave primaria, ma solamente due chiavi esterne.
    Chiarisco:
    
    ChiavePrimaria=[PK] dall'inglese Primary Key
    ChiaveEsterna=[FK] dall'Inglese Foreign key
    I simboli:
    
    [1]=Lato 1
    [oo]=Lato Molti
    Da cui gli esempi schematici che ho fatto... e guardali bene...!

    ProgrammD ha scritto:


    Nell'elenco di tabelle, lì dove ho scritto:
    - ID 1 (numerico; indicizzato; duplicati ammessi) collegato con l'ID della tabella 1;
    questa è la chiave esterna della tabella di raccordo (nella quale non c'è la chiave primaria);

    Nelle tue tabelle non mi sembra di vedere le tabelle di raccordo.
    Secondo te la T2, del 2° esempio che ho fatto, e che ho rappresentato cosa sarebbe...????
    Non è la Tabella di RACCORDO con 2 Chiavi esterne[FK] ed una ChiavePrimaria[PK]...?

    In cosa differisce dalla stessa struttura che tu hai indicato...?

    Se non ti esprimi con i termini Tecnici, credo tu possa anche aver difficoltà a capire oltre che ad esprimere i tuoi problemi...
  • Re: Relazioni MOLTI a MOLTI

    Ok. Allora se è chiaro lo schema di prima, comincio con qualche domanda:
    1) posso fare una query che includa un campo della tabella 1 ed un campo della tabella 3 sapendo che queste due tabelle sono collegate dalla tabella di raccordo ?
  • Re: Relazioni MOLTI a MOLTI

    Si, se pensi sia utile...!
  • Re: Relazioni MOLTI a MOLTI

    ProgrammD ha scritto:


    domanda:1) posso fare una query che includa un campo della tabella 1 ed un campo della tabella 3 sapendo che queste due tabelle sono collegate dalla tabella di raccordo ?
    La risposta è sì, ma nella struttura della query devi includere (se non ti servono i suoi campi) anche la tabella di congiunzione.
  • Re: Relazioni MOLTI a MOLTI

    Grazie dell'indicazione.
    Comunque, sto cercando di costruirmi un piccolo database con access, e ci sono alcune relazioni MOLTI a MOLTI.
    Man mano che procede il lavoro, e a seconda delle difficoltà incontrate, posterò altre richieste di suggerimenti.
    Saluti.
  • Re: Relazioni MOLTI a MOLTI

    Non apro un nuovo argomento, ma continuo questo.

    Allora, premesso che ho gestito bene le relazioni molti a molti dove le chiavi primarie di tabelle lato uno avevano una tabella intermedia dove trovavano le rispettive chiavi esterne; ebbene in queste tabelle di raccordo c'erano solo due chiavi esterne.

    La domanda è: in una tabella di raccordo sarebbe possibile inserire più di due chiavi esterne per collegare tra loro più di due tabelle lato uno ?
    Se questa operazione Access non la supporta, sarebbe possibile farlo con l'SQL Server ?

    Saluti a tutti.
  • Re: Relazioni MOLTI a MOLTI

    Sì è possibile.
  • Re: Relazioni MOLTI a MOLTI

    Con Access o con SQL Server ?
    O entrambi ?
  • Re: Relazioni MOLTI a MOLTI

    Con Access sicuramente sì, ma immagino anche qualsiasi altra applicazione di database relazionale.
Devi accedere o registrarti per scrivere nel forum
11 risposte