[Php-avanzado] Consultas normalización de tablas

Rodrigo Fernandez shodri en gmail.com
Mar Abr 21 00:19:41 ART 2015


Gracias Leo, me había olvidado de la relación N-N je.

Es para un mayorista de alambres que vende distintos productos a distintos
distribuidores y vendedores con casi una lista de precios distinta para
cada uno... una joda bárbara.

Software de licencia de música y video ? No estoy muy familiarizado con el
concepto. Se sigue vendiendo música y video ?

El 20 de abril de 2015, 23:29, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:

> Hola Rodrigo,
>
>         entonces, para esa descripción del problema, las tablas quedarían:
>
>
> Accesos: id, usuario, contraseña, nivel.
>
> Vendedores: id, nom, ape, mail, tel, doc, id_acceso.
>
> Distribuidores: id, rsoc, mail, tel, cuit, id_acceso.
>
> Productos: id, nombre.
>
> Productos_Vendedores: id, id_vendedor, id_producto
>
> Productos_Distribuidores: id, id_distribuidor, id_producto
>
>
>         Al tener los distribuidores y vendedores más de un producto, la
> Normalización dice que los tenés que pasar a otra tabla y establecer una
> relación N a N.
>         Se puede hacer una chanchada asquerosa que sería tener dos
> "id_producto" en Vendedores y en Distribuidores para "ahorrarte" las
> relaciones N-N, pero tiene tantas contras luego que de veras no vale la
> pena... además de lo feo que queda cuando alguien que evalúe tu trabajo
> vea tu código.
>
>         Para el problema de los accesos, no hay nada particular salvo haber
> Normalizado.
>
>         Saludos cordiales!
>
>
> PD: es para un software de distribución de licencias de música o videos?
>
>
>
> El lun, 20-04-2015 a las 21:39 -0300, Rodrigo Fernandez escribió:
> > Los vendedores venden dos productos distintos y los distribuidores
> > también dos.
> >
> >
> > Si, la tabla productos es id y des que seria la descripción o el
> > nombre de producto
> >
> > El 20 de abril de 2015, 21:35, Leonardo Tadei - Pegasus Tech Supply
> > <leonardot en pegasusnet.com.ar> escribió:
> >         Los vendedores venden un solo producto?
> >
> >         Los distribuidores distribuyen un solo producto?
> >
> >         La tabla Productos tiene además un ID?
> >
> >
> >         El lun, 20-04-2015 a las 21:09 -0300, Rodrigo Fernandez
> >         escribió:
> >         > Tablas:
> >         >
> >         >
> >         > Accesos: usuario, contraseña, nivel, id_producto, (id_vd,
> >         vd) ->estas
> >         > últimas  no irian
> >         >
> >         >
> >         > Vendedores: nom, ape, mail, tel, doc, id_prod
> >         >
> >         >
> >         > Distribuidores: rsoc, mail, tel, cuit, id_prod
> >         >
> >         >
> >         > Productos: nombre.
> >         >
> >         >
> >         > No es complicado, pero algo no anda bien con la tabla
> >         accesos.
> >         > Es decir, cómo sé desde la tabla accesos si es distribuidor
> >         o vendedor
> >         > y que los id no se me superpongan en las respectivas
> >         tablas...
> >         >
> >         >
> >         >
> >         > El 20 de abril de 2015, 16:30, Leonardo Tadei - Pegasus Tech
> >         Supply
> >         > <leonardot en pegasusnet.com.ar> escribió:
> >         >         Rodrigo,
> >         >
> >         >                 parece que estás frente a un problema de
> >         >         Normalización.
> >         >                 Enviá todos los datos que haya que guardar y
> >         tus
> >         >         tablas tentativas para
> >         >         revisarlo... sospecho que surgirán 1 o 2 tablas
> >         nuevas luego
> >         >         de llevado
> >         >         a 3ra Forma Normal.
> >         >
> >         >                 saludos!
> >         >
> >         >
> >         >         El lun, 20-04-2015 a las 15:37 -0300, Rodrigo
> >         Fernandez
> >         >         escribió:
> >         >         > Que tal tanto tiempo.
> >         >         >
> >         >         >
> >         >         >     Tengo un problema con unas tablas.
> >         >         >
> >         >         >
> >         >         > Pasa lo siguente: En un sistema tengo vendedores y
> >         >         distribuidores (V y
> >         >         > D)... a su vez ambos comercializan dos productos
> >         distintos
> >         >         (1 y 2)
> >         >         > Por lo que tengo V1, V2, D1, D2.
> >         >         >
> >         >         >
> >         >         > Lo que hice fue hacer dos tablas una de
> >         distribuidores y
> >         >         otra de
> >         >         > vendedores. Cada una con un id_producto para
> >         diferenciar el
> >         >         producto
> >         >         > que venden.
> >         >         >
> >         >         >
> >         >         > El problema es que yo guardo los datos de usuario,
> >         >         contraseña, etc en
> >         >         > una tabla de  "accesos" y se me complica a la
> >         ahora de
> >         >         relacionar
> >         >         > tabla con las otras dos. Si yo en esa tabla
> >         "accesos" guarde
> >         >         el id del
> >         >         > vendedor para relacionarlo a los datos del mismo,
> >         se me
> >         >         puede
> >         >         > superponer con un id igual de un distribuidor.
> >         ¿Cómo hago
> >         >         para
> >         >         > distinguirlos?
> >         >         >
> >         >         >
> >         >         > Por lo que termine haciendo una mamarrachada de
> >         con una "v"
> >         >         o una "d"
> >         >         > distingo si es vendedor o distribuidor para
> >         después con un
> >         >         campo id_vd
> >         >         > que me dice el id del que sea.
> >         >         >
> >         >         >
> >         >         > Pensé también en pasar todo a una misma tabla
> >         "clientes" y
> >         >         usar un
> >         >         > campo tipo v/d para distinguir si es vendedor o
> >         distribuidor
> >         >         pero me
> >         >         > parece que no es LA solución correcta.
> >         >         > Los datos que guardo de ambos son casi los mismos.
> >         Uno es
> >         >         dni y el
> >         >         > otro cuit, uno es nom y ape, el otro razon
> >         social...
> >         >         >
> >         >         >
> >         >         >
> >         >         > No se si se entiende bien el problema.
> >         >         >
> >         >         >
> >         >         > Porai me estoy complicando de gusto y uds me dan
> >         alguna
> >         >         solución.
> >         >         >
> >         >         >
> >         >         > Si necesitan que aclare algo me dicen...
> >         >         >
> >         >         >
> >         >         > Saludos !
> >         >         >
> >         >         >
> >         >
> >         >         > _______________________________________________
> >         >         > Lista de correo: Php-avanzado
> >         >         > Mensajes a la lista:
> >         Php-avanzado en pato2.fi.mdp.edu.ar
> >         >         > Administración Web:
> >         >
> >          http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >         >         > Desubscripción:
> >         >
> >          php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >         >
> >         >         --
> >         >         Leonardo Tadei
> >         >         leonardot en pegasusnet.com.ar
> >         >         Web: http://leonardo.tadei.com.ar
> >         >         Firma pública:
> >         >
> >          http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >         >
> >         >         _______________________________________________
> >         >         Lista de correo: Php-avanzado
> >         >         Mensajes a la lista:
> >         Php-avanzado en pato2.fi.mdp.edu.ar
> >         >         Administración Web:
> >         >
> >          http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >         >         Desubscripción:
> >         >
> >          php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >         >
> >         >
> >         >
> >         > _______________________________________________
> >         > Lista de correo: Php-avanzado
> >         > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> >         > Administración Web:
> >         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >         > Desubscripción:
> >         php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >
> >         --
> >
> >         Leonardo Tadei
> >         leonardot en pegasusnet.com.ar
> >
> >         Pegasus Tech Supply
> >         Tel: (+54)(+223) 471-2880
> >         La Salle 1131 - Mar del Plata - Argentina
> >         http://www.pegasusnet.com.ar
> >         http://www.grupopegasus.com
> >         Firma pública:
> >         http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >
> >         _______________________________________________
> >         Lista de correo: Php-avanzado
> >         Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> >         Administración Web:
> >         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >         Desubscripción:
> >         php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >
> >
> >
> > _______________________________________________
> > Lista de correo: Php-avanzado
> > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> > Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Web: http://leonardo.tadei.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20150421/ec337b66/attachment-0001.html>


Más información sobre la lista de distribución Php-avanzado