SóProvas


ID
1397002
Banca
FCC
Órgão
TRT - 2ª REGIÃO (SP)
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados SQL há duas tabelas: departamento e funcionario. A tabeladepartamento está ligada à tabela funcionario em uma relação um-para-muitos. Os campos da tabela departamento são DepNo (chave primária), DNome e DLocal. Já a tabela funcionario contém os campos FunNo (chave primária), DepNo (chave estrangeira), FNome, FCargo e FSal.

Para exibir apenas o nome de todos os funcionários, sem repetição, e o respectivo nome do departamento que o funcionário trabalha, utiliza-se a instrução

Alternativas
Comentários
  • alguem explica por favor?

  • Então, 2 tabelas:

    Departamento e Funcionário.

    departamento com os campos: DepNo (Chave primária), DNome e Dlocal.

    funcionario com os campos: FunNo (Chave primária), DepNo (Chave estrangeira), FNome, Fcargo e Fsal.

    Ele pede nome do funcionário (FNome) e nome do departamento (DNome) que ele trabalha.

    FNome está na tabela funcionario, ou seja = f.FNome;

    DNome está na tabela departamento, ou seja = d.DNome;

    Em seguida vem: "from funcionario f, departamento d"

    Isto aqui é para facilitar a digitação da consulta. Ele chamou a tabela "funcionario" de "f" e a tabela "departamento" de "d". Ou seja, ao invés de escrever "select funcionario.FNome, departamento.DNome", ele substituiu a palavra toda por uma letra. E daí ele pode chamar a tabela sempre de F ou D nessa consulta.

    Continuando:

    "where f.DepNo=d.DepNo"

    Aqui ele faz a ligação da CHAVE ESTRANGEIRA (DepNo) da tabela funcionario com a CHAVE PRIMÁRIA (DepNo) da tabela departamento, para que seja gerada a consulta com os nomes dos funcionários e seus respectivos departamentos.

    E a consulta final é essa:

    D) select f.FNome, d.DNome from funcionario f, departamento d where f.DepNo=d.DepNo;

    Caso alguém tenha algo a acrescentar ou a me corrigir, por favor faça. Sou iniciante em BD.