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)
-   -   Claves foraneas (https://www.clubdelphi.com/foros/showthread.php?t=53668)

Jcarloscgl 26-02-2008 20:55:05

Claves foraneas
 
Como puedo implementar una relacion de uno a muchos, Ejemplo Cliente tarifario, pero algunos cliente no tienen tarifario asignado. Aparentemente firebird no permite que un columna que participe en una relacion tenga null.

Gracias
Juan Carlos Guerrero

maeyanes 26-02-2008 21:26:26

Hola...

Si es posible hacer que una relación tenga valores nulos...

Para esto debes declarar el campo que fungirá como llave foranea para que acepte nulos:

Código SQL [-]
create table Tarifario (
id_cliente Integer,
campo1 varchar(10)
);

Luego cuando creas el constraint de la llave foránea:

Código SQL [-]
alter table Tarifario add constraint Tarifario_Ref_Cliente foreign key id_cliente 
reference Cliente(id_cliente) on delete null on cascade update;

Así pues, puedes tener un Tarifario que no tenga Clientes asociados...

Espero te sirva...


Saludos...

mamaro 26-02-2008 21:38:57

Hola
 
La cláusula "check" te puede servir, es un poco más manual pero ... que le vamos a hacer, la vida es así.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 11:36:33.

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