+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema con tabelle incrociate e relazione molti a molti

  1. #1
    LUCA87 non è in linea Novello
    Post
    4

    problema con tabelle incrociate e relazione molti a molti

    salve a tutti
    sto tent<ndo di fare un gestionale su access per un amico che produce abbigliamento ma non riesco a concluderlo...vi spiego il problema

    ho inserito una tabella fornitori ai quali spedire gli ordini dei capi da realizzare
    ogni fornitore può fabbricare piu prodotti, e a ogni prodotto corrispondono più modelli
    per ogni prodotto si devono stabilire i colori e le taglie con cui realizzare i vari modelli
    pertanto avrò il fornitore A che produce i prodotti X e Y nei colori blu verde e taglie S M
    il prodotto X si puo realizzare in tre modelli F G H e stessa cosa per il prodotto Y con modelli L M N
    questà è la mia situazione di partenza

    ciò che vorrei fare è poter creare una tabella che mi permetta di indicare di volta in volta...

    quanti modelli F di taglia S e colore blu voglio produrre
    quanti modelli F di taglia S e colore verde
    quanti modelli F taglia M colore blu
    quanti modelli F taglia M colore verde
    ecc
    per tutte le varie combinazioni possibili in modo da poter calcolare il costo totale in base ai vari prezzi x colore modello taglia ecc

    ho tentato un approccio con realazione molti a molti, ottenendo le varie combinazioni possibili...ma non riesco a trovare il modo per inserire il numero di capi per ogni combinazione

    qualcuno mi saprebbe dare una mano?
    grazie

  2. #2
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Luogo
    Conversano
    Post
    2,992
    Prima di pensare a fare calcoli, devi preoccuparti di mettere in piedi la giusta combinazione di tabelle. Il tuo caso rispecchia molto da vicino l'esempio del database Northwind che parla proprio di Fornitori, Prodotti, Ordini, DettagliOrdini. Prova a darne un'occhiata in giro o su qualche manuale di base.
    Riguardo in particolare la tabella Prodotti, io prenderei in considerazione l'intera combinazione di elementi che costituiscono un Prodotto, ossia Fornitore, Modello, Taglia, Colore. Quindi la tua tabella Prodotti deve avere almeno i seguenti campi:
    IDProdotto (contatore, chiave primaria)
    Modello
    Taglia
    Colore
    IDFornitore (numerico)

    Relazione Fornitori.IDFornitore uno-a-molti Prodotti.IDFornitore

    Quando parli di relazione molti-a-molti (noterai anche dal Northwind) che essa intercorre fra Prodotti e Ordini perchè un Prodotto può comparire in molti Ordini e un Ordine può contenere molti Prodotti. La relazione molti-a-molti si esplicita con una tabella di congiunzione DettagliProdotti ecc...troverai tutto scritto come ti dicevo prima.

  3. #3
    LUCA87 non è in linea Novello
    Post
    4
    non posso strutturare così la mia tabella prodotti in quanto ad ogni prodotto sono associati piu modelli, piu taglie e piu colori...non posso fare altro che collegare la tabella prodotti (con relazione uno a molti) con le tre tabelle fatte ad hoc: colori (lista dei colori scelti per quel prodotto), taglie (lista delle taglie scelte x quel prodotto) e modelli ( lista modelli x quel prodotto)
    ora se creo una maschera della tabella prodotti, mi mostra tutte le varie combinazioni possobili tra prodotti modelli colori e taglie, ma non mi permette di assegnare le quantità...anche perche non riesco a capire in che tabella devo inserire il campo quantità...

  4. #4
    L'avatar di nman
    nman non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,666
    Quote Originariamente inviato da LUCA87 Visualizza il messaggio
    ...non posso fare altro che collegare la tabella prodotti (con relazione uno a molti) con le tre tabelle fatte ad hoc: .......
    Ci stai dicendo che per ogni prodotto diverso hai tre specifiche tabelle per definire modelli colori e taglie ???

    quindi 100 prodotti ---> 300 tabelle ??

    .

  5. #5
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Luogo
    Conversano
    Post
    2,992
    Quote Originariamente inviato da OsvaldoLaviosa
    Prodotti
    IDProdotto (contatore, chiave primaria)
    Modello
    Taglia
    Colore
    IDFornitore (numerico)
    Almeno su questa tabella mi sento sicuro che sia così. Tutt'al più ci vedrei 3 tabelle "satelliti" "madri" Modelli, Taglie, Colori collegate uno-a-molti con i 3 campi corrispondenti. Ma la sostanza non cambia riguardo Prodotti.

    Quote Originariamente inviato da LUCA87
    non riesco a capire in che tabella devo inserire il campo quantità
    Il campo Quantità deve stare nella tabella DettagliOrdini.

  6. #6
    LUCA87 non è in linea Novello
    Post
    4
    esatto
    ho collegato l'idprodotto (uno a molti) con le tre tabelle (modelli, taglie e colori)
    oram i resta da capire dove e come inserire le quantità relative a ciascun modello x ogni taglie e colore x ogni prodotto

  7. #7
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Luogo
    Conversano
    Post
    2,992
    No.
    Le tre tabelle che io preferisco chiamare "satelliti" quando hanno una importanza marginale, le indicherei con un solo campo. In concreto espongo le tabelle e le relazioni:

    Prodotti
    IDProdotto (contatore, chiave primaria)
    Modello
    Taglia
    Colore
    IDFornitore (numerico)

    Modelli
    Modello (testo, chiave primaria)

    Taglie
    Taglia (testo, chiave primaria)

    Colori
    Colore (testo, chiave primaria)

    Relazioni:
    Modelli.Modello uno-a-molti Prodotti.Modello
    Taglie.Taglia uno-a-molti Prodotti.Taglia
    Colori.Colore uno-a-molti Prodotti.Colore

    In sostanza voglio dire che IDProdotto è "chiave primaria" in Prodotti e "chiave esterna" SOLTANTO nella tabella DettagliOrdini che avrà i campi
    IDDettaglio (contatore, chiave primaria)
    IDOrdine (numerico)
    IDProdotto (numerico)
    Quantità

    ...ovvie relazioni a seguire.

  8. #8
    monello non è in linea Scribacchino
    Luogo
    Roma
    Post
    1,168
    Almeno avremo un posto dove andare a vestirci !!

  9. #9
    LUCA87 non è in linea Novello
    Post
    4
    mmmmm
    per il momento grazie mille
    ci penso, ci provo e vi faccio sapere

+ Rispondi al Thread

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi