[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