Newsgroup: it.comp.software.database
Titolo: modifica dati al prodotto

salve
sto realizzando un programma per il magazzino.
ho una tabella muovimenti dove ci metto tutti i dati che comprendono il
muovimenti di prodotti in magazzino
ora mi č venuto in mente e se si modifica un prodotto ? tipo si modifica la
misura che succede ?


In che senso scusa?
In tutte le pagine di amministrazione dei siti dinamici ci deve essere 
la possibilità di inserire, modificare e cancellare i records.
Max
-- 
Se mi volete scrivere
massimo . ori @ aliceposta . it


In che senso scusa?


 la possibilità di inserire, modificare e cancellare i records.
scusa il ritardo nella risposta.
Intendevo nel senso che modificando un articolo anche tutti i muovimenti
vengono come dire scombusolati
se prima avevo 10 lt di acqua e poi io modifico l'acqua in kg ?

 ha scritto nel messaggio 
news:3dHtd.269700$b5.13...@news3.tin.it...

Se il tuo schema da problemi del genere probabilmente  é tutto sbagliato.
Da rifare! 


Non ho ancora uno schema lo pensando...
perņ nel muovimenti ci metti sempre il riferimento all'id dell'articolo o no
?
ho visto/letto parecchi post in questo NG e molti consigliano cosģ...

 ho visto/letto parecchi post in questo NG e molti consigliano così...
non so quale sia il domionio sul quale vuoi operare.
Comunque sia non credo che leggere i post del newsgroup ti possa portare a 
molto.
Dovresti studiarti l'argomento, che dopotutto non è così complesso. La 
strutturazione degli schemi relazionali deriva immediatamente dal modello a 
oggetti che ti crei. Non è affatto difficile se ti studi qualche libro sui 
RDBMS o qualche articolo o sito.
Non conosco personalmente link adatti, ma sono sicuro che google te ne 
fornirà parecchi, magari in inglese.
Ti posso dire di cercare "schemi relazionali" oppure "relational schema" 


Quello che volevo sapere è! d'accordo che sia  un problema sicuramente
derivato dal mio schema (che sto facendo)
http://yag.altervista.org/Work/magazzino/schemaDbMagazzino.jpg(una
 bozza)
ma come lo risolvo ?
grazie ciao.

 grazie ciao.
Lo schema che hai messo mi sembra un semplicissimo schema relazionale. Dov'č 
il problema? non capisco cosa vuoi sapere?
E poi cosa centra orm? 


Per orm ho messo [ot] proprio perchè era fuori tema! nello schema vedi la
tab muovimenti ho il riferimento
all'id del prodotto (mi pare che ho detto tutto) se non l'hai capito
Riparto dalla domanda che ho fatto all'inizio
Cosa succede se modifico un caratteristica del prodotto ? tutte le
statistiche se così si possono chiamare
si "fottono" ...come rimedio ?

 si "fottono" ...come rimedio ?
perchč mai dovrebbero "fottersi"?
non si "fottono" per come l'hai strutturato. 


Da come la vedo io, e dallo schema che hai presentato qualche post pių 
indietro, tenderei a considerare la variazione di una caratteristica di 
un articolo come la generazione di uno /ex-novo/. Con la generazione di 
un articolo nuovo, magari con un riferimento a quello originario (per 
tenere traccia dello storico), non dovresti avere casini con la 
movimentazione di magazzino.
M.


Facciamo un esempio pratico:
Nella tabella muovimenti ho 10 righe (1 riga per ogni prodotto acqua con 
misura litri)
se io vado e modifico il prodotto acqua e gli setto un'altra unità di misura 
le stampe che avrò fatto precedentemente non saranno più valide
e ipotizzando che nella mia ipotetica fattura o dettaglio fattura voglia 
mettere anche questo elemento le cose si complicano.
Non sei d'accordo ?
Opuure immagine se modifico la categoria ....
se magari dopo questo post mi dai ragione allora ti chiedo è meglio che 
modifico la base dati oppure che controllo queste possibili anomalie da 
codice ?
nel best-pratics generalmente che soluzione si adotta ?
grazie sempre e cmq... 

 M.
1) Quindi il problema c'è ed è concreto ?
2) In termini pratici come modificheresti lo schema ? ... una sorta di foto 
dell'articolo in quel momento ? a questo il riferimento al dato vecchio non 
mi serve
    più o sbaglio ?
....

 Opuure immagine se modifico la categoria ....
Non succede nulla!

 dato vecchio non mi serve più o sbaglio ?
Il riferimento dell'articolo nuovo a quello vecchio è solo per aumentare 
l'efficenza della gestione in caso di verifica storica dei dati 
inseriti; è un campo in più ed è opzionale, potrebbe non servirti mai, 
come potrebbe eserti utile. Ad esempio, se è stato generato un clone 
dell'articolo (per i motivi sopra citati) puoi cercare se ci sono degli 
articoli che fanno riferimento a me (quindi più recenti) e specificare 
all'utente che quell'articolo non può essere usato perché è stato 
corretto nelle sue caratteristiche. Spero di esser stato chiaro su 
questo esempio.
M.

Se fai delle stampe su carta certo che non sono + valide!
certo! be se non ci avevo pensato quel certo sarebbe diventato "mannaggia 
addesso che faccio?"  non do mai niente per scontato...
io li chiamo problemi nascosti...
dipende comunque tutto dal contesto ovviamente.
es:
se uso i muovimenti per creare le stampe e nelle stampe ci metto quei dati 
devo ovviamente devo stare attento a questo possibile problema(database o 
sw)
se uso i muovimenti per creare le stampe e nelle stampe ci NON metto quei 
dati posso anche tralsciare...
Ma se poi in futuro devo cambiare politica ? ed ho 4000 record nella tabella 
muovimenti ?
devo anche pensare al futuro no ? (nel limite del possibile)
cmq come sempre GRAZIE
Se Vuoi o qualcuno vuole integrare questo post ben venga :)
....


Tutto chiarissimo solo l'utlimo esempio un pochetto meno...

 
Immaginavo :(
E' che l'ho scritto di getto... ;)
Cosa non ti è chiaro?
M.

 ha scritto nel messaggio 
news:9fYtd.272458$b5.13...@news3.tin.it...

La parte in cui spegavi in quali casi poteva essere utile avere il 
riferimento all'articolo "base" .. la parte finale insomma...
:)


Ah forse ora ho capito!
allora hai fatto in modo che ogni prodotto ha una misura (relazione uno a 
uno vero?).
Siccome intendi che una volta che usi una misura deve essere la stessa per 
tutti  i prodotti di un certo gruppo questo approccio può essere migliorato 
(sebbene un UPDATE semplice su tutti i prodotti può anche essere fatto!).
Devi fare in modo che ogni prodotto condivida la stessa misura. Mi sembra 
analogo a una variabile static (solo un istanza per classe), dei linguaggi 
di programmazione.
Potresti usare un'altra tabella:
Gruppo = idmisura | idgruppo
prodotto = idprodotto | ... | idgruppo
misura = idmisura | ...
dove
prodotto.idgruppo è chiave esnterna per gruppo
gruppo.idmisura é chiave esterna per misura
Comunque io credo che la modifica della misura non sia una cosa usuale, anzi 
molto rara (almeno credo, dipende dal contesto in cui lavori). Quindi 
secondo me fare un update su tutti i prodotti e cambiare la misura sarebbe 
da prendere in considerazione, piuttosto che complicare lo schema per una 
cosa così poco utile.


Be in effetti si io dibattevo solo per approffondire bene il problema e 
qualcosa è saltato fuori bene :-)
ma se faccio una "fotografia" del prodotto nei muovimenti risolvo alla 
grande mi pare...
Ora mi viene il dubbio (carenze dal punto vista: conoscenza magazzino)
Io i muovimenti gli uso muovere "gruppi" di prodotti cioè anche uno ma 
l'utente decide
quanti
tipo 10 di acqua (id =1)
       20 di grano (id=2) ecc.
per le giancenze faccio la somma algebrica (Sum sul campo quantità di tutti 
i record nella tabella muovimenti )
Spero di non aver complicato le cose...

 ora mi è venuto in mente e se si modifica un prodotto ? tipo si modifica 



si sono alle prime armi (diciamo) come progettista di database però li so 
usare e li conosco , ma non come programmatore (ho un buon
background)

 ha scritto nel messaggio
news:cpbs3l$eps$1...@carabinieri.cs.interbusiness.it...

non ho avuto più risposte ... sono un pò in dubbio ora...

 
Scusa ma sono stato via per un po' :)
L'idea del riferimento, è un surplus di informazioni. Nel caso tu avessi 
optato per la generazione di un nuovo articolo a fronte della modifica 
di una caratteristica base dell'articolo (non generi un clone 
dell'articolo se cambi la descrizione, ma se cambi - ad esempio - 
l'unità di misura da grammi a litri), ti potrebbe essere d'aiuto il 
riferimento all'id dell'articolo che ha originato il clone. Un esempio 
pratico potrebbe essere, in interazione utente, verificare se l'articolo 
che hai selezionato, ha dei cloni associati. Come fai a saperlo? 
Cercando nell'archivio gli articoli che hanno il riferimento 
all'articolo che l'utente ha selezionato.
M.