A backend-independent database abstraction tool