Algebraic Reasoning: Data Modeling