Questão nº 37
Questão de Tecnologia da Informação · CESGRANRIO BASA 02/2021 (nº 37)
No banco de dados de um banco comercial, há uma tabela
`TRANSFERENCIA` onde são registrados a data, a hora, o
minuto e o segundo da transferência, além do valor trans-
ferido entre duas contas-correntes desse banco. Essa ta-
bela tem, adicionalmente, duas chaves estrangeiras (FKs)
que apontam para a tabela `CONTA-CORRENTE`. Consi-
dere que há, no máximo, uma transferência por segundo
entre duas contas-correntes.
A chave primária (PK) da tabela `TRANSFERENCIA` (data,
hora, minuto, segundo, valor, conta-origem, conta-desti-
no) deve ser formada exatamente
- Apelas duas FKs
- Bpor todos os atributos
- Cpelas duas FKs e a data
- Dpela data, hora e minuto
- Epor todos os atributos exceto o valor (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Conceito-chave: A chave primária (PK) é o conjunto mínimo de colunas que identifica cada linha de forma única. Como há no máximo uma transferência por segundo entre duas contas, o que diferencia duas transferências entre as mesmas contas é apenas o valor (pois data, hora, minuto e segundo já são iguais nesse caso). Então, para garantir unicidade, o valor precisa entrar na PK, mas a data/hora/minuto/segundo já são suficientes para separar transferências de contas diferentes — logo, o valor é o único que “quebra o empate” quando tudo o resto é igual.
- (A) Incorreta: As duas FKs (conta-origem e conta-destino) não são únicas: a mesma dupla de contas pode ter várias transferências em segundos diferentes, então não identificam uma linha sozinhas.
- (B) Incorreta: Incluir todos os atributos é redundante — data, hora, minuto e segundo juntos já são únicos para contas diferentes; o valor só é necessário para o caso de mesma dupla e mesmo segundo, mas não precisa repetir os outros campos na PK.
- (C) Incorreta: As duas FKs + data não bastam: no mesmo dia, pode haver mais de uma transferência entre as mesmas contas em segundos diferentes (ex.: 10:00:01 e 10:00:02), então a PK não seria única.
- (D) Incorreta: Data, hora e minuto não incluem o segundo — e como há no máximo uma transferência por segundo, duas transferências no mesmo minuto entre as mesmas contas seriam ambíguas sem o segundo e sem o valor.
- (E) Correta: A PK é formada por todos os atributos exceto o valor — ou seja, (data, hora, minuto, segundo, conta-origem, conta-destino). Isso garante unicidade: para cada segundo e cada par de contas, só existe uma linha; o valor é um atributo descritivo, não identificador. A armadilha da banca está em pensar que o valor precisa entrar na PK porque “dois valores diferentes podem ocorrer no mesmo segundo” — mas o enunciado garante que no máximo uma transferência por segundo entre duas contas, então o par (contas + segundo) já é único, e o valor é só um dado da transação, não parte da chave.
Fonte: CESGRANRIO BASA 02/2021 Técnico Científico - Tecnologia da Informação. Reproduzida para fins de estudo.