View Full Version : Aiuto, mi dareste una mano a realizzare uno schema E-R??
moskino85
05-04-2012, 17:54
Salve sono nuovo su questo forum e sinceramente spero che qualcuno di cuore mi aiuti.Devo realizzare per l'università un progetto web based che implementa i gruppi di acquisto,per farvi capire meglio dovrei realizzare uno schema e-r che rappresenti il sito Groupon.
Ed in particolare devo rappresentare:
Un venditore è definito da:
ragione sociale
categoria
indirizzo di posta elettronica
indirizzo fisico dell’azienda
url del sito web aziendale
recapito telefonico cellulare
recapito telefonico azienda
Partita IVA
Ogni acquirente è definito da:
Nome
Cognome
Indirizzo di posta elettronica
Indirizzo dell’abitazione
Indirizzo di fatturazione
Recapito telefonico, sia cellulare che fisso
Sono stabiliti poi dei centri di raccolta, definiti da:
Indirizzo
Responsabile del centro di raccolta (Nome, cognome, indirizzo, recapito
telefonico)
Ogni acquirente, rigorosamente dopo aver effettuato un acquisto, può esprimere sia un voto numerico da 1 (molto scarso) a 5 (ottimo) sul venditore, che un giudizio testuale che verrà pubblicato sulla pagina informativa del venditore. Tali giudizi devono esprimere l’affidabilità del venditore, la qualità della merce e del rapporto e qualunque informazione possa servire a costruire la reputazione del venditore.
Ogni utente non può esprimere più di un giudizio testuale o un voto circa un venditore a seguito di una transazione.
Una transazione deve mantenere traccia di:
Venditore
Offerta (quantità del bene offerta, prezzo complessivo, scadenza
Unità di misura del bene (le unità di misura possono essere quelle del
sistema metrico decimale o il pezzo)
Gruppo di acquisto, definito dalla lista di acquirenti.
Per ciascun acquirente bisogna indicare la quantità di bene desiderato (verificare che la quantità totale di bene nella domanda coincida perfettamente con quello dell’offerta)
Centro di raccolta in cui verrà consegnato il bene
Data in cui verrà consegnato la quantità di bene acquistata
Giorno in cui è stata creato il gruppo di acquisto
Il bene venduto deve afferire alle categorie di vendita del corrispondente venditore.
Un venditore può vendere al massimo 2 tipologie di beni.
Gli acquirenti possono inviarsi messaggi di posta privati. Ogni messaggio di posta deve essere contraddistinto dalle seguenti informazioni:
Destinatari
Oggetto
Testo
Corpo del messaggio
io ho provato a fare mille volte lo schema ma la cosa che non riesco a capire riguarda i commenti che li possono fare solo coloro che hanno acquistato e i messaggi che riguardano solo coloro che hanno fatto l'acquisto...per piacere mi aiutate perfavore non so più a chi rivolgermi...
riguardo
"i commenti che li possono fare solo coloro che hanno acquistato"
e
"Ogni utente non può esprimere più di un giudizio testuale o un voto circa un venditore a seguito di una transazione."
se questi vincoli vogliono essere fatti a livello di DB bisogna impostare come chiave primaria l'insieme delle foreign key in gioco, ad esempio la tupla:
venditoreID, acquirenteID, transazioneID, voto, giudizio
se l'unione delle tre chiavi esterne (venditoreID, acquirenteID, transazioneID) è chiave primaria, a livello DB non ci potrà essere più di un giudizio/voto dato da un acquirente ad un venditore per la stessa transazione.
moskino85
06-04-2012, 13:36
Grazie mille "idoido" finalmente qualcuno che capisce il mio problema e che mi da una risposta adeguata grazie mille..
Volevo chiederti un'altra cosa ... a livello di schema e-r si possono rappresentare questi vincoli?Ora ti posto il mio schema...la cosa che non riesco a rappresentare e il commento che l'acquirente fa al venditore e il messaggio(che può mandare l'acquirente che fa parte del gruppo di acquisto ad un'altro acquirente) ..mi dai una mano gentilmente??
Mi sta mandando al manicomio questo schema
Grazie in anticipo
ps. ho provato a metterti la foto del mio schema ma non me la fa caricare perché supera il limite del forum..l'ho provata a rimpicciolire ma dopo non si leggono più bene gli attributi come posso fare?
moskino85
06-04-2012, 14:28
ok ci sono riuscito...
per quanto riguarda il centro di raccolta gli attributi sono:
Codice_centro(chiave)
Via
Civico
Citta
Dell'offerta sono:
Descrizione(chiave)
scadenza
se non riesci a leggere qualcosa dimmelo così ti faccio capire meglio cosa sta scritto...
grazie
ok stiamo calmi :D
intanto ti consiglio di usare un software per disegnare i tuoi diagrammi, se la tua università aderisce al microsoft accademic alliance allora usa Visio (che ti consiglio), altrimenti come opensource puoi usare Draw di LibreOffice oppure questo
http://dia-installer.de/index.html.en
riguardo la notazione di chiave primaria, normalmente si usa il sottolineato sul campo o i campi che costituiscono la chiave primaria (ma il tuo prof potrebbe usare qualcos'altro)
ad una prima occhiata sinceramente è troppo confusionario (nel senso che probabilmente si può ridurre qualcosa) e non ho visto nessuna entità o relazione per questa parte:
"Il bene venduto deve afferire alle categorie di vendita del corrispondente venditore.
Un venditore può vendere al massimo 2 tipologie di beni."
per curiosità, puoi dirci università e corso? l'esame comprende la sola realizzazione del db o anche l'applicazione web?
moskino85
07-04-2012, 10:00
sei grande diodo mi hai trovato anche un programma per gli schemi e-r per il mio mac,pensa l'avevo chiesto in un'altro forum e mai nessuno mi ha saputo rispondere.
Cmq si le chiavi anche io le uso sottolineare e sullo schema e-r le rappresento con il pallino pieno.
Comunque grazie alla tua risposta finalmente(forse)ho capito qual era il problema...praticamente io non rappresentavo l'entità TRANSIZIONE e di conseguenza l'avevo immaginata come relazione e questo mi creava un sacco di problemi ... adesso provo a cambiare lo schema e tra poco te lo mostro...
moskino85
07-04-2012, 11:12
Ecco lo schema ...che ne pensi? va bene?
Poi un'altra cosa che non ho capito infatti non l'ho nemmeno rappresentata sono i messaggi,in quanto non ho capito chi deve mandare questi messaggi,solo gli acquirenti che hanno acquistato o anche coloro che non hanno aquistato(Gli acquirenti possono inviarsi messaggi di posta privati.)
Per quanto riguarda i gruppi di acquisto diciamo sono sottointesi nell'entità transizione,spero di aver fatto bene.
Per quanto riguarda la categoria ho deciso di metterla nell'entità del VENDITORE per poi applicare quel vincolo in sql ("Il bene venduto deve afferire alle categorie di vendita del corrispondente venditore.
Un venditore può vendere al massimo 2 tipologie di beni.") magari attraverso i trigger...devo ancora vedere.
Leasame comunque riguarda la progettazione di un web based in sql con relative query, schema e-r, schema logico e normalizzazione.
Aspetto tue notizie
PS. cmq il programma Dia è eccezionale...semplice e utilissimo!!
moskino85
08-04-2012, 19:12
Sono venuto a vedere se mi avevi risposto....e ne approfitto, anche se non ci conosciamo, per augurarti una buona Pasqua ;)
ciao moskino85,
scusami se non ti rispondo subito, ma ste cose ogni tanto le faccio per lavoro e non è che ho tanta voglia di farle a tempo perso :D
ho riguardato il tuo schema, premetto che io normalmente ragiono già in termini di tabelle normalizzate, quindi qualcosa la dovrai poi riportare in uno schema e-r "classico"
0) specifica le relazioni (1:n, n:1, n:n) negli schemi
1) rinomina transizione in TRANSAZIONE
2) non capisco perché hai creato due entità "azienda" e "venditore", dalla traccia sembrerebbe che ci sia solo venditore, non mi sembra che venditore sia un "intermediario" tra azienda che offre il bene/servizio e gli acquirenti
3) messaggi privati: premesso che a livello DB andrebbe creata una chiave univoca del tipo acquirenteID, ma procediamo con l'email. avremo l'entità messaggio composta da 6 campi: messaggioID, mittenteID, destinatariID, data, oggetto, testo.
messaggioID potresti ometterlo nello schema, perché l'unione dei restanti 5 campi crea record univoci (grazie alla data che dovrebbe essere inserita in automatico), poi dipende dal prof come considera questo tipo di chiavi primarie
mittenteID è la foreign key verso acquirente (ed è di tipo 1:n, cioè un acquirente può essere più volte mittente, il mittente del singolo messaggio potrà essere solo un acquirente)
destinatariID è una relazione che io al livello di DB strutturerei in questo modo: c'è la tabella lista_destinatari che è composta da due campi (messaggioID e acquirenteID) es:
MESSAGGIO1 ACQUIRENTE1
MESSAGGIO1 ACQUIRENTE2
MESSAGGIO2 ACQUIRENTE3
MESSAGGIO3 ACQUIRENTE2
MESSAGGIO3 ACQUIRENTE3
4) inizia a creare la web application, mentre la crei ti accorgi subito se ti manca qualche campo o se una relazione va cambiata, perché vedi che non riesci a leggere o a salvare le informazioni in modo corretto
in bocca al lupo ;)
moskino85
11-04-2012, 10:04
grazie mille per il tuo aiuto, è stato fondamentale per me ;)
ho fatto come hai detto tu ed ho ottenuto il seguente schema.
Adesso lo sto riportando su HeidiSql.
Volevo chiederti una cosa,per quanto riguarda i vincoli che sono presenti nel progetto:
Un venditore può vendere al massimo 2 tipologie di bene
il bene venduto deve afferire alle categorie di vendita del corrispondente venditore.
verificare che la quantità totale di bene nella domanda coincida perfettamente con quella dell'offerta
Questi vincoli li devo rappresentare utilizzando i trigger??
moskino85
11-04-2012, 11:12
Scusami idoido se ti chiedo un'altra cosa...ma stavo leggendo le query da effettuare ed ho letto:
Trovare tutti gli acquirenti che hanno comperato un bene dallo stesso venditore e che hanno pubblicato un messaggio sulla sua pagina personale.
Ma quindi mi sà che devo aggiungere qualche nuova cosa allo schema?
moskino85
14-04-2012, 17:42
Ciao Idoido volevo chiederti una cosa in riguardo allo schema e-r...
Da come l'ho progettato io,l'acquirente acquista un'offerta da un venditore e dopo può ritirare l'oggetto acquistato presso un centro di raccolta,questo per quanto riguarda venditore e acquirente della stessa città va bene.
Il problema di cui mi sono accorto solo adesso è questo: se l'acquirente che acquista, e di una città diversa da quella del venditore,dovrei fare in modo ke l'oggetto acquistato sia spedito da groupon all'indirizzo dell'acquirente...a livello di schema come si potrebbe fare?
Ti ringrazio in anticipo per la risposta
Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.