Duda con diseño de Base de Datos
Publicado por Jaime (27 intervenciones) el 12/12/2011 10:56:04
Buenas, a ver si podéis ayudarme a orientarme con un problema básico al diseñar una BD...
Estoy montando una base de datos para un centro educativo.
Uno de los datos que desean almacenar en la misma es los distintos cursos de los que solicite información un posible cliente. Los cursos que se imparten en este centro son un número elevado (digamos redondeando que 50) y serán más en el futuro y están divididos en dos tipos: Grados y Máster, aunque pueden añadirse nuevos tipos más adelante.
Un cliente que solicite información puede hacerlo sólo de un curso, de varios o, teóricamente, de todos ellos y aquí es donde veo el problema:
La primera solución más obvia que he pensado es, directamente, añadir 50 campos a la tabla "Lead" (tabla con un ID único para cada cliente, donde se guarda toda la información relacionada con el mismo) de tipo booleano e ir marcando aquellos de los que se le envíe información. Esto supone crear una tabla de un tamaño inmenso, teniendo en cuenta que la tabla ya es muy grande de por sí.
No sé si existirá alguna manera de recoger esta información de manera más eficiente sin tener que recurrir a una tabla con tantísimos campos.
He leído algo por ahí acerca de los controles ActiveX y concretamente del "treeview" donde se puede desplegar cada tipo e ir marcando en casillas de verificación cada dato que quieras. No sé si esto podría valer aunque realmente no sé ni cómo se usa ¿estos controles son capaces de almacenar información "por fuera" de la tabla?
Muchas gracias.
Estoy montando una base de datos para un centro educativo.
Uno de los datos que desean almacenar en la misma es los distintos cursos de los que solicite información un posible cliente. Los cursos que se imparten en este centro son un número elevado (digamos redondeando que 50) y serán más en el futuro y están divididos en dos tipos: Grados y Máster, aunque pueden añadirse nuevos tipos más adelante.
Un cliente que solicite información puede hacerlo sólo de un curso, de varios o, teóricamente, de todos ellos y aquí es donde veo el problema:
La primera solución más obvia que he pensado es, directamente, añadir 50 campos a la tabla "Lead" (tabla con un ID único para cada cliente, donde se guarda toda la información relacionada con el mismo) de tipo booleano e ir marcando aquellos de los que se le envíe información. Esto supone crear una tabla de un tamaño inmenso, teniendo en cuenta que la tabla ya es muy grande de por sí.
No sé si existirá alguna manera de recoger esta información de manera más eficiente sin tener que recurrir a una tabla con tantísimos campos.
He leído algo por ahí acerca de los controles ActiveX y concretamente del "treeview" donde se puede desplegar cada tipo e ir marcando en casillas de verificación cada dato que quieras. No sé si esto podría valer aunque realmente no sé ni cómo se usa ¿estos controles son capaces de almacenar información "por fuera" de la tabla?
Muchas gracias.
Valora esta pregunta
0