Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22926
| From | ^Bart <gabriele1NOSPAM@hotmail.com> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Memorizzare ricette, materie prime e magazzino di un ristorante |
| Date | 2021-07-10 11:09 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <scbo3k$ab8$1@gioia.aioe.org> (permalink) |
Salve,
sto facendo alcuni test per non lasciare nel dimenticatoio gli studi su
php, MySQL, etc. non ho velleità da programmatore ma semplicemente la
logica di come creare DB devo dire che aiuta molto anche
nell'organizzazione del lavoro in generale!
L'esempio a cui mi sto dedicando è quello di un ristorante, nella prima
tabella ipotizzo di inserire il materiale che si utilizza:
CREATE TABLE items
(
item_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
language_id SMALLINT(5) UNSIGNED NOT NULL,
brand VARCHAR(30) DEFAULT NULL,
barcode CHAR(15) DEFAULT NULL,
item ENUM ("Food","Drink","Thing"),
expiration ENUM ("Yes","No"),
PRIMARY KEY (item_id),
INDEX (language_id),
FOREIGN KEY (language_id) REFERENCES languages (language_id)
)
ENGINE=INNODB;
Nella seconda tabella creo delle sotto categorie tipo se memorizzo nella
prima pasta in questa seguente scriverò spaghetti, tagliatelle, etc.
oppure se nella prima memorizzo latte in questa seconda inserirò latte
di mucca, pecora etc.
CREATE TABLE subitems
(
subitem_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
language_id SMALLINT(5) UNSIGNED NOT NULL,
item_id INT(10) UNSIGNED NOT NULL,
rawmaterial ENUM ("Yes","No"),
PRIMARY KEY (subitem_id),
INDEX (language_id),
FOREIGN KEY (language_id) REFERENCES languages (language_id),
INDEX (language_id),
FOREIGN KEY (item_id) REFERENCES items (item_id)
)
ENGINE=INNODB;
Ora vado a creare la tabella del magazzino che linkerò a subitems perché
mi occorre sapere quanti spaghetti ho in casa e non genericamente quanta
pasta:
CREATE TABLE warehouses
(
warehouse_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
item_id INT(10) UNSIGNED NOT NULL,
userdetail_id INT(10) UNSIGNED NOT NULL,
day DATE DEFAULT NULL,
expirationdate DATE DEFAULT NULL,
quantity INT(10) NOT NULL,
minimumquantity INT(10) NOT NULL,
weight DECIMAL (9,4) DEFAULT NULL,
minimumweight DECIMAL (9,4) DEFAULT NULL,
PRIMARY KEY (warehouse_id),
INDEX (item_id),
FOREIGN KEY (item_id) REFERENCES items (item_id),
INDEX (userdetail_id),
FOREIGN KEY (userdetail_id) REFERENCES userdetails (warehouse_id)
)
ENGINE=INNODB;
Infine la tabella legata alle ricette in cui inserire gli ingredienti
specifici legata a subitems ma legata anche a wharehouses perché "in
automatico" vorrei scalare la quantità ma a questo punto dovrei inserire
dei campi quantità per cui se per fare 1 carbonara ci vogliono 2 etti di
spaghetti dev'esserci una query che mi verifichi la giacenza...
CREATE TABLE recipeingredients
(
recipe_id INT(10) UNSIGNED NOT NULL,
subitem_id INT(10) UNSIGNED NOT NULL,
keepingredient ENUM ("Show","Hide"),
warehouse_id INT(10) UNSIGNED,
PRIMARY KEY (recipe_id, subfoodgroup_id),
INDEX (warehouseitem_id),
FOREIGN KEY (warehouse_id) REFERENCES warehouses (warehouse_id),
INDEX (recipe_id),
FOREIGN KEY (recipe_id) REFERENCES recipes (recipe_id),
INDEX (subitem_id),
FOREIGN KEY (subitem_id) REFERENCES subitems (subitem_id),
INDEX (warehouse_id),
FOREIGN KEY (warehouse_id) REFERENCES warehouses (warehouse_id)
)
ENGINE=INNODB;
Il discorso è complesso ma interessante per questo gli sto dedicando del
tempo nel ragionarci dietro! :)
Saluti.
^Bart
Back to it.comp.www.php | Previous | Next — Next in thread | Find similar | Unroll thread
Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-10 11:09 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-10 12:40 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante Ammammata <ammammata@tiscalinet.it> - 2021-07-12 07:05 +0000
Re: Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-15 13:00 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante Ammammata <ammammata@tiscalinet.it> - 2021-07-15 13:16 +0000
Re: Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-18 09:40 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante bramante <bramante@yopmail.com> - 2021-07-12 16:03 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-15 13:49 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante bramante <bramante@yopmail.com> - 2021-07-16 09:57 +0200
Re: Memorizzare ricette, materie prime e magazzino di un ristorante ^Bart <gabriele1NOSPAM@hotmail.com> - 2021-07-18 09:38 +0200
csiph-web