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

mejor manera para estructura tabla

Estas en el tema de mejor manera para estructura tabla en el foro de Mysql en Foros del Web. Hola lo que pretendo es hacer la estructura de mi tabla para que sea rapida, serian estos campos tabla id categoria subcategoria Las consultas que ...
  #1 (permalink)  
Antiguo 20/03/2015, 06:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
mejor manera para estructura tabla

Hola lo que pretendo es hacer la estructura de mi tabla para que sea rapida, serian estos campos

tabla

id
categoria
subcategoria

Las consultas que realizara seran mostrar la categoria y las subcategoria esta ultima es donde esta mi duda, las consultas son estas:

Código MySQL:
Ver original
  1.     tabla
  2. WHERE categoria='antiguos' AND subcategoria='electrodomesticos';

o bien esta

Las consultas que realizara seran estas

Código MySQL:
Ver original
  1.     tabla
  2. WHERE subcategoria='antiguos electrodomesticos';
  #2 (permalink)  
Antiguo 20/03/2015, 06:44
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, 4 meses
Puntos: 2658
Respuesta: mejor manera para estructura tabla

¿La "mejor"?
Bueno, mas allá de que no existe lo "mejor" en BBDD, sino lo adecuado para un escenario en particular, lo usual es esto:
Cita:
CATEGORIA(categoria_id, descripcion, categoria_padre)
donde el tercer campo es una FK que apunta a la misma tabla.
Es una dependencia 1:N hacia la propia tabla que te permite definir tantas categorías y subcategorías como se necesiten, en los niveles que sean necesarios.
El campo debe ser nulable, para dejarlo nulo en la categoría padre.

Es el mismo esquema de empleado->Jefe, algo que encontrarás en todos los ejemplos de diseño de estructuras.
__________________
¿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 20/03/2015, 08:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: mejor manera para estructura tabla

Hola, creo entenderte partiendo de estos datos, entonces la consulta para mostrar los productos antiguos en general seria algo asi?

categoria_id
1
2
descripcion
antiguos
electrodomesticos
categoria_padre
NULL
1

mostrar categoria padre
Código MySQL:
Ver original
  1.     tabla
  2. WHERE descripcion='antiguos';


y para mostrar una subcategoria

Código MySQL:
Ver original
  1.     tabla
  2. WHERE descripcion='electrodomestico' and categoria_padre=1;


Segun entiendo una de las ventajas seria que podria indexar el campo descripcion, ya que seria las dos consultas mas utilizadas, no se si te entendi bien?

Otra duda en el campo categoria_id podria usar una cadena de texto ya que seria una variable pasada con pogramacion o seria mejor un entero y con programacion adaptarlo? en el ejemplo sql que puse utilice una cadena.
saludos

Etiquetas: campo, estructura, manera, select, tabla
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 10:37.