It is a pattern to provide abstract interface between application and database without exposing database details.