Newsgroup: it.comp.software.database
Titolo: modellazione database

salve
ho un piccolissimo e classico (almeno credo! :o) database per la
gestione di un magazzino. un negozio di oreficeria mi ha chiesto di
verticalizzarlo per le loro esigenze.
ecco il problema, semplificando: nel mio db c'è una tabella degli
articoli, con un campo per il prezzo. questo viene modificato ogni
qualvolta il cliente ne ha bisogno, e, di riflesso, tutti gli articoli
in  magazzino, posti in vendita, assumono quel prezzo.
ora, dato che il prezzo dell'oro e' molto variabile, il cliente vuole
che sia tenuto traccia *per ogni pezzo* del prezzo di vendita,
calcolato all'atto del carico in magazzino. si ha cosi' la situazione
in cui uno stesso articolo, potrebbe avere prezzi diversi per *pezzi*
diversi.
per risolvere la questione pensavo di fare una tabella del tipo <<
articolo | pezzo | prezzo >>, che la vedo dura a dire il vero, perche'
ogni volta che effettuo una vendita dovrei affidarmi alla cancellazione
del record di questa tabella, invece di fare un documento di
movimentazione del magazzino (o entrambe le cose, che e' peggio...)
idee?
grazie 1k
Rob

 
Per mia moglie (stesso articolo) io ho fatto cosi':
Premesso che in una gioielleria e' molto difficile avere due oggetti 
uguali, (anche se ci fossero, difficilmente sarebbero piu' di due ) 
quello che cambia e' il prezzo di acquisto.
Tabella "articoli" che contiene tutto quello che riguarda gli oggetti e 
una tabella "storico" che contiene:
Id_cod_articolo,
descrizione_articolo,
id_categoria,
data_acquisto,
prezzo_acquisto,
data_vendita,
prezzo_vendita.
Quando vende un oggetto, chiedo solo la data_vendita e il 
prezzo_vendita, il resto lo copio dalla tabella articoli e cancello il 
codice.
IMHO in un negozio del genere "devi ragionare" al contrario degli altri 
per il motivo di cui sopra.
Alla prossima.
	MAX

diversi.
Non è il mio campo, ma forse la faccenda è meglio gestita con i
classici lifo/fifo e simili (le valorizzazioni contabili, non le
strutture dati).
Oltre che condividere le perplessità di Massimo61, ci sono due cose
che non vanno col metodo proposto dal cliente:
1) Il calcolo del prezzo all'atto dell'acquisto
2) La disomogeneità dei prezzi dei pezzi in vendita
Per quanto riguarda il primo, la ritengo una strategia perdente: se i
prezzi dell'oro salgono, ed uno ha già comperato merce al prezzo
precedente, dubito assai che non si approfitti per realizzare un
guadagno in più (vedi prezzi benzina...); anche perché, che ne sa il
cliente quando l'ho comperata?
Se invece i prezzi dell'oro calano, un concorrente che ha acquistato
merce dopo di me potrà avere prezzi migliori a parità di margine.
Per quanto riguarda il secondo punto, può accadere che il compratore
lasci sugli scaffali i pezzi più cari, causando problemi di rotazione
delle scorte (è ovvio che il cliente sceglie sempre il prezzo più
basso). Questo causa un magazzino a due velocità: una parte di
merce "buona" che vendi subito, e i fondacci di magazzino che nessuno
vuole.
Ricordo che a seguito della nuova gestione del singolo pezzo, avevo
prodotto dei report in cui dimostravo che l'azienda in realtà aveva
due magazzini: uno ad alto indice di rotazione che produceva buoni
affari; un altro con merce lenta che produceva costi...
Tutto questo non risultava dalla normale contabilità "a totali".
bye

 per il motivo di cui sopra.
yeah

 codice.
non ho capito :o( sorry
il tuo id_codice_articolo e' il codice dell'articolo, o il codice del
singolo pezzo?
se la seconda, e se ho capito bene, tu avresti:
- una tabella (articoli) che tiene traccia di tutti i pezzi
- una tabella (storico) che tiene traccia dei singoli pezzi venduti
- se acquisto 5 anelli uguali (=1 articolo), nella tabella articoli
avro' 5 record.
esatto?
grazie mille!
Rob

 2) La disomogeneità dei prezzi dei pezzi in vendita
grazie per le considerazioni: sono molto preziose e le terro' in mente
:o)
 
ciao
Rob

 
Esatto e fai "girare" la tabella articoli.
Materialmente non potrai mai acquistare 5 pezzi perfettamente uguali (si 
parla di decimi di grammo) e di conseguenza non avrai mai un prezzo di 
vendita uguale per i 5 pezzi.
Per cui, secondo me, ti conviene ragionare per singolo pezzo nella 
tabella articoli ed inserire gli acquisti e le vendite nello storico.
Anche nel settore degli orologi, a parita' di marca, movimento, 
cinturino, cassa, modello, se solo cambia il colore del quadrante, il 
codice sara' diverso, ma il prezzo sara' uguale.
Inoltre diventera' piu' semplice fare l'inventario di fine anno :)
Alla prossima.
	MAX

 giusto?
Si