sql >> Base de Datos >  >> RDS >> Mysql

Esquema de la base de datos de Wufoo:¿cómo lo diseñaría?

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.