Искам да създам приложение, което позволява на потребителя да изгради свой собствен формуляр(и).
Потребителят може да въвежда данни във формуляра си и да прави запитвания към данните. Формулярът може да се редактира, след като бъде създаден и използван ( добавяне/премахване на полета от него ). Формулярът може да има малко текстово поле, голямо текстово поле, единичен списък, квадратче за отметка или падащо меню.
Четох и разпитвах кой подход е по-добър за изграждане на този вид бази данни и не получих прав/добър отговор. Прочетох, че в този вид приложение дизайнът, базиран на колони (и представянето на всяко поле като колона), не е добра идея, тъй като потребителят може да добавя много полета и това не е добра идея, тъй като трябва да има ограничение за броя на колоните в таблица. Не мога обаче да знам предварително колко полета ще добави потребителят. (Не съм сигурен какво означават. Ще помогне много, ако обясните допълнително, като дадете пример.)
Мислех, че добра идея може да е да групирате полетата според техните типове. (тип 1: текстово поле, тип 2: падащ списък, тип 3: единичен списък... и т.н.). Искам да проектирам моите таблици, така че да мога да надстроя приложението си и да добавя нов тип по всяко време, без да ПРОМЕНЯ схемата си. Така че мислех да имам 2 таблици, една таблица, която да съдържа метаданните за полето: неговия тип, името му, позицията му може би във формуляра и друга таблица, която да съдържа действителната стойност на полето. Изглежда не знам какво точно да има в тези таблици и как да ги проектирам правилно. Вашата помощ е високо оценена.