Como manter a integridade de domínio em um banco de dados sql multitable

Você normalmente não pode garantir que um item de dados específico em um banco de dados SQL é correta, mas você posso determinar se um item de dados é válido. Muitos itens de dados têm um número limitado de valores possíveis. Se você fizer uma entrada que não é um dos valores possíveis, que a entrada deve ser um erro.

Os Estados Unidos, por exemplo, tem 50 estados mais o Distrito de Columbia, Porto Rico, e algumas posses. Cada uma dessas áreas tem um código de dois caracteres que o Serviço Postal dos EUA reconhece. Se o seu banco de dados tem um Estado coluna, você pode impor integridade de domínio exigindo que qualquer entrada em que a coluna ser um dos códigos de dois caracteres reconhecidos.

Se um operador introduz um código que não está na lista de códigos válidos, que a entrada viola a integridade de domínio. Se você testar a integridade de domínio, você pode se recusar a aceitar qualquer operação que faz com que uma tal violação.

preocupações de integridade de domínio surgir se você adicionar novos dados a uma tabela utilizando o INSERIR declaração ou o ATUALIZAR declaração. Você pode especificar um domínio para uma coluna usando um CREATE DOMAIN declaração antes de usar essa coluna em uma CRIAR A TABELA declaração, conforme mostrado no exemplo a seguir, que cria uma tabela para grandes equipes de beisebol da liga:

CREATE DOMAIN LeagueDom CHAR (8) CHECK (VALOR EM ( `American`, `Nacional`)) - CRIAR tabela da equipe (TeamName CHAR (20) NOT NULL, Liga LeagueDom NOT NULL) -

O domínio do Liga coluna inclui apenas dois valores válidos: americano e Nacional. Será que o seu SGBD não permitem que você a cometer uma entrada ou atualização para o EQUIPE mesa a menos que o Liga coluna da linha que você está adicionando tem um valor de qualquer `Americano` ou `Nacional`.


Publicações relacionadas