Data modeling is the process of creating a data model for data stored in a database. It ensures consistency in naming conventions, default values, semantics, and security while also ensuring data quality. There are three main types of data models: conceptual, logical, and physical. The conceptual model establishes entities, attributes, and their relationships. The logical model defines data element structure and relationships. The physical model describes database-specific implementation. The primary goal is accurately representing required data objects. Drawbacks include requiring application modifications for even small structure changes and lacking a standard data manipulation language.