170 messaggi dal 07 marzo 2004
Qual è il modo più semplice per gestire il magazzino di un sito commerciale in cui le info dei prodotti sono in una tabella chiamata "Products" (id, nome, prezzo, foto, categoria, descrizione):
1- Usare del codice asp? Se si in che modo?
2 - E' possibile usare qualche funzione di Access più semplificata?

A vostro avviso la tabella prodotti possiede i giusti campi, o ne manca qualcuno di importante?

Grazie !
21 messaggi dal 20 ottobre 2003
Ti mancano i campi quantita_giacenza, punto_riordino, quantita_minima. Io includerei anche un campo sconto e uno di iva applicata al prodotto, se nel tuo magazzino ci sono prodotti che vanno ad iva differenti.


Per quanto riguarda il codice asp và più che bene, come può andar bene il php, il jsp se il programma deve essere condiviso in rete (intranet aziendale o internet).
Se invece il programma deve girare su di una macchina in locale ti consiglio un linguaggio per sviluppo di software applicativo locale: visual basic, visual basic.net, java ecc...

.
Modificato da muby76 il 16 luglio 2004 14.43 -
87 messaggi dal 31 luglio 2001
La progettazione di un db è la prima cosa impara ad ottimizzare le tabelle.
Se hai una tabella che chiami Prodotti i campi di quella tabella chiamali cosi:

ID_Prodotti
Nome_Prodotti
ecc..

Può sembrare una sciochezza ma questa piccola accortezza ti farà perdere minor tempo durante la programazzione.

Consiglio anche io ASP se internet, se sei proprio nuovo ti consiglerei di buttarti direttamente su ASP.Net

In caso dovesse girare su una intranet VB o VB.net

Ciao
3.122 messaggi dal 16 maggio 2002
La progettazione di un db è la prima cosa impara ad ottimizzare le tabelle.

Pienamente d'accordo.
Se hai una tabella che chiami Prodotti i campi di quella tabella chiamali cosi:

ID_Prodotti
Nome_Prodotti
ecc..

Può sembrare una sciochezza ma questa piccola accortezza ti farà perdere minor tempo durante la programazzione.

Infatti anche me sembra una piccolezza e non sono d'accordo con quello che dici. Penso invece che l'eccessiva prolissità sia deleteria. Hai già la tabella che si chiama "Prodotti" (che in realtà sarebbe buona cosa chiamare "Prodotto", al singolare).
Nel caso di query con join fra tabelle aventi lo stesso nome per alcuni campi basta usare un alias per la tabella, anzi sarebbe bene usare sempre gli alias per le tabelle per
- rendere più leggibile il codice
- evitare errori

Aggiungo un paio di cose sulla progettazione del database:
- usa il meno possibile chiavi surrogate (tutti i vari contatori)
- analizza bene i requisiti dell'applicazione e identifica tutte le chiavi di ogni relazione, è molto importante
- valuta quanti e quali indici utilizzare in base alle query eseguite più frequentemente. Usa solamente quelli necessari per velocizzare le query, troppi indici fanno aumentare la dimensione del database e rallentano le operazioni di aggiunta e modifica record.
- attento alle operazioni di join, valuta attentamente le operazioni da eseguire in caso di cancellazione e/o aggiornamento di una foreign key
- se il tuo database ne dispone, cerca di utilizzare trigger per mantenere il db in uno stato coerente (es. se viene acquistato un prodotto devi ridurre di 1 la sua quantità in magazzino), delega questo genere di operazioni al DBMS e non all'applicativo.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
87 messaggi dal 31 luglio 2001
Raynor io penso che la progettazione di un db è in parte un'arte e in parte una scienza, per dire che ognuno si può avvicinare alla progettazione dei db in maniera da smanettoni oppure in maniera formale con regole scientifiche.

Come ogni cosa penso che in medium stat virtus il mio consiglio è semplice ed è mediato tra i due tipi di approccio:

se due campi in differenti tabelli hanno lo stesso significato è buona norma assegnare ad essi lo stesso nome, chiamare in una tabella idprodotti e in un'altra numprodotti crea solo confusione anche se formalmente non c'è nulla di sbagliato.

Tra l'altro l'utilizzo di alias fa perdere tempo e le query create direttamente nel db per l'utilizzo di stored procedure io le sconsiglio vivamente (ma è un mio pensiero) meglio crearsele all'interno di asp ed è proprio qui che nel caso di una progettazione corretta del db non si commettono errori (o cmq se ne commettono di meno :-)).....

Cmq al di là dei pareri e delle esperienze....una cosa credo che muby76 l'abbia capita: imparare la progettazione dei db.

Ciao
Piero de Cindio
170 messaggi dal 07 marzo 2004
ciao ragazzi,
mi fate un esempio veloce (con codice asp) di come diminuire il campo products_giacenza alla conferma di un ordine. I campi di ordini sono orders_productID e orders_quantity.
Di fatto io alla conferma di un ordine svuoto la tabella cart (carrello) e riempio quella orders con i suoi dati in questo modo:

' trasferisci carrello alla tabella ordini
sqlString = "INSERT INTO orders (" &_
"order_id, " &_
"order_productID, " &_
"order_quantity, " &_
"order_userID, " &_
"tipo_pagamento, " &_
"order_entrydate, " &_
"order_status " &_
") SELECT " &_
"cart_id, " &_
"cart_productID, " &_
"cart_quantity, " &_
"cart_userID, " &_
"'" & tipopagamento & "'," &_
"NOW(), " &_
"0 " &_
"FROM cart WHERE " &_
"cart_userID =" & userID

Con.Execute sqlString

' svuota tabella carrello
sqlString = "DELETE FROM cart " &_
"WHERE cart_userID=" & userID

Con.Execute sqlString

' fine transazione
Con.CommitTrans


Cosa devo inserire per dimunuire il campo giacenza di tot order_quantity ??
Grazie e ciao!

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.