Diseño de DB para aplicación de aplicaciones

Iniciado por 50l3r, 18 Marzo 2014, 11:20 AM

0 Miembros y 1 Visitante están viendo este tema.

50l3r

Que hay foreros de elhacker! Hace años que no me paso por aqui y hoy venia con una duda que tengo acerca de un aplicativo que estoy desarrollando.

Vereis, me propongo realizar una plataforma de creación de aplicaciones de manera dinámica como Podio.

En esta aplicación puedes crear una empresa, sus espacios de trabajo y crear aplicaciones para dicho espacio que pueden ir relacionadas entre si.

Cada aplicación puede tener varios tipos de campos: texto, imagen, numérico, listado, contacto...etc. Cada campo tiene sus propiedades, por ejemplo:

Listado: Contiene listado de opciones y si es multiseleccion o no
Dinero: Contiene un listado de todas las divisas a escoger
Calculo: Contiene una referencia a un campo + operador + Otra referencia a otro campo
Referencia: Contiene un id de aplicación que se referenciará con esta.

Mi duda es la siguiente. Tengo una tabla campos diseñada asi:

CampoId
CampoNombre
AplicacionId
CampoPlaceholder
CampoObligatorio
CampoOrden
CampoLimites

Necesito saber la manera mas optima de guardar los datos para cada uno de mis campos especiales.

¿Crearia una tabla para cada campo donde tuviesen sus propiedades individualmente?
¿Crearia un campo text en esta misma tabla de campos, en formato json con variables que guardasen los datos de cada campo?
¿De que manera podria guardar un campo listado con muchisimas opciones? ¿Una tabla relacionada a al campo listado con todas las opciones?

Imagino que quizas pueda tener mas opciones y mejor. ¿Que pensais?

Es un buen reto X-D