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

Crear tabla de categorias y hacer busqueda en ella?

Estas en el tema de Crear tabla de categorias y hacer busqueda en ella? en el foro de Mysql en Foros del Web. Saludos gente del foro, hoy tengo una duda con lo que respecta las categorías almacenadas en una tabla y hacer búsquedas en ella. para resumir ...
  #1 (permalink)  
Antiguo 23/05/2014, 09:26
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
Pregunta Crear tabla de categorias y hacer busqueda en ella?

Saludos gente del foro,

hoy tengo una duda con lo que respecta las categorías almacenadas en una tabla y hacer búsquedas en ella.

para resumir un poco, quiero crear un sistema de contactos donde yo tengo un combo que despliega todas las categorías, si por ejemplo elegí la categoría ferretería me deberían de salir todos los contactos de ferretería almacenados, el problema esta cuando ademas de ferretería un contacto también vende productos eléctricos, entonces en el combo me sale eléctricos y debería de salirme también el contacto de ferretería que busque anteriormente, deseo hacer eso pero en sql dejando de lado la parte de programación.

la pregunta es... como almaceno las categorías, como almaceno los contactos y como hago que un contacto pueda tener varias categorías?

Gracias
  #2 (permalink)  
Antiguo 26/05/2014, 02:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Crear tabla de categorias y hacer busqueda en ella?

Tu problema es el de una relación N:M.

Es decir cada contacto puede pertenecer a M categorias y cada categoria tiene N contactos.

La solución es de libro:

Contactos
idContacto
nombre
...resto de campso

Categorias
idCategoria
categoria
...resto de campso

RelCategoriasContactos
idRelCC
idContacto
idCategoria

Debes definir FK en la tabla de relación a los identificadores de las tabla principales, un indice único compuesto de los dos identificadores anteriores, estos tambien podrian ser la PK de la tabla, pero, la PK de la tabla de relación, idRelCC, que no es estrictamente necesaria, es muy comoda.

Como se consulta

Código MySQL:
Ver original
  1. SELECT c.nombre
  2. FROM contactos c
  3.       INNER JOIN RelCategoriasContactos r
  4.             ON c.idContacto=r.idContacto
  5. WHERE r.idCategoria=X

Donde X es el identificador de Ferreteria.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 27/05/2014, 17:14
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Crear tabla de categorias y hacer busqueda en ella?

Gracias amigo,

probare y te digo como me fue saludos
  #4 (permalink)  
Antiguo 27/05/2014, 19:33
 
Fecha de Ingreso: noviembre-2013
Ubicación: New York
Mensajes: 114
Antigüedad: 10 años, 5 meses
Puntos: 1
De acuerdo Respuesta: Crear tabla de categorias y hacer busqueda en ella?

Amigo confirmado, me sirvio al 100% agradezco enormemente tu ayuda...

Etiquetas: busqueda, categorias, sql, 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 00:08.