FC ConcursosFC Concursos

Questão FC295829

Qual esquema relacional preserva a semântica do modelo E-R acima?

Projeto e Modelagem de Dados

CESGRANRIO · 2018

A Figura abaixo exibe um modelo E-R.

 

 

Os identificadores das entidades A, B e C são, respectivamente, (a1,a2), b1 e c1.


Considere que, na transformação desse modelo para um conjunto de Tabelas relacionais, todos os atributos serão tratados como strings com exatamente 10 caracteres.


Qual esquema relacional preserva a semântica do modelo E-R acima?

  1. CREATE TABLE A (    A1 CHAR(10) NOT NULL,    A2 CHAR(10) NOT NULL,    A3 CHAR(10) NOT NULL,    B1 CHAR(10),    CONSTRAINT A_PK PRIMARY KEY (A1,A2),    CONSTRAINT A_FK FOREIGN KEY (B1) REFERENCES B(B1))

       CREATE TABLE B (     B1 CHAR(10) NOT NULL,     B2 CHAR(10) NOT NULL,     CONSTRAINT B_PK PRIMARY KEY (B1))

       CREATE TABLE C (     C1 CHAR(10) NOT NULL,     C2 CHAR(10) NOT NULL,     C3 CHAR(10) NOT NULL,     CONSTRAINT C_PK PRIMARY KEY (C1))

        CREATE TABLE RB (      C1 CHAR(10) NOT NULL,      B1 CHAR(10) NOT NULL UNIQUE,      CONSTRAINT RB_PK PRIMARY KEY (C1),      CONSTRAINT R1_FK FOREIGN KEY (C1) REFERENCES C(C1),      CONSTRAINT R2_FK FOREIGN KEY (B1) REFERENCES B(B1))

  2. CREATE TABLE A (     A1 CHAR(10) NOT NULL,     A2 CHAR(10) NOT NULL,     A3 CHAR(10) NOT NULL,     CONSTRAINT A_PK PRIMARY KEY (A1,A2))

       CREATE TABLE B (     B1 CHAR(10) NOT NULL,     B2 CHAR(10) NOT NULL,     A1 CHAR(10),     A2 CHAR(10),     CONSTRAINT B_PK PRIMARY KEY (B1),     CONSTRAINT B1_FK FOREIGN KEY (A1,A2) REFERENCES A(A1,A2))

       CREATE TABLE C (     C1 CHAR(10) NOT NULL,     C2 CHAR(10) NOT NULL,     C3 CHAR(10) NOT NULL,     CONSTRAINT C_PK PRIMARY KEY (C1))

       CREATE TABLE RB (     C1 CHAR(10) NOT NULL,     B1 CHAR(10) NOT NULL UNIQUE,     CONSTRAINT RB_PK PRIMARY KEY (C1),     CONSTRAINT R1_FK FOREIGN KEY (C1) REFERENCES C(C1),     CONSTRAINT R2_FK FOREIGN KEY (B1) REFERENCES B(B1))

  3. CREATE TABLE A (     A1 CHAR(10) NOT NULL,     A2 CHAR(10) NOT NULL,     A3 CHAR(10) NOT NULL,     CONSTRAINT A_PK PRIMARY KEY (A1,A2)),

       CREATE TABLE B (     B1 CHAR(10) NOT NULL,     B2 CHAR(10) NOT NULL,     CONSTRAINT B_PK PRIMARY KEY (B1))

       CREATE TABLE RA (     A1 CHAR(10) NOT NULL,     A2 CHAR(10) NOT NULL,     B1 CHAR(10) NOT NULL,     CONSTRAINT RA_PK PRIMARY KEY (A1,A2,B1),     CONSTRAINT RX_FK FOREIGN KEY (A1,A2) REFERENCES A(A1,A2),     CONSTRAINT RY_FK FOREIGN KEY (B1) REFERENCES B(B1))

        CREATE TABLE C (      C1 CHAR(10) NOT NULL,      C2 CHAR(10) NOT NULL,      C3 CHAR(10) NOT NULL,      B1 CHAR(10) UNIQUE,      CONSTRAINT C_PK PRIMARY KEY (C1),      CONSTRAINT C1_FK FOREIGN KEY (B1) REFERENCES B(B1))

  4. CREATE TABLE A (     A1 CHAR(10) NOT NULL,     A2 CHAR(10) NOT NULL,     A3 CHAR(10) NOT NULL,     CONSTRAINT A_PK PRIMARY KEY (A1,A2)),

       CREATE TABLE B (     B1 CHAR(10) NOT NULL,     B2 CHAR(10) NOT NULL,     C1 CHAR(10) UNIQUE,     CONSTRAINT B_PK PRIMARY KEY (B1),     CONSTRAINT B1_FK FOREIGN KEY (C1) REFERENCES C(C1))

      CREATE TABLE RA (    A1 CHAR(10) NOT NULL,    A2 CHAR(10) NOT NULL,    B1 CHAR(10) NOT NULL,    CONSTRAINT RA_PK PRIMARY KEY (B1),    CONSTRAINT RX_FK FOREIGN KEY (A1,A2) REFERENCES A(A1,A2),    CONSTRAINT RY_FK FOREIGN KEY (B1) REFERENCES B(B1))

      CREATE TABLE C (    C1 CHAR(10) NOT NULL,    C2 CHAR(10) NOT NULL,    C3 CHAR(10) NOT NULL,    CONSTRAINT C_PK PRIMARY KEY (C1))

  5. CREATE TABLE A (     A1 CHAR(10) NOT NULL,     A2 CHAR(10) NOT NULL,     A3 CHAR(10) NOT NULL,     B1 CHAR(10) NOT NULL,     CONSTRAINT A_PK PRIMARY KEY (A1,A2),     CONSTRAINT A_FK FOREIGN KEY (B1) REFERENCES B(B1))

       CREATE TABLE B (     B1 CHAR(10) NOT NULL,     B2 CHAR(10) NOT NULL,     C1 CHAR(10) NOT NULL UNIQUE,     CONSTRAINT B_PK PRIMARY KEY (B1),     CONSTRAINT B1_FK FOREIGN KEY (C1) REFERENCES C(C1))

       CREATE TABLE C (     C1 CHAR(10) NOT NULL,     C2 CHAR(10) NOT NULL,     C3 CHAR(10) NOT NULL,     CONSTRAINT C_PK PRIMARY KEY (C1))

Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A alternativa escolhe corretamente duas estratégias de mapeamento. Para o relacionamento entre A e B foi usada a referência por chave estrangeira: a tabela A traz B1 como FOREIGN KEY opcional (sem NOT NULL), o que garante que cada ocorrência de A pode ligar-se a no máximo uma B e também pode não ter ligação — exatamente a cardinalidade 0..1 do lado de A; a chave primária de A é a composição (A1,A2), preservando identificadores originais.

Para o relacionamento entre B e C optou‑se por tabela associativa RB com C1 como PRIMARY KEY e B1 como UNIQUE e NOT NULL, além das duas FOREIGN KEY. Essa estrutura assegura que, quando o relacionamento existe, cada C relaciona‑se com no máximo uma B e cada B com no máximo uma C, ao mesmo tempo em que permite que B e C existam isoladamente (relacionamento opcional). Todos os atributos são CHAR(10) conforme enunciado, mantendo integridade e semântica do modelo E‑R.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo