Bidirectional foreign key constraint
I'm thinking of designing a database schema similar to the following: Person ( PersonID int primary key, PrimaryAddressID int not null, ... ) Address ( AddressID int primary key, PersonID int not null, ... ) Person.PrimaryAddressID and Address.PersonID would be foreign keys to the corresponding tables. The obvious problem is that it's impossible to insert anything into either table. Is there any way to design a working schema that enforces every Person having a primary address? "I believe this is impossible. You cannot create an Address Record until you know the ID of the person and you cannot