Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20320
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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