Exercícios de Lógica – Exercícios de Fixação 08
Exercícios
1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada
de DDL (Data Definition Language). Assinale a alternativa que contém apenas comandos DDL.
a) CREATE, ALTER, GRANT
b) CREATE, ALTER, DROP
c) ALTER, DROP, REVOKE
d) CREATE, GRANT, REVOKE
e) SELECT, INSERT, UPDATE
2. A linguagem SQL tem comandos que pertencem a série DML (Data Manipulation Language). Assinale
a alternativa que NÃO é um comando DML.
a) SELECT
b) INSERT
c) UPDATE
d) DELETE
e) CREATE
3. Considere as seguintes dependências funcionais identificadas durante o processo de modelagem da
base de dados de um sistema de controle de biblioteca (os atributos multivalorados estão marcados
com *).
(CODIGO_LIVRO) -> (TITULO, AUTOR*)
(AUTOR) -> (DATA_NASCIMENTO_AUTOR)
(MATRICULA_USUARIO) -> (NOME, TELEFONE*)
(DATA_EMPRESTIMO, CODIGO_LIVRO, MATRICULA_USUARIO) -> (DEVOLUCAO_PREVISTA)
Identifique a opção em que as tabelas definidas atendem às dependências funcionais especificadas
acima e estão na 3FN:
a) Autor(Autor, Data_Nascimento)
Livro(Codigo_Livro, Titulo, Autor*)
Contato(Matricula_Usuario, Nome, Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
b) Autoria(Codigo_Livro, Autor, Titulo, Data_Nascimento)
Usuario_Telefone(Matricula_Usuario,Nome, Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
c) Livro(Codigo_Livro, Titulo)
Autoria(Codigo_Livro, Autor)
Autor(Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome)
Contato(Matricula_Usuario,Telefone)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
d) Livro(Codigo_Livro, Titulo, Data_Emprestimo, Devolucao_Prevista)
Autoria(Codigo_Livro, Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome, Telefone)
e) Livro(Codigo_Livro, Titulo, Autor*)
Autor(Autor, Data_Nascimento)
Usuario(Matricula_Usuario, Nome, Telefone*)
Emprestimo(Codigo_Livro, Matricula_Usuario, Data_Emprestimo, Devolucao_Prevista)
4. As tabelas abaixo participam de uma base de dados de uma empresa da área financeira (colunas
participantes de chaves primárias estão sublinhadas, e participantes de chaves estrangeiras, em
negrito).
PESSOA(ID_PESSOA, ENDERECO)
PESSOA_FISICA(ID_PESSOA, NOME, CPF, NUMERO_DEPENDENTES)
PESSOA_JURIDICA(ID_PESSOA, RAZAO_SOCIAL, CNPJ, NUMERO_FUNCIONARIOS)
EMPRESTIMOS(ID_PESSOA, DATA, VALOR)
As tabelas PESSOA, PESSOA_FISICA e PESSOA_JURIDICA armazenam informações sobre
indivíduos e empresas que são clientes da instituição. Alguns dos clientes realizam empréstimos. Toda
pessoa cadastrada na instituição será sempre cadastrada como pessoa física ou jurídica. A coluna
ID_PESSOA, nas tabelas PESSOA_FISICA e PESSOA_JURIDICA, possui chave estrangeira que
referencia a coluna ID_PESSOA da tabela PESSOA. A tabela EMPRESTIMOS apresenta informações
sobre empréstimos contraídos por pessoas, incluindo a data do empréstimo e o valor. Deseja-se montar
um relatório que apresente informações de todas as pessoas físicas e jurídicas que já contraíram algum
empréstimo. Qual dos comandos SQL abaixo atende às condições desejadas?
a) SELECT PF.NOME, PF.CPF, PJ.RAZAO_SOCIAL, PJ.CNPJ
FROM PESSOA_FISICA PF
INNER JOIN PESSOA P
ON PF.ID_PESSOA = P.ID_PESSOA
INNER JOIN PESSOA_JURIDICA PJ
ON PJ.ID_PESSOA = P.ID_PESSOA
WHERE EXISTS
(SELECT 1 FROM EMPRESTIMOS EM)
b) SELECT PF.NOME, PF.CPF, PJ.RAZAO_SOCIAL, PJ.CNPJ
FROM PESSOA_FISICA PF
INNER JOIN PESSOA P
ON PF.ID_PESSOA = P.ID_PESSOA
INNER JOIN PESSOA_JURIDICA PJ
ON PJ.ID_PESSOA = P.ID_PESSOA
WHERE ID_PESSOA IN
(SELECT DISTINCT ID_PESSOA FROM EMPRESTIMOS)
c) SELECT PF.NOME, PF.CPF, PJ.RAZAO_SOCIAL, PJ.CNPJ
FROM PESSOA_FISICA PF
INNER JOIN EMPRESTIMOS EM
ON EM.ID_PESSOA = PF.ID_PESSOA
INNER JOIN PESSOA_JURIDICA PJ
ON PJ.ID_PESSOA = EM.ID_PESSOA
d) SELECT PF.NOME AS NOME, PF.CPF AS CONTRIBUINTE
FROM PESSOA_FISICA PF
INNER JOIN EMPRESTIMOS EM
ON EM.ID_PESSOA = PF.ID_PESSOA
UNION ALL
SELECT PJ.RAZAO_SOCIAL AS NOME, PJ.CNPJ AS CONTRIBUINTE
FROM PESSOA_JURIDICA PJ
INNER JOIN EMPRESTIMOS EM
ON EM.ID_PESSOA = PJ.ID_PESSOA
e) SELECT PF.NOME AS NOME, PF.CPF AS CONTRIBUINTE
FROM PESSOA_FISICA PF
INNER JOIN EMPRESTIMOS EM
ON EM.ID_PESSOA = PF.ID_PESSOA
EXCEPT
SELECT PJ.RAZAO_SOCIAL AS NOME, PJ.CNPJ AS CONTRIBUINTE
FROM PESSOA_JURIDICA PJ
INNER JOIN EMPRESTIMOS EM
ON EM.ID_PESSOA = PJ.ID_PESSOA
5. Considere as proposições abaixo, a respeito de Bancos de Dados.
I.
Uma das técnicas para armazenamento de dados dimensionais é a organização de tabelas,
segundo o Esquema Estrela. Em bases de dados, que atendem a esse esquema, podem-se
encontrar tabelas que não atendam à Terceira Forma Normal.
II. Bases de dados de apoio à tomada de decisão armazenam grande quantidade de dados. Por
isso, não é recomendável a criação de índices em tais bases de dados.
III. Em gerenciadores de bancos de dados multidimensionais podem ser encontrados operadores
que permitem percorrer hierarquias existentes. Dentre tais operadores estão o de Drill Down e o
de Drill Up.
IV. O procedimento de Extração, Transformação e Carga (também conhecido por ETL) é um dos
processos realizados em ambientes de depósitos de dados (data warehouse). Nesse contexto, a
Extração se refere à tarefa de retirada de dados do data warehouse (visando a reduzir os dados
antigos); a Transformação se refere ao processo de compactação de dados, e a Carga se refere
à tarefa de inclusão de novos dados no data warehouse.
V. Uma das características de bases de dados de apoio à tomada de decisão é a necessidade de
armazenarem dados que refletem sempre a situação atual do assunto que representam. Nesse
tipo de base de dados, quaisquer informações que não sejam atuais podem ser descartadas,
pois não auxiliam em uma boa tomada de decisão.
Estão corretas APENAS as afirmativas
a) I e II
b) I e III
c) II e III
d) III e V
e) IV e V
6. Sobre bases de dados relacionais, é INCORRETO afirmar que
a) em uma tabela, podemos definir várias chaves estrangeiras, porém somente uma chave primária,
sendo que cada uma das chaves (estrangeira e primária) definidas pode englobar várias colunas.
b) uma chave primária define os atributos cujos conjuntos de valores não se repetem em diferentes
linhas da mesma tabela.
c) restrições do tipo check podem ser utilizadas para restringir o domínio de atributos.
d) chaves estrangeiras determinam conjunto de atributos cujos valores devem obrigatoriamente
corresponder a valores existentes em atributos das tabelas referenciadas.
e) chaves candidatas são formadas por colunas cujos conjuntos de valores podem se repetir em
diferentes linhas das tabelas e, por isso, não se pode definir uma chave primária em tais colunas.
7. Considere o exemplo de consulta SQL a seguir:
SELECT CARGO, MAX(SALARIO) ________ TABELA1 ________ CARGO>10 ______ CARGO __________
MAX(SALARIO)>400
Assinale a alternativa que apresenta a sequência correta de palavras que preenchem as lacunas.
a) FROM, WHERE, INNER JOIN, GROUP BY.
b) FROM, HAVING, GROUP BY, ORDER BY.
c) FROM, GROUP BY, ORDER BY, WHERE.
d) FROM, LEFT JOIN, GROUP BY, HAVING.
e) FROM, WHERE, GROUP BY, HAVING.
Considere para as questões 8 e 9, um sistema de controle de uma biblioteca com as seguintes
relações:
livro(id, título, idioma);
autor(id, nome, país);
usuário(id, nome, endereço, telefone, email);
empréstimo(id, data, id_usuario, id_livro);
autoria(id_livro, id_autor);
8. O comando para realizar a consulta de quais usuários nunca retiraram livro é:
a) select nome from usuario right join emprestimo
on (usuario.id = emprestimo.id_usuario) where emprestimo.id is NULL;
b) select nome from usuario join emprestimo
on (usuario.id = emprestimo.id_usuario) where emprestimo.id is NULL;
c) select nome from usuario left join emprestimo
on (usuario.id = emprestimo.id_usuario) where emprestimo.id is NULL;
d) select id_usuario from emprestimo where id_livro is NULL;
e) Nenhuma das alternativas.
9. O que realiza o seguinte comando:
select autor.nome, count(*) from autor, autoria
where autor.id = autoria.id_autor group by autor.nome
a) de quantos autores diferentes há livros na biblioteca.
b) quantos autores possui cada livro da biblioteca.
c) quantos livros de cada autor há na biblioteca.
d) de quais autores a biblioteca tem mais livros.
e) Nenhuma das alternativas.
10. Considere as afirmações sobre a utilização de índices em bancos de dados relacionais.
I.
Um índice é uma estrutura auxiliar associado a uma tabela.
II. A estrutura de indexação não requer uma área adicional de armazenamento.
III. O tempo de inserção de um novo registro em uma tabela indexada inclui também o tempo para
atualizar o índice.
Está correto o que se afirma em:
a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) I e III, apenas.
11. Qual expressão SQL possibilita o retorno do valor médio de uma coluna que contém somente
números?
a) SELECT column_name FROM table_name SETTING AVG
b) SELECT column_name (AVG) FROM table_name
c) SELECT AVG OF column_name FROM table_name
d) SELECT FROM table_name AVG(column_name)
e) SELECT AVG(column_name) FROM table_name
12. Em um banco de dados relacional, quando se diz que uma relação contém 4 tuplas, é equivalente a
dizer que a relação contém 4:
a) índices.
b) tabelas.
c) atributos.
d) registros.
e) chaves estrangeiras.
13. Os bancos de dados utilizam a linguagem SQL (Structured Query Language). Esta linguagem possui
comandos que podem ser divididos em vários grupos, como: DDL, DML e DCL. Baseado em seus
conhecimentos em banco de dados, analise as afirmações a seguir:
I.
DDL é a Linguagem de Definição de Dados utilizada para definirmos as estruturas de um banco
de dados. São exemplos de comandos: create table, drop index, alter table.
II. DML é a Linguagem de Manipulação de dados utilizada para inserir, alterar e apagar dados em
uma tabela do banco de dados.
III. DCL é a linguagem de Controle de Dados utilizada para controlar as transações em um banco
de dados, como exemplos os comandos: commit e rollback.
Quais afirmativas estão corretas?
a) ( ) Apenas I
b) ( ) Apenas II
c) ( ) Apenas I e II
d) ( ) Apenas II e III
e) ( ) Todas as alternativas estão corretas
14. O processo de normalização possui várias regras, que devem ser obedecidas para que seja
considerada que uma tabela está em uma determinada forma normal. Com base nisto, analise as
afirmações abaixo:
I.
Uma tabela está na primeira forma normal (1FN), quando ela não contém tabelas aninhadas.
II. Uma tabela está na segunda forma normal (2FN), quando além de estar na 1FN, todo atributo
não chave é irredutivelmente dependente da chave primária.
III. Uma tabela está na terceira forma normal (3FN), quando além de estar na 2FN, todo atributo
não chave é dependente de forma não transitiva da chave primária.
Quais afirmativas estão corretas?
a) ( ) Apenas I
b) ( ) Apenas II
c) ( ) Apenas I e II
d) ( ) Apenas II e III
e) ( ) Todas as alternativas estão corretas
15. O catálogo (ou dicionário de dados) de um Sistema Gerenciador de Bancos de Dados Relacional
a) visa a propiciar o acesso rápido a dados com um determinado valor.
b) é um item opcional do banco de dados, que pode ser removido caso o usuário deseje.
c) é raramente utilizado, sendo sua organização pouco in#uente no desempenho do sistema.
d) contém informações descritivas sobre os diversos objetos do sistema.
e) tem seus dados organizados segundo um esquema hierárquico, para maior e#ciência no acesso.
16. As relações abaixo compõem uma base de dados em que atributos sublinhados são identificadores
e atributos em itálico e negrito são chaves estrangeiras.
Autor (CPFAutor, Nome, DataNascimento)
Obra (TituloObra, DataConclusao, CPFAutor, CodigoAssunto)
Editora (CNPJEditora, Nome, Local)
Publicacao (TituloObra, CNPJEditora, DataLancamento )
Assunto (CodigoAssunto, Descricao)
Que comando SQL apresenta como resultado a quantidade de publicações do assunto 'Policial' por
editora?
a) select P.CNPJEditora, count(P.TituloObra)
from Publicacao P inner join Obra O
on P.TituloObra = Obra.TituloObra
inner join Assunto A on O.CodigoAssunto = A.CodigoAssunto
where A.Descricao = 'Policial'
b) select P.CNPJEditora, count(P.TituloObra)
from Publicacao P, Obra O, Assunto A
where P.TituloObra = O.TituloObra
and O.CodigoAssunto = A.CodigoAssunto
and A.Descricao = 'Policial'
group by P.CNPJEditora
c) select P.CNPJEditora, count(P.TituloObra)
from Publicacao P, Obra O, Assunto A, Editora E
group by P.CNPJEditora
having A.Descricao = 'Policial'
d) select P.CNPJEditora, sum(P.TituloObra)
from Publicacao P inner join Obra O
on P.TituloObra = Obra.TituloObra
inner join Assunto A on O.CodigoAssunto = A.CodigoAssunto
where A.Descricao = 'Policial'
group by P.CNPJEditora
e) select P.CNPJEditora, count(P.TituloObra)
from Publicacao P left outer join Obra O
on P.TituloObra = Obra.TituloObra
left outer join Assunto A on O.CodigoAssunto = A.CodigoAssunto
group by P.CNPJEditora
Boa Sorte
Fernando Anselmo
Download

Exercícios de Fixação 08 - Clicks de Fernando Anselmo