Ich lerne gerade, SQL-Abfragen in relationale Algebra zu übersetzen und umgekehrt.SQL in relationale Algebra übersetzen
Customer(customer_name, customer_street, customer_city)
Loan(loan_number, branch_name, amount)
Borrower(customer_name, loan_number)
Account(account_number, branch_name, balance)
Depositor(customer_name, account_number)
Ich möchte Kunden finden, die in Fairfax leben, einen Kredit haben, aber kein Bankkonto haben.
CustomersInFFX = PROJECT customer_name (SELECT customer_city = 'Fairfax'(Customer))
LoanOwners = (CustomersInFFX NATURAL JOIN Borrower NATURAL JOIN Loan)
AccountHolders = (Depositor NATURAL JOIN ACCOUNT)
PROJECT customer_name (LoanOwners - AccountHolders)
Macht das Sinn?
* SELECT: σ, PROJEKT: π, NATURAL JOIN: ⋈
macht nicht viel Sinn für mich .. möchten Sie etwas konkreter fragen? ich sehe keine sql, zu oder von und übersetzt zu werden, und selbst wenn ich nichts über relationale Algebra weiß, glaube ich nicht, dass das 'customer_name = 'Fairfax'' Sie Kunden finden würde, die dort leben. – Aprillion
Auswahl (σ) wird ständig verwendet. Sie müssen die SQL-Abfragen nicht sehen, um rationale Algebra zu verstehen. Aus der Beschreibung sollte ersichtlich sein –
haha ich meinte customer_city. Mein Fehler... –