Knowledge discovery in databases (KDD) is a 7 step process to search for hidden knowledge in data. Data Mining refers to the analysis step in the KDD process.
When we’re working on a data science project, we’re performing some kind of KDD process with the objective of solving a problem. Data science is, infact, multidisciplinary. Everything from data mining to visualizing results is data science.
Machine learning, on the other hand, is a technique broadly used in data mining (thus in data science) to build models based on data so that it can predict the future outcomes.
The term data science is relatively new compared to others. Normally, the terms data mining and KDD are used synonymously.
References:
Knowledge Discovery in Databases