entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Más de una relacion entre dos entidades(Tablas) Bases de datos

Hola cordial saludo a todos, tengo la siguiente duda tengo estas dos tablas:
Producto : Almacena los productos
Unidadmedida: Almacenas las opciones de unidades de medida como Kilogramos, Litros, Cajas ETC

en producto necesito dos cosas: las unidades en que se compran los productos y las unidades en las cuales se vende, en la siguiente imagen se detalla mejor.

esto es lo que intento hacer

lo que se me ha ocurrido es relacionar dos veces producto con unidadmedida, deseo saber si esta bien así como debería relacionarlos.
Gracias!

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola @yuliandavid,

tal y como decís, te hace falta usar dos veces la tabla unidadmedida para hacer esa proyección. Para hacerlo, hacen falta usar alias para la tabla, de forma tal de que no haya ambigüedades en la query.

Sería algo como:

SELECT producto.id, UM1.nombre AS unidadcompra, UM2.nombre AS unidadventa
FROM(producto, unidadmedida AS UM1, unidadmedida AS UM2)
WHERE producto.unidadmedida_compra = UM1.id
AND producto.unidadmedida_venta = UM2.id

Saludos cordiales

PD: es una muy buena práctica de nomenclatura que los nombres de las tablas estén en plural

0voto

yuliandavid comentado

pues la verdad había leído lo contrario, que era mejor nombrarlas en singular.

2votos

Leonardo-Tadei comentado

Hola @yuliandavid,

no existe un standard y la nomenclatura de tablas, campos, variables y funciones varía bastante de una organización a otra... si bien es muy importante seguir las reglas de nomenclatura de la casa, para que el código escrito por varios se vea más homogéneo.

En muchos lugares se considera una buena práctica poner los nombres de las tablas en plural, ya que al almacenar varios registros, es más natural hablar y pensar en por ejemplo "la tabla de Clientes" o "la tabla de Comprobantes" y que la entidad se llame igual, en vez de luego tener que ir a escribirla en singular.

Luego, los campos se estila nombrarlos en singular, porque nombrarlos en plural da la idea de que se está violando la Primera Forma Normal y resulta confuso.

Igual, insisto que esto no es una regla ni una norma: hay quienes sostienen variantes de esto o todo lo contrario: lo importante es ver el motivo

Tristemente, a veces las reglas de nomenclatura se deben a tecnologías viejas que no permitían nombres largos o alias en las tablas (en los cuales tu problema ni siquiera tendría solución...) o pocas cantidad de caracteres soportados o a espacios de nombre solo en mayúsculas, con lo que un muy buen nombre podría ser COMP_VENTA_DETA en vez de algo como DetalleComprobantesVenta.

Saludos cordiales!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta