Questão nº 64

Questão de Tecnologia da Informação · CESGRANRIO Transpetro PSP-RH-2018.1 (nº 64)

CESGRANRIO2018Analista de Sistemas Júnior - InfraestruturaTecnologia da Informação
Gabarito: Dver comentário ↓

As Tabelas abaixo foram geradas a partir de um modelo E-R de modo que a semântica desse modelo foi integralmente preservada.

```sql
CREATE TABLE E1 (
X1 CHAR(10) NOT NULL,
X2 CHAR(10) NOT NULL,
X3 CHAR(10) NOT NULL,
Y1 CHAR(10) UNIQUE,
Y2 CHAR(10),
CONSTRAINT E1_PK PRIMARY KEY (X1))

CREATE TABLE E2 (
Z1 CHAR(10) NOT NULL,
Z2 CHAR(10) NOT NULL,
CONSTRAINT E2_PK PRIMARY KEY (Z1))

CREATE TABLE S (
X1 CHAR(10) NOT NULL,
Z1 CHAR(10) NOT NULL,
W1 CHAR(10) NOT NULL,
CONSTRAINT S_PK PRIMARY KEY (Z1),
CONSTRAINT S_FK1 FOREIGN KEY (X1)
REFERENCES E1 (X1),
CONSTRAINT S_FK2 FOREIGN KEY (Z1)
REFERENCES E2 (Z1))
```

Qual modelo E-R serviu de base para a geração das Tabelas acima?

Resposta comentada

Gabarito Alternativa D

Conceito-chave: A chave primária de uma tabela resultante de um relacionamento é definida pela cardinalidade desse relacionamento. Se um relacionamento N:1 (muitos para um) é transformado em tabela, a chave primária vem da entidade do lado "N" (a que participa com muitos); se for 1:1, a chave primária pode vir de qualquer um dos lados, mas a escolha reflete a semântica original.

  • (A) Incorreta: Se o relacionamento fosse N:N (muitos-para-muitos), a tabela S teria chave primária composta por (X1, Z1), mas aqui S tem chave primária Z1 sozinha, indicando que Z1 é o lado "N" (ou "1" obrigatório) e X1 é o lado "1" opcional.
  • (B) Incorreta: Se E1 fosse o lado "N" e E2 o lado "1", a chave primária de S seria X1, não Z1. A presença de Z1 como PK mostra que E2 é o lado "N" (ou o lado "1" com participação total, mas a FK X1 em S indica que E1 é o lado "1" opcional).
  • (C) Incorreta: Um relacionamento 1:1 com participação total de ambos os lados geraria uma tabela com chave primária de um dos lados e a FK do outro, mas aqui X1 é apenas FK (não é UNIQUE), o que viola a restrição 1:1 (em 1:1, a FK deve ser UNIQUE). A presença de Y1 UNIQUE em E1 não tem relação com o relacionamento.
  • (D) Correta: O modelo é um relacionamento N:1 entre E2 (lado N, com participação total, pois Z1 é PK e FK) e E1 (lado 1, com participação parcial, pois X1 é FK sem restrição UNIQUE). A tabela S representa esse relacionamento, com Z1 como PK (vinda de E2) e X1 como FK (vinda de E1). A semântica é: cada instância de E2 está associada a no máximo uma instância de E1, e cada E1 pode estar associada a várias E2.
  • (E) Incorreta: Se E1 tivesse participação total (obrigatória) no relacionamento, a FK X1 em S seria NOT NULL (o que já é), mas a chave primária de S seria X1 (se E1 fosse o lado "1" obrigatório) ou Z1 (se E2 fosse o lado "1" obrigatório). Como Z1 é PK, E2 é o lado "1" obrigatório, mas a FK X1 não é UNIQUE, o que não caracteriza um relacionamento 1:1, mas sim N:1 com E2 no lado N.

Armadilha do distrator mais tentador (B): A banca desenha um relacionamento N:1 com E1 no lado "N" e E2 no lado "1", mas a chave primária de S seria X1 (do lado N), não Z1. O aluno que confunde "lado N" com "lado que tem FK" cai nessa pegadinha, pois vê X1 como FK e assume que E1 é o lado N, quando na verdade o lado N é aquele cuja chave vira PK da tabela associativa.

Fonte: CESGRANRIO Transpetro PSP-RH-2018.1 Analista de Sistemas Júnior - Infraestrutura. 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