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


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

Re: [OT] MySQL e tabella prodotti

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: [OT] MySQL e tabella prodotti
Date 2016-02-10 20:21 +0000
Message-ID <di1kdkFs3kbU2@mid.individual.net> (permalink)
References <n9ff20$bsn$1@virtdiesel.mng.cu.mi.it> <6bad4221-09fe-4f4b-93e6-5b22469bbea1@googlegroups.com> <n9g4u2$tst$1@virtdiesel.mng.cu.mi.it>

Show all headers | View raw


Il Wed, 10 Feb 2016 21:01:35 +0100, GabrieleMax ha scritto:

> Varianti di colore, materiale, accessori ed utilizzo, ad esempio  un
> tavolo può essere in legno o cristallo, avere il piano in laminato o
> vetro, essere per 2 o 4 o 6 persone e cosi' via mentre una sedia a
> livello descrittivo e di utilizzo ha discriminanti diverse rispetto ad
> un tavolo altro discorso ancora per una lampada!

Avendo prodotti fisici e non immateriali (come possono essere software o 
simili), devi gestire anche le rimanenze/disponibilità per ognuno.

In questo caso puoi fare un "prodotto master" (il tavolo) e una serie di 
prodotti collegati. Il prodotto master può essere una categoria con un 
flag speciale o, se tutti i tuoi prodotti sono configurabili, una "tabella 
intermedia" (cioè avrai categorie-prodotti-varianti).

Se sei un fabbricante, e i prodotti li puoi fare senza limiti (utopico, ma 
mettiamo il caso :) potresti anche avere un singolo prodotto, e salvare le 
varianti in un campo "text" con dentro un JSON.

Un'alternativa è staccarsi dai DB SQL e andare, per esempio, su MongoDB, 
in cui avrai un documento "tavolo" con dentro tutte le caratteristiche e 
le varianti.
 
> Quindi la tabella prodotti avrebbe "Codice prodotto" e tutti i restanti
> campi sarebbero delle FK verso tabelle esterne, quando un determinato
> prodotto non ha una caratteristica potrei dargli il valore di NULL ad
> esempio una sedia in corrispondenza del campo "tipologia_piano"
> rimarrebbe senza valore...

In questo caso non sarebbe la tabella prodotto ad avere FK, ma le varie 
tabelle varianti ad averne una verso la tabella prodotto.

Dovrai essere tu poi a gestirti la query in base al tipo di prodotto.

Per esempio:

insert into prodotti (id, nome, tipo) values (1, 'Ciccio', 'tavolo');

insert into prodotti (id, nome, tipo) values (2, 'Nonna Papera', 'sedia');


insert into prodotti_tavolo (tavolo, variante) values (1,'ripiano');

insert into prodotti_tavolo (tavolo, variante) values (1,'gambe');

insert into prodotti_tavolo (tavolo, variante) values (1,'colore');


insert into prodotti_tavolo_ripiano (tavolo, nome) values (1, 'vetro');

insert into prodotti_tavolo_ripiano (tavolo, nome) values (1, 'legno');

insert into prodotti_tavolo_ripiano (tavolo, nome) values (1, 'titanio');


Questo è un modo. Un altro potrebbe essere:

insert into prodotti_tavolo (tavolo, variante, nome) 
values (1,'ripiano','vetro');

insert into prodotti_tavolo (tavolo, variante, nome) 
values (1,'ripiano','legno');

insert into prodotti_tavolo (tavolo, variante, nome) 
values (1,'ripiano','titanio');


Oppure, appunto usando MongoDB:

db.prodotti.insert({
 'nome': 'Ciccio',
 'tipo: 'tavolo',
 'varianti': {
  'ripiano': [
    'vetro',
    'legno',
    'titanio'
  ],
  'gambe': [
   ...
  ]
 }
});

Poi naturalmente sta al tuo software riconoscere il campo tipo e caricare 
il configuratore apposito.

Bye.

P.S.: Se usi MongoDB ti consiglio di gestire disponibilità, carrello e 
checkout con un DB SQL, per via dell'integrità referenziale e delle 
transazioni, che Mongo non ha.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-10 14:48 +0100
  Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-10 06:00 -0800
    Re: [OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-10 21:01 +0100
      Re: [OT] MySQL e tabella prodotti Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-10 20:21 +0000
        Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-10 12:42 -0800
          Re: [OT] MySQL e tabella prodotti Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-11 08:23 +0000
            Re: [OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-11 13:52 +0100
              Re: [OT] MySQL e tabella prodotti "ciccio" <21669invalid@mynewsgate.net> - 2016-02-11 13:58 +0000
                Re: [OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-12 13:57 +0100
                Re: [OT] MySQL e tabella prodotti "ciccio" <21669invalid@mynewsgate.net> - 2016-02-12 19:03 +0000
              Re: [OT] MySQL e tabella prodotti Warp10 <warp10@libero.it> - 2016-02-11 15:10 +0100
                Re: [OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-12 14:02 +0100
            Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-12 06:53 -0800
              Re: [OT] MySQL e tabella prodotti Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-13 18:09 +0000
                Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-13 12:30 -0800
                MongoBD, NoSQL, SQL, ecc. (Era Re: [OT] MySQL e tabella prodotti) Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-13 21:03 +0000
                Re: MongoBD, NoSQL, SQL, ecc. (Era Re: [OT] MySQL e tabella prodotti) fmassei@gmail.com - 2016-02-13 14:01 -0800
                Re: MongoBD, NoSQL, SQL, ecc. (Era Re: [OT] MySQL e tabella prodotti) Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-16 08:25 +0000
                Re: MongoBD, NoSQL, SQL, ecc. (Era Re: [OT] MySQL e tabella prodotti) fmassei@gmail.com - 2016-02-21 21:27 -0800
        Re: [OT] MySQL e tabella prodotti GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2016-02-12 14:07 +0100
      Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-10 12:38 -0800
        Re: [OT] MySQL e tabella prodotti leo <leofante_XNOSPAMX_@gawab.com> - 2016-02-11 11:45 +0100
          Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-12 06:59 -0800
            Re: [OT] MySQL e tabella prodotti leo <leofante_XNOSPAMX_@gawab.com> - 2016-02-15 10:40 +0100
              Re: [OT] MySQL e tabella prodotti fmassei@gmail.com - 2016-02-15 11:26 -0800
                Re: [OT] MySQL e tabella prodotti bramante <bramante@yopmail.com> - 2016-02-16 01:58 +0100

csiph-web