Questão de Tecnologia da Informação — FGV Sefaz-MT 2023 - Tarde (nº 39)
Em um banco de dados relacional, analise o comando da linguagem de definição de dados (SQL) exibido a seguir.
`create table X (A int not null primary key, `
` B int) `
`create table Y (C int not null primary key, `
` A int foreign key references X(A) `
` on delete cascade)`
- AA coluna A da tabela Y deve ser declarada como not null.
- BA remoção de um registro da tabela X provoca a deleção de, no máximo, um registro da tabela Y.
- CA remoção de um registro da tabela Y provoca a deleção de, no mínimo, um registro da tabela X.
- DCada registro da tabela X está relacionado a exatamente um registro da tabela Y.
- ECada registro da tabela Y está relacionado a, no máximo, um registro da tabela Y.
Resposta comentada
Gabarito Alternativa E
a banca anulou esta questão. A alternativa (E), tal como impressa no caderno oficial, compara "um registro da tabela Y" a "um registro da tabela Y" (repetição da mesma tabela), o que é tecnicamente incoerente como proposição sobre o relacionamento entre X e Y — o texto pretendido, com grande probabilidade, era comparar Y com X (já que Y.A referencia a chave primária X.A, que é única, de modo que cada registro de Y se relaciona a, no máximo, um registro de X). Esse aparente erro de digitação/impressão no enunciado da alternativa mais defensável tecnicamente é o motivo provável da anulação, pois nenhuma alternativa restou inequivocamente correta como impressa.
- (A) Incorreta: a coluna A de Y é a chave estrangeira, mas nada no comando exige que ela seja declarada not null; chaves estrangeiras podem aceitar valores nulos (ausência de relacionamento), salvo restrição explícita, que aqui não existe.
- (B) Incorreta: como a coluna A em Y não é única, vários registros de Y podem referenciar o mesmo valor de X.A; logo, a remoção de um registro de X com
on delete cascadepode apagar zero, um ou vários registros de Y, não "no máximo um". - (C) Incorreta: o
on delete cascadefoi definido na referência de Y para X (Y é a tabela filha); a exclusão de um registro de Y não provoca qualquer exclusão em X, pois a cascata funciona apenas no sentido pai (X) → filho (Y). - (D) Incorreta: um registro de X pode estar relacionado a zero, um ou vários registros de Y (já que A não é única em Y), e não exatamente a um.
- (E) Como impressa, tecnicamente inconsistente (motivo da anulação); assumindo a correção para "tabela X": cada registro de Y referencia, no máximo, um registro de X, pois X.A é chave primária (única), então o valor de Y.A (quando não nulo) só pode corresponder a um único registro de X.
Fonte: FGV Sefaz-MT 2023 - Tarde Fiscal de Tributos Estaduais (Caderno Tipo 1). Reproduzida para fins de estudo.
Continue estudando
Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.
Estudar de graça no Quizinho