2013-05-09 6 views
-1

En utilisant les relations suivantes:algèbre relationnelle et SQL résolution

consultant(id,Name,Skill) 

CustomerCompany(Id,name Address, Phone, Email, WebAddr,Market) 

project(id,StartDate,EndDate,ConsultantID,CustomerId,Days) 

Invoice(id,Date,Customer,Amount,Status) 

Im essayant de travailler le scénario suivant en utilisant SQL et de l'algèbre relationnelle

Trouver les noms des consultants et les noms des clients, où le consultant a travaillé pour le client, et le client a reçu une facture de l'ordre de 100k à 200k GBP

en utilisant SQL j'ai:

Sélectionnez I.mount, C.nom de CustomerCompany C, Facture I où I.Customer = C.id et> all (sélectionnez C.name, Con.Name de CustomerCompany, Con Consultant où i.amount entre 100 et 200);

algèbre relationnelle:

amount = σ(Invoice, amount>=100 and amount<=200) 

joininv= Ⓧ(amount, Customer, CustomerCompany, id) 

joincon Ⓧ(joiniv, Consultant id, Project, ConsultantID) 

π =(joincon, name, Name) 

Je me demandais si écrire ou faux?

Merci pour toute aide!

+2

Presque personne en dehors des milieux universitaires/de recherche utilise ou est compétent avec algèbre relationnelle (près de 30 ans que je l'ai utilisé). Vous obtiendrez probablement une meilleure réponse à http://cs.stackexchange.com – RBarryYoung

Répondre

0

Cela fera le tour

select 
con.Name 
from CustomerCompany CustComp 
inner join project PRO on PRO.CustomerId=CustComp.Id 
inner join consultant con on con.id=PRO.ConsultantID 
inner join Invoice Inv on Inv.Customer=CustComp.name 
where Inv.Amount between 100 and 200 

JOIN

Questions connexes