Buenas!! Este es mi problema, a ver si me puede ayudar alguien:
Quiero introducir en una tabla de MySQL datos sobre unas casas. Cada casa puede estar en 5 ciudades diferentes, y a su vez en un barrio de esa ciudad. Se me han ocurrido tres formas de hacerlo, pero cada una tiene sus inconvenientes:
- Hacer un enum con las ciudades y otro con TODOS los barrios de TODAS las ciudades (son unos 100 en total). El problema de hacerlo así es que no solo es bastante trabajoso (que es lo de menos) sino que si alguien se equivoca al introducir los datos es posible que una casa esté en un barrio y una ciudad no compatibles (en un barrio A pero a la vez en una ciudad que no tiene barrio A). Lo bueno de esto es que al ser un enum es fácil identificar los nombres de las ciudades y los barrios.
- Hacer un enum con las ciudades y un campo numérico para los barrios, donde si una ciudad tiene 50 barrios por ejemplo, cada uno tendrá asociado un número. Para evitar que pase lo mismo que de la otra forma se distinguirá el barrio que es no solo por el número asociado sino por la ciudad también. Por poner un ejemplo más gráfico, tenemos la ciudad A con barrios a, b, c, d, e; y una ciudad B con barrios f, g, h, i. Tanto el barrio a como el f tendrían asociado el número 1, y se distinguen entre sí según si su ciudad es la A o la B. Lo malo de este método es que es posible por ejemplo que se almacene el barrio 5 en la ciudad B, y B solo tiene 4 barrios. Además luego sería un follón para realizar búsquedas en una tabla organizada así, y es más difícil introducir los datos sin equivocarse.
- Hacer que el campo sea un varchar, con todo el peligro que conlleva esto, es muy fácil escribir mal un nombre al introducir los datos y todo al garete...
Como véis, ninguna parece la opción adecuada, así que os pido ayuda a ver si a alguien se le ocurre algo mejor.
Un saludo y gracias por adelantado!! :wiii: