Tento typ návrhu databáze vyžaduje EAV tabulky. Například část formuláře pravděpodobně obsahuje:
1. User table (user_id, user_name, etc.)
2. Form table (user_id, form_id, form_name, etc.)
3. Form_field table (form_id, column_id, column_name, column_type, etc.)
4. column_type table (column_type_id, column_type_name)
Vyplněné výsledky se uloží do jiné tabulky:
Filled_form (form_id, column_id, value)
Záměrem je vytvořit databázový model, který je dostatečně obecný (ale ne více než) potřebný, aby vyhovoval potřebám různých uživatelů. Například typy sloupců nastavují programátoři a každý typ má při vykreslování formuláře jiný význam.