Hola, tengo tres tablas Libro, Autor y Cliente.
Libro y Autor están vinculadas con una relación de tipo
identifying relationship donde la la tabla Parent es Autor, el campo FK es CodigAutor.
Código SQL
[-]ALTER TABLE Libro WITH NOCHECK
ADD CONSTRAINT R_1 FOREIGN KEY (CodigAutor) REFERENCES Autor(CodigAutor)
ON UPDATE CASCADE
Libro y Cliente, Están vinculadas en una relacion de tipo
non identifying relationship, la tabla parent es Cliente, el campo FK es CodigClien.
Al intentar hacer esto:
Código SQL
[-]ALTER TABLE Libro WITH CHECK
ADD CONSTRAINT R_2 FOREIGN KEY (CodigClien) REFERENCES Cliente(CodigClien)
ON DELETE CASCADE
ON UPDATE CASCADE
SQL Server me da este error:
Cita:
[Microsoft][SQL Server Native Client 10.0][SQL Server]Si especifica la restricción FOREIGN KEY 'R_2' en la tabla 'Libro', podrían producirse ciclos o múltiples rutas en cascada. Especifique ON DELETE NO ACTION o UPDATE NO ACTION, o bien modifique otras restricciones FOREIGN KEY.
[Microsoft][SQL Server Native Client 10.0][SQL Server]No se pudo crear la restricción. Consulte los errores anteriores.
Execution Failed!
|
Cual es el problema con este código no entiendo que problema podría acarrear en el diseño de la BD estas relaciones que estoy intentando.
Gracias de antemano.