[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