14/03/2016, 07:14
|
| | | Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 10 meses Puntos: 0 | |
Diseño: Muchos campos en una tabla o varias tablas unidas por JOIN Buenas tardes.
Llevo días buscando la opción más óptima de diseñar una base de datos y me ha surgido una duda de la que no encuentro mucha documentación clara.
Creo una tabla con muchos campos o troceo los identificadores en varias tablas.
Por ejemplo: - Opción 1, creando varias tablas con index y claves foráneas. tabla usuarios
id_usuario int(5) PRIMARY AI
nombre char(50)
tipo smallint(2) INDEX tabla usuarios_tipo
id smallint(2) PRIMARY AI
titulo char(50) tabla usuarios_datos
id int(5) PRIMARY AI
id_usuario int(5) INDEX
direccion char(100)
municipio int(4) INDEX
provincia int(4) INDEX
email varchar(100)
telefono char(15) tabla municipios:
id smallint(2) PRIMARY AI
titulo char(50) tabla provincias:
id smallint(2) PRIMARY AI
titulo char(50) - Opción 2, crear una tabla con todo en campos y me ahorro trabajar con JOIN a la hora de llamarlos: tabla usuarios
id_usuario int(5) PRIMARY AI
nombre char(50)
tipo char(50)
direccion char(100)
municipio char(50)
provincia char(50)
email varchar(100)
telefono char(15)
A mi forma de ver, la opción 1 es más optimizada, permite indexación y relacionar tablas para update y delete y me parece más escalable, pero claro, para consultar habría que hacer varios JOINS para obtener todos los datos.
Me guataría saber confirmar que esto es así o saber qué motiva sus respuestas.
Gracias.
Un saludo. |