Abstract Program Slicing of Database Query Languages