<br><br><div class="gmail_quote">El 12 de julio de 2010 14:40, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
Hola Gerardo,<br>
<br>
El lun, 12-07-2010 a las 10:30 -0300, Gerardo Valiani escribió:<br>
<div>> Hola Gerardo!<br>
><br>
> seguro que hay una solución normalizada para esto.<br>
> Con el asunto de que la normalización sigue a un modelo<br>
> matemático, todo conjunto de datos es normalizable.<br>
><br>
> Para normalizarlo, tenés que partir de la lista de<br>
> todas las<br>
> cosas a guardar: tenés esa lista armada???<br>
><br>
><br>
> No. No tengo esa lista. Con lo cual, me doy cuenta que quiero hacer<br>
> algo que es imposible. El problema es que ni el cliente conoce todos<br>
> sus productos.<br>
<br>
</div> Esto no es necesariamente un problema, porque lo que tenés que<br>
encontrar son estructuras, no datos.<br>
Por ejemplo, sabés como normalizar direcciones con ciudades, provincias<br>
y países sin saber ni todos los países que serán cargados, y sabiendo<br>
incluso que es raro que alguien sepa todas las provincias de todos los<br>
países, y ni hablar de las ciudades...<br>
<br>
Me explico?<br></blockquote><div><br>Si, perfectamente. El tema es que el cliente no conoce la estructura. <br></div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<div><div></div><div><br>
<br>
> Las tablas resultantes dependen únicamente de los datos<br>
> a<br>
> guardar...<br>
><br>
> Generalmente esas soluciones para el caso que planteás,<br>
> en el<br>
> peor escenario, quedan de la forma:<br>
><br>
> Artículos:<br>
> id<br>
> cod<br>
> des<br>
><br>
> Atributos:<br>
> id<br>
> atributo<br>
><br>
> AtributosArticulos:<br>
> id<br>
> id_articulo<br>
> id_atributo<br>
> medida<br>
><br>
> ... es decir, una relación muchos a muchos entre los<br>
> Artículos y<br>
> sus Atributos.<br>
> Fijate que ahora para el atributo "largo" usado en el<br>
> tornillo,<br>
> pondrás los mm de la longitud, y para el atributo "apertura"<br>
> usada en la<br>
> pinza pondrás cuanto abre.<br>
><br>
><br>
> Que sencillo! No me habia dado cuenta.<br>
<br>
</div></div> No es nada genial de mi parte: es solo la normalización.<br>
(los geniales acá fueron Boyd y Codd ! )<br>
<div><br></div>
<div><br>
> Para esto se me ocurrio agregar otra tabla "valores" con los campos:<br>
> id, valor. Y cambiar en la tabla AtributosArticulos el campo medida,<br>
> por id_valor.<br>
> * Con esta normalizacion el campo medida o valor, sera siempre del<br>
>mismo tipo, varchar. Creo que seria el mas adecuado. No podre variar<br>
>con integer, float, etc. En si, en la gran mayoria de los atributos, no<br>
>voy a hacer calculos. Por lo que el tipo varchar creo que estaria bien.<br>
>Que opinan al respecto?<br>
><br>
</div> Muy complicado...<br>
Lo que podrías hacer, asumiendo que los Artículos estén además<br>
organizados por Rubros (o SubRubros) es que el sistema defina atributos<br>
para cada rubro, de manera tal de que cuando cargue un destornillador,<br>
solo le aparezcan los atributos que le corresponden.<br>
Esto es más largo de poner en marcha, pero más preciso. Además si el<br>
usuario cargó que un atributo de los destornilladores es "de cruz", lo<br>
edita, y automáticamente todos pasan a decir "phillips".<br>
<div><br></div></blockquote><div>Si, voy a hacer esto. Va a ser lo mejor. </div><div>Ahora, como hago un tabla de rubro y subrubros. Pienso en campos como: id, id_padre, rubro. Donde id_padre seria un id de la misma tabla de algun rubro ya cargado. Ahora si esto esta bien, como hago una query que me devuelva todo el arbol de rubros y subrubros? Me mato!</div>
<div> </div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<div><br></div>
Bien, llegados a este punto, pregunto: tenés que emitir listados<br>
organizados por los criterios de los atributos? qué rol funcional<br>
cumplen en el sistema?<br></blockquote><div><br>A primeras, no tienen rol funcional. Pero en el futuro habran informes. Ej: mostrar la cantidad de articulos vendidos en el ultimo mes agrupados por marca, y packaging. Por dar un ejemplo. <br>
</div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
Porque si es solo para tener la descripción, poné un campo text para<br>
que escriban lo que quieran, y creale un índice fulltext para buscar con<br>
LIKE ahí adentro lo que sea que hayan escrito... si no lo encuentran, es<br>
porque no lo escribieron así, y no hay reclamo.<br></blockquote><div><br></div><div>Fue lo primero que pense. Pero por el tema de los informes me heche atras.</div><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<br>
Reordá la "metodología de programación" KISS !!!<br></blockquote><div>Ni idea de eso. Lo voy a googlear.</div><div><br></div><div>Saludos!</div></div>