A Systems Approach to Rule-Based Data Cleaning