|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
[sql] schema DB mysql
dunque ho un DB da creare per dei vestiti da vendere
ci sono delle macrocategorie: uomo, donna, bambini, ecc. delle categorie: jeans, magliette, scarpe, ecc. e infine i prodotti: maglietta A, maglietta B, maglietta C, jeans A, jeans B, ecc. ogni prodotto può avere più colori (e quindi immagini diverse) e più descrizioni (a seconda della lingua scelta) io farei così: tabella macrocategorie (id + descrizione) tabella categorie (id + descrizione) tabella lingue (id + descrizione) tabella colori (id + descrizione) tabella prodotti: id e poi ogni prodotto fa riferimento con una chiave esterna alle macrocategorie e alle categorie una tabella che associa l'id prodotto all'id colore e ha anche un campo per l'immagine (di quel prodotto con quel colore) una tabella che associa l'id prodotto all'id lingua e ha anche un campo per la descrizione (di quel prodotto con quella lingua) come vi pare? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
beh devo anche legare categorie e macrocategorie, magari facendo un'unica tabella categorie con un campo id_padre
qualcosa tipo id:1, descrizione:uomo, padre: 0 id:2, descrizione:jeans-uomo, padre: 1 id:3, descrizione:magliette-uomo, padre: 1 id:4, descrizione:donna, padre: 0 id:5, descrizione:jeans-donna, padre: 4 id:6, descrizione:gonne-donna, padre: 4 id:7, descrizione:cappellini-donna, padre: 4 ecc a questo punto i prodotti sarebbero legati solo alla categoria (anche perchè la macro non esisterebbe più) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2008
Messaggi: 411
|
Quote:
Perchè se, oltre all'italiano, sono 1 o anche 2 potrebbe essere più pratico gestirle tutte nelle stessa tabella se è solo la descrizione che cambia. es campi: prodotto_descrizione; prodotto_descrizione_en; prodotto_descrizione_es Ovviamente perdi in normalizzazione ma tutto dipende da quante lingue hai e dalla mole di dati. Sulla gestione delle categorie, d'accordo nell'usare un'unica tabella in cui inserire un campo "categoria_parent_id"
__________________
![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
Quote:
cmq grazie |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jul 2008
Città: Nel mio studio
Messaggi: 168
|
Mi associo al consiglio delle lingue in un solo record per oggetto.
Inoltre non capisco cosa contenga la descrizione nella tabella colore. se come immagino ha una struttura tipo questa id 1 - rosso id 2 - bianco io direi che si può gestire a livello applicazione. prodotti id - cat_id - macro_id - descr_it - descr_en colori id_col - id_prod - link_img
__________________
Since Rocco Siffredi, the saying "pain in the ass" got a total new meaning |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
Quote:
è unpo' lo stesso discorso che si faceva per le lingue, se si è sicuri che ce ne siano solo 2 ok li si infila nella tabella prodotti ma nel caso i colori possano aumentare e diventare 12 o 15 come si fa? comunque lo schema che hai messo giù per i colori è uguale al mio (quando dico "una tabella che associa l'id prodotto all'id colore ") grazie Ultima modifica di prazision : 19-04-2009 alle 20:34. |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jul 2008
Città: Nel mio studio
Messaggi: 168
|
Io intendevo che il nome del colore poteva essere memorizzato fuori dal database, a livello applicazione appunto.
Definisci tutti i colori con enum e poi il programma definirà l'id da associare al colore e eviti una tabella e relative join
__________________
Since Rocco Siffredi, the saying "pain in the ass" got a total new meaning |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
Quote:
si potrebbe fare ma 1) c'è anche un'immagine da associare al colore (l'immagine del colore appunto) 2) magari in futuro farò un sistema di amministrazione per aggiungere nuovi colori (e non solo ovviamente), un sistema che verrà gestito dal cliente; non so come sia la cosa in php (come vengono gestiti gli enumeration) ma in java mi verrebbe da pensare che è meglio mettere il tutto nel db grazie cmq |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 458
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:55.