Tabella "a scomparsa" legata a record specifico

di il
6 risposte

Tabella "a scomparsa" legata a record specifico

Buongiorno a tutti,

sto creando, a livello amatoriale, un piccolo programmino che mi funga da ricettario, sia come raccoglitore di ricette sia, come calcolatore di molte altre cose relative alla singola ricetta.

la struttura base è terminata e funziona alla grande, quello che vorrei fare ora è ampliarlo.

date le tabelle:

t_ingredienti [ID_INGREDIENTE;ingrediente];
t_ricetta [ID_RICETTA;titolo;autore];
t_transizione [id_ricetta; id_ingrediente; quantità];

quello che vorrei fare A LIVELLO TEORICO è collegare una tabella t_farine all'ingrediente "farina".

- non posso "semplicemente" aggiungere come diversi record, le diverse farine alla t_ingredienti: quello che mi serve è una serie di tabelle collegate (tipo di grano, grado di vagliatura, glutine, forza, molino ecc.) --> ogni singola farina può variare per solo uno di quei fattori;

- uno stratagemma potrebbe essere quello di aggiungere il campo "farina" alla t_transizione e di vorizzaro solo su necessità ma mi sembra, appunto, una scorciatoia;


Quello che vorrei capire qui è qual' il ragionamento corretto per questi casi

6 Risposte

  • Re: Tabella "a scomparsa" legata a record specifico

    Se parliamo di stratagemmi, puoi applicare quello che ritieni più adeguato.
    Io proverei a ragionare cosi, ma la cosa è più complessa...
    Devi prevedere una sorta di CATALOGO Ingredienti con un campo di Dettaglio di Raggruppamento, ad esempio servirebbe un Campo TILOLOGIA.
    Nel tuo caso hai tra gli ingredienti alcuni che faranno parte della TIPOLOGIA "FARINE", quindi metterai FARINE, il ragionamento è ovviamente applicabile ad altre Tipologie... vedi tu quali e come.
    Quando andrai a selezionare il Tipo Ingrediente FARINE, dovrai avere come selezionabili solo l'elenco delle Farine, e lo potrai fare solo con questo campo aggiunto.
    Detto questo, manca però l'elenco degli Attributi che sono Dipendenti dall'ingrediente, quindi sempre nel Catalogo dovrai definire una Tabella di Attributi per Ingrediente... in relazione M-M
    ElencoAttributi(1)<---->(M)AttributiPerIngrediente(M)<---->(1)Ingredienti
    Nella Tabella AttributiPerIngrediente avrai come Cmapi:
    IdAttributo
    IdIngrediente
    UnitàMisura
    Quantità

    Ragionaci... la cosa si complica, ma è il modo migliore per gestire tutte le situazioni.
  • Re: Tabella "a scomparsa" legata a record specifico

    Ciao Alex, grazie della risposta.

    Se ho ben capito, le mie tabelle "ingredienti" e "tipo farine" devono diventare 3 tabelle:

    t_categoria ingrediente
    t_ingrediente
    t_attributi_ingrediente

    Quello che mi proponi è la creazione di una tabella "di transizione" tra la mia "ingredienti" e la mia "tipo di farine", utile per realizzare la tanto agognata relazione molti-a-molti che mi serve.

    Lo stratagemma di cui parlavo era la soluzione che volevo evitare perché non utile. con questa tua soluzione (formalmente corretta) mi trovo così a poter espandere ogni singola categoria di ingredienti (farine, cioccolato, gelatina ecc); una soluzione molto migliore, dunque!

    detto questo, passo alla pratica e vediamo cosa riesco a fare!
  • Re: Tabella "a scomparsa" legata a record specifico

    Se ho ben capito io alla mie tabelle "t_ricetta" e "t_preparazione" collego:

    t_preparazione t_ingredienti
    id_ingrediente (M) (1)ID_ingrediente
    quantità ingrediente
    note %acqua
    €/kg

    A queste aggiungo la nuova tabella di transizione:

    t_catalogo
    id_ingrediente
    id_farina
    id_cioccolato
    id_latticini
    id_addensanti


    quindi, in pratica, creo un catalogo ingredienti generale dove ogni voce è il collegamento con una specifica tabella (t_farine[ID_farina]; t_cioccolato[ID_cioccolato]; t_latticini[ID_latticini] ecc).
    poi, ogni volta che inserirò un nuovo ingrediente avrò cura di valorizzare in t_catologo solo l'id della categoria che mi serve (Es: nelle farine compilerò solo il campo "id_farina" e non anche quelli relativi a cioccolato ecc)

    é corretto?
  • Re: Tabella "a scomparsa" legata a record specifico

    Per me devi solo aggiungere un campo Tipologia o Discriminante alla tabella Ingredienti. Per quanto riguarda le farine potresti avere molte farine così raccontate:
    Ingrediente | Tipologia-Discriminante
    Farina | Semola
    Farina | Farro
    Farina | Senatore Cappelli
    Farina | Curcuma
    ...perdona se erro nell'elencazione tecnica...
    Come giustamente ha fatto notare @Alex, il campo Tipologia-Discriminante puoi usarlo per molti altri ingredienti. Immagino ad esempio Olio (Semi girasole, Semi soia, Oliva Leccina, Oliva Simone, Oliva Coratina...)

    Detto ciò io non ho capito come vorresti prevedere la tracciatura di più ricette "uguali" ma con ingredienti "simili". Da quello che ho capito io a te potrebbe interessare per la Ricetta = Pane, varie Transizioni...
    Transizione: Pane con Farina Semola
    Transizione: Pane con Farina Farro
    Transizione: Pane con Farina Senatore Cappelli
    Transizione: Pane con Farine Curcuma

    Spero di aver afferrato il tuo problema. Altrimenti racconta meglio di quello che ho descritto io i vari esempi che tu hai in testa.
  • Re: Tabella "a scomparsa" legata a record specifico

    Grazie della risposta!

    tutti i dati sulla farina mi servono stoccati in varie sotto-tabelle: "varietà del grano e sue caratteristiche tecniche"; "grado di abburattamento" ; "molino di produzione" ecc; lo stesso dicasi per la cioccolata, per il latte, l'olio ecc.(poi vedrò quanto specifico vorrò essere per ogni ingrediente).

    al momento le diverse ricette vengono registrate tramite:
    t_ingredienti ([ID_ing; ingrediente; caratteristica_1 ecc]);
    t_transizione (id_ricetta;id_ing; quantità; note]);
    t_ricetta (ID_ricetta; titolo; autore);

    quindi il "pan di spagna" di tizio si differenzia da quello di Caio poiché ad un diverso ID_ricetta risultano associati diversi ingredienti con diverse quantità (oltre ad un diverso autore).
  • Re: Tabella "a scomparsa" legata a record specifico

    denial ha scritto:


    tutti i dati sulla farina mi servono stoccati in varie sotto-tabelle: "varietà del grano e sue caratteristiche tecniche"; "grado di abburattamento" ; "molino di produzione" ecc; lo stesso dicasi per la cioccolata, per il latte, l'olio ecc.(poi vedrò quanto specifico vorrò essere per ogni ingrediente).
    Secondo me, se riesci a trovare una certa omogeneità di "valutazioni", potresti creare tanti campi specifici in tabella Ingredienti. Se non sono tanto omogenei, cerca di abbondare piuttosto che deficere.
    Altrimenti, se sono molto disomogenei, prevedi una tabella DettagliIngredienti e relazioni Ingredienti uno-a-molti DettagliIngredienti.
Devi accedere o registrarti per scrivere nel forum
6 risposte