Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Varias tablas o todo en una

Estas en el tema de Varias tablas o todo en una en el foro de Mysql en Foros del Web. Buen dia. Solo para saber su opinion sobre que es mejor para la BD en cuanto a optimización: Modo 1 • Tener varias tablas, una ...
  #1 (permalink)  
Antiguo 08/03/2020, 03:21
Avatar de Atomycko  
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 18 años, 10 meses
Puntos: 12
Pregunta Varias tablas o todo en una

Buen dia.
Solo para saber su opinion sobre que es mejor para la BD en cuanto a optimización:

Modo 1
• Tener varias tablas, una por cada elemento

Modo 2
• Tener una tabla para todos los elementos

Les dejo un ejemplo de consulta para entenderme mejor.

Consulta con el modo 1:
Código:
SELECT
   v.id,
   v.fecha,
   v.comentarios
   t.nombre AS tienda,
   a.nombre AS almacen,
   c.nombre AS cajero
FROM
   ventas v
LEFT JOIN
   tiendas t ON t.id = v.id_tienda
LEFT JOIN
   almacenes a ON a.id = v.id_almacen
LEFT JOIN
   cajeros c ON c.id = v.id_cajero
WHERE
   c.id IN(2, 5)
Consulta con el modo 2:
Código:
SELECT
   v.id,
   v.fecha,
   v.comentarios
   t.nombre AS tienda,
   a.nombre AS almacen,
   c.nombre AS cajero
FROM
   ventas v
LEFT JOIN
   elems t ON t.tipo = 'tienda' AND t.id = v.id_tienda
LEFT JOIN
   elems a ON a.tipo = 'almacen' AND a.id = v.id_almacen
LEFT JOIN
   elems c ON c.tipo = 'cajero' AND c.id = v.id_cajero
WHERE
   c.id IN(2, 5)
Bueno pues eso, cual seria la mejor manera de hacerlo?

P.D.: Una cosa que no mencione, esta tabla "todo en una" es solo para elementos fijos, es decir, no es para elementos de incremento continuo como ventas, compras, comentarios, etc. sol para elementos que aparecerian en selectores del formulario.
__________________
PD: Los acentos fueron secuestrados.

Etiquetas: tablas, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.