Relational Database Programming : A Set-Oriented Approach