Auto referenza molti a molti

di il
4 risposte

Auto referenza molti a molti

Ciao a tutti,
premetto di essere solo un “hobbista” e per di più alle prime armi.
Sto cercando di costruire un database per la gestione di Prodotti che possono essere a loro volta Componenti di altri Prodotti.
Un Prodotto (o ProdottoComponente) può avere più ProdottiComponenti e un ProdottoComponente può appartenere a più Prodotti (o ProdottoComponenti).
Sarei quindi “tentato” di usare un auto-riferimento molti-a-molti, attraverso una tabella composita dove inserisco gli id di due prodotti come chiavi esterne, e metto come chiave primaria i due prodotto_id assieme.
Può essere una soluzione valida? E come la rappresento in un grafico ER?
Ultima cosa, come evitare doppioni? Cioè ad esempio

Prodotto                                                     ProdottoComponente
id   nome                                                    id        p1_id  p2_id  
01  aaa                                                       0102    01       02
02  bbb                                                       0103    01       03
03  ccc                                                       0302    03       02

4 Risposte

  • Re: Auto referenza molti a molti

    Devi creare una distinta base con la quale indichi di quali componenti e di quante unità è composto il tuo prodotto.
  • Re: Auto referenza molti a molti

    Un problema è che i componenti possono variare, anche abbastanza celermente, sia in termini di tipo che di quantità. Inoltre non si tratta di UN prodotto, ma di centinaia di prodotti, con alcuni che si differenziano solo per alcune parti o caratteristiche, ma anche di completamente diversi gli uni dagli altri.
  • Re: Auto referenza molti a molti

    Non è un problema: la Distinta Base è fatta apposta, e non hai alternative.
    Ti consiglio di documentarti, prima di fasciarti inutilmente la testa prima di rompertela.
  • Re: Auto referenza molti a molti

    Grazie a tutti.
    Proverò a fare una "googlata".
Devi accedere o registrarti per scrivere nel forum
4 risposte