Estou projetando um banco de dados para E-comercial. Portanto, o Cliente tem muitos endereços e também 1 endereço também possui muitos clientes, então eu tenho outra tabela CustomerAddress (relação muitos para muitos). Aqui detalhe:
Cliente:
- ID do cliente (PK)
- Nome
- Data de nascimento
EndereçoNota:
- EndereçoNotaID (PK)
- AddressID (FK) (tem relacionamento com a tabela de cidades, então não vou mencionar isso aqui)
Endereço do cliente :
ID do cliente (PK)
EndereçoNotaID (PK)
PhoneNumber (O número de telefone aqui indica quem será chamado no momento da entrega naquele endereço)
Meu problema é que quero que 1 cliente tenha vários endereços, mas tenha 1 único endereço padrão. Então estou pensando em adicionar mais uma coluna IsDefault (bool) na tabela CustomerAddress. Mais tarde, me sinto errado porque ainda é permitido que o cliente tenha dois endereços diferentes e ambos definam o endereço padrão. Acredito que a validação em nível de aplicativo pode lidar com isso, mas quero restrições de banco de dados. Existe alguma maneira de projetar essas restrições. Sou apenas iniciante, então agradeço qualquer instrução.