У меня есть приложение, которое позволяет пользователям создавать различные формы (опросы), а затем заполнять их.(поэтому он заменяет бумагу).
Вот текущая модель, которую я использую в приложении:
Table 1)
+-------------------------+
| SURVEYS TABLE |
+----+------+-------------+
| ID | name | description |
+----+------+-------------+
Table 2)
+-----------------------------------+
| $[name_of_the_survey] |
+----+-------+------+-------+-------+
| ID | field | type | value | items |
+----+-------+------+-------+-------+
Table 3)
+--------------------------------------+
| $[name_of_the_survey] _records |
+----+---------------------------------+
| ID | columns specific to each survey |
+----+---------------------------------+
, поэтому, когда пользователь создает опрос, программы обычно вставляют записьв Surveys Table, а затем создает 2 таблицы:
table (2) для полей таблицы формы (3) для записей, которые будут храниться, в которых столбцы соответствуют строкам таблицы (2).
Работает, но имеет некоторые ограничения.Например, когда вам нужно добавить поле в таблицу (2), он должен прочитать содержимое таблицы (3), сохранить его в виртуальной таблице, удалить предыдущую таблицу (3) и создать новую.Это может быть проблемой производительности, когда таблица (3) имеет много записей.
Итак, мой вопрос ... Есть ли лучший дизайн базы данных?