PDA

Visualizza la versione completa : [mySQL] ottimizzare struttura database


marketto
21-03-2007, 17:53
Ciao,
quale soluzione reputate migliore per un caso di questo tipo, ovvero con tre (p più) tabelle di prodotti distinte:

TABELLA_PRODOTTI_UNO
id | nome_prodotto | campo 1

TABELLA_PRODOTTI_DUE
id | nome_prodotto | campo 2

TABELLA_PRODOTTI_TRE
id | nome_prodotto | campo 3

da mettere in relazione fra di loro? La relazione deve prevedere la possibilità di accoppiare più prodoti fra di loro, esempio 3 prodotti distinti del tipo UNO con 2 del tipo TRE, etc.

Soluzione 1:
TABELLA_PRINCIPALE
id | titolo

TABELLA_PRINCIPALE_PRODOTTI_UNO
id | id_principale | id_prodotto_uno

TABELLA_PRINCIPALE_PRODOTTI_DUE
id | id_principale | id_prodotto_due

TABELLA_PRINCIPALE_PRODOTTI_TRE
id | id_principale | id_prodotto_tre

Soluzione 2:
TABELLA_PRINCIPALE
id | titolo

TABELLA_RELAZIONI
id | id_principale | id_prodotto | tabella_tipo_prodotto

dove id_prodotto riguarda i vari id dei prodotti, e tabella_tipo_prodotto indica da quale tabella andare a recuperare i dati.

tarini
21-03-2007, 20:02
sinceramente si capisce ben poco...

perchè non organizzare i prodotti in un'unica tabella e utilizzarne un'altra per le relazioni tra di essi?

piero.mac
21-03-2007, 20:08
Ti spieghi male, e rispondere e' problematico.

Se hai prodotti diversi da gestire in modo collettivo (stessa relazione con tab principale), la soluzione due (ma non descrivi la tabella tipo_prodotto) andrebbe benone. cioe' elenco principale, elenco prodotti, associazione.

Ma se devi trovare un differente numero di prodotti di differente tipo, si suppone che non ci siano relazioni tra i prodotti. ed allora ci vuole la soluzione uno.


:bhò:

marketto
22-03-2007, 12:26
Originariamente inviato da piero.mac
Ti spieghi male, e rispondere e' problematico.
:bhò:
:fagiano:



Originariamente inviato da piero.mac
Ma se devi trovare un differente numero di prodotti di differente tipo, si suppone che non ci siano relazioni tra i prodotti. ed allora ci vuole la soluzione uno.

sisi, infatti :fagiano:


:ciauz:

Loading