Primo Database Vini

di il
29 risposte

Primo Database Vini

Buongiorno!!
Sto cercando di costruire il mio primo database, per gestire una cantina vini

ho una cartella excel dove sono già annotati tutti i dati di cui ho bisogno, ma ho qualche dubbio

nella cartella ho delle pagine dove sono indicati dei parametri per effettuare dei conteggi

nella pagina database ho alcune caselle con delle formule per determinare il prezzo in base al valore, queste formule nell'importazione scompaiono ovviamente, tutti i dati vengono importati sotto forma di numeri e testo

le formule sono soggette a modifiche, quindi ecco il perché del foglio nella cartella dove sono indicati i parametri

ho un foglio con delle statistiche relative alle vendite, devo poter vedere anche queste

poi c'è tutta la questione grafica.. ma questa è un'altra questione

29 Risposte

  • Re: Primo Database Vini

    Penso che avresti dovuto postare nella sezione "Progettazione database".
    Cosa conosci di Access?
    Hai letto il regolamento del forum che richiede una conoscenza base di Access?
    Lo sai che Excel e Access sono solo apparentemente simili, poi però hanno 2 logiche completamente diverse?
    Per poter proseguire la discussione dovresti esporre:
    - nomi propri delle tabelle
    - nomi propri di tutti i loro campi, con indicazione della chiave primaria
    - le relazioni
  • Re: Primo Database Vini

    GIACOG.21807 ha scritto:


    Buongiorno!!
    Sto cercando di costruire il mio primo database, per gestire una cantina vini

    ho una cartella excel dove sono già annotati tutti i dati di cui ho bisogno, ma ho qualche dubbio

    nella cartella ho delle pagine dove sono indicati dei parametri per effettuare dei conteggi

    nella pagina database ho alcune caselle con delle formule per determinare il prezzo in base al valore, queste formule nell'importazione scompaiono ovviamente, tutti i dati vengono importati sotto forma di numeri e testo

    le formule sono soggette a modifiche, quindi ecco il perché del foglio nella cartella dove sono indicati i parametri

    ho un foglio con delle statistiche relative alle vendite, devo poter vedere anche queste

    poi c'è tutta la questione grafica.. ma questa è un'altra questione
    La questione è relativamente semplice... ma serve analizzare nel dettaglio specifico la tua esigenza di "Flessibilità".
    Se la Formula di calcolo, pur complessa è rappresentabile con un algoritmo standard, la cosa è fattibile anche introducendo parametri variabili... ma necessitiamo di meglio comprendere il discorso... anche dei volumi dei dati da trattare.

    Ora, se provieni da Excel, e non hai esperienza di Strutturazione di un Database, la probabilità tu abbia centrato l'ingegneria è un Lim(-->0) perchè contrariamente a quello che pensa chi proviene da Excel... un Database a regole differenti soprattutto come impostazione di progetto.
    Detto questo però non vado oltre in quanto tu non hai evidenziato problemi di struttura ma di Algoritmo di calcolo... quindi lascio a te scoprire nel tempo se hai fatto un buon lavoro.
  • Re: Primo Database Vini

    Grazie per le risposte, avete ragione, in effetti ho esposto male il problema ed ho molta confusione in testa

    la mia conoscenza di access è zero, sto studiando e provando quello che trovo su internet per le piccole cose di cui ho bisogno

    intanto posso affermare di aver compreso la differenza di progettazione dalla semplice cartella excel al database, pertanto mi sono creato una serie di tabelle per suddividere i dati da inserire

    nella fattispecie ho creato:

    Agente
    Distribuzione
    Produttore
    Vino

    ho collegato le tabelle in serie con una struttura da uno a molti, dove un agente può fare riferimento a più distribuzioni che a loro volta hanno più aziende produttrici di vino che ovviamente fanno diversi vini con caratteristiche tipo nome, anno, tipologia commerciale, provenienza

    a questo ho aggiunto delle altre tabelle per gestire acquisti e vendite

    poi sono passato alle query ed ho creato una interrogazione per tutto il database che contiene i dati salienti per ogni voce vino

    e sto iniziando a lavorare su una maschera che mi permetta di aggiungere record collegati alle varie tabelle
    qui mi sono inchiodato per ora...


    non ho preso in considerazione nemmeno un centimetro di codice fino ad ora e vorrei evitarlo onestamente(se fosse possibile)
  • Re: Primo Database Vini

    GIACOG.21807 ha scritto:


    non ho preso in considerazione nemmeno un centimetro di codice fino ad ora e vorrei evitarlo onestamente(se fosse possibile)
    Sei nella fase "analisi e progettazione". La tua attenzione per ora si focalizza su una buona organizzazione tabelle (si chiama NORMALIZZAZIONE). Il VBA è ancora molto lontano e non ti serve.

    GIACOG.21807 ha scritto:


    Agente
    Distribuzione
    Produttore
    Vino
    ho collegato le tabelle in serie con una struttura da uno a molti, dove un agente può fare riferimento a più distribuzioni che a loro volta hanno più aziende produttrici di vino che ovviamente fanno diversi vini con caratteristiche tipo nome, anno, tipologia commerciale, provenienza
    a questo ho aggiunto delle altre tabelle per gestire acquisti e vendite
    1. Abituati a nominare le tabelle al PLURALE
    2. Mostraci tutti i campi di ogni tabella, indica anche il campo CHIAVE PRIMARIA
    3. Esplicita le relazioni
    4. Agente, Distributore, Produttore: se questi "soggetti" hanno campi simili, puoi inglobarli in un'unica tabella RagioniSociali o Aziende. Poi a seconda del Ruolo che svolgeranno in "altre" tabelle ti accorgerai che si tratta di Agente, Distributore, Produttore.

    GIACOG.21807 ha scritto:


    poi sono passato alle query ed ho creato una interrogazione per tutto il database che contiene i dati salienti per ogni voce vino
    e sto iniziando a lavorare su una maschera che mi permetta di aggiungere record collegati alle varie tabelle
    Aspetta a mettere in gioco query e maschere se le tue tabelle non sono normalizzate. È ovvio che prima o poi rischi di inchiodarti.
  • Re: Primo Database Vini

    La mia personale opinione:

    GIACOG.21807 ha scritto:


    la mia conoscenza di access è zero
    Allora come minimo devi acquistare un libro BASE, subito, che ti insegni i rudimenti più importanti, le basi appunto di un ambiente di progettazione come MS Access.
    Non c'è peggio che iniziare con il piede sbagliato, perché poi i difetti te li porti dietro e fai fatica a torglierli...
    Il libro deve chiaramente riferirsi alla versione di OFFICE che stai usando tu.

    GIACOG.21807 ha scritto:


    , sto studiando e provando quello che trovo su internet per le piccole cose di cui ho bisogno
    Stai fresco...
    Tra suggerimenti vecchi, sbagliati, inadeguati e limitati (perché basati su versioni obsolete) rischi solo di perdere un sacco di tempo per nulla.
    Internet non è 'oro colato'. Lascia perdere internet, per il momento, potrai consultarlo quando avrai le idee più chiare e sarai in grado di accorgerti che certi suggerimenti lasciano il tempo che trovano.
  • Re: Primo Database Vini

    .
  • Re: Primo Database Vini

    Questo è lo schema di relazioni, sto cercando un libro come avete suggerito, ma amazon non mi convince, mi presenta poche scelte con pochi commenti.
    Sono stato alla feltrinelli ma avevano un librettino piccino piccino da 10€ quindi ho lasciato stare per ora. proverò altra libreria ed accetto consigli su titoli ai quali dare preferenza

    intanto vi allego uno screen dello schema di relazioni tra tabelle con tutte le tabelle che ho creato



    la tabella criteriprezzo non so ancora se avrà motivo di esistere
  • Re: Primo Database Vini

    GIACOG.21807 ha scritto:


    sto cercando un libro come avete suggerito, ma amazon non mi convince, mi presenta poche scelte con pochi commenti.Sono stato alla feltrinelli ma avevano un librettino piccino piccino da 10€ quindi ho lasciato stare per ora. proverò altra libreria ed accetto consigli su titoli ai quali dare preferenza
    Le collane Mondadori sono sempre valide. Non so se esistono libri per utenti base. Esiste l'edizione completa per tutti.
    Io personalmente ho mosso i primi passi su "McGraw-Hill: Computer no problem - Access".

    Riguardo il tuo schema relazioni. Non mi sembra proprio un obrobrio, ma vediamo di ragionare su:
    1. In tabella Vini io non metterei IDStato e IDRegione. Ma direttamente IDRegione. Quindi Stati.IDStato uno-a-molti Regioni.IDStato. Forse il tuo punto di vista ci vuole insegnare che ci sono casi in cui non è possibile sapere la Regione e bisogna accontentarsi dello Stato: vero. Per me ci sarebbero altri stratagemmi. Poi vedi tu.
    2. Puoi spiegarci le relazioni Referente uno-a-molti Distribuzione uno-a-molti Produttore uno-a-molti Vini?
    Ti consiglio di usare i nome tabella al "plurale".
    3. Le altre relazioni non le ho tanto capite.
  • Re: Primo Database Vini

    Grazie mille!!!
    questo è di conforto e mi incoraggia!!
    e grazie per il suggerimento del libro, cercherò

    ho modificato le tabelle con nomi al plurale come suggerito

    le relazioni te le spiego subito
    il discorso "stato - regione" è semplice quando si classificano i vini italiani, per il resto del mondo ci si va a perdere facilmente

    il referente o agente di distribuzione, lavora per più distribuzioni, e può capitare che cambi bandiera
    anche la distribuzione vende vini di molti produttori e può capitare che un produttore cambi distribuzione per migliorare il suo status oppure essere più visibile.
    Capita anche che un produttore non passi per la Distribuzione ma faccia contatto diretto con il Referente.
    infatti ho aggiunto una relazione anche tra idRef nella tabella Produttori

    Pure il produttore ha in catalogo tutta una serie di vini che sono l'ultimo anello della mia catena
    il vino ha le sue proprietà che ho diviso in tabelle per i dati che sono ripetitivi "Tipologie(bianco, rosso, spumante)" "Stati" "Regioni" e via dicendo

    acquisti e vendite sono tabelle per gestire il magazzino o meglio l'inventario.

    questa la soluzione attuale


    ho trovato gli articoli microsoft per studiare queste interazioni, leggendo ho trovato che c'è pure la possibilità di definire il join

    poi volevo procedere per capire cosa succedeva con queste relazioni ed ho creato una query semplice..
    e con grande perplessità in viso, mi sono accorto di un problema, il risultato della query era vuoto!! nonostante avessi impostato le join(a mio parere nel modo corretto)

    ho visto che se in qualche campo mancano dati, la riga non viene visualizzata, e siccome ho popolato le tabelle con dati a caso per avere giusto qualcosa da visualizzare non avevo alcuna corrispondenza tra i vari dati

    per ora ho risolto impostando Valore Predefinito ad un record vuoto della tabella di riferimento(ho usato la prima riga per logica comodità)

    per ora finisce qui
  • Re: Primo Database Vini

    GIACOG.21807 ha scritto:


    il referente o agente di distribuzione, lavora per più distribuzioni, e può capitare che cambi bandieraanche la distribuzione vende vini di molti produttori e può capitare che un produttore cambi distribuzione per migliorare il suo status oppure essere più visibile. Capita anche che un produttore non passi per la Distribuzione ma faccia contatto diretto con il Referente.infatti ho aggiunto una relazione anche tra idRef nella tabella Produttori
    Questo aspetto non mi piace come lo hai pensato.
    Un vino Vinosky che viene dalla Russia oggi viene distribuito/maneggiato da PincoPallino, domani da TarquinioPrisco, dopodomani da ServioTullio. Il vino Vinosky è sempre quello perenne nel tempo. Il fatto che Distribuzione, Agente, ecc...cambiano, questo devi gestirlo con uno storico. Adesso non riesco a cogliere se questo storico lo evinci comunque da Acquista e/o Vendite, da Ordini...c'è qualcosa di dolente su questo fronte.

    Io non scinderei 3 tabelle Agenti, Distributori, Referenti che mi appaiono "tutto sommato" simili. Io li chiamerei tutti Soggetti. Un campo apposito di discriminazione può stabilire di chi si tratta professionalmente.

    Non mi è chiaro cosa ti prefiggi di tracciare da questo database che attualmente mostra più cose "apparentemente" disgiunte che ho capito tu vorresti assemblare/collegare...ma manca un'analisi più accurata...non riesco ad aiutarti molto di più al momento...
  • Re: Primo Database Vini

    Concordo sul fatto che il vino non cambi, infatti il risultato di questo lavoro dovrebbe essere quello di poter visualizzare tutti i vini in magazzino, con i loro dettagli
    lo scopo del database è multiplo, oltre alla gestione delle scorte(quindi le tabelle acquisti e vendite),
    per generare statistiche di vendita e relative al magazzino stesso, per mirare meglio gli acquisti(quante etichette ho tra i 20 e 30€, quante da 30 a 50.. quante ne vendo per ogni range di prezzo? e capire se posso variare il valore medio dei prodotti per esempio),
    per la compilazione automatica di moduli da stampare che elencano i vini "Attivi" per questioni di scarico quotidiano(aggiorno il database con discontinuità, il cartaceo è sempre più comodo. ed i vini cambiano in continuazione per scorte che terminano e prodotti che si cambiano),
    per stampare una relativa carta dei vini,
    per generare automaticamente il prezzo corretto di vendita in base ad una serie di parametri fissi
    per inviare un modulo di ordine all'agente giusto con l'elenco dei vini richiesto

    immagino che tutte queste "funzioni" si possano implementare una volta che la struttura di base sia completa e correttamente ideata

    non ho capito bene cosa intendevi dicendo di inserire un campo di discriminazione per definire le figure, nel senso che non capisco come si possano mettere in relazione gli agenti e le distribuzioni se sono scritti sulla stessa tabella
    un agente lavora anche per più distribuzioni.
    poi in ogni momento devo poter sapere a chi richiedere quel vino che magari nel tempo è passato di mano a qualcun'altro.
    se avessi uno storico, rimarrei con dati obsoleti

    le tabelle che ho creato, le ho pensate per arrivare ad avere una serie di caselle combinate che mi facilitano il compito di inserimento
    questa la unica vera ragione.. non sono riuscito con l'immaginazione ad andare oltre a questo

    questa maschera di immissione vorrebbe spiegare il motivo delle tabelle per come ho capito che si inseriscono i dati in access
  • Re: Primo Database Vini

    GIACOG.21807 ha scritto:


    non ho capito bene cosa intendevi dicendo di inserire un campo di discriminazione per definire le figure, nel senso che non capisco come si possano mettere in relazione gli agenti e le distribuzioni se sono scritti sulla stessa tabella
    un agente lavora anche per più distribuzioni.
    poi in ogni momento devo poter sapere a chi richiedere quel vino che magari nel tempo è passato di mano a qualcun'altro.
    se avessi uno storico, rimarrei con dati obsoleti
    Questi aspetti tipici del tuo campo professionale mi sfuggono senza una sequenza di recordset di tabelle. Per capirci io qualcosa vorrei che tu facessi dai 5 ai 10 esempi concreti (anche raccontando a parole) per farmi capire bene come può oscillare nel tempo il comportamento di quelle 3 figure professionali.

    Per tutte le altre cose che hai detto prima: un passo alla volta.
  • Re: Primo Database Vini

    Ok ci provo
    intanto i soggetti sono 2 e non 3, gli Agenti(o Referenti, son sinonimi) e le Distribuzioni.

    abbiamo Alfredo che lavora per Cantina1, Cantina2 e per una azienda produttrice in modo diretto, la Produttore1

    io da Alfredo posso quindi consultare 3 cataloghi, due sono grandi e pieni di prodotti, uno è piccolo e contiene solo i vini di Produttore1

    nel corso degli anni Alfredo smette di lavorare per Cantina1 ma rimane agente di Cantina2 e dell'azienda Produttore1

    poi mi arriva una mail da Cantina1 che mi fa sapere che Bernardo è il loro nuovo Agente per la zona di mio interesse..


    poi ho Claudio con il quale acquistavo direttamente dai produttori, Produttore2 e Produttore3 che era vecchietto e poverino è morto
    Produttore2 mi avverte che per continuare a lavorare con loro posso interpellare Davide

    Anche Davide oltre che per Produttore2, lavora per una Distribuzione, la "Cantina4"

    sfogliando il catalogo di Cantina4 noto dei produttori che prima erano nel catalogo di Produttore2 quindi devo poter modificare a cascata sia la Distribuzione che l'Agente dal database perchè da quel momento non potrò più chiamare Alfredo ma bensì Davide

    spero sia una spiegazione esaustiva
    è per questo che ho stabilito che Agenti(o Referenti), Distribuzioni e Produttori stiano in 3 tabelle distinte
    e che Agenti sia in relazione sia con Distribuzioni che Produttori e non solo con Distribuzioni.

    forse posso eliminare la tabella Produttori ed aggiungere un campo in Vini.. in quanto un vino verrà prodotto sempre e solo da un Produttore. questo, ora che mi ci fai ragionare è un punto da modificare ed elimino una tabella ottimizzando.

    tanto si può sempre creare una casella di testo che mentre si digita va a pescare i dati per completare la parola, giusto?
    evitando di scrivere tutto "Te**e di San Ro**o" ad esempio...

    intanto faccio questa modifica dell'eliminazione della tabella Produttori e inserisco in Vini il campo relativo
  • Re: Primo Database Vini

    Secondo me tutte queste belle informazioni (grazie per essere stato molto dettagliato) non puoi metterle in tabella Vini. Nel tuo database non appare una tabella Ordini e DettagliOrdini. Nella prima potresti mettere Agente e Distributore (su 2 campi diversi).
    Ti consiglio di dare un'occhiata al database di esempo NorthWind che tratta molto bene questi aspetti.
Devi accedere o registrarti per scrivere nel forum
29 risposte