Tengo dos tablas¿Cuál es la forma más eficiente de almacenar una matriz de enteros en una columna MySQL?
A:
plant_ID | name.
1 | tree
2 | shrubbery
20 | notashrubbery
B:
area_ID | name | plants
1 | forrest | *needhelphere*
ahora quiero la zona para almacenar cualquier número de plantas, en un orden específico y algunas plantas podrían aparece varias veces: por ejemplo, 2,20,1,2,2,20,1
¿Cuál es la forma más eficiente de almacenar esta variedad de plantas?
Teniendo en cuenta que tengo que hacerlo de modo que si realizo una búsqueda para encontrar áreas con la planta 2, no obtengo áreas que son, por ejemplo, 1,20,232,12,20 (pad con 0 principales?) Qué sería la consulta para eso?
si sirve de ayuda, supongamos que tengo una base de datos de no más de 99999999 plantas diferentes. Y sí, esta pregunta no tiene nada que ver con las plantas ....
Pregunta extra ¿Es hora de alejarse de MySQL? ¿Hay una mejor base de datos para gestionar esto?
Si solo MySQL nos permite tener múltiples valores para una sola columna ... – animuson
Cada vez que sienta la necesidad de combinar datos en un solo campo, patee: está violando la forma normal y necesita agregar otra tabla para manejar la situación apropiadamente (Consulte las respuestas de Matchu y mgrove a continuación.) –
si le interesa una forma no relacional de almacenar estos datos (es decir, una colección/matriz real), busque en un OODBMS como db4o. –