Questão nº 49

Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 49)

FGV2022Analista Técnico - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

No contexto da Teoria de Projeto de bancos de dados relacionais, analise o script de criação de uma tabela.

CREATE TABLE T(A int not null UNIQUE,
               B int not null UNIQUE,
               C int)

Considere ainda as seguintes dependências funcionais acerca dos atributos A, B e C.

A → B
B → A
A → C
B → C

As dependências necessárias para que o esquema relacional acima esteja normalizado até a Forma Normal Boyce-Codd são:

Resposta comentada

Gabarito Alternativa E

Boyce-Codd Normal Form (BCNF) é uma forma de normalização de banco de dados que exige que, para toda dependência funcional (DF) não trivial X → Y, o lado esquerdo (X) seja uma superchave da tabela. Uma superchave é um conjunto de atributos que identifica unicamente cada linha da tabela.

No script CREATE TABLE T(A int not null UNIQUE, B int not null UNIQUE, C int), as cláusulas UNIQUE indicam que A é uma chave candidata e B também é uma chave candidata. Como chaves candidatas são superchaves por definição, tanto A quanto B são superchaves.

Para que a tabela esteja em BCNF, é necessário que todas as dependências funcionais que a descrevem satisfaçam a condição de BCNF (ou seja, o lado esquerdo de cada DF deve ser uma superchave).

Vamos analisar as DFs fornecidas:

  1. A → B: O lado esquerdo (A) é uma superchave. Esta DF satisfaz BCNF.
  2. B → A: O lado esquerdo (B) é uma superchave. Esta DF satisfaz BCNF.
  3. A → C: O lado esquerdo (A) é uma superchave. Esta DF satisfaz BCNF.
  4. B → C: O lado esquerdo (B) é uma superchave. Esta DF satisfaz BCNF.

Como todas as DFs listadas já possuem uma superchave no lado esquerdo devido às restrições UNIQUE da tabela, todas elas satisfazem a condição de BCNF. Para que o esquema esteja em BCNF, é necessário que cada uma dessas DFs que existem no esquema esteja em conformidade com a definição de BCNF. Se qualquer uma delas não estivesse, o esquema não estaria em BCNF.

(A) Incorreta: Se a primeira DF (A → B) existisse e A não fosse uma superchave, a tabela não estaria em BCNF. Portanto, é necessário que A → B satisfaça a condição de BCNF.
(B) Incorreta: Se a segunda DF (B → A) existisse e B não fosse uma superchave, a tabela não estaria em BCNF. Portanto, é necessário que B → A satisfaça a condição de BCNF.
(C) Incorreta: Se a terceira DF (A → C) existisse e A não fosse uma superchave, a tabela não estaria em BCNF. Portanto, é necessário que A → C satisfaça a condição de BCNF.
(D) Incorreta: Se a quarta DF (B → C) existisse e B não fosse uma superchave, a tabela não estaria em BCNF. Portanto, é necessário que B → C satisfaça a condição de BCNF.
(E) Correta: Para que o esquema relacional esteja normalizado até a Forma Normal Boyce-Codd, é necessário que todas as dependências funcionais que o descrevem (neste caso, as quatro listadas) satisfaçam a condição de BCNF, ou seja, que seus lados esquerdos sejam superchaves. Como A e B são superchaves (devido às restrições UNIQUE), todas as DFs fornecidas já cumprem esse requisito. A armadilha aqui seria pensar que "necessário" se refere a um subconjunto mínimo de DFs ou a DFs "não redundantes", mas para BCNF, cada DF existente deve ter uma superchave no lado esquerdo.

Fonte: FGV TCE-TO 2022 Analista Técnico - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho