Como usar regras de integridade referencial e o predicado jogo sql
regras de integridade referencial
Conteúdo
Por exemplo, você pode declarar a coluna EmpDeptNo em uma tabela EMPREGADO como uma chave estrangeira que referencia a DEPTNO coluna de uma tabela DEPT. Este confronto garante que se você gravar um empregado na tabela EMPREGADOS como trabalhar no departamento de 123, uma linha aparece na tabela DEPT onde DEPTNO é 123.
Se os membros do par de chaves / chave primária estrangeira ambos consistem em uma única coluna, a situação é bastante simples. No entanto, as duas chaves pode consistir em várias colunas. o DEPTNO valor, por exemplo, pode ser exclusivo somente dentro de um Localização- por conseguinte, exclusivamente para identificar um DEPT linha, você deve especificar um Localização e uma DEPTNO.
Se ambos os escritórios de Boston e Tampa tem um departamento de 123, você precisa identificar os departamentos como ( ‘Boston’, ‘123’) e ( ‘Tampa’, ‘123’). Neste caso, a tabela EMPREGADOS precisa de duas colunas para identificar um DEPT. Chamar essas colunas EmpLoc e EmpDeptNo. Se um empregado trabalha no departamento 123 em Boston, o EmpLoc e EmpDeptNo valores são `Boston` e ‘123’. E a declaração de chave estrangeira na tabela EMPREGADOS se parece com:
FOREIGN KEY (EmpLoc, EmpDeptNo) REFERÊNCIAS DEPT (Location, DEPTNO)
Tirar conclusões válidas a partir dos dados torna-se imensamente complicado se os dados contêm valores nulos. Isso porque às vezes você quer tratar esses dados de uma maneira, e às vezes você quer tratá-lo de outra maneira. o ÚNICO, SIMPLES, PARCIAL, e CHEIO palavras-chave especificar diferentes formas de tratamento de dados que contém valores nulos.
Se os seus dados faz conter valores nulos, sai do modo de velocidade de leitura agora e ler a seguinte lista devagar e com cuidado. Cada entrada na lista dada aqui apresenta uma situação diferente em relação aos valores nulos - e conta como a PARTIDA predicado manipula-lo.
Aqui estão cenários que ilustram as regras para lidar com valores nulos eo PARTIDA predicado:
Video: Banco de Dados - Aula 4: Chave Primária com mais de um atributo
Os valores são tanto uma forma ou de outra. Se nenhum dos valores de EmpLoc e EmpDeptNo são nula (ou ambos são nulos), em seguida, as regras de integridade referencial são os mesmos que para as chaves de coluna única com valores que são nulo ou não nulo.
Um valor é nulo e um não é. Se, por exemplo, EmpLoc é nula e EmpDeptNo não é nulo - ou EmpLoc não é nulo e EmpDeptNo é nulo - você precisa de novas regras. Ao implementar regras, se você inserir ou atualizar a tabela EMPREGADOS com EmpLoc e EmpDeptNo valores de (NULL, ‘123’) ou ( ‘Boston’, NULL), você tem seis alternativas principais: SIMPLES, PARCIAL, e CHEIO, cada uma com ou sem a ÚNICO palavra-chave.
o ÚNICO chave está presente. A linha correspondente na tabela resultado subconsulta deve ser exclusivo para que o predicado avaliar para um valor True.
Ambos os componentes da expressão valor de linha R são nulos. o PARTIDA predicado retorna um valor verdadeiro, independentemente do conteúdo da tabela de resultados subconsulta que estão sendo comparados.
Nem componente da expressão valor de linha R é nulo, SIMPLES é especificado, ÚNICO não é especificado, e, pelo menos, uma fileira na tabela de resultados subconsulta corresponde R. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Video: Restrições de Domínio em Banco de Dados - ConsultaBD
Nem componente da linha de valores de expressão de R é nulo, SIMPLES é especificado, ÚNICO é especificado, e, pelo menos, uma fileira na tabela de resultados subconsulta é único e corresponde R. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Qualquer componente da expressão valor de linha R é nulo e SIMPLES é especificado. o PARTIDA predicado retorna um valor True.
Qualquer componente do valor de linha expressão R não é nulo, PARCIAL é especificado, ÚNICO não é especificado, e a parte não nula de, pelo menos, uma fileira na tabela de resultados subconsulta corresponde R. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Qualquer componente da linha de valores de expressão de R não é nulo, PARCIAL é especificado, ÚNICO é especificado, e as partes não nulos de R coincidir com as partes não nulos de, pelo menos, uma fileira única na tabela resultado subconsulta. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Nem componente da linha de valores de expressão de R é nulo, CHEIO é especificado, ÚNICO não é especificado, e, pelo menos, uma fileira na tabela de resultados subconsulta corresponde R. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Nem componente da linha de valores de expressão de R é nulo, CHEIO é especificado, ÚNICO é especificado, e, pelo menos, uma fileira na tabela de resultados subconsulta é único e corresponde R. o PARTIDA predicado retorna um valor True. Caso contrário, ele retorna um valor False.
Qualquer componente da expressão valor de linha R é nulo, e CHEIO é especificado. o PARTIDA predicado retorna um valor False.