[Php-avanzado] Consultas normalización de tablas
Rodrigo Fernandez
shodri en gmail.com
Mie Abr 22 17:10:59 ART 2015
Ok, Gracias por la asistencia técnica Leo y Nicolás.
Saludos !
El 21 de abril de 2015, 9:31, Leonardo Tadei - Pegasus Tech Supply <
leonardot en pegasusnet.com.ar> escribió:
> Hola Rodrigo!
>
> El mar, 21-04-2015 a las 00:19 -0300, Rodrigo Fernandez escribió:
> > 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.
>
> Mmmm... entonces, hay un modelo normalizado mejor: que vendedores y
> distribuidores sean "clientes" y que tengan un "tipo de cliente" que
> será vendedor o distribuidor.
> Luego, por el tipo de cliente, determinás la lista de precios...
>
> Los datos de ambos son los mismos, ya que basta poner "apellido o
> razón
> social" en la etiqueta del campo.
>
> > Software de licencia de música y video ? No estoy muy familiarizado
> > con el concepto. Se sigue vendiendo música y video ?
>
> Muchísimo! Te dería que cada vez más, aunque los medios y tipos de
> licenciamiento van cambiando. Te preguntaba porque me sonaba de otras
> consultas, en que las distribuidoras eran las discográficas y los
> vendedores las tiendas.
>
> Saludos!
>
>
> > 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
> >
> >
> >
> > _______________________________________________
> > 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/20150422/abd9a840/attachment-0001.html>
Más información sobre la lista de distribución Php-avanzado