Databases and machine learning (ML) have historically evolved as two separate domains: while databases are used to store and query the data, ML is devoted to predictive models inference, clustering, etc. Despite its apparent simplicity, the “data preparation” step of ML applications turns out to be the most time-consuming step in practice. Interestingly this step encompasses the bridge between databases and ML. In this setting, we raise and address three main problems related to data selection for building predictive models. First, the database usually contains more than the data of interest: how to separate the data that the analyst wants from the one she does not want? We propose to see this problem as imbalanced classification between the tuples of interest and the rest of the database. We develop an undersampling method based on the functional dependencies of the database. Second, we discuss the writing of the query returning the tuples of interest. We propose a SQL query completion solution based on data semantics, that starts from a very general query, and helps an analyst to refine it until she selects her data of interest. This process aims at helping the analyst to design the query that will eventually select the data she requires. Third, assuming the data has successfully been extracted from the database, the next natural question follows: is the selected data suited to answer the considered ML problem? Since getting a predictive model from the features to the class to predict amounts to providing a function, we point out that it makes sense to first assess the existence of that function in the data. This existence can be studied through the prism of functional dependencies, and we show how they can be used to understand a model’s limitation, and to refine the initial data selection if necessary.Les bases de données et l'apprentissage ont historiquement évolués comme deux domaines distincts: alors que les bases de données sont utilisées pour stocker et interroger les données, l'apprentissage se consacre à la détermination de modèle prédictifs, au clustering, etc. Malgré son apparente simplicité, la phase de sélection des données pour l'apprentissage est souvent très chronophage en pratique. Il est intéressante de noter que cet étape fait le pont entre les bases de données et l'apprentissage. Dans ce contexte, nous soulevons et considérons trois problèmes liés à la sélection de données pour les modèles prédictifs. Premièrement, la base de données contient généralement plus que les données d'intérêt: comment séparer les données que l'analyste veut de celles qu'elle ne veut pas? Nous proposons de voir ce problème comme une classification déséquilibrée entre les tuples d'intérêt et le reste de la base de données. Nous développons une méthode de sous-échantillonnage basée sur les dépendances fonctionnelles de la base de données. Deuxièmement, nous discutons de l'écriture de la requête renvoyant les tuples d'intérêt. Nous proposons une solution de complétion de requête SQL basée sur la sémantique des données, qui part d'une requête très générale, et aide un analyste à l'affiner jusqu'à ce qu'elle sélectionne ses données d'intérêt. Ce processus vise à aider l'analyste à concevoir la requête qui finira par sélectionner les données dont elle a besoin. Troisièmement, en supposant que les données ont été extraites avec succès de la base de données, on peut se poser la question suivante: les données sélectionnées sont-elles adaptées pour répondre au problème d'apprentissage considéré ? Puisque construire un modèle prédictif est équivalent à déterminer une fonction, nous soulignons qu'il est logique de d'abord évaluer l'existence de cette fonction dans les données. Cette existence peut être étudiée à travers le prisme des dépendances fonctionnelles, et nous montrons comment elles peuvent être utilisées pour comprendre les limitations d'un modèle et affiner la sélection initiale des données si nécessaire