PDA

View Full Version : [DB]su vendita e acquisto..


The Incredible
23-07-2007, 11:10
Mi sono venuti dei dubbi sul db che ho fatto per sistema semplicistico stile aste/compralo subito di ebay.

Tabelle

utente(id,username,......)
oggetto/vendita(id,id_utente,.....)
offre(id,id_oggetto,id_utente,offerta,data)

Un utente mette in vendita e popola la tabella oggetto..
Quando si fà un offerta viene inserita in offre..

Prima avevo diviso in questo modo oggetto in questo modo:

oggetto(id,descrizione,titolo,....)
vende(id,id_oggetto_id_utente,prezzo,scadenza)
offre(id,id_oggetto,id_utente,offerta,data)

ma poi ho preferito accorpare vende e oggetto..
voi come fareste?
quale delle due soluzioni vi sembra migliore e perchè?

cionci
23-07-2007, 14:15
C'è tutta una teoria dietro per trovare una risposta, si chiamano forme normali, e ci sono dei metodi che a partire da N relazioni ti permettono di trovare M relazioni in che rispettano i dettami delle forme normali.

L'esperienza (e non i metodi di riduzione) mi dice questo: l'utente deve essere una relazione a se stante. L'oggetto pure con foreign key l'id utente. L'offerta deve essere una relazione con foreign key l'id oggetto per cui l'offerta è stata fatta.

Attenzione che il problema sembra semplice, ma assolutamente non lo è, infatti pone seri problemi di concorrenza sia sull'interfaccia che sulla base di dati. Studia bene il meccanismo d'asta perché ti viene bene solo con un meccanismo ben fatto.

The Incredible
23-07-2007, 14:31
ma le tre entità base ti sembrano giuste?

quindi utente
oggetto/vendita
offerta?

cionci
23-07-2007, 14:34
Sì...

The Incredible
29-08-2007, 10:18
mi sorge un dubbio concettuale..
se separare la vendita e oggetto o lasciarle insieme...

per ora le tabelle che pensavo di mettere sono:

UTENTE
id

OFFRE
id
idutente
idvendite

VENDITA
id
idutente

OGGETTO
id
caratteristiche..

VENDUTO
id
idacquirente
idvenditore

FEEDBACK
idvendita
....

ho un dubbio in pratica se nella tabelle vendita mettere tutte le caratteristiche dell'oggetto oppure fare una tabella a se stante come oggetto
e quindi avere offre vende collegate ad oggetto..

The Incredible
29-08-2007, 12:59
dimenticavo la tabella oggetto..


OGGETTO
id
caratteristiche..

aggiunta

The Incredible
29-08-2007, 14:47
io ho pensato a una cosa del genere..

ditemi voi se corregereste qlc..

http://img443.imageshack.us/img443/1531/dbwb4.jpg

The Incredible
30-08-2007, 15:00
ho il dubbio su come collegare i feedback e dividere le inserzioni quelle concluse da quelle in corso..
pensavo di fare una tabella vendite con tutte le info delle aste concluse..
e poi per trovare le aste in corso facevo una query di tutte le inserzioni meno quelle concluse..
che ne dite?
oppure mettere un campo set dove settare se l'asta è in corso scaduta ect...ma in questo caso dove metto i feedback e come li collego?


spero che qlc mi aiuti e mi consigli.