Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

duda con la infomacion que quiero ingresar

Estas en el tema de duda con la infomacion que quiero ingresar en el foro de Mysql en Foros del Web. hola les cuento he hecho un aplicacion de tienda online, pasa que la duda es que sera recomendable que en la tabla pedido este registrado ...
  #1 (permalink)  
Antiguo 03/04/2016, 10:18
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años, 1 mes
Puntos: 0
duda con la infomacion que quiero ingresar

hola les cuento he hecho un aplicacion de tienda online, pasa que la duda es que sera recomendable que en la tabla pedido este registrado el nombre del producto y los datos como nombre, apellido, direccion del cliente en vez del id de producto y el id cliente.

esto por que lo estaba pensando, si el dueño de la tienda elimina el producto o el cliente no se va a mostrar el pedido ya que si hago un cruze no va encontrar el registros.

yo se que es redundancia de informacion pero desde ese punto de vista sera recomendable.

saludos
  #2 (permalink)  
Antiguo 03/04/2016, 10:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda con la infomacion que quiero ingresar

No, No es recomendable.
Lo que tienes que hacer es diseñar la base de modo que pueda conservar la información de modo consistente, y los procesos de modo que cumplan con esos requerimientos.
Lo que describes como base es insuficiente para administrar una tienda en la Web.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/04/2016, 11:08
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: duda con la infomacion que quiero ingresar

ok, lo que tu me dices es que en cada registros agregue un campo llamado por ejemplo eliminir y dejarlo en estado 1 cuando el usuario lo elimina.

saludos
  #4 (permalink)  
Antiguo 03/04/2016, 11:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda con la infomacion que quiero ingresar

En realidad es mucho más complejo que eso...

Ahora no estoy ante la Notebook, luego me explayo mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/04/2016, 12:06
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: duda con la infomacion que quiero ingresar

ok voy a estar atento
  #6 (permalink)  
Antiguo 03/04/2016, 16:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda con la infomacion que quiero ingresar

Cita:
Iniciado por contactoenlacevisual Ver Mensaje
hola les cuento he hecho un aplicacion de tienda online, pasa que la duda es que sera recomendable que en la tabla pedido este registrado el nombre del producto y los datos como nombre, apellido, direccion del cliente en vez del id de producto y el id cliente.

esto por que lo estaba pensando, si el dueño de la tienda elimina el producto o el cliente no se va a mostrar el pedido ya que si hago un cruze no va encontrar el registros.

yo se que es redundancia de información pero desde ese punto de vista sera recomendable.

saludos
Primera regla fundamental del diseño de sistemas comerciales: Los productos JAMAS se borran. NUNCA. Tampoco se hace con los CLIENTES.
Los productos se dan de baja del listado de ventas disponible, pero NO se eliminan del sistema, precisamente para evitar problemas de consistencia y permitir la trazabilidad histórica.

Eso se hace de una forma tan simple como poner dos campos adicionales. 1) Fecha de baja, y 2) usuario que realizó la baja.

Respecto a los datos de clientes o productos, un sistema de ventas, sin importar que sea en Web o con comercios físicos (atención al publico), SIEMPRE almacena la información de una forma normalizada. Esto implica que JAMÁS se duplican datos, NUNCA se plantean procesos que no sean trazables en el tiempo, y NO se deben generar redundancias nocivas.
Las tablas que se relacionan a las ventas en si, pueden ser, por ejemplo:
- Producto: Contiene solo los datos propios del producto. Puede dividirse en mas si el caso requiere.
- Stock_Producto: Refleja el estado de los productos en almacén.
- Compras_producto: Refleja el movimiento de ingreso de los productos en almacén.
- Movimiento_producto: De existir permite reflejar las entradas, salidas y devoluciones de las operaciones canceladas.
- Pedido: Sólo la cabecera del pedido. Datos generales.
- Detalle_pedido: Detalle de cada pedido, item por item.
- Cliente: Solo datos propios del cliente, incluyendo los impositivos.
- Factura: Encabezado de la factura.
- Detalle_factura: Lista de items a cobrar. Puede corresponder a más de un pedido.
- Pago: Relaciona la Factura, el medio de pago y la emisión del pago. No puede estar integrada a la factura.
- Medios_Pago Medios de pago habilitados. El sistema no es funcional a menos que especifiques los medios de pago que se pueden usar, los que pueden variar en el tiempo.
- Movimiento_diario: Log de las operaciones en débito, crédito y caja de lo que se hace.

Esto es solo para comenzar... Claro, si quieres hacer algo que FUNCIONE en el mundo REAL.


En esencia, las tablas deben tener un diseño tal que con la consulta adecuada puedas contar con los datos necesarios. Los DBMS se optimizaron precisamente para trabajar con consultas de JOIN, las que permiten obtener con gran eficiencia y precisión los datos buscados, siempre y cuando estén correctamente escritas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 03/04/2016, 18:15
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: duda con la infomacion que quiero ingresar

muchas gracias me quedo todo claro lo que escribiste. voy a modificar mis tablas y agregar esos dos campos.

la unica duda es esto, a que te refieres:NO se deben generar redundancias nocivas.

es no repetir datos?.

saludos
  #8 (permalink)  
Antiguo 03/04/2016, 20:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda con la infomacion que quiero ingresar

Cita:
es no repetir datos?.
Exactamente.
Una de las reglas del modelo E-R es que no se debe replicar datos entre tablas.Cada dato pertenece a su entidad, y la obtención de tales datos se debe hacer mediante consultas.
En un breve ejemplo:
¿A quien pertenece el atributo NombreProducto? ¿A Producto o a Pedido?
Obviamente, es un atributo propio de Producto. El pedido puede tener número de pedido, fecha, y un detalle de items, para los cuales sólo requiere el IdProducto. El nombre del producto se obtiene a través de la relación, pero no pertenece al dominio de la entidad Pedido.
Se entiende?

Si lo replicas, y luego por alguna razón debes corregirlo o modificarlo, tendrás que hacerlo en todas y cada una de las tablas y registro donde ese dato se haya replicado... Lo que implica hacer procesos de mantenimiento de consistencia de datos.
Pero si solo está en su tabla origen... solo modificas un único registro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 04/04/2016, 08:41
 
Fecha de Ingreso: marzo-2015
Mensajes: 96
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: duda con la infomacion que quiero ingresar

ok muchas gracias , me sirvio mucho y ahora voy a cambiar el esquema de la db.


muchas gracias

Etiquetas: quiero, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:10.