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

[SOLUCIONADO] Como hacer el diseño a tres niveles en base de datos

Estas en el tema de Como hacer el diseño a tres niveles en base de datos en el foro de Mysql en Foros del Web. Como tendría que hacer el diseño de una base de datos a tres niveles es decir tabla categoría, subcategoria y sub subcategoria. Alguien me orienta ...
  #1 (permalink)  
Antiguo 21/04/2014, 08:58
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Como hacer el diseño a tres niveles en base de datos

Como tendría que hacer el diseño de una base de datos a tres niveles es decir tabla categoría, subcategoria y sub subcategoria.
Alguien me orienta como se diseña este tipo de relaciones.
Saludos.
  #2 (permalink)  
Antiguo 21/04/2014, 09:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como hacer el diseño a tres niveles en base de datos

Una sola tabla, con FK que apunta a si misma.
Es un caso de manual, y todos los DBMS tienen en la documentacion de sus cursos básicos un ejemplo de ese caso.
Es la lmisma lógica de buscar el "jefe de cada empleado".
Se crea una FK nulable, donde la instancia de mayor jerarquía (el jefe) no depende de nadie, y todos los subalternos dependen de él, o de un subalterno a el, es decir, sy FK apunta a la misma tabla, pero a otro empelado.
El caso de las categorias / subcategorias sigue exactamente la misma lógica.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/04/2014, 10:29
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Como hacer el diseño a tres niveles en base de datos

Hola gnzsoloyo, entiendo lo que dices pero a dos niveles pero en tres no lo tengo muy claro.Me podrías poner un ejemplo? Saludos
  #4 (permalink)  
Antiguo 21/04/2014, 11:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como hacer el diseño a tres niveles en base de datos

Es exactamente la misma lógica:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla T1
  3.    INNER JOIN tabla T2 ON T1.id = T2.id_padre
  4.    INNER JOIN tabla T3 ON T2.id = T3.id_padre
El único problema es que necesitarás tantos JOIN como niveles tengas que encontrar, y eventualmente algunos deberán ser LEFT y no INNER.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: diseño, niveles, tabla, 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 13:31.