Uma chave estrangeira pode ser Postgres nula?
Uma chave estrangeira pode ser Postgres nula?

Vídeo: Uma chave estrangeira pode ser Postgres nula?

Vídeo: Uma chave estrangeira pode ser Postgres nula?
Vídeo: Diferença entre Chave Primária e Chave Estrangeira? Entendendo chaves nos bancos de dados 2024, Maio
Anonim

INSERT INTO product VALUES (11, 'for Joe', 1); INSERIR NOS VALORES DO produto (22, 'para todos', NULO ); É perfeitamente legal ter um anulável chave estrangeira coluna.

A questão também é: uma chave estrangeira pode ser nula?

UMA chave estrangeira torna sua tabela dependente de outra tabela chamada tabela-pai. UMA chave estrangeira contendo nulo os valores não podem corresponder aos valores de um pai chave , desde um pai chave por definição posso não tem nulo valores. No entanto, um chave estrangeira nula valor é sempre válido, independentemente do valor de qualquer um de seus nulo partes.

Além disso, como adiciono uma chave estrangeira no PostgreSQL? ADICIONAR CONSTRAINT constraint_name CHAVE ESTRANGEIRA (c1) REFERÊNCIAS parent_table (p1); Uma nota final quando você quiser adicione uma chave estrangeira restrição com ON DELETE CASCADE à tabela existente, você precisa seguir os seguintes passos: Eliminar existente chave estrangeira limitação. Adicionar um novo chave estrangeira restrição com ação ON DELETE CASCADE.

Então, uma chave estrangeira pode ser null mysql?

5 respostas. NULLs em chaves estrangeiras são perfeitamente aceitáveis. Lidando com NULLs em chaves estrangeiras é complicado, mas isso não significa que você altere essas colunas para NÃO NULO e insira registros fictícios ("N / A", "Desconhecido", "Sem valor" etc) em suas tabelas de referência.

As chaves estrangeiras são necessárias?

Uma vez que o propósito do esqueceram chave é identificar uma determinada linha da tabela referenciada, geralmente é obrigatório que o esqueceram a chave é igual ao candidato chave em alguma linha da tabela primária, ou então não tem valor (o valor NULL.). Essa regra é chamada de restrição de integridade referencial entre as duas tabelas.

Recomendado: