Como usar o jogo em instruções sql
integridade referencial envolve manter a consistência em um banco de dados SQL multitable. Você pode perder a integridade adicionando uma linha a uma tabela filho que não tem uma linha correspondente na tabela pai da criança. Você pode causar problemas semelhantes, eliminando uma linha de uma tabela pai se linhas correspondentes a essa linha existir em uma tabela filho.
Conteúdo
Video: DatabaseCast 19: Otimização de instruções SQL
Suponha que sua empresa tem uma tabela de clientes que mantém o controle de todos os seus clientes e uma tabela de vendas que registra todas as transações de vendas. Você não quer adicionar uma linha a VENDAS até depois de entrar o cliente fazer a compra na tabela de clientes. Você também não deseja excluir um cliente da tabela de clientes se o cliente fez compras que existem na tabela de vendas.
Antes de executar uma inserção ou deleção, você pode querer verificar a linha candidata para se certificar de que a inserção ou excluir essa linha não causa problemas de integridade. o PARTIDA predicado pode executar essa verificação.
Video: FIFA 17 - TUTORIAL INSTRUÇÕES DOS JOGADORES #2
Digamos que você tenha uma tabela de clientes e uma tabela SALES. Identificação do Cliente é a chave primária da tabela do cliente e atua como uma chave estrangeira na tabela de vendas. Cada linha na tabela o cliente deve ter um único Identificação do Cliente que não é nulo.
Identificação do Cliente não é único na tabela de vendas, porque repetir os clientes compram mais do que uma vez. Esta situação é bom- não ameaçam a integridade porque Identificação do Cliente é uma chave estrangeira, em vez de uma chave primária na tabela.
Aparentemente, Identificação do Cliente pode ser nulo na tabela de vendas, porque alguém pode andar fora da rua, comprar algo, e sair antes de ter a chance de inserir seu nome e endereço na tabela de clientes. Esta situação pode criar problemas - uma linha na tabela a criança com nenhuma linha correspondente na tabela pai.
Para superar esse problema, você pode criar um cliente genérico na tabela do cliente e atribuir todas as vendas anônimas para esse cliente. Dizer que um cliente etapas até a caixa registradora e afirma que ela comprou um Strike Fighter F-35 em 18 de dezembro de 2012. Embora ela perdeu seu recibo, ela agora quer retornar o avião porque ele mostra-se como um porta-aviões no telas de radar dos oponentes.
Você pode verificar se ela comprou um F-35 por pesquisar seu banco de dados de vendas para um jogo. Primeiro, você deve recuperá-la Identificação do Cliente para a variável vcustid- então você pode usar a seguinte sintaxe:
... ONDE (: vcustid, `F-35`, `2012/12/18`) FÓSFORO (SELECT Cliente, ProductID, SaleDateFROM VENDAS)
Se o PARTIDA predicado retorna um valor True, o banco de dados contém a venda do F-35 em 18 de dezembro de 2012, a este cliente de Identificação do Cliente. Leve de volta o produto defeituoso e reembolsar o dinheiro do cliente. (Nota: Se quaisquer valores no primeiro argumento da PARTIDA predicado são nulos, um valor verdadeiro sempre retorna.)
Video: Visão geral sobre instruções SQL, Oracle Database e SQL Server
desenvolvedores de SQL acrescentou o PARTIDA predicado eo ÚNICO predicado pela mesma razão - eles fornecem uma maneira de executar explicitamente os testes definidos pela integridade referencial implícita (RI) e ÚNICO restrições.
A forma geral do PARTIDA predicado é como se segue:
Video: Aprendendo SQL, Capítulo 2, 1ª parte: Recuperando dados com a instrução SELECT
Row_valueJOGO [UNIQUE] [SIMPLES | PARCIAL | CHEIO ] subquery
o ÚNICO, SIMPLES, PARCIAL, e CHEIO opções relacionam com regras que entram em jogo se a expressão valor de linha R tem uma ou mais colunas que são nulos. As regras para a PARTIDA predicado são uma cópia das regras de integridade referencial correspondente.