Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda con Base de datos relacional (https://www.clubdelphi.com/foros/showthread.php?t=81070)

pedrolazarus 07-10-2012 02:15:04

Ayuda con Base de datos relacional
 
Bueno pasa lo siguiente:
Tengo las tablas cliente, producto, factura


Código:

cliente(CI ,nombre) primerykey(CI)


productos(codigo_p, nombre_p, cantidad_p, precio_p) primerykey (codigo_p)

Entonces para facturar hago la siguiente tabla


Código:

Factura(cod_fact, fecha_fact, total_fact, CI_cliente, codigo_p) primerykey (cod_fact)

El problema esta en que cuando voy a registrar los productos solo se guarda uno por factura cuando deberían ser muchos o los que el cliente requiera, ¿Como corrijo esto?

Se los agradesco de antemano

movorack 07-10-2012 03:26:21

Tu tabla de ventas debe tener una cabeza y un detalle. En el detalle debes registrar los artículos que compre el cliente yen la cabeza la info gral de la venta.

mRoman 07-10-2012 04:49:03

Si, lo que te dice Movorack es correcto. Ademas en tu tabla factura, no debes incluir el campo "codigo_p"....estos campos deben de ir en tu tabla "factura_detalle", el cual contendrá todos los productos de tu factura.

La llave primaria de tu tabla "factura_detalle" será cod_fact, codigo_p.....y tu tabla FACTURA, contendra solamente como llave primaria cod_fact....es decir:

FACTURA
cod_fact
ci
fecha_factura
(demas campos)

FACTURA_DETALLE
cod_fact
codigo_p
cantidad_de_productos
precio_unitario_producto
(etc.,etc.)

Espero quede mas claro.....una pregunta sin temor a ofender (q espero asi lo tomes), es simplemente para usar un lenguaje menos técnico....eres novato en base de datos relacionales?.
Saludos

pedrolazarus 07-10-2012 05:13:50

Cita:

Empezado por mRoman (Mensaje 446559)
Si, lo que te dice Movorack es correcto. Ademas en tu tabla factura, no debes incluir el campo "codigo_p"....estos campos deben de ir en tu tabla "factura_detalle", el cual contendrá todos los productos de tu factura.

La llave primaria de tu tabla "factura_detalle" será cod_fact, codigo_p.....y tu tabla FACTURA, contendra solamente como llave primaria cod_fact....es decir:

FACTURA
cod_fact
ci
fecha_factura
(demas campos)

FACTURA_DETALLE
cod_fact
codigo_p
cantidad_de_productos
precio_unitario_producto
(etc.,etc.)

Espero quede mas claro.....una pregunta sin temor a ofender (q espero asi lo tomes), es simplemente para usar un lenguaje menos técnico....eres novato en base de datos relacionales?.
Saludos


Gracias Por la respuesta, ¿Como te diste cuenta que soy novato? :confused:...............................:D

mayormente hacia aplicaciones muy tecnicas, o sea metiendome con el codigo de windows entre otras cosas que si necesitaban BD eran muy sencillas, en cuanto a las relacionales estoy empezando a estudiar, viendo algunos videos de youtube y pues preguntando, que mas se hace.

Casimiro Notevi 07-10-2012 10:53:37

En nuestro "FTP" tienes un programa completo de facturación hecho por Caral, que lo puso como ejemplo. Te puede servir para aprender.
Además hay tutoriales, libros, etc.


La franja horaria es GMT +2. Ahora son las 01:14:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi