Você está na página 1de 2

União Metropolitana de Educação e Cultura

Disciplina: Programação em bancos de Dados


Professor: José Vicente
Aluno: Brendo Silvestre Bispo de Jesus

Seção 3.1
1. Uma empresa mantém o cadastro dos seus colaboradores em uma base de dados
e seus respectivos dependentes em outra tabela. Isso foi feito para fins de convênio
médico, salário família, entre outros benefícios concedidos aos colaboradores. A
estrutura do banco de dados foi desenvolvida da seguinte forma: Tbl_Funcionarios
(Id_Funcionario, Nome_Funcionario) Tbl_Dependentes (Codigo, Nome_Dependente,
Parentesco, Id_Funcionario) Onde as colunas com simples sublinhado representam as
chaves primárias, e as com duplo sublinhado a chave estrangeira. Foi solicitada a
elaboração de uma consulta utilizando a linguagem de programação de banco de
dados SQL, na qual se deseja retornar o nome de cada funcionário e o nome do seu
respectivo dependente (ou nulo, quando o colaborador não possuir dependente).
Assinale a alternativa que descreva corretamente o filtro solicitado (SELECT, da
linguagem SQL):
a) SELECT Funcionarios.Nome, Dependentes.Nome FROM Funcionarios,
Dependentes WHERE Funcionarios.Id_Funcionarios = Dependentes.Id_Funcionario;.
b) SELECT Funcionarios.Nome, Dependentes.Nome FROM Funcionarios,
Dependentes WHERE Dependentes.Id_Funcionario =Funcionarios.Id_ Funcionarios;.
c) SELECT Funcionarios.Nome, Dependentes.Nome FROM Funcionarios INNER JOIN
Dependentes ON Funcionarios.Id_Funcionarios = Dependentes.Id_ Funcionario;.
d) SELECT Funcionarios.Nome, Dependentes.Nome FROM Funcionarios RIGHT JOIN
Dependentes ON Funcionarios.Id_Funcionarios = Dependentes. Id_Funcionario;.
e)SELECT Funcionarios.Nome, Dependentes.Nome FROM Funcionarios RIGHT JOIN
Funcionarios ON Funcionarios.Id_Funcionarios = Dependentes. Id_Funcionario;.

2. Os bancos de dados do tipo relacional estão presentes na maioria das


infraestruturas de TI, sendo muito comuns em sistemas de gestão em diversos
seguimentos. São vantajosos quando se necessita dos dados organizados, seguindo
criteriosamente as regras de normalização, para se obter maior performance nas
consultas em que haja maior demanda de processamento. Embora as junções
aumentem a taxa de utilização do servidor em suas consultas, é imprescindível que
um banco de dados, por meio da linguagem de programação de banco de dados,
como o SQL, permita efetuar tais consultas. As técnicas SQL denominadas JOIN
possibilitam efetuar consulta em duas tabelas ou mais, dependendo da necessidade
da busca. Nesse contexto, observe as afirmativas a seguir: I. Uma relação INNER
JOIN pode exibir todos os campos das tabelas da relação. II. Uma relação LEFT JOIN
exibe todos os registros da direita e somente os registros que coincidem da tabela da
esquerda. III. Uma relação RIGHT JOIN exibe todos os registros da direita e somente
os registros que coincidem da tabela da esquerda. Assinale a alternativa Correta:
a) Somente as alternativas I e II estão corretas.
b) Somente as alternativas I e III estão corretas.
c) Somente as alternativas II e III estão corretas.
d) Somente a alternativa I está correta.
e) As alternativas I, II e III estão corretas.
3. Observe o script a seguir, em que está representado um banco de dados para uma
seguradora de veículos e as tabelas “proprietário” e “veículo” são relacionadas por
meio da tabela “apólice” 43 U3 - Consultas avançadas Quadro | Relação entre as
tabelas “proprietário” e “veículo” 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 create table
Proprietario( Id int(3) primary key auto_increment, Nome varchar(50) not null, CPF
int(11) not null); create table Veiculo( RENAVAN int(15) not null, Placa varchar(7) not
null, Marca varchar(30) not null, Modelo varchar(30) not null); Create table
Apolice( Numeroint(3) primary key auto_increment, Veiculo_RENAVANint(15) not null,
Proprietario_Id not null, foreignkey (Veiculo_RENAVAN) references Veiculo
(RENAVAN), foreign key (Proprietario_Id) references Proprietario (Id)); Fonte:
elaborado pelo autor. O administrador do banco de dados escreveu um comando,
porém, parte foi perdida devido a uma falha no sistema operacional, conforme pode
ser observado a seguir: selectProprietario.nome as "Segurado", Veiculo.placa as
"Placa", Apolice.Numero from Apolice___________________ Proprietario
onApolice.Proprietario_Id = Proprietario.Id inner join ________________
onApolice.Veiculo_RENAVAN = Veiculo.RENAVAN WHERE
________________________ = “Jhonny” order by Apolice.Numeroasc; Assinale a
alternativa que completa as lacunas corretamente, para que o comando possa
selecionar o nome do segurado Jhonny, as respectivas placas de veículos registradas
em seu nome e o número da apólice de seguro, ordenando tal pesquisa pelo número
da apólice, em ordem crescente.
a) innerjoin – Proprietario – Veiculo.RENAVAN.
b) rightjoin – Veiculo - Proprietario.Nome.
c) leftjoin – Proprietario – Proprietario.Nome.
d) innerjoin – Veiculo - Proprietario.Nome.
e) left join – Proprietario – Veiculo.RENAVAN.

Você também pode gostar