Source: https://rudametw.github.io/teaching/gbiaal4sgbd/cours/2_Analyse.pdf