Database programming languages - deductive, functional, persistent and object-oriented approaches