Anomaly Detection Through Quasi-Functional Dependency Analysis