database design - Valid approach to have SQL tables dynamically generated? -


i'm building application user may create number of web forms. forms subject wide range of topics , may contain kinds of fields, devided number of sub forms.

in order not become normalization issue, application generates tables sub forms dynamically. end architecture may (simplified):

/* static table - hierarchical level 1 */
[projecttable]
project_id (key, auto inc), , project_name

/* static table - hierarchical level 2 */
[registrationtable]
project_id (parent id), registration_id (key, auto inc), registration_date

/* dynamic table - hierarchical level 3 */
[registrationsubtable_xxxxxxxx]
registration_id (parent id), firstname, lastname, email

/*dynamic table - hierarchical level 3 */
[tregistrationsubtable_yyyyyyyy]
registration_id (parent id), book_title

(i hope understandable :)

my concern number of dynamic tables grow indefinitely, reaching tens of thousands in few years. present problem sql (currently ms sql)?

are there caveats haven't thought of?

i find topic maximum-number-of-workable-tables answers question.

in short, not cause performance hit have >10k of tables, not millions. better performance have many small tables have few huge table. problem query , manage them. in case, not problem application doing me already.


Comments