2009-04-06 5 views
0

Je suis en train de faire une application comme Form Builder dans Cakephp.La création d'un tableau distinct pour chaque formulaire est-elle une manière intelligente de créer des formulaires?

J'ai créé le module pour la conception des formulaires. Est-ce un bon moyen de créer une table séparée pour chaque formulaire dans le cas de la construction de formulaires?

+0

Qu'est-ce que Form Builder? Pouvez-vous fournir un lien? –

+0

Aussi, voulez-vous dire avoir une table différente pour la mise en page de chaque formulaire (métadonnées), ou les données stockées dans le formulaire, ou les deux? –

+0

Actuellement, nous créons une application pour générer des formulaires et envoyer le lien aux utilisateurs en leur demandant de le remplir et de nous le soumettre. – useranon

Répondre

0

Je ne pense pas. La conception de la base de données devrait venir en premier et devrait être aussi simple, simple et efficace que possible. Ensuite, vous construisez vos formulaires. Une bonne application de création de formulaires devrait être capable de regarder une table de base de données, ou un groupe de tables, et déterminer ce qui appartient où, quel type de contenu est stocké (Ints, clés primaires, texte, blobs, URLs) et fonctionnent avec le moins de configuration possible de l'utilisateur final. Sinon, vous ne serez pas en mesure de normaliser votre base de données, et vous aurez toutes sortes de données partout.

Il est assez facile d'obtenir l'information sur une table particulière. C'est la meilleure route que je pense.

0

Comme gargantaun a dit, commencez avec les tables DB. Je voudrais une couche facilement remplaçable entre la base de données et les formulaires pour gérer les relations entre les deux et rendre explicites les relations de données que vous ne pouvez pas obtenir de la base de données. Quelqu'un voudra sûrement générer plusieurs formulaires à partir de la même table (peut-être une forme serait trop longue, peut-être qu'il y a différents niveaux d'utilisateurs).

La fonction de tueur de quelque chose comme ça est toujours comment bien gérer les clés étrangères dans les relations DB et one-to-one, one-to-many etc. Pas beaucoup d'utilisation si vous ne pouvez même pas construire un panier avec plusieurs éléments.

0

J'ai utilisé un Entity-Attribute-Value data model pour à la fois identifier les champs nécessaires à un formulaire dans mon plugin builder et pour stocker les données de chaque formulaire. Tout à fait recommandé - c'est évolutif et totalement flexible.

Questions connexes