Database in Depth: Relational Theory for Practitioners