SóProvas


ID
2985673
Banca
FCC
Órgão
SEFAZ-BA
Ano
2019
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados aberto e em condições ideais há uma tabela chamada Contribuinte cuja chave primária é idContribuinte. Há também uma tabela chamada Imposto cuja chave primária é idimposto. Para criar uma tabela de associação chamada Contribuinte_imposto cuja chave primária é composta pelos campos idContribuinte e idImposto, que são chaves estrangeiras resultantes da relação dessa tabela com as tabelas Contribuinte e Imposto, utiliza-se a instrução SQL

Alternativas
Comentários
  • A = bagunça, mesmo que você não conheça a notação, dá pra ver que não tem lógica o comando, fora que se as colunas devem ser PK então devem ser NOT NULL

    C = comando SOURCE? nunca ouvi falar dessa bruxaria, alternativa eliminada

    E = references all parents? isso soa tão ficção científica que parece coisa de python no filme Minority Report

    sobrou B vs D, a diferença fundamental é só a palavra CONSTRAINT, mesmo que você não conheça isso, mas estudou teoria de Bancos de Dados, então você já leu que existem restrições que podem ser: PK, unique, NULL e NOT NULL, todas as outras restrições são implementadas com esse aviso de CONSTRAINT e aqui pode ser de todos os tipos possíveis, como FK, ou limitar a lista de valores possíveis, etc

    D = desclassificada porque faltou o constraint

    B = correta dentro dessa notação que a FCC escolheu, mas há dezenas de formas diferentes de fazer isso se você começar a levar em conta a notação dos diversos SGDB

  • Nos relacionamentos M:N (muitos para muitos) é necessária a criação de uma tabela de ligação entre as duas tabelas envolvidas no relacionamento. Essa tabela irá servir para “partir” o relacionamento em dois relacionamentos 1:N, permitindo que se implemente o muitos para muitos em uma modelagem relacional.

    A tabela de ligação irá possuir as seguintes características:

    - Chaves estrangeiras: duas – uma apontando para cada tabela do relacionamento.

    - Chave primária: composição das chaves estrangeiras.

    Veja, então, que no exemplo da questão iríamos utilizar as seguintes restrições para implementar este tipo de relacionamento entre Contribuinte e Imposto:

    CONSTRAINT <nome> FOREIGN KEY (idContribuinte) REFERENCES Contribuinte (idContribuinte)

    CONSTRAINT <nome> FOREIGN KEY (idImposto) REFERENCES Imposto (idImposto)

    E, por fim, criar a chave primária (que não necessariamente precisa ser nomeada).

    PRIMARY KEY (idContribuinte, idImposto)

    Observe que a alternativa B está de acordo com os comandos que apresentamos e com o enunciado da questão, sendo assim a nossa resposta. Um detalhe é que é desnecessária a definição de NOT NULL nos atributos idContribuinte e idImposto da tabela de ligação, já que eles compõem a chave primária. Se um atributo faz parte da chave primária, seus valores automaticamente deverão ser únicos e não nulos.

    Gabarito: B

  • E ai, tudo bom?

    Gabarito: B

    Bons estudos!

    -As pessoas costumam dizer que a motivação não dura sempre. Bem, nem o efeito do banho, por isso recomenda-se diariamente. – Zig Ziglar