This paper examines two components of the user-database interface: the data modeling constructs used to represent the database structure and the query language constructs used for data retrieval. From a theoretical perspective, if both the data modeling and query language support high-level abstractions (HLAs), such as generalization and composition, then the "semantic distance" between the user and the interface will be reduced. We used an in-depth verbal protocol study to explore how users were able to effectively complete two tasks: constructing a data model with HLAs and formulating queries against the data model. Results suggest that a successful strategy for modeling with HLAs involves the systematic transition between higher and lower levels of abstraction. In addition, there is some support for the idea that there is a "productivity payoff" to modeling with HLAs, because subsequent query can be simplified.