Efficient discovery of functional and approximate dependencies using partitions | Synapse