SóProvas


ID
2614477
Banca
COPERVE - UFSC
Órgão
UFSC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Considere as seguintes tabelas de um banco de dados relacional, nas quais são armazenados dados referentes aos funcionários de uma empresa de software:


Programador (Cod-P, Nome, DataContrato, Cod-G)

Gerente (Cod-G, Nome, DataContrato)


A chave primária da tabela Programador é o atributo Cod-P, e a chave primária da tabela Gerente é o atributo Cod-G. O atributo Cod-G na tabela Programador é uma chave estrangeira para a tabela Gerente, indicando o gerente responsável pelo projeto no qual o programador está alocado. O atributo DataContrato, presente nas duas tabelas, indica a data em que o funcionário foi contratado pela empresa. Considere, ainda, a seguinte consulta sobre esse banco de dados: “Buscar os nomes dos programadores que foram contratados há mais tempo pela empresa do que o gerente do projeto no qual estão alocados”. A alternativa que expressa corretamente essa consulta, na linguagem SQL, é:

Alternativas
Comentários
  • E)

    p.DataContrato -> g.DataContrato -> Atende a primeira condição (nomes dos programadores que foram contratados há mais tempo pela empresa)

    p.Cod-G = g.Cod-G -> atende a segunda condição (gerente do projeto no qual estão alocados)

  • Como se trata de DATAS, a data menor é a mais antiga.

    Por isso justifica o p.DataContrato < g.DataContrato

     

    Ex:

    p.DataContrato (2011) < g.DataContrato (2013)

    Como DataContrato do Programador é menor, ele foi contratado há mais tempo que o Gerente, que foi contratado 2 anos depois.

  • A cláusula de junção da letra A está errada:

    CHAVE PRIMÁRIA DE PROGRAMADOR = CHAVE PRIMÁRIA DE GERENTE

    (WHERE p.Cod-P = g.Cod-G).

    O certo seria:

    CHAVE ESTRANGEIRA DE PROGRAMADOR = CHAVE PRIMÁRIA DE GERENTE

    (WHERE p.Cod-G = g.Cod-G)

    Gabarito: Letra E