Q:

Circular Reference between Workers + Projects and Employers in SQL Database

I have a list of Employers and Workers. I need to register the projects an Worker has made for the different Employers but I also need to know the current Worker's Employer. I have:
create table dbo.Employers
(
  Id int identity not null 
  Name nvarchar not null
);

create table dbo.Workers
(
  Id int identity not null 
  CurrentEmployerId int not null, -- FK
  Name nvarchar (120) not null, 
);

create table dbo.Projects
(
  Id int identity not null 
  WorkerId int not null, -- FK  
  EmployerToWhichTheProjectWasMadeId int not null, -- FK
  Name nvarchar (120) not null,      
);

In dbo.Workers I have an EmployerId FK which states the current Employer.
In dbo.Projects I have two FKs: WorkerId and EmployerId which states that the project was made by Worker X to Employer Y. And since Worker X has a FK Employer that Worker X works currently for Employer Z.
Don't I get a circular reference because of this?
How can I avoid this?

A:

in the model you have, a worker can work in a project that doesn't belong exclusively to its employer. If that's a valid scenario then the model is correct. If that is not possible then you may be able to remove employer id from project as employer will be determined by the worker.

