A chave estrangeira deve levar não à entidade, mas à versão atual desta entidade

Digamos que você seja responsável por melhorar as ruas. A empresa "Peter and Sons" assinou um acordo com você para pintar a cerca no endereço: Kuibyshev, Starokolpaksky perulok, 1.

Ao mesmo tempo, no nível do banco de dados, o acordo será vinculado ao endereço e à empresa .





Cinco anos depois, Peter morreu. Os filhos de Pedro continuam sua dinastia (pintura de cercas).





Agora a empresa com a qual o contrato foi assinado se chama "Boris e Denis". Ao mesmo tempo, a cidade de Kuibyshev passou a se chamar Samara. Agora, se você começar a procurar um documento para obter uma dedução fiscal, é improvável que o encontre - seu programa mostra que a empresa Boris e Denis pintou uma cerca na cidade de Samara seguindo suas instruções.





Para evitar tais incidentes, todas as versões de objetos, incluindo as obsoletas, devem ser armazenadas na tabela. Em termos de sistema de endereço, o FIAS irá ajudá-lo com isso, ele faz exatamente isso (lá, cada registro sobre o objeto de endereço armazena o identificador AOID - este é o identificador de uma versão específica do objeto, e o identificador AOGUID é o identificador do objeto de endereço como um todo, que não muda se o objeto foi renomeado ou reatribuído. Um sistema semelhante, acredito, existe não apenas para endereços, mas também para propriedades de entidades legais já registradas.





Chave estrangeira em linguagem de sinais, imagem de corchaosis.ru
Chave estrangeira em linguagem de sinais, imagem de corchaosis.ru

As chaves estrangeiras em seu banco de dados não devem conduzir de documentos a um objeto, mas a uma versão específica e real de cada objeto no momento de sua criação.





Caso contrário, o seu sistema bancário cobrará dos clientes uma porcentagem mais elevada, com base no fato de eles não residirem no endereço indicado pelo carimbo no passaporte. Mas na realidade esta é a mesma rua, costumava ser chamada de forma diferente. E assim por diante.








All Articles