SóProvas


ID
5355367
Banca
INSTITUTO AOCP
Órgão
Câmara de Teresina - PI
Ano
2021
Provas
Disciplina
Banco de Dados
Assuntos

Considerando um banco de dados relacional, sobre o conceito de Chave estrangeira, assinale a alternativa correta.

Alternativas
Comentários
  • Gabarito: Letra E

    CHAVE ESTRANGEIRA (FOREIGN KEY)

    Uma chave estrangeira é um campo ou conjunto de campos de uma tabela que aponta para a chave primária (candidata) de outra tabela ou, em casos específicos, podendo apontar para a chave primária da mesma tabela.

    OBS.: Sinônimo --> Coluna = atributo = campos

    PRINCIPAIS CARACTERÍSTICAS:

    1.  Uma mesma tabela pode ter mais de uma chave estrangeira;

    2. A chave estrangeira pode aceitar valor nulo (NULL);

    3.A chave estrangeira de uma tabela tem que existir como chave primária na tabela referenciada (restrição de integridade referencial).

  • a) FK pode ser null ou apontar para uma coluna unique (geralmente uma PK)

    b) Posso ter várias FKs para uma ou mais tabelas

    c) Índices são criados por padrão para PKs, não FKs

    d) Uma FK não guarda o endereço da memória, ele simplesmente guarda o valor do identificador da tabela pai

    e) Pode, só separar por vírgula. Ex: constraint mFK foreign key (ID_1, ID_2) references TABELA_PAI(ID_1, ID_2)

  • Por padrão, os SGBDs criam índices automaticamente para campos de:

    • Chave Primária
    • Chave Estrangeira
    • Constraint UNIQUE

    fonte: http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-sao-indices-em-bancos-de-dados-indexacao-em-tabelas/

    Nesse caso, a C estaria certa

  • GABARITO E

    A) Uma coluna contendo uma chave estrangeira não pode ter valores nulos.

    • ERRADO: A chave estrangeira pode ter valores nulos. A restrição de integridade de entidade especifica apenas que a chave primária não pode ter valores nulos.

    B) Uma tabela não pode ter mais de uma chave estrangeira para outra tabela (mesma tabela de referência).

    • ERRADO: uma tabela pode adotar mais de um atributo referenciado (chave estrangeira) de uma mesma tabela.

    C) Um índice é criado por padrão para cada chave estrangeira.

    • ERRADO: não há necessidade de criar índices para cada chave estrangeira, uma vez que essas são identificadas pelo seus próprios valores.

    D) Uma coluna contendo uma chave estrangeira guarda o endereço de memória da coluna correspondente na tabela referenciada.

    • ERRADO: ... não guarda o endereço da memória, mas sim o valor da chave.

    E) Uma chave estrangeira pode ser composta por várias colunas.

  • A chave estrangeira, ou foreign key, é um conceito ligeiramente diferente. Ela não diz respeito, especificamente, a uma tabela, mas sim a um relacionamento entre tabelas. De forma sucinta, a chave estrangeira é uma referência em uma tabela a uma chave primária de outra tabela. Para facilitar a compreensão, tomemos como exemplo duas tabelas: Pessoa Carro. Para montarmos um relacionamento entre elas poderíamos ter na tabela Carro o campo ID_Pessoa fazendo referência à chave primária da tabela Pessoa.

    Diferentemente da chave primária, a chave estrangeira:

    1. Pode ser nula (NOT NULL);
    2. É um campo em uma tabela que faz referência a um campo que é chave primária em outra tabela;
    3. É possível ter mais de uma (ou nenhuma) em uma tabela.

    Um alerta: embora não haja, efetivamente, nenhum problema das chaves estrangeiras aceitarem o valor null, tal característica pode gerar o que é chamado de registro órfão, isto é, um registro sem dados para um determinado relacionamento. Por exemplo, um registro de Pessoa que não possui Carro. Embora comum na realidade, é preciso levar em consideração essa regra de negócio na aplicação para evitar problemas.