Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wufoos Datenbankschema – Wie würden Sie es entwerfen?

Diese Art von Datenbankdesign erfordert EAV Tische. Beispielsweise enthält der Formularabschnitt wahrscheinlich:

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)

Ausgefüllte Ergebnisse werden in einer anderen Tabelle gespeichert:

Filled_form (form_id, column_id, value)

Die Idee ist, ein Datenbankmodell zu erstellen, das gerade generisch genug (aber nicht mehr als) erforderlich ist, um den Bedürfnissen verschiedener Benutzer gerecht zu werden. Beispielsweise werden die Spaltentypen von den Programmierern festgelegt, und jeder Typ hat beim Rendern des Formulars eine andere Bedeutung.