Analise o esquema relacional a seguir.create table X1( A1 in...
Analise o esquema relacional a seguir.
create table X1(
A1 int not null primary key,
B1 int)
create table X2(
A2 int not null primary key,
B2 int)
create table X3(
A1 int not null unique,
A2 int,
B3 int,
foreign key(A1) references X1(A1),
foreign key(A2) references X2(A2)
)
Sobre esse esquema, analise as afirmativas a seguir.
I. Cada elemento de X1 pode estar relacionado, via X3, a zero, um ou mais elementos de X2. II. Cada elemento de X1 pode estar relacionado a zero, um ou mais elementos de X3.
III. Cada elemento de X2 pode estar relacionado a zero ou apenas um elemento de X3.
Está correto somente o que se afirma em:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: A
Fundamento decisivo: O ponto decisivo é o trecho "X3.A1 int not null unique, foreign key(A1) references X1(A1); A2 int, foreign key(A2) references X2(A2)": UNIQUE em X3.A1 limita a no máximo uma linha de X3 para cada X1, enquanto a ausência de UNIQUE em X3.A2 permite repetição de referências a X2. Com isso, a leitura técnica do esquema exclui as alternativas que dependem de II e III e mantém o gabarito oficial A.
- Ao analisar uma FK, verifique se a coluna também é UNIQUE; isso muda a cardinalidade máxima.
- Separe integridade referencial de participação obrigatória: FOREIGN KEY não obriga que toda linha da tabela referenciada tenha correspondência.
- Em relações via tabela intermediária, examine cada vínculo direto antes de concluir a relação indireta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
posso estar errado, mas acredito que esta questão esteja errada. Deveria trocar o ítem 1 para: "Cada elemento de X2 pode estar relacionado, via X3, a zero, um ou mais elementos de X1", e não "Cada elemento de X1 pode estar relacionado, via X3, a zero, um ou mais elementos de X2"
A tabela X3 possui duas chaves estrangeiras, A1 e A2, que referenciam as chaves primárias das tabelas X1 e X2, respectivamente. Isso significa que cada elemento de X3 está relacionado a um elemento de X1 e a um elemento de X2. Portanto, a afirmativa I está correta. Já a afirmativa II também está correta, pois a tabela X3 possui uma chave estrangeira A1 que referencia a chave primária da tabela X1, o que significa que cada elemento de X1 pode estar relacionado a zero, um ou mais elementos de X3. A afirmativa III está incorreta, pois a tabela X3 possui uma chave estrangeira A2 que referencia a chave primária da tabela X2, o que significa que cada elemento de X2 pode estar relacionado a zero ou um elemento de X3.
O gabarito letra A está incorreto. A afirmativa I está correta, mas a afirmativa II também está correta, conforme explicado anteriormente. Portanto, a resposta correta é a letra D - I e II.
A resposta deveria ser: nenhuma das alternativas.
I. Cada elemento de X1 pode estar relacionado, via X3, a zero, um ou mais elementos de X2.
Alternativa ERRADA, pois perceba que X1, via X3, apenas se relaciona com X2 com a cardinalidade (0,1); pois X3 possui uma chave estrangeira única e não nula de de X1 ( A1) e uma chave estrangeira ( que pode se repetir e pode ser nula) de X2 ( A2). Logo, cada elemento único de A1 ( em X3) pode ter um correspondente zero de A2 ( em X3), quando nulo, ou 1 valor apenas de A2. X1 não pode se relacionar N vezes com X2 via X3, pois um mesmo valor de A1 (em X3) é único e não se repete e só poder ter 1 correspondente em X2 ( por meio de A2, seja ele nulo ou não).
II. Cada elemento de X1 pode estar relacionado a zero, um ou mais elementos de X3.
Alternativa ERRADA, pois X1 (A1) não pode ser nulo e é único, logo ele se relaciona a 0 ou no máximo 1 elemento de X3. Mesma lógica do item anterior.
III. Cada elemento de X2 pode estar relacionado a zero ou apenas um elemento de X3.
Alternativa ERRADA, pois os atributos A2 e B3 em X3 podem ser nulos e repetidos, logo a relação é 0 ou N.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo