Penguin is designed to support object-orientation for application programs while using relational databases as the persistent backing store. The use of relational databases that have proven storage of large amounts of data for long periods of time enables Penguin to take advantage of conventional solutions for concurrency, transactions, and recovery. We expect that application programs will be best designed with their own object schemata, so each object schema is supported as a series of views of the underlying relational databases. This approach supports coexistence and sharing data between application programs using relational technology with application programs using object technology, as well as facilitating a migration to object technology. st decades of SQL use.