#}
Database Architecture
Directory Structure
src/database/
βββ AbstractDatabasePool.php # Base abstract class for pool management
# ... (rest of the directory structure)
βββ model/ # Model layer - business logic + multi-table operations
βββ UserModel.php # User business logic (extends UserTable)
βββ OrderModel.php # Order business logic (extends OrderTable)
βββ ProductModel.php # Product business logic (extends ProductTable)
Database Architecture Layers
The database system follows a clean two-layer architecture with lazy loading throughout:
Model Layer (Business Logic + Multi-Table Operations)
β (extends)
Table Layer (Single Database Table + Properties)
β (extends)
Base Table (Core Database Functionality)
β (composition with lazy loading)
PdoQuery β QueryExecuter β DatabasePoolFactory β Connection Pools
Database Layer Responsibilities
1. Model Layer: Business logic, validation, multi-table operations, relationships
2. Table Layer: Single database table representation, table-specific operations