É aceitável ter uma referência circular entre duas tabelas no campo de chave estrangeira?
Se não, como essas situações podem ser evitadas?
Se sim, como os dados podem ser inseridos?
Abaixo está um exemplo de onde (na minha opinião) uma referência circular seria aceitável:
CREATE TABLE Account
(
ID INT PRIMARY KEY IDENTITY,
Name VARCHAR(50)
)
CREATE TABLE Contact
(
ID INT PRIMARY KEY IDENTITY,
Name VARCHAR(50),
AccountID INT FOREIGN KEY REFERENCES Account(ID)
)
ALTER TABLE Account ADD PrimaryContactID INT FOREIGN KEY REFERENCES Contact(ID)