ciao a tutti, volevo chiedervi se era possibile trovare il modo di tradurre questa query in algebra relazionale. è richiesto l'utilizzo della ridenominazione, dato il confronto di due acquirenti e due gruppi di acquisto?
Vi posto la traccia della query, oltre al suo svolgimento e la progettazione fisica del DB
traccia:
Tutte le coppie di acquirenti che hanno comperato un bene dallo stesso
venditore e che si sono scambiati almeno un messaggio di posta privata.
codice:select m.mittente, d.Acquirente from (((((messaggio m join destinatario d on m.IDMessaggio = Messaggio) join acquirente a1 on a1.email = mittente) join acquirente a2 on a2.email = mittente) join gruppodiacquisto g1 on g1.IDGruppo = a1.GruppoDiAcquisto) join gruppodiacquisto g2 on g2.IDGruppo = a2.GruppoDiAcquisto) join transazione t1 on t1.GruppoDiAcquisto=g1.IDGruppo join transazione t2 on t2.GruppoDiAcquisto=g2.IDGruppo where t1.Venditore=t2.Venditore
progettazione fisica
acquirente (email, nome, cognome, data Adesione, domanda,numeroCasa, cellulare, GruppoDiAcquisto)
appartiene (Venditore, Categoria)
bene (IDBene, prezzoUnitario, dataDiConsegna, unitàDIMisura, CentroDIRaccolta, Venditore, Categoria, GruppoDiAcquisto)
categoria(IDCategoria, denominazione)
centroDIRaccolta(IDCentro, Responsabile)
destinatario(Messaggio, Acquirente)
giudizio(IDGiudizio, voto, commentoTestuale, Venditore, GruppoDiAcquisto, emailAcquirente)
gruppodiacquisto (IDGruppo, data Creazione, data Scadenza, quantitàDelBene)
indirizzo(città, via, numCivico, Responsabile, Venditore, CentroDiRaccolta, AcquirenteFatturazione, AcquirenteAbitazione)
messaggio(IDMessaggio, oggetto, corpoDelMessaggio, mittente)
responsabile(IDResponsabile, nome, cognome)
telefono (Responsabile, numero)
transazione (Venditore, GruppoDiAcquisto)
venditore (partitaIva, email, contrattoGrouppone, ragioneSociale)

Rispondi quotando