Dubbio su relazioni

di il
5 risposte

Dubbio su relazioni

Buongiorno a tutti,
sono nuovo del forum e la mia esperienza con i database è discreta (ma vista la domanda che vi porrò, dovrò probabilmente ridimensionare la mia valutazione ).

Sto progettando un piccolo DB che dovrebbe permettermi di scrivere offerte o fatture per i miei clienti.
La struttura del DB per generare l'offerta (che rispecchia quella della fattura) è tipo questa:
tabella_documenti -> id_Doc (PK), id_cliente (FK), tipoDoc(FK), data
tabella_dettaglioDoc -> id_DettDoc (PK), id_Doc (FK), id_Gruppo(FK), id_Articolo (FK), prAcquisto, prVendita, qta,
tabella_gruppiArticoli -> id_Gruppo(PK), descrizione
tabella_articoli -> id_Artcolo (PK), id_Gruppo (FK), prAcquisto, prVendita

I campi prAcquisto e prVendita li ho inseriti in due tabelle perché vorrei poter avere la possibilità di modificare questi dati in fase di elaborazione dell'offerta/fattura, anche se solitamente rimarranno sempre uguali a quelli scritti nella tabella_articoli.

In questa struttura, però, c'è qualcosa che non mi quadra, ma non riesco a capire cosa.
Il risultato dovrebbe essere qualcosa che mi permetta di scrivere offerte selezionando prima il gruppo di articoli (es.: gruppo farinacei) e a seguito poter selezionare solo articoli che appartengono a quel gruppo (es: farina di spelta, bianca tipo0, bianca tipo00, etc.).
L'anello che si forma tra le tabelle dettaglioDoc, gruppiArticoli e articoli, mi lascia perplesso...ma magari è corretto così.

Inoltre vorrei poter generare la fattura partendo dall'offerta: senza ancora averci pensato troppo, direi che non ho bisogno di tabelle di appoggio visto che distinguo i documenti per tipo di documento...

Grazie per ogni vostro eventuale consiglio.
TZ

5 Risposte

  • Re: Dubbio su relazioni

    In linea di massima la struttura può funzionare. Raggruppando gli articoli per categoria devi portarti il riferimento nella tabella.
    Riguardo a trasformare l'offerta in fattura, pur essendo identica la struttura, dovrai cmq duplicare intestazione e dettaglio, in quanto non è detto che coincidano: può variare la data e soprattutto gli articoli effettivamente acquistati rispetto al preventivo.
    Valuta se intendi riportare in fattura i dati dell'offerta. In quel caso devi modificare la struttura.
  • Re: Dubbio su relazioni

    Grazie per la risposta.
    Mi puoi spiegare meglio la frase
    Raggruppando gli articoli per categoria devi portarti il riferimento nella tabella.
    In quale tabella intendi? Nella dettaglioDoc, oppure intendi un'altra cosa?
    Per offerta che diventa fattura, pensavo proprio alla duplicazione in modo da poter anche modificare l'una senza che l'altra ne subisca i cambiamenti. L'eventuale dubbio era se usare tabella_offerte e tabella_fatture, oppure usare (come faccio io) una tabella_documenti che differentia i documenti sono in funzione del campo tipoDoc.

    Grazie per il tuo aiuto.
    TZ
  • Re: Dubbio su relazioni

    No, nella tabella Articoli, ma dalla struttura da te esposta il riferimento alla tabella dei gruppi c'è ed è Id_Gruppo.
    Presumo la tua interfaccia carichi i Gruppi/Categorie in un controllo e, in base alla scelta, filtrerà sulla tabella articoli quegli che gli appartengono.
  • Re: Dubbio su relazioni

    Ok, grazie...capito
  • Re: Dubbio su relazioni

    In questa struttura, però, c'è qualcosa che non mi quadra, ma non riesco a capire cosa.
    Il risultato dovrebbe essere qualcosa che mi permetta di scrivere offerte selezionando prima il gruppo di articoli (es.: gruppo farinacei) e a seguito poter selezionare solo articoli che appartengono a quel gruppo (es: farina di spelta, bianca tipo0, bianca tipo00, etc.).

    usa una query.
    select campi from tabella_articoli where id_Gruppo (FK)= gruppo da utilizzare

    in seguito ti consiglio di creare una tabella listini con un campo nr_preventivo oltre ad id_articolo e id_cliente (e/o fornitore) e aggiornarlo assieme alla tabelle preventivi...
    in fase di emissione documento attingi al prezzo del listino che avra' l'ultimo prezzo preventivato.
Devi accedere o registrarti per scrivere nel forum
5 risposte