Source: https://pageperso.lis-lab.fr/~luigi.santocanale/teaching/1819teaching/BD/docs/ch02.pdf