Source: https://www.i3s.unice.fr/~nlt/cours/licence/sgbd2/sgbd2_part4.pdf