Gestione database per food (tipo justeat)

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Ciao ragazzi, ho bisogno del vostro aiuto.
Ho un database in cui ho delle categorie e dei prodotti (ogni prodotto appartiene ad una categoria).
Ora vorrei inserire la possibilità di assemblare un prodotto e vorrei che per una determinata categoria ci sia un prodotto di default un prezzo fisso e poi per ogni ingrediente aggiunto ho dei prezzi miei.
Come posso fare?

Ad esempio, io ho le categorie panini, piadine, insalate in cui ho già dei prodotti composti da me.
Quello che voglio fare è avere una categoria componibile per panini, piadine e insalate in cui ho un prezzo di base fisso, e poi aggiungo degli ingredienti io

La struttura del DB è la seguente:
CATEGORIA(id, nome, tipo) il tipo può essere bar o ristorante
PRODOTTO(id,idCategoria,nome, descrizione, prezzo, quantità) la descrizione in questo caso sarebbero gli ingredienti del prodotto (visto che è composto da me)
ORDINE(id, orario, info)
CARRELLO(id, idOrdine, idProdotto, quantità) il carrello contiene la lista di prodotti aggiunti associati ad un ordine

Per realizzare quello che voglio, devo cambiare la struttura del DB o va bene così?
Attualmente mi funziona già tutto correttamente però vorrei aggiungere questa funzionalità sperando di non dover cambiare la struttura.

Io ho pensato di creare una tabella a parte "categoria-speciale" e li ci salvo le categorie componibili. Poi mi creo gli ingredienti e associo un prodotto di default a quella categoria.

SUGGERIMENTI?
Fai una tabella nuova in cui ogni riga rappresenta un componente e lo associ con l'ID del prodotto.

Se l'uso è temporaneo fai un ID che contiene il codice della commessa/comanda in modo da eliminare tutti i prodotti quando questa viene evasa.

Inviato dal mio Nexus 6P utilizzando Tapatalk
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Si lo so. Si può fare che per i prodotti non componibili, inserisco io la descrizione e non per forza gli ingredienti?
Così, posso adattare la struttura del DB che ho attualmente con i prodotti componibili (inserendo un flag nella tabella prodotti che mi indica se è componibile o meno). Il campo descrizione potrà essere inserito o manualmente (per i prodotti non componibili) oppure viene generato facendo un parse di tutti gli ingredienti scelti. Che ne pensi?

L'unico mio dubbio è che questi prodotti componibili, vengono composti solamente dai clienti (non da me), quindi mi servono in memoria solamente per tenere traccia dell'ordine. Evaso l'ordine, non mi occorrono più. Dici che va bene lo stesso inserirli nella tabella prodotto e poi eliminarli quando viene evaso l'ordine?

Puoi tenerli in una tabella separata dove tieni traccia dei prodotti selezionati e dell'ordine (come sta indicando anche rct in pratica). Al termine lo distruggi.
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili