This document describes different modeling techniques. It provides an overview of conceptual, logical, and physical models. Conceptual models describe important concepts and relationships in a problem domain. Logical models refine conceptual models and describe application architecture classes and relations. Physical models adapt logical models for specific technologies. The document discusses modeling tools, common modeling terms, and normalization techniques to reduce redundancies in logical models. An exercise examples modeling a book shop domain at different levels of normalization.