By: W. Keller, J. Coldewey
Published in: PLoPD3
Summary: Defines relational database access layers for database application design, either data-driven or representational.
To access a relational database, use a layered architecture. A logical access layer provides the interface to the stable application kernel, while a physical access layer accesses the database. The latter can adapt to changing performance needs.
Category: Architectural, Database
You're using Relational Database Access Layer. The database access layer should present an interface expressed in terms of the domain's problem space to the application kernel.
You're using Relational Database Access Layer and Hierarchical View. To provide an easy-to-use interface to your physical database tables, encapsulate every table and every view with a ConcretePhysicalView class. Use these classes to encapsulate overflow tables and other database optimization techniques.
You're using Relational Database Access Layer, Hierarchical View, and Physical View. Use a broker to connect the hierarchical view and the physical view for reading and writing. The hierarchical view becomes the client side, and the physical view becomes the server.