Tengo una de esas dudas teoricas que en todo proyecto salen:
El tipico caso de la tabla de usuarios, provincias, y paises.
Hay dos formas de hacerlo, pese a tener las tablas de paises y provincias en las dos formas para hacer listados rapidos de provincias o paises.
Una de las formas de hacerlo seria: En la tabla de usuarios, en el campo PROVINCIA se guarda el ID de la provincia, y en el PAIS el ID del pais, que ambos corresponden a sus tablas(paises y provincias)
La otra seria guardar el nombre de la provincia y el nombre del pais directamente en la tabla en varchar, es decir PAIS='españa', PROVINCIA='valencia', por ejemplo.
Ahora es cuando viene la duda universal.
Cuando quieres sacar el nombre del usuario, el pais y la provincia...¿ Es preferible gastar recursos en hacer siempre una consulta a 3 tablas? o ¿una consulta a una tabla pero sacrificando espacio en la tabla usuario?
La teoria es no repetir cosas en la base de datos, o repetir lo minimo.... pero claro, como son nombres con pocos caracteres.... igual compensa pese a sacrificar bytes de mas...
Bueno que los gurus del sql comenten.
Un saludo!!