Este tipo de diseño de base de datos requiere EAV mesas. Por ejemplo, la sección del formulario probablemente contenga:
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)
Los resultados completados se guardarán en una tabla diferente:
Filled_form (form_id, column_id, value)
La idea es crear un modelo de base de datos que sea lo suficientemente genérico (pero no más que) necesario, para adaptarse a las necesidades de los diferentes usuarios. Por ejemplo, los programadores establecen los tipos de columna, y cada tipo tiene un significado diferente al representar el formulario.