I'm looking to leverage Form Assembly in Salesforce to develop an online form. I'm a newb to both Salesforce and Form Assembly, but I'm wondering if the system supports a traditional normalized data model. Let me explain.

In a normal HTML form and database backend I would have multiple tables, but one of the main tables I'd have would be on that records the question response to a specific table. In a typical, normalized database that could like this:

Question ID | Response ID
Q0001 | R0001
Q0002 | R0001
Q0003 | R0002

A simple two column table with the first column being the question ID and the second column being the response value (and we'd have some unique key as a third column, but that's not the focus of my question).

But it seems though in Salesforce you have to have a column for each and every question on the form:

Q0001 | Q0002 | Q0003 | Q004
R0001 | R0001 | R0002 | R003

Etc, where (again) each question in the form has it's own column and the underlying rows are then the responses.

Can someone verify if the immediately above table is the case in Salesforce? Or can Salesforce and Form Assembly allow for a more, traditional, normalized table structure (as in my first example)?

It seems odd that the latter would need to be the case because it forces a change to the overall data structure whenever a question is changed/added to the form.

I guess my ultimate question goes to how can I tie multiple (different) questions in Form Assembly to the same column(s) in a Salesforce Object? How do I tell the form that this field is this question? When all form questions would map to the same field, but would really need to map to two fields...one for the question ID of the question and the second to the question response? But now I'm wondering if the response would need to be a concatenated value of the question ID and the response ID, but that seems like a bit of a hack.

  • 1
    I'm losing you in your last paragraph. But in Salesforce, what's available to admins/developers in terms of objects and fields favors wide "tables" rather than the normalized approach. Yes, it means changing the schema to add a question, and it's a different approach if you're used to working more directly with the actual database tables and columns of an RDBMS. – Thomas Taylor Jun 7 '19 at 15:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.