Abstract Interpretation of Database Query Languages