Entonces, según la respuesta de Mehrdad a una pregunta relacionada , entiendo que una columna de tabla de base de datos "adecuada" no almacena una lista. Más bien, debe crear otra tabla que contenga efectivamente los elementos de dicha lista y luego vincularla directamente o mediante una tabla de unión. Sin embargo, el tipo de lista que quiero crear estará compuesto por elementos únicos (a diferencia de la fruta de la pregunta vinculadaejemplo). Además, los elementos de mi lista están ordenados explícitamente, lo que significa que si almacenaba los elementos en otra tabla, tendría que ordenarlos cada vez que acceda a ellos. Finalmente, la lista es básicamente atómica en el sentido de que cada vez que desee acceder a la lista, querré acceder a la lista completa en lugar de solo a una parte de ella, por lo que parece una tontería tener que emitir una consulta de base de datos para recopilar partes de la lista.
La solución de AKX (vinculada arriba) es serializar la lista y almacenarla en una columna binaria. Pero esto también parece inconveniente porque significa que tengo que preocuparme por la serialización y deserialización.
¿Existe alguna solución mejor? Si no es ninguna solución mejor, entonces ¿por qué? Parece que este problema debería surgir de vez en cuando.
... solo un poco más de información para que sepas de dónde vengo. Tan pronto como comencé a comprender SQL y las bases de datos en general, me encendí con LINQ to SQL, y ahora estoy un poco malcriado porque espero lidiar con mi modelo de objetos de programación sin tener que pensar en cómo los objetos son consultados o almacenados en la base de datos.
¡Gracias a todos!
Juan
ACTUALIZACIÓN: Entonces, en la primera oleada de respuestas que obtengo, veo "puedes ir por la ruta CSV / XML ... ¡pero NO HAGAS!". Así que ahora estoy buscando explicaciones de por qué. Indícame algunas buenas referencias.
Además, para darte una mejor idea de lo que estoy haciendo: En mi base de datos tengo una tabla de funciones que tendrá una lista de pares (x, y). (La tabla también tendrá otra información que no tiene importancia para nuestra discusión). Nunca necesitaré ver parte de la lista de pares (x, y). Más bien, los tomaré todos y los trazaré en la pantalla. Permitiré que el usuario arrastre los nodos para cambiar los valores ocasionalmente o agregar más valores al gráfico.