Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/03/2013, 16:55
geofran80
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Buscar en campo delimitado por pipes

Hola mega0079,

Si estás usando una base de datos de ese tipo, lo más usual, es que para obtener Bases de Datos relacionales, te asegures de que cumple con las Formas Normales que permiten evitar datos redundantes y que las consultas sean más efectivas.

Esa tabla que muestras está por lo tanto incumpliendo con una de las formas normales, en concreto la primera, que dice algo así como que la relación (denominada así dentro del modelo lógico) no deben existir campos con valores múltiples (en tu caso el valor de familias).

Por lo tanto lo suyo es dividir tu tabla en las siguientes:

idProducto | nombre
125 | Producto 1
126 | Producto 2


ProductosPorFamilia
idProducto | idFamilia
125 | 12
125 | 45
125 | 85
125 | 65
126 | 45
126 | 11
126 | 2

Esto nos lleva a crear otra tabla:

IdFamilia | Familia
2 | DescripcionFamilia2
11 | DescripcionFamilia11
12 | DescripcionFamilia12
45 | DescripcionFamilia45
65 | DescripcionFamilia65
85 | DescripcionFamilia85

De todos modos habría que estudiar un poco más detalladamente a qué se refieren cada uno de los atributos de las tablas por si hay que seguir normalizando, porquen este caso ambos campos en la tabla ProductosPorFamilia crearían la Primary Keys o clave primaria identificativa de la tabla, procediendo de las otras tablas como claves foráneas o Foreign Keys.

Saludos cordiales.
Francisco J.