  This tutorial overviews the state of the art in learning models over
relational databases and makes the case for a first-principles approach that
exploits recent developments in database research.
  The input to learning classification and regression models is a training
dataset defined by feature extraction queries over relational databases. The
mainstream approach to learning over relational data is to materialize the
training dataset, export it out of the database, and then learn over it using a
statistical package. This approach can be expensive as it requires the
materialization of the training dataset. An alternative approach is to cast the
machine learning problem as a database problem by transforming the
data-intensive component of the learning task into a batch of aggregates over
the feature extraction query and by computing this batch directly over the
input database.
  The tutorial highlights a variety of techniques developed by the database
theory and systems communities to improve the performance of the learning task.
They rely on structural properties of the relational data and of the feature
extraction query, including algebraic (semi-ring), combinatorial (hypertree
width), statistical (sampling), or geometric (distance) structure. They also
rely on factorized computation, code specialization, query compilation, and
parallelization.
