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

Atributos a una fila..

Estas en el tema de Atributos a una fila.. en el foro de Mysql en Foros del Web. Hola Os quiero preguntar algo sencillo pero que ya llevo algun tiempo buscando y no encuentro nada, esto quizas sea por que no se puede. ...
  #1 (permalink)  
Antiguo 02/01/2008, 04:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Atributos a una fila..

Hola

Os quiero preguntar algo sencillo pero que ya llevo algun tiempo buscando y no encuentro nada, esto quizas sea por que no se puede. Es lo siguiente...
Si inserto una nueva fila, ¿puedo hacer que una columna contenga varios atributos y se pueda formar como otro tablar conjunta? o ¿necesito declarar otra tabla paralela y que se relacione con esa fila a traves de algun identificador?

El caso seria algo como lo siguiente:
Clliente(nom, apellidos ..., factura+)
factura(fecha,importe,concepto)

Esto seria lo que deseo, hacer solo una tabla y que con el nombre del cliente pueda acceder a todo sin hacer mas busquedas en varias tablas ni ningun liote de esos.

Saludos
  #2 (permalink)  
Antiguo 02/01/2008, 08:24
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Atributos a una fila..

Se podría, pero no es eficiente...

El concepto de BD es NO repetir la información y para eso existen las formas normales.

Si lo haces en una sola tabla, repetirías muchas veces los datos por la cantidad de artículos que compre el cliente.

Te pongo un ejemplo utilizando una sola tabla.
Cliente/Factura (IDcliente, nombre, apellidos ..., Nfactura, fecha, importe, concepto)

¿Te imaginas cuantas veces se repetiría los datos del cliente, Nfactura y otros datos? Eso sería muy ineficiente y la BD se cargaría rápidamente, dando tiempos de respuesta muy lento.

Una forma sería:
Cliente(IDcliente, nombre, apellidos, direccion, fecha de registro, telefono,...)
Inventario(IDproducto, detalle, costo, precio cliente, descuento...)
Factura(IDcliente, Nfactura, fecha)
Detalle(Nfactura, consecutivo, IDproducto, cantidad)

El campo consecutivo, será el número de línea de cada producto comprado.

De esa forma, manejarías todo de forma eficiente, ya que podrías hacer lo siguiente:
-SELECT de clientes en una determinada fecha de registro.
-SELECT de facturas por cliente.
-SELECT de una factura específica con o sin el detalle de lo comprado.

Eso es solo por poner un ejemplo, el cual debes depurar más con otros campos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 04/01/2008, 05:23
 
Fecha de Ingreso: noviembre-2007
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Atributos a una fila..

Gracias...
Llevas razon, ya tenia pensado separarlo en varias tablas pero la cosa es que me quede con esa cosilla. Hare eso pero de todas formas me gustaria que me dijese donde podria encontrar informacion acerca de eso aunque en esta ocasion no la valla a usar.

PD.: FELIZ AÑO NUEVO Y A EMPEZSR CON NUEVAS ENERGIAS...!!!
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 06:52.