Właściwy sposób przechowywania danych zdefiniowanych przez użytkownika w SQL

Chcę zbudować internetowy kreator formularzy, podobny do wufoo, który pozwala użytkownikom tworzyć i publikować własne formularze internetowe. Każde zgłoszenie powinno zostać zapisane w bazie danych, w której użytkownik może później pobrać zgłoszenia.

Ponieważ te formy będą dynamiczne, tj. użytkownik ma pełną kontrolę nad ilością i rodzajem pól formularzy, które staram się wymyślić dla solidnego projektu bazy danych do przechowywania tych informacji.

Chciałbym mieć jeden typ pola tabeli, który zawiera każdy typ pola dostępny dla użytkowników, tj. textfield, emailfield itp.

Jedna tabela bazowa, w której będą przechowywane identyfikatory formularzy, adres URL itp

Miałbym wtedy pola formularzy, które zawierałyby ref do baseformu i do pola, ta tabela może również zawierać niestandardowe sprawdzanie poprawności, które należy wykonać na każdym polu.

Czy ten projekt jest dobry jako struktura bazowa? Wyobrażam sobie, że łatwo będzie dodawać nowe typy pól do aplikacji, ale nie wiem, jakie są potencjalne wady, ponieważ jestem daleko od eksperta SQL.

questionAnswers(2)

yourAnswerToTheQuestion