  The problem of optimizing across different, conceivably conflicting, criteria
is called multi-objective optimization and it is widely spread across many
fields. This is a recurring problem in database queries when there is the need
of obtaining the best objects from a very large data set. In this article, I
included a complete review of the main approaches typically used to achieve
multi-criteria optimization. Starting from ranking queries and skylines and
then proceeding to more advanced methods, this paper aims to define a clear
outline of multi-objective optimization in databases. In particular, the
flexible skyline paradigm is considered and thoroughly discussed as it
overcomes many of the critical issues that arise with other methods.
