28 messaggi dal 30 marzo 2001
salve ho un db di grossissime (ma.... ho un po' esagerato) dimensioni in sqlServer2000.
Il problema è questo ci sono circa 20 categorie, dalla prima pagina si seleziona una categoria e poi viene aperta la pagina categoria.asp con l'id opportuno. a sua volta ogni prodotto ha diversi elementi collegati.
io vorrei sapere come è meglio gestire la cosa dal punto di vista delle prestazioni del db
1) create una tabella che conterrà i prodotti "primari" e quindi dalla pagina categoria.asp verranno estratti i records (paginati) che hanno l'id della categoria.
inoltre sarà presente un'altra tabella che conterrà tutti gli elementì collegati agli elementi primari
2) la seconda soluzione è quella di creare 20 tabelle una per categoria e altre 20 tabelle per inserire gli elementi collegati a quelli primari anch'essi suddivisi per categoria.

se avete altre idee ditemele pure
gradirei essere consigliato da chi ha esperienza con db in internet di grosse dimensioni
grazie

praticamente il problema potrebbe essere simile a quello che hanno i gestori di grossi forum con centinaia di migliaia di records



28 messaggi dal 30 marzo 2001
nessuno è in grado di darmi una risposta ????


20 messaggi dal 18 aprile 2001
La prima cosa che ti consiglio è farti un bel corso di DATABASE relazionali; la seconda cerchiamo di risolvere il tuo problema.
Allora se ho ben capito hai una tabella che deve contenere informazioni realtivi a dei prodotti e ognuno di questi pordotti appartiene a una categoria (1caso) o più categorie (2 caso).
Nel primo caso basta creare una tabella che conterrà i prodotti e la seconda che conterra il dettaglio idelle categorie.


Prodotto

id_prodotto PK
nome_prodotto
descrizione_prodotto
categoria_prodotto FK

Categoria
id_categoria PK
descrizione_categoria

il vincolo d'integrità referenziale sarà sui campi categoria_prodotto -> e id_categoria
L'enunciato SQL che farà la proiezione di join sulle due tabelle sarà il seguete

select * from prodotto, categoria where categoria_prodotto = id_categoria

ad esempio se avrai un prodotto con

id_prodotto nome_prodotto descrizione_prodotto categoria_pr
1 mouse logitec 1
2 mouse pippo 1
3 monitor acer pluto 2


id_categoria descrizione_categoria
1 mouse
2 monitor

spero di esserti stato di aiuto
buon lavoro.


28 messaggi dal 30 marzo 2001
per adesso vorrei strutturarlo cosi
tabella con tutti i prodotti (primari)(almeno 100.000) e con un campo chiamato categoria .
Dalla home page clicco su categoria1 e lui fa la query sulla tabella sopra descritta WHERE categoria = 1.
E butterà fuori tutti i records trovati
Da qui poi ogni prodotto sarà un link a una a una scheda questa scheda pescherà i dati da un'altra tabella che conterrà ancora più records!
Capisci
Alla fine funziona come un forum dalla home scegli l'argomento e poi ogni discussione ha una serie di risposte ok?
Un'altra soluzione era quella di creare una tabella per ogni categoria (e nel caso del forum sarebbe per ogni argomento ASP , ASP.NET e cosi via di queste io ne ho 21)
poi ad ogni tabella è collegata una sottotabella con i dettagli dei prodotti (quasi sempre più di uno).
Nel caso del forum le tabelle con le risposte
Dammi una mano grazie


Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.