Object-oriented database systems with behavioral encapsulation support powerful data abstractions but are generally slow. Conventional database systems provide efficient query processing, but limited data modeling facilities. This research project seeks new techniques that combine the power of abstract data types with database optimization technology into a semantically powerful and efficient query and command processing system. If behavior is encapsulated, a central query optimizer cannot reason about semantics, behavior, and cost over an entire query. The key to performing optimization of queries over encapsulated types is in revealing such information to a trusted system component, and in ensuring that the behavior will not change between the points of revelation and evaluation. Since syntactic analysis of type and behavior definition may yield only limited performance improvement, the type implementor will be able to reveal other relevant information. The project includes the definition of an object-oriented data language, an algebraic query language that permits optimization, a revealing mechanism, an extensible optimizer, and a software prototype to validate the investigated concepts and ideas. The goal of the research is to develop a key technique that will allow object-oriented database systems with encapsulated behavior to attain performance comparable to extensible relational systems, thus making such systems viable alternatives for managing large data volumes.