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

Que es más optimo, tres tablas relacionadas o una relacionada con sigo misma

Estas en el tema de Que es más optimo, tres tablas relacionadas o una relacionada con sigo misma en el foro de Mysql en Foros del Web. Estimados tengo la siguiente duda. tengo dos formas de realizar las relaciones de una tabla y quiero saber cual de las formas que expongo es ...
  #1 (permalink)  
Antiguo 18/06/2013, 16:12
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Que es más optimo, tres tablas relacionadas o una relacionada con sigo misma

Estimados tengo la siguiente duda.

tengo dos formas de realizar las relaciones de una tabla y quiero saber cual de las formas que expongo es mejor a vista de sus experiencias.

Forma 1 muchas tablas.


Forma 2 con pocas tablas.


bueno como segun yo ambas cumplen con el resultado, que seria agregar "musica" o "imagenes" a muchas categorias.

¿cual a su parecer el mejor y porque?

¿tienen alguna forma que me recomienden?
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #2 (permalink)  
Antiguo 19/06/2013, 07:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Que es más optimo, tres tablas relacionadas o una relacionada con sigo mis

Dos temas:

1. La relación entre archivos y categorias si debe ser N:M, es decir que un archivo tiene que poder tener N categorias y las categorias M archivos hay una sola forma de realizarlo, tres tablas una de categorias, una de archivos y una con la relación.

2. En cuanto a la relación entre categorias y subcategorias, las dos soluciones no son equivalentes.

Con dos tablas puedes tener categorias y subcategorias de primer nivel, en cambio con la relación reflexiva, con sigo misma, de una sola tabla el numero de niveles de subcategorias es infinito.

Por lo tanto no se puede decir que solución es la mejor, puesto que solucionan cosas distintas.

Si tienes un nivel conocido,finito y muy pequeño de niveles de subcategorias (2,3... casi 4) la solución de una tabla por nivel és más facil de manejar.

Si el número de niveles es indeterminado (sea grande o pequeño) luego solo lo puedes solucionar con la relació reflexiva, y tendràs que tocar temas de recursividad para solucionar las querys....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 20/06/2013, 11:33
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Que es más optimo, tres tablas relacionadas o una relacionada con sigo mis

Una cosa es que ambos métodos funcionen y otra cual es el óptimo. El óptimo siempre es aquel donde tienes bien establecidas las entidades y sus características. Luego las relacionas apropiadamente y eso es lo que debes hacer.

Incluso hay veces que te encuentras con dos tablas en relación 1 a 1. En estos casos puede existir la tentación de hacerlas una sola tabla, pero si son dos entidades distintas no lo debieras hacar. Si son entidades distintas tablas distinas. Ya tiene sql la capacidad de unir tablas si la necesitas posteriormente.

Date cuenta que la implementación en base de datos solo es una parte del problema. Si para ahorrar algo de recursos haces una implementación equivocada en la base de datos, es probable que luego tengas que hacer mas cosas en la programación y acabes gastando mas recursos

Por cada entidad una tabla. Luego relaciona bien las entidades y con ello la programación será mucho mas eficiente.
  #4 (permalink)  
Antiguo 21/06/2013, 00:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Que es más optimo, tres tablas relacionadas o una relacionada con sigo mis

Solo agregar que después del modelo Entidad Relación esta el modelo físico, en el que no toda entidad se convierte en tablas físicas ni toda tabla física tiene su origen es una entidad del modelo ER.

Hay muchos ejemplo pero uno de los clásicos es el de distintos tipos de personas, en el modelo ER cada tipo de persona es una entidad mientras que en el modelo físico suelen convertirse en una sola tabla donde las persona se diferencian por el valor de un atributo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 21/06/2013 a las 05:24
  #5 (permalink)  
Antiguo 21/06/2013, 03:41
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Que es más optimo, tres tablas relacionadas o una relacionada con sigo mis

el principio es que cada entidad es una tabla. Lo que pasa es que efectivamente las entidades no se basan en un modelo físico sino lógico.

Por ejemplo el problema de la nacionalidad de las personas. Si pensamos en un modelo físico podemos pensar que a cada persona le corresponde una nacionalidad y que a cada naciónalidad le corresponden muchas personas. En este punto de vista aceptamos nacionalidad como "nacido en" y la relación a establecer sería uno a muchos.

Sin embargo si enfocamos el problema de la nacionalidad desde el punto de vista político, nacionalidad ya no es "nacido en" porque hay personas que por razones políticas pueden disponer de doble nacionalidad. En este caso una persona puede tener dos nacionalidades y una naciónalidad puede tener muchas personas. Sería una relación muchos a muchos.

El establecer las entidades y las relaciones entre ellas es una cuestión lógica, no física aunque a menudo ambas coincidan. Una vez se han definido las entidades que necesito una tabla por cada una y establecer las relaciones apropiadas entre ellas. Eso es lo óptimo.

Etiquetas: relacionadas, tabla, tablas, tres
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 09:33.