Hola...
Si es posible tener claves (o llaves) foráneas (foreigns keys) con valores nulos (del lado del la tabla que hace la referencia)...
Algo como esto:
Código SQL
[-]
create table Master (
id integer not null,
clave char(2) not null,
descripcion varchar(50) not null);
alter table Master add constraint PK_Master primary key (Id);
create table Detail (
id integer not null,
id_master integer,
clave char(2) not null,
descripcion varchar(50) not null);
alter table Detail add constraint PK_Detail primary key(id);
alter table Detail add constraint FK_Det_Ref_Master foreign key (id_master) references Master(id)
on delete cascade on update cascade;
Saludos...