Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22926

Memorizzare ricette, materie prime e magazzino di un ristorante

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)

Show all headers | View raw


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 | NextNext in thread | Find similar | Unroll thread


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