SQL - Problema con las relaciones

   
Vista:

Problema con las relaciones

Publicado por gomez (1 intervención) el 09/06/2008 21:38:21
Hola tengo un problema que resolver para antes de mañana, es el siguiente:

yo tengo una serie de tablas y relaciones y el problema es que cuando inserto datos
en las tablas no se insertan en las relaciones automaticamente, no se mucho de sql
pero creo que lo estoy haciendo bien.

Aqui os pongo un ejemplo de mis tablas y relaciones:

CREATE TABLE Cliente(
dni varchar2(15),
nombre varchar2(15),
primerapellido varchar2(15),
segundoapellido varchar2(15),
telefono varchar2(15),
turno varchar2(9) CHECK (turno IN ('mañana', 'tarde', 'noche', 'madrugada')),
direccion varchar2(100),
descripcion long,
PRIMARY KEY (dni));

CREATE TABLE Factura(
identificacion varchar2(15),
pagado number(10,2),
total number(10,2),
restante number(10,2),
mediodepago varchar2(7) CHECK (mediodepago IN ('contado', 'tarjeta')),
serviciosadicionales long,
PRIMARY KEY (identificacion));

CREATE TABLE Seasocia(
idfactura varchar2(15) REFERENCES factura(identificacion),
dni varchar2(15) REFERENCES cliente(dni),
PRIMARY KEY (idfactura, dni));

Cuando inserto datos de una factura, quisiera que se insertaran tambien en Seasocia, o no funciona asi???

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con las relaciones

Publicado por pacopaz (143 intervenciones) el 10/06/2008 00:36:43
No, las relaciones no funcionan así. Las relaciones sirven para mantener la integridad de tus datos y que los datos que se relacionen con los datos de otras tablas mantengan la coherencia de su fuente.
Podrías hacerlo programáticamente, a través de un procedimiento (sp), para el alta de factura y que a su vez haga el alta en la asociación.
La relación que usas se refiere a una relación muchos a muchos, es decir, que un cliente puede tener muchas facturas y una factura puede ser para muchos clientes.
Tiene sentido si estás implementando facturas a pagar por varios clientes (facturas seccionadas), pero si es así, a tu relacion le hace falta algo que defina ese seccionamiento.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar