Professional Documents
Culture Documents
br 1
Lista de Exercícios
Banco de Dados
Bons estudos!
QUESTÕES DE CONCURSOS
1) ANO: 2015 BANCA: FUNDATEC ÓRGÃO: BRDE PROVA: ANÁLISE DE SISTEMAS -
SUPORTE - O projeto de um novo banco de dados ocorre em três fases, quais sejam:
A DDL, SSD e modelagem virtual
B Modelagem conceitual, projeto lógico e projeto físico
C Projeto físico, SQL e SSD
D SQL, modelagem conceitual e projeto físico
E SQL, DDL e SSD 1
1
B
2
C
3
C
4
A
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 2
5
A
6
E
7
c
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 3
8
D
9
E
10
E
11
B
12
E
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 4
13) ANO: 2014 BANCA: CESGRANRIO ÓRGÃO: IBGE PROVA: SUPERVISOR DE PESQUISAS -
TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO - O modelo relacional tornou-se o padrão
estabelecido do mercado. Outros modelos anteriores ao modelo relacional, porém, podem ser
encontrados em sistemas usados no passado e, algumas vezes, encontrados como sistemas
legados nas empresas. Dois desses modelos são os
A em rede e XML
B hierárquico e em rede
C hierárquico e XML
D orientado a objetos e em rede
E orientado a objetos e XML.13
14) ANO: 2013 BANCA: CESPE ÓRGÃO: TCE-RO PROVA: ANALISTA JUDICIÁRIO -
INFORMÁTICA Para armazenar as informações da estrutura organizacional de uma empresa
com suas hierarquias, desde o presidente até o auxiliar administrativo, é necessário utilizar
um banco de dados hierárquico..14
15) ANO: 2013 BANCA: CESPE ÓRGÃO: ANTT PROVA: ANALISTA ADMINISTRATIVO -
DESENVOLVIMENTO DE SISTEMAS - Os sistemas gerenciadores de banco de dados (SGBDs)
evoluíram de sistemas de arquivos para novas estruturas de dados. O modelo em rede surgiu
como extensão ao modelo hierárquico (estrutura de árvore), ambos orientados a registros; o
modelo relacional não tem caminhos predefinidos para fazer acesso aos dados, mas
implementa estruturas de dados organizadas em relações (tabelas); e o modelo orientado a
objetos surgiu da necessidade de representar tipos complexos de dados utilizando semântica,
em que o diagrama de classes UML serve como esquema para representação de dados
orientado a objetos. .15
16) ANO: 2013 BANCA: FGV ÓRGÃO: AL-MA PROVA: TÉCNICO DE GESTÃO
ADMINISTRATIVA - ANALISTA DE SISTEMAS Sobre sistemas de gerenciamento de bancos de
dados, assinale a afirmativa incorreta.
A Em uma tabela chamada Carro, com os atributos Modelo, Ano, Cor e Placa, o atributo
mais apropriado para servir como chave primária é Placa.
B O processo de aplicação de regras ao projeto de um banco de dados, com o intuito de
permitir um acesso eficiente e armazenamento consistente dos dados, é denominado
normalização do banco de dados, ou apenas normalização.
C O modelo hierárquico de banco de dados é o mais apropriado para dados que são
representados por um relacionamento pai-filho, onde cada registro pai pode estar
relacionado com vários registros filho.
D Uma Visão (View) de um banco de dados contém todas as informações sobre as
entidades, atributos e tabelas. Seu objetivo é padronizar e unificar os termos utilizados
nas variáveis utilizadas nos banco de dados.
E O "varchar" é uma cadeia de caracteres de tamanho indeterminado. Campos do tipo
“varchar” podem ter qualquer tamanho, até um limite que varia de acordo com o
SGBD..16
13
B
14
E
15
C
16
D
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 5
17) ANO: 2012 BANCA: FCC ÓRGÃO: TST PROVA: ANALISTA JUDICIÁRIO - ANALISTA DE
SISTEMA O entendimento dos modelos de banco de dados é fundamental para compreender
as vantagens e desvantagens em aspectos de estrutura e manipulação dos dados. Um destes
modelos utiliza tabelas bidimensionais para o armazenamento dos dados e a maneira como os
dados são armazenados influencia na facilidade de acesso às informações, existindo técnicas
de normalização para aperfeiçoar a organização. Trata-se do modelo
A hierárquico.
B em rede.
C relacional.
D distribuído.
E orientado a objetos..17
18) ANO: 2015 BANCA: NUCEPE ÓRGÃO: SEFAZ - PI PROVA: ANALISTA - SISTEMAS
JÚNIOR A abstração de um banco de dados pode acontecer em três níveis: visão do usuário;
conceitual; e físico. Responda a alternativa INCORRETA sobre abstração e esses níveis.
A O nível de visão do usuário compreende as partes do banco de dados que o usuário
tem acesso.
B O nível conceitual define quais os dados que estão armazenados sem preocupar-se
com o relacionamento entre eles.
C O nível físico define efetivamente de que maneira os dados estão armazenados.
D No nível conceitual podemos ter vários níveis de visão do usuário.
E Não importa qual unidade de armazenamento é usada para guardar os dados.18
19) ANO: 2015 BANCA: NUCEPE ÓRGÃO: SEFAZ - PI PROVA: ANALISTA - SISTEMAS
JÚNIOR Um Sistema Gerenciador de Banco de Dados (SGBD) permite criar e manipular o
banco de dados. Entre as alternativas abaixo, qual está INCORRETA sobre o SGBD?
A Garantem restrições de integridade.
B Tem suporte a controle de concorrência.
C A abstração é suportada para os níveis de visão do usuário e conceitual, sendo o nível
físico negligenciado e de responsabilidade somente do sistema operacional.
D Permite controle de acesso.
E Otimiza as consultas por métodos de acessos eficientes. 19
20) ANO: 2015 BANCA: CESPE ÓRGÃO: MEC PROVA: TÉCNICO DE NÍVEL SUPERIOR -
ANALISTA DE SISTEMAS - O modelo conceitual corresponde ao mais baixo nível de abstração,
visto que estabelece como os dados são armazenados. Trata-se de um modelo simples, de
fácil compreensão pelo usuário final, além de independente de um SGBD particular..20
21) ANO: 2015 BANCA: CESPE ÓRGÃO: MEC PROVA: TÉCNICO DE NÍVEL SUPERIOR -
DESENVOLVEDOR - Entidade é um agrupamento lógico de informações inter-relacionadas que
representa uma abstração do mundo real..21
17
C
18
B
19
C
20
E
21
C
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 6
22) ANO: 2014 BANCA: UFG ÓRGÃO: UEAP PROVA: ANALISTA DE TI - SUPORTE E
INFRAESTRUTURA - A Arquitetura de Referência ANSI-SPARC para Bancos de Dados define
três níveis de abstração para descrever os dados em um Sistema de Bancos de Dados: nível
físico (ou interno), nível lógico (ou conceitual) e nível de visão (ou externo). A capacidade de
modificar a definição dos esquemas de dados em determinado nível, sem afetar o esquema do
nível superior, é chamada de
A abstração de dados.
B arquitetura de dados.
C independência de dados.
D mapeamento de dados. .22
23) ANO: 2014 BANCA: VUNESP ÓRGÃO: DESENVOLVESP PROVA: ANALISTA - ANALISTA
DE SISTEMAS - Em um banco de dados relacional deve haver, em cada uma de suas relações,
um conjunto de um ou mais atributos que não admite valores iguais, nesse conjunto, para
qualquer par de tuplas da relação. Esse conjunto de atributos tem a seguinte denominação:
A abstração.
B chave primária.
C domínio.
D índice.
E instância..23
24) ANO: 2012 BANCA: CESPE ÓRGÃO: POLÍCIA FEDERAL PROVA: PERITO CRIMINAL -
ANALISTA DE SISTEMAS - A arquitetura ANSI de três níveis separa o nível externo dos
usuários, o nível conceitual do banco de dados e o nível de armazenamento interno no
projeto de um banco de dados. O nível interno tem um esquema interno, que descreve a
estrutura do armazenamento físico do banco de dados e descreve os detalhes completos
do armazenamento de dados e os caminhos de acesso para o banco de dados.24
22
C
23
B
24
C
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 7
25) ANO: 2013 BANCA: FCC ÓRGÃO: MPE-SE PROVA: ANALISTA DO MINISTÉRIO PÚBLICO -
GESTÃO E ANÁLISE DE PROJETO DE SISTEMA - Em projetos de Banco de Dados, o
objetivo da arquitetura de três-esquemas é separar o usuário da aplicação do banco de
dados físico. Nessa arquitetura, os esquemas podem ser definidos por três níveis:
I. O nível interno tem um esquema que descreve a estrutura de armazenamento físico do
banco de dados. Esse esquema utiliza um modelo de dado físico e descreve os detalhes
complexos do armazenamento de dados e caminhos de acesso ao banco;
II. O nível conceitual possui um esquema que descreve a estrutura de todo o banco de dados
para a comunidade de usuários. O esquema conceitual oculta os detalhes das estruturas de
armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões,
operações de usuários e restrições. Geralmente, um modelo de dados representacional é usado
para descrever o esquema conceitual quando o sistema de banco de dados for implementado.
Esse esquema de implementação conceitual é normalmente baseado em um projeto de
esquema conceitual em um modelo de dados de alto nível;
III. O nível interno ainda abrange os esquemas externos ou visões de usuários. Cada esquema
interno descreve a parte do banco de dados que um dado grupo de usuários tem interesse e
oculta o restante do banco de dados desse grupo. Como no item anterior, cada esquema é
tipicamente implementado usando-se um modelo de dados representacional, possivelmente
baseado em um projeto de esquema externo em um modelo de dados de alto nível.
26) ANO: 2014 BANCA: BIO RIO ÓRGÃO: EMGEPRON PROVA: ANALISTA DE SISTEMAS -
BANCO DE DADOS - O conceito da arquitetura de três camadas que define a capacidade
de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o
esquema no nível mais alto é denominado independência de:
A dados
B esquema
C instância
D atualização26
27) ANO: 2015 BANCA: CESPE ÓRGÃO: DEPEN PROVA: AGENTE PENITENCIÁRIO FEDERAL -
TECNOLOGIA DA INFORMAÇÃO - Os níveis interno, externo e conceitual da arquitetura de
um banco de dados são responsáveis, respectivamente, por gerenciar o modo como os
dados serão armazenados fisicamente, por gerenciar o modo como os dados serão vistos
pelos usuários e por representar todo o conteúdo de informações do banco de dados.27
25
D
26
A
27
C
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 8
28) ANO: 2010 BANCA: FCC ÓRGÃO: TCE-SP PROVA: AGENTE DA FISCALIZAÇÃO FINANCEIRA
- CONHECIMENTOS BÁSICOS - As três visões da arquitetura básica de um SGBD, pela
ordem, desde a mais próxima do usuário até a mais distante, são:
A externa, conceitual e interna.
B externa, interna e conceitual.
C conceitual, interna e externa.
D conceitual, externa e interna.
E interna, conceitual e externa.28
29) ANO: 2013 BANCA: BIO RIO ÓRGÃO: ELETROBRAS PROVA: ANALISTA DE SISTEMAS -
BANCO DE DADOS - Leia o fragmento a seguir, relacionado à arquitetura ANSI/SPARC de
bancos de dados.
(1) Nível ________ - define views e consiste em uma “janela” parcial que é criada sobre a
totalidade do BD, permitindo trabalhar apenas com uma parte dos dados que seja de interesse
de uma determinada aplicação.
(2) Nível ________ - esconde os detalhes da implementação física dos arquivos que
armazenam os dados e corresponde a uma representação independente de qualquer usuário
ou aplicação.
(3) Nível ________ - equivale ao armazenamento físico dos dados e definição das estruturas
físicas que permitem obter um bom nível de desempenho.
28
A
29
A
30
A
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 9
CONCEITOS BÁSICOS
MODELAGEM
EXERCÍCIOS DE MODELAGEM
Cada reserva possui um prazo de validade. Caso os bilhetes não tenham sido emitidos,
até esgotar-se o prazo da reserva, a mesma é cancelada. Reservas podem ser
prorrogadas.
Como o “check-in” de todos os voos está informatizado, a companhia possibilita a
reserva de assento para o passageiro. Reservas de assento podem ser feitas com até 6
meses de antecedência.
Além de efetivar reservas, o sistema deve servir para vários tipos de consultas que os
clientes podem querer fazer:
1. possibilidades de viagem de uma cidade ou de um aeroporto para o outro;
2. o mesmo, mas restrito a determinados dias da semana;
3. horarios de chegada ou de saida em determinados voos;
4. disponibilidade de vagas em um trecho de voo;
5. disponibilidade de determinados assentos em um trecho de voo.
Um cliente pode alugar mais de uma bicicleta, mas somente uma por vez a cada
locação e uma uma, no mínimo. Cada bicicleta pode ser alugada por vários clientes.
Cada locação possui um código, valor da locação e uma data.
A. SELECT E.UF FROM Estado AS E A WHERE E.nome_estado NOT IN ( SELECT F.UF FROM
Fornecedor AS F);
C. SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN ( C SELECT F.UF FROM
Fornecedor AS F);
D select titulo from livro union select l.titulo from emprestimo e left join livro l
on e.livro_cod = l.liv_cod where e.data_dev is null
SQL
110) Criar por meio de comandos DDL o banco de Dados correspondente ao modelo
lógico abaixo..
Obs.: Começar pelas tabelas que não possuem FK
-- Conectar-se ao Database
use exercicio110;
-- Inserção de dados
INSERT INTO <NomedaTabela> (campo1, campo2)
VALUES (valor1, 'valor2');
112) Criar por meio de comandos DDL e fazer os insert do banco de Dados
referenciado na página 5 da Apostila de SQL disponibilizada.
(Médico, Paciente e Consulta**[substituir o nome na última tabela MÉDICO por Consulta])
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
113) Criar por meio de comandos DDL e fazer os insert do banco de Dados
referenciado na página 9 da Apostila de SQL disponibilizada
(Cliente e Telefones (Observar a ligação entre as tabelas)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
114) Criar por meio de comandos DDL e fazer os insert do banco de Dados
referenciado na páginas 25 e 26 da Apostila de SQL disponibilizada.
(Médicos, Paciente)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
115) Criar por meio de comandos DDL e fazer os insert do banco de Dados
referenciado nas páginas 30 e 31 da Apostila de SQL disponibilizada
(Aluno, Alunos_da_Banda)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
116) Criar por meio de comandos DDL e fazer os insert do banco de Dados
referenciado na página 3 da Apostila de SQL disponibilizada
(Produto, Detalhes_pedido, Pedido)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
StatusAluno
idStatusAluno,DeTipoAluno
(1,'Egresso')
(2,'Transferido')
(3,'Cursando')
Aluno
idAluno, NomeAluno,idStatusAluno
(1,'Paloma Oliveira',1)
(2,'Marina Ruy Barbosa',2)
(3,'Aline Riscado',2)
(4,'Bruna Marquezine',3)
(5,'Isabela Fontana',2)
(6,'Eva Andressa',1)
(7,'Camila Queiroz',3);
Curso
idCurso,DeCurso
Professor
idProfessor,Nomeprofessor
(1,'Eisntein')
(2,'Girafalis')
(3,'Patata')
(4,'Raimundo')
(5,'Pardal');
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 26
Disciplina
idDisciplina,DeDisciplina,idCurso,
idProfessor
(1,'Banco de Dados',1,1)
(2,'Civil',4,1)
(3,'Java',2,2)
(4,'Anatomia',4,3)
(5,'Fisiologia',4,1)
(6,'Engenharia Software',2,2)
(7,'Constitucional',5,3);
Inserir em Curso_Aluno
(1,1,1,'2018-04-23')
(1,2,1,'2018-04-17')
(1,3,0,'2018-03-12')
(3,6,0,'2018-01-23')
(4,4,1,'2018-03-13')
(5,5,1,'2018-02-27');
RESPOSTAS
104) ENADE
PADRÃO DE RESPOSTA
1) Formagráfica:
O estudante deve elaborar um diagrama ER semelhante ao apresentado abaixo.
Observação:
Nesta representação o estudante pode substituir o relacionamento amizade pela entidade
“Grupo” com as consequentes alterações de cardinalidade.
2) Forma escrita:
Para a notificação ter data e hora, adicionar o atributo do tipo timestamp;
Para restringir o acesso da notificação para amigos do Usuário:
o criar uma relação n para n de Usuário para Usuário chamada
amizade; ou
o criar uma entidade “Grupo” com uma relação 1 para n de
Usuário para grupo.
Para guardar as notificações enviadas para cada usuário, criar uma
relação n para n entre notificação e Usuário chamada notificações enviadas.
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 44
110)
CREATE DATABASE IF NOT EXISTS `exercicio110` /*!40100 DEFAULT CHARACTER SET utf8
*/;
USE `exercicio110`;
-- MySQL dump 10.13 Distrib 5.7.9, for Win64 (x86_64)
--
-- Host: localhost Database: aulaedilberto
-- ------------------------------------------------------
-- Server version 5.7.13-log
--
-- Table structure for table `aluno`
--
--
-- Table structure for table `curso`
--
--
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 46
--
-- Table structure for table `disciplina`
--
--
-- Table structure for table `professor`
--
--
-- Table structure for table `statusaluno`
--
111)
A. Incluir o campo Aluno.DtNascimento;
ALTER TABLE Aluno ADD COLUMN DtNascimento DATE;
112)
DROP DATABASE if exists exercicio112;
CREATE DATABASE IF NOT EXISTS `exercicio112` /*!40100 DEFAULT CHARACTER SET utf8
*/;
USE `exercicio112`;
-- MySQL dump 10.13 Distrib 5.7.9, for Win64 (x86_64)
--
-- Host: localhost Database: exercicio112
-- ------------------------------------------------------
-- Server version 5.7.13-log
113)
DROP DATABASE if exists exercicio113;
CREATE DATABASE exercicio113;
USE exercicio113;
117)
CREATE DATABASE IF NOT EXISTS `exercicio110` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `exercicio110`;
-- MySQL dump 10.13 Distrib 5.7.9, for Win64 (x86_64)
--
-- Host: localhost Database: aulaedilberto
-- ------------------------------------------------------
-- Server version 5.7.13-log
--
-- Dumping data for table `aluno`
--
--
-- Table structure for table `curso`
--
--
-- Dumping data for table `curso`
--
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 53
--
-- Table structure for table `curso_aluno`
--
--
-- Dumping data for table `curso_aluno`
--
--
-- Table structure for table `disciplina`
--
--
-- Dumping data for table `disciplina`
--
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 54
--
-- Table structure for table `professor`
--
--
-- Dumping data for table `professor`
--
--
-- Table structure for table `statusaluno`
--
--
-- Dumping data for table `statusaluno`
--
LOCK TABLES `statusaluno` WRITE;
/*!40000 ALTER TABLE `statusaluno` DISABLE KEYS */;
INSERT INTO `statusaluno` VALUES (1,'Egresso'),(2,'Transferido'),(3,'Cursando');
/*!40000 ALTER TABLE `statusaluno` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
I. Todos os campos, Somente Alunos com idaluno <5 e >=2 ordenado pelo
nomealuno;
O. Nome dos Alunos e curso matriculado com idaluno <7 e >4 ordenado
pelo nomealuno, que contenham a letra N, estejam “Transferido”;
select a.NomeAluno,
year (ca.DtMatricula) as AnoMatricula
from aluno a
inner join curso_aluno ca
on ca.idaluno = a.idaluno
order by a.NomeAluno;
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 58
select count(a.idaluno)
from aluno a
inner join curso_aluno ca
on a.idAluno = ca.idAluno
where day(ca.DtMatricula) = 23;
SELECT C.DECURSO,COUNT(A.NOMEALUNO)
FROM ALUNO A
INNER JOIN curso_aluno CA
ON CA.idAluno = A.IDALUNO
INNER JOIN CURSO C
ON C.IDCURSO = CA.idCurso
GROUP BY C.DECURSO ;
119)
UPDATE ALUNO
SET NOMEALUNO = 'JOANA TREPTOW'
WHERE IDALUNO = 3;
UPDATE ALUNO
SET NOMEALUNO = 'Paloma Tocci'
WHERE IDALUNO = 4;
UPDATE ALUNO
SET NOMEALUNO = 'Paloma Tocci'
WHERE NOMEALUNO = 'BRUNA MARQUEZINE'
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 60
UPDATE curso_aluno
SET DtMatricula = '2011-12-02'
WHERE IDCURSO = 3
AND IDALUNO = 6;
UPDATE curso_aluno
SET DtMatricula = '2015-03-09'
WHERE IDCURSO = 5
AND IDALUNO = 5;
E. Mudar o status para “Ativo” para todos os alunos com idaluno >=2 em
Curso aluno.
UPDATE curso_aluno
SET ativo = 0
where (idaluno = 6 and idCurso=3) or
(idAluno = 3 and idCurso=1);
UPDATE PROFESSOR
SET NomeProfessor = 'Mickey'
WHERE idProfessor=5;
UPDATE DISCIPLINA
SET DEDISCIPLINA = 'Nefrologia'
WHERE IDDISCIPLINA = 5;
UPDATE disciplina
SET DeDisciplina = 'Sistemas Operacionais',
idProfessor = 4
where idDisciplina =2 ;
Notas de Aulas Prof.: Edilberto Silva www.edilms.eti.br 61
UPDATE ALUNO
SET IDSTATUSALUNO=3,
NOMEALUNO = 'FIORELLA MATHEIS'
WHERE IDALUNO = 5;
120)
delete
from
curso_aluno
where idcurso=4
and idaluno = 4;
---- OU ----