SlideShare uma empresa Scribd logo
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 1 de 57
AULA 01: INSS – Analista de TI – Banco de Dados –
Exercícios Comentados
Sumário
1. Apresentação................................................................................................................................3
1.1. A Banca. ........................................................................................................................................3
1.2. Metodologia das aulas..................................................................................................................3
1.3. Observações finais........................................................................................................................4
2. Conteúdo programático e planejamento das aulas (Cronograma)..............................................5
3. Conceitos e arquitetura de sistemas de banco de dados.............................................................6
4. Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e
programação...........................................................................................................................................8
5. Teoria e metodologia de projeto de banco de dados. ...............................................................24
6. Lista de Questões........................................................................................................................42
Conceitos e arquitetura de sistemas de banco de dados.....................................................................42
Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação....42
Teoria e metodologia de projeto de banco de dados...........................................................................49
7. Gabarito......................................................................................................................................55
Conceitos e arquitetura de sistemas de banco de dados.....................................................................55
Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação....55
Teoria e metodologia de projeto de banco de dados...........................................................................56
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 2 de 57
Olá Concurseiros!
Para iniciarmos nossa aula de demonstração, antes de tudo falarei um pouquinho sobre
mim, uma apresentação para termos um alinhamento sobre quem é o Professor Manoel
Caetano.
Sou Empregado Público do SERPRO, atuando como Analista – Especialista em Negócio em
TI, já atuei no mercado privado como Administrador de Banco de Dados e também como
Administrador de Dados, trabalhando na manutenção e saúde de banco de dados de
empresas privadas. Sou Bacharel em Ciência da Computação pela Universidade Federal da
Bahia – UFBA e especialista em Banco de Dados com Ênfase em Alta Disponibilidade pela
Universidade Salvador – UNIFACS.
Venho trabalhando também como professor em cursos preparatórios para concursos
ITnerante (www.itnerante.com.br) com a disciplinas de SGBD’s específicos como Oracle e
Microsoft SQL Server.
Tenho como foco atual dentro de cursos preparatórios as disciplinas que são cobradas em
concursos de Tecnologia da Informação como: Banco de dados e SGBD’s específicos.
Já fui aprovado em 2 concursos públicos e tinha parado de fazer concursos desde 2010 após
o concurso do Serpro, o qual hoje estou trabalhando. Desde 2012 venho me dedicando as
disciplinas que venho ministrando para concurso público e voltei a estudar para concursos
públicos.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 3 de 57
1. Apresentação.
Nosso curso terá como foco atender a necessidade do concurseiro que irá fazer a prova do
INSS e precisa ter conhecimento sobre o conteúdo publicado no tópico Tecnologia da
Informação do seu edital, conforme abaixo:
Banco de Dados:
 Conceitos e arquitetura de sistemas de banco de dados.
 Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design
e programação. Teoria e metodologia de projeto de banco de dados.
 Armazenamento de dados, indexação, processamento de consultas e
projeto físico.
 Conceitos de processamento de transações.
 Bancos de dados de objetos e objeto-relacionais.
 Tecnologias e aplicações emergentes de bancos de dados.
Os demais tópicos relacionados ao conteúdo de TI serão tratados por outros professores.
Nosso curso, como já pode se detectado no cabeçalho das páginas, é um curso de Exercícios
e será apresentado de forma que o aluno tenha o entendimento de como cada exercício
seja resolvido.
1.1. A Banca.
Conforme sabemos, a FUNRIO não é uma das bancas mais tradicionais em concursos
públicos que temos no Brasil, mas tem questões similares as bancas da FCC e
CESGRANRIO. Suas questões comumente são caracterizadas por trabalhar com itens de
múltipla escolha e geralmente são provas que os senhores tem que fazer o máximo de
pontos possíveis para serem aprovados.
1.2. Metodologia das aulas.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 4 de 57
a) Teremos no curso aulas expositivas e descritivas com no máximo de 35 páginas por
aula, as quais poderão variar em quantidade, dependendo do assunto tratado e da
abordagem oferecida, mas tentando sempre manter tal média.
b) Todas as aulas terão uma abordagem de resolução dos exercícios, podendo ter
aprofundamento da teoria como também uma explicação clara para que o
concurseiro possa resolver o exercício e entender a resposta de cada questão.
c) Serão tratados nas aulas assuntos desde o básico até o avançado, fazendo assim com
que o aluno iniciante tenha conhecimento e contato inicial com os tópicos tratados,
bem como o aluno que já o conhece possa aprofundar seu conhecimento aplicável à
resolução de questões.
d) Não serão poupados gráficos, tabelas e “memorióis” aplicáveis ao assunto, para que
assim possam realmente entender o que está sendo apresentado. (Alguns podem se
perguntar agora, “pra que memorióis?” Simples, vocês estão estudando para
concurso público e eles poderão te salvar em até 60% do conteúdo cobrado na sua
prova).
1.3. Observações finais.
Agora, acredito que alguns pontos se fazem necessários para que não tenhamos falta de
rendimento dos senhores:
a) Como estamos falando de aulas textuais, a informalidade e a medida descontração
farão parte delas para que tenhamos o maior nível de integração possível entre nós,
lembrem-se que a única coisa que mudou aqui foi a interface entre professor e
alunos e se os senhores quisessem livros cheios de formalidade e teorias aplicáveis
às pesquisas de TI, comprariam em livrarias, então vamos abusar desta nossa
interface e da comunicação no Fórum.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 5 de 57
2. Conteúdo programático e planejamento das aulas (Cronograma).
O Conteúdo programático está distribuído de forma que os alunos, mesmo que nunca
tenham tido contato com o assunto, possam compreender o contexto da disciplina e
também a forma com que ela se “encaixa” dentro das instituições e que pode ser cobrada
na prova.
Tento sempre trabalhar com o aumento do nível de conhecimento do candidato, e verão
que tudo que coloco nas nossas aulas é sinal que cai ou que pode cair na prova, ou seja, não
deixem de estudar ou se ficar com preguiça, vamos lá gente, volte atrás e leia novamente.
Aula Conteúdo a ser trabalhado
Aula 1
20/01/2014
 Apresentação do Curso e Metodologia a ser aplicada.
 Banco de dados.
o Conceitos e arquitetura de sistemas de banco de dados.
o Modelo relacional de bancos de dados: conceitos, restrições,
linguagens, design e programação. Teoria e metodologia de
projeto de banco de dados.
Aula 2
27/01/2014  Armazenamento de dados, indexação, processamento de
consultas e projeto físico.
 Conceitos de processamento de transações.
 Bancos de dados de objetos e objeto-relacionais.
 Tecnologias e aplicações emergentes de bancos de dados.
Seguiremos na próxima página com a nossa aula de demonstração e vejam que os exercícios
que estão sendo resolvidos estão por ordem de blocos de assuntos e provas selecionadas.
Algumas questões não serão necessárias as explicações de todas as alternativas de múltipla
escolha visto a inexistência de termos informados ou a utilização de assuntos diferentes
relacionados com o assunto tratado. Qualquer dúvida ou sugestão você pode entrar em
contato através do e-mail manoel.neto@tiparaconcursos.net.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 6 de 57
3. Conceitos e arquitetura de sistemas de banco de dados.
O SGBD é um conjunto de aplicativos responsáveis pela administração e gerenciamento de
uma ou mais base de dados. O objetivo principal é gerenciar o acesso, manipulação e
organização dos dados.
Algumas das vantagens da utilização de SGBD’s são: controle de redundância dos dados,
controle de acesso (segurança), armazenamento persistente dos dados, existência de
múltiplas interfaces para os usuários, representação de relacionamentos complexos entre
os dados, manutenção de restrições de integridade, recuperação de falhas.
No mercado existem diversos tipos de SGBD’s, sendo que os mais conhecidos são: Oracle,
MS SQL Server, MySQL, PostgreSQL.
Um sistema de banco de dados é dividido em módulos que tratam de cada uma das
responsabilidades do sistema geral. Na maioria dos casos, o sistema operacional do
computador fornece apenas os serviços mais básicos e o sistema de banco de dados precisa
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 7 de 57
ser construído sobre essa base. Portanto, o projeto do sistema de banco de dados precisa
incluir considerações sobre a interface entre o sistema de banco de dados e o sistema
operacional.
Os componentes funcionais de um sistema de banco de dados incluem:
 Gerenciador de arquivos, que gerencia a alocação do espaço na armazenagem do
disco e as estruturas de dados usadas para representar a informação armazenada no
disco.
 Gerenciador do banco de dados, que fornece a interface entre os dados de baixo
nível armazenados no disco e os programas aplicativos e de consulta submetidos ao
sistema.
 Processador de consultas, que traduz os comandos numa linguagem de consulta
para instruções de baixo nível que o gerenciador do banco de dados pode
interpretar. Além disso, o processador de consultas tenta transformar uma
requisição do usuário em uma forma compatível e mais eficiente com respeito ao
banco de dados, encontrando uma boa estratégia para a executar a consulta.
 Pré-compilador da DML, que converte comandos da DML embutidos em um
aplicativo para chamadas de procedimento normal na linguagem hospedeira. O pré-
compilador precisa interagir com o processador de consultas pra gerar o código
apropriado.
 Compilador da DDL, que converte comandos da DDL em um conjunto de tabelas
contendo metadados ou "dados sobre dados".
Adicionalmente, diversas estruturas de dados são requeridas como parte da implementação
do sistema físico, incluindo:
 Arquivos de dados, que armazenam o banco de dados propriamente dito.
Dicionário de dados, que armazena metadados sobre a estrutura do banco de dados. O
dicionário de dados éusado com freqüência. Assim, deve-se dar grande ênfase no
desenvolvimento de um bom projeto e implementação eficiente do dicionário.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 8 de 57
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[59] Consiste de um conjunto de dados (banco de dados) e um conjunto de programas
para armazenamento e acesso a esses dados, de forma eficiente e convincente:
(A) SGBD
(B) DGBD
(C) GBD
(D) PGBD
(E) MGBD
Comentário: De acordo com a definição que temos de SGBD, no início deste tópico,
podemos dizer que a resposta da questão é a letra A.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[31] Com relação aos Sistemas Gerenciadores de Bancos de Dados (SGBD), pode-se dizer
que se constituem em um
(A) conjunto de dados armazenados em discos magnéticos.
(B) conjunto de programas de computador capaz de processar conjuntos de dados.
(C) aplicativo disponibilizado por alguns sistemas operacionais.
(D) software destinado exclusivamente ao projeto dos modelos de bancos de dados.
(E) software para apoio a programas de geração de cronogramas.
Comentário: Novamente, de acordo com a definição que temos de SGBD, no início deste
tópico, podemos dizer que a resposta da questão é a letra B.
4. Modelo relacional de bancos de dados: conceitos, restrições, linguagens,
design e programação.
O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seu
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 9 de 57
desenvolvimento somente foi possível devido à consolidação dos discos de armazenamento
endereçáveis, pois esses discos possibilitaram a exploração de sua estrutura de
endereçamento físico para viabilizar a representação hierárquica das informações. Nesse
modelo de dados, os dados são estruturados em hierarquias ou árvores. Os nós das
hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos
(atributos), cada um contendo apenas uma informação. O registro da hierarquia que
precede a outros é o registro-pai, os outros são chamados de registros-filhos.
O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o
conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias
associações. No modelo em rede, os registros são organizados em grafos onde aparece um
único tipo de associação (set) que define uma relação 1:N entre 2 tipos de registros:
proprietário e membro. Desta maneira, dados dois relacionamentos 1:N entre os registros A
e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D. O
gerenciador Data Base Task Group (DBTG) da CODASYL (Committee on Data Systems and
Languages) estabeleceu uma norma para este modelo de banco de dados, com linguagem
própria para definição e manipulação de dados. Os dados tinham uma forma limitada de
independência física. A única garantia era que o sistema deveria recuperar os dados para as
aplicações como se eles estivessem armazenados na maneira indicada nos esquemas. Os
geradores de relatórios da CODASYL também definiram sintaxes para dois aspectos chaves
dos sistemas gerenciadores de dados: concorrência e segurança. O mecanismo de segurança
fornecia uma facilidade na qual parte do banco de dados (ou área) pudesse ser bloqueada
para prevenir acessos simultâneos, quando necessário. A sintaxe da segurança permitia que
uma senha fosse associada a cada objeto descrito no esquema. Ao contrário do Modelo
Hierárquico, em que qualquer acesso aos dados passa pela raiz, o modelo em rede
possibilita acesso a qualquer nó da rede sem passar pela raiz.
O modelo relacional apareceu devido às seguintes necessidades: aumentar a independência
de dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções
apoiadas em álgebra relacional para armazenamento e recuperação de dados; permitir
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 10 de 57
processamento ad-hoc. O modelo relacional, tendo por base a teoria dos conjuntos e
álgebra relacional, foi resultado de um estudo teórico realizado por Edgar Frank Codd. O
Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários
problemas que se colocam no nível da concepção e implementação da base de dados. A
estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é constituída
por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar. Cada
instância do esquema (linha) é chamada de tupla (registro). O modelo relacional não tem
caminhos pré-definidos para se fazer acesso aos dados como nos modelos que o
precederam. O modelo relacional implementa estruturas de dados organizadas em relações.
Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para
evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar
parte da informação e perda de informação. Essas restrições são: integridade referencial,
chaves e integridade de junções de relações.
O Modelo Orientado a Objetos é usado para documentar o padrão que contém a descrição
geral das facilidades de um conjunto de linguagens de programação orientadas a objetos e a
biblioteca de classes que pode formar a base para o Sistema de Banco de Dados. Quando os
bancos de dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis
do modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-se
que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém, acredita-se
que os Bancos de Dados Orientados a Objetos serão usados em aplicações especializadas,
enquanto os sistemas relacionais continuarão a sustentar os negócios tradicionais, onde as
estruturas de dados baseadas em relações são suficientes. O diagrama de classes UML serve
geralmente como o esquema para o modelo de dados orientado a objetos.
Banco de dados distribuído (BDD) é uma coleção de várias bases de dados logicamente
inter-relacionadas, distribuídas por uma rede de computadores. Existem dois tipos de banco
de dados distribuídos, os homogêneos e os heterogêneos. Os homogêneos são compostos
pelos mesmos bancos de dados, já os Heterogêneos são aqueles que são compostos por
mais de um tipo de banco de dados.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 11 de 57
Num banco de dados distribuídos os arquivos podem estar replicados ou fragmentados,
esses dois tipos podem ser encontrados ao longo dos nós do sistema de BDD's. Quando os
dados se encontram replicados, existe uma cópia de cada um dos dados em cada nó,
tornando as bases iguais (ex: tabela de produtos de uma grande loja). Já na fragmentação,
os dados se encontram divididos ao longo do sistema, ou seja a cada nó existe uma base de
dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global
os dados são vistos de uma forma única, pois cada nó possui um catálogo que contém cada
informação dos dados dos bancos adjacentes.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[47] No armazenamento de registros das tabelas de um banco de dados relacional, há
uma técnica conhecida como registros desordenados (ou heap files), na qual novos
registros são inseridos
(A) no início do arquivo correspondente.
(B) de acordo com o tipo de dados presente em cada tabela.
(C) ao final do arquivo correspondente.
(D) em uma posição intermediária no arquivo correspondente.
(E) de acordo com um índice previamente definido.
Comentário: No armazenamento de registros de tabelas de um banco de dados relacional
utilizando a técnica de heap files ou registros desordenados os novos registros são inseridos
no final do arquivo correspondente. Quando utiliza-se a técnica de arquivo ordenado a
inserção é feita na ordem da chave de busca, logo você perde com a reordenação dos
arquivos. Portanto temos que a resposta da questão é letra C.
[48] Um tipo de banco de dados é representado pelos bancos de dados relacionais
distribuídos, nos quais pode ser feita a fragmentação de dados, que consiste em
(A) criptografar todas as tabelas do banco de dados utilizando uma chave pública.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 12 de 57
(B) dividir as tabelas do banco de dados e armazenar cada parte em um local (site)
diferente.
(C) excluir os registros das tabelas que possuam atributos com valores nulos.
(D) excluir todas as tabelas que não possuam chave estrangeira.
(E) replicar todas as tabelas do banco de dados em todos os locais (sites).
Comentário: Na fragmentação os dados se encontram divididos ao longo do sistema, ou
seja, a cada nó existe uma base de dados diferente se olharmos de uma forma local, mas se
analisarmos de uma forma global os dados são vistos de uma forma única, pois cada nó
possui um catálogo que contém cada informação dos dados dos bancos adjacentes. Logo
temos que a resposta da questão é B.
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[58] É o modelo de dados que eliminou o conceito de hierarquia, permitindo que um
mesmo registro estivesse envolvido em várias associações. Os registros, organizados em
grafos, permitem o tipo de associação que define uma relação 1:N entre os tipos de
registros proprietário e membro. Assim, para dois relacionamentos 1:N entre os registros
A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D.
Trata-se do modelo
(A) em rede.
(B) relacional.
(C) hierárquico.
(D) orientado a objetos.
(E) distribuído.
Comentário: De acordo com a introdução feita no início do tópico temos que a resposta da
questão é letra A.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 13 de 57
A linguagem SQL é um grande padrão de banco de dados, o que decorre da sua simplicidade
e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no
sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para
chegar a ele. Isso reduz o ciclo de aprendizado daqueles que se iniciam na linguagem.
Você pode se perguntar: qual a vantagem de existir uma linguagem padrão de acesso a
banco de dados? Imagine, se você estivesse numa reunião com um italiano, um chinês e um
russo e ninguém falasse outra língua a não ser a de origem. Como se daria a comunicação?
Provavelmente por mímicas e/ou desenho. Infelizmente, os sistemas computacionais ainda
não conseguem utilizar esse tipo de estratégia, desse modo foi instituído um padrão de
comunicação para Banco de Dados Relacional.
O SQL foi desenvolvido originalmente no início dos anos 1970 nos laboratórios da IBM em
San Jose, dentro do projeto System R. O nome original da linguagem era SEQUEL, acrônimo
para Structured English Query Language (Linguagem de Consulta Estruturada em Inglês).
Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários
"dialetos" produzidos por outros desenvolvedores. Essa expansão levou à necessidade de
ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American
National Standards Institute (ANSI) em 1986 e International Organization for
Standardization (ISO) em 1987. O SQL foi revisto em 1992 e a essa versão foi dado o nome
de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e
SQL:2003, respectivamente.
Embora SQL seja a linguagem de banco de dados mais influente do mercado, ela não é a
única, existindo outras, como exemplo:
QBE (Query-by-Example) – Integra o sistema de banco de dados QBE que foi desenvolvido
pela IBM no início de 1970;
Quel – Linguagem de consulta lançada para o banco de dados Ingres, desenvolvido na
Universidade da Califórnia em Berkeley;
Datalog – Linguagem de consulta baseada na lógica de programação Prolog.
SQL é caracterizada pela utilização de palavras-chaves que podem ser classificadas, de
acordo com sua função, nos seguintes tipos:
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 14 de 57
DML – Linguagem de Manipulação de Dados, subconjunto da linguagem usado para inserir,
atualizar e apagar dados. Ex.: INSERT, UPDATE, DELETE;
DDL – Linguagem de Definição de Dados, permite ao utilizador definir tabelas novas e
elementos associados. Ex.: CREATE, DROP;
DCL – Linguagem de Controle de Dados, controla quem tem acesso para ver ou manipular
dados dentro do banco de dados. Ex.: GRANT, REVOKE;
DTL – Linguagem de Transação de Dados, usado para o controle de transações no banco de
dados. Ex.: START TRANSACTION;
DQL – Linguagem de Consulta de Dados, permite ao usuário especificar uma consulta
(query) como uma descrição do resultado desejado. Ex.: SELECT.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[70] O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para
banco de dados relacional. A DML é um subconjunto da linguagem usada para inserir,
atualizar e apagar dados. A sigla DML significa:
(A) Data Main Language.
(B) Data Manager Language.
(C) Data Manipulation List.
(D) Data Manager List.
(E) Data Manipulation Language.
Comentário: Conforme o texto no início do tópico, DML significa Data Manipulation
Language. Logo temos que a resposta da questão é letra E.
DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados)
[55] Analise os seguintes comandos de definição e manipulação de dados SQL:
CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR VARCHAR(30));
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 15 de 57
INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”, “Machado de Assis”);
INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL);
UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1;
Após a execução destes comandos,
(A) apenas o primeiro livro será incluído na tabela, pois o segundo livro está utilizando o
mesmo código de identificação, o que é restringido (CONSTRAINT) para campos do tipo ID.
(B) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor NULL, pois não foi
informada a cláusula ALL para o comando UPDATE.
(C) nenhuma alteração será efetuada no comando UPDATE, devido à falta da cláusula
TABLE antes do nome da tabela.
(D) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os livros.
(E) o comando de inserção do segundo livro irá falhar, pois colunas do tipo VARCHAR não
podem conter valores NULL sem que seja informada essa opção na criação da tabela.
Comentário: Efetuando os comandos informados nós temos a criação da tabela livro com a
seguinte configuração:
ID NOME AUTOR
1 Memórias Póstumas de Brás
Cubas
Machado de Assis
1 Quincas Borba NULL
Após a criação a criação, executando o comando update temos a tabela da seguinte forma:
ID NOME AUTOR
1 Memórias Póstumas de Brás
Cubas
Machado de Assis
1 Quincas Borba Machado de Assis
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 16 de 57
Logo, podemos informar que a resposta da questão é letra D, pois na letra A o erro está em
dizer que existe uma constraint que não foi definida na criação da tabela; na letra B está
errada, pois o código do comando update irá mudar o autor do livro “Quincas Borba”; na
letra C a sintaxe do comando UPDATE não necessita da palavra TABLE para funcionar; na
letra E o erro está em dizer que nas colunas do tipo varchar não podem conter valor NULL,
pois o padrão dos campos não preenchidos em um banco de dados é o valor NULL ou
branco.
[57] São CONSTRAINTS SQL, EXCETO
(A) FOREIGN KEY.
(B) NOT NULL.
(C) UNIQUE.
(D) PRIMARY KEY.
(E) UNION.
Comentário: Em SQL, temos as seguintes constraints:
 NOT NULL - Indica que a coluna não pode armazenar o valor NULL
 UNIQUE - Assegura que cada linha de uma coluna deve ter um valor único
 PRIMARY KEY - A combinação de um NOT NULL e UNIQUE. Garante que uma coluna
(ou uma combinação de duas ou mais colunas) tem uma identidade única, que ajuda
a localizar um registo particular numa tabela mais facilmente e rapidamente
 FOREIGN KEY - Garantir a integridade referencial dos dados em uma tabela para
coincidir com valores de outra tabela
 CHECK - Garante que o valor em uma coluna encontra uma condição específica
 DEFAULT - Especifica um valor padrão quando não especificado para esta coluna
Dentre todas as alternativas a única que não é uma constraint é a letra E.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 17 de 57
DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas)
[50] Considere as seguintes tabelas de um banco de dados relacional, sendo que os
atributos ID e Cod, na tabela Usa são chaves estrangeiras, com origem, respectivamente,
nas tabelas Dpto e Eqpto:
Depto (ID, Nome, Função)
Usa (ID, Cod)
Eqpto (Cod, Tipo, Valor)
Assinale a alternativa que apresenta a expressão SQL para obter o Nome do Depto e o
Tipo de Eqpto utilizados.
(A) SELECT Nome, Tipo FROM Depto Eqpto
(B) SELECT Nome, Tipo FROM Usa WHERE USA.ID and Usa.Cod
(C) SELECT Nome, Tipo FROM Depto, Usa, Eqpto
(D) SELECT Nome, Tipo FROM Depto, Usa, Eqpto WHERE Depto.ID = USA.ID and Eqpto.Cod
= Usa.Cod
(E) SELECT Nome, Tipo FROM Depto, Eqpto WHERE Dpto.ID and Eqpto.Cod
Comentário: Analisando a questão temos a resposta dela é a combinação das 3 tabelas
efetuando os joins entre elas. No caso temos que:
Select nome, tipo
From depto, usa, eqpto
Where depto.id = usa.id and eqpto.cod = usa.cod
No caso pegamos as tabela “USA” que é formada pelas chaves das tabelas “eqpto” e
“depto” para fazer o join e retornar os dados solicitados na consulta. Logo temos que a
resposta da questão é letra D.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 18 de 57
[38] O comando SQL para conceder o privilégio de leitura da tabela T5 a todos usuários do
banco de dados é:
(A) GRANT READ FOR TABLE T5 FOR ALL
(B) GRANT SELECT T5
(C) GRANT READ T5 FOR MOST
(D) GRANT READ INTEGRAL OF T5
(E) GRANT SELECT ON TABLE T5 TO PUBLIC
Comentário: No SQL temos que a sintaxe do comando Grant, que dá permissões a usuários
e schemas para acesso a objetos no banco de dados, é:
GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];
Logo podemos dizer que a resposta da questão é letra E.
[39] Considere o seguinte comando em SQL:
SELECT Objeto
FROM T20
WHERE Nome LIKE ‘C%s’
Os valores que podem ser resultantes dessa consulta são:
(A) Camas − Canetas − Contas.
(B) Cômoda − Bonés − Portas.
(C) Casa − Cozinha − Quarto.
(D) Áreas − Sucos − Carros.
(E) Sacos − Coroa − Castiçal.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 19 de 57
Comentário: No SQL o caractere ‘%’ funciona como um “coringa”. Ele substitui um caractere
ou um sequencia de caracteres em uma string. Portanto podemos dizer que os valores
resultantes desta consulta são as strings iniciadas com ‘C’ e terminadas com ‘s’. Logo a
resposta da questão é letra A.
[40] Considere a seguinte consulta SQL em um banco de dados relacional:
SELECT T1.CA, T2.CB
FROM T1, T2
WHERE T1.ID = T2.ID
Uma consulta equivalente a essa é:
(A) SELECT T1.C1, T2.CB FROM T1 JOINED T2 HAVING T1.ID = T2.ID
(B) SELECT T1.C1, T2.CB FROM T1 LEFT JOIN T2 FOR T1.ID = T2.ID
(C) SELECT T1.C1, T2.CB FROM T1 INNER JOIN T2 ON T1.ID = T2.ID
(D) SELECT T1.C1, T2.CB FROM T1 LIKE T2 ON T1.ID = T2.ID
(E) SELECT T1.C1, T2.CB FROM T1 RIGHT JOIN T2 AND T1.ID = T2.ID
Comentário: Antes de responder está questão vamos falar um pouco sobre INNER JOIN,
LEFT JOIN e RIGHT JOIN.
INNER JOIN – A cláusula INNER JOIN permite usar um operador de comparação para
comparar os valores de colunas provenientes de tabelas associadas. Por meio desta
cláusula, os registros de duas tabelas são usados para que sejam gerados os dados
relacionados de ambas. Usamos as cláusulas WHERE e FROM para especificar esse tipo de
associação.
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 20 de 57
Ou:
SELECT column_name(s)
FROM table1, table2
WHERE table1.column_name=table2.column_name;
LEFT JOIN – A cláusula LEFT JOIN ou LEFT OUTER JOIN permite obter não apenas os dados
relacionados de duas tabelas, mais também os dados não relacionados encontrados na
tabela à esquerda da cláusula JOIN. Caso não existam dados relacionados entre as tabelas à
esquerda e a direita do JOIN, os valores resultantes de todas as colunas da lista de seleção
da tabela à direita serão nulos.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
RIGHT JOIN – Ao contrário do LEFT JOIN, a cláusula RIGHT JOIN ou RIGHT OUTER JOIN
retorna todos os dados encontrados na tabela à direita de JOIN. Caso não existam dados
associados entre as tabelas à esquerda e à direita de JOIN, serão retornados valores nulos.
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
Com a explicação acima podemos dizer que a resposta da questão é letra C.
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[56] Considere a seguinte tabela de um banco de dados.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 21 de 57
TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL}
Uma consulta SQL que devolve apenas a tabela formada pelos códigos (COD_FUNC) e
nomes (NOME) dos funcionários que ganham salário (SAL) entre 1000 e 3000 reais e
trabalham no departamento de código (COD_DEP) 3 é
(A) SELECT * FROM COD_FUNC AND NOME WHERE SAL BETWEEN 1000 AND 3000 AND
COD_DEP=3
(B) SELECT * FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000
(C) SELECT COD_DEP=3 FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000
(D) SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN
1000 AND 3000
(E) SELECT COD_FUNC AND NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL
BETWEEN 1000 AND 3000
Comentário: Analisando a questão e o SQL que foi solicitado temos que a query inicia da
seguinte forma:
Select cod_func, nome
Continua informando de qual tabela iremos utilizar os dados:
From tab_func
Logo após iremos adicionar a cláusula where, que será:
Where cod_dep=3 and sal between 1000 and 3000
Ou
Where sal between 1000 and 3000 and cod_dep=3.
Portanto temos que a resposta da questão é letra D.
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[42] Considere:
Tabela Pessoa
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 22 de 57
Id Sobrenome Nome Endereço Cidade
1 Tulio Nelson Rua Sete Santos
2 Madeira Carala Av. Quadrante Santos
3 Pereira Patrícia Pça. Julio Campinas
A expressão SELECT DISTINCT Cidade FROM Pessoa, terá como resultado
(A) Santos.
(B) Santos e Santos.
(C) Santos e Campinas.
(D) Campinas.
(E) Santos, Santos e Campinas.
Comentário: Em uma consulta SQL o termo “distinct” vai trazer de volta para o DBA ou
usuário do banco de dados os valor distintos, ou seja, elimina as repetições que existam.
Logo podemos dizer que a resposta da questão é letra C.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[57] Sobre um Trigger, que é um bloco de comandos Transact-SQL executado em bancos
de dados, afirma-se que
(A) não pode ser usado com os comandos INSERT e DELETE.
(B) pode ser usado com os comandos CREATE TABLE e DROP TABLE.
(C) pode ser utilizado em JOINS e SUBSELECTS.
(D) pode ser uma forma de implementar a integridade referencial.
(E) em cada tabela pode ter somente um associado à mesma.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 23 de 57
Comentário: Um trigger é um tipo especial de procedimento armazenado, que é executado
sempre que há uma tentativa de inserir, atualizar ou deletar os dados de uma tabela que é
protegida por ele. Ao contrário dos procedimentos armazenados do sistema, os triggers não
podem ser chamados diretamente e não passam nem aceitam parâmetros. Cada tabela
pode ter mais de um trigger associado, por exemplo, podemos ter em uma tabela associado
à opção de update, um outro associado a opção de delete e mais um outro associado a
opção de insert.
Os triggers são utilizados, por exemplo, para impor uma integridade de dados mais
complexa do que uma restrição CHECK; definir mensagens de erro personalizadas; manter
dados desnormalizados; comparar a consistência dos dados – posterior e anterior – de uma
instrução UPDATE;
Portanto podemos dizer que a resposta da questão é letra D.
[58] NÃO se trata de uma característica das stored procedures:
(A) acionar outra stored procedure.
(B) utilizar somente comandos SQL padronizados.
(C) receber diversos parâmetros de entrada.
(D) propiciar maior segurança no acesso aos dados.
(E) retornar um valor de status para indicar aceitação ou falha na execução.
Comentário: Stored Procedures nada mais são do que um conjunto de instruções Transact-
SQL que são executadas dentro do banco de dados. É como escrever um programa dentro
do próprio banco de dados para executar.
As stored procedures podem acionar outras stored procedures ou acionar ela própria
podem efetuar uma recursão; podem receber códigos de linguagem como trasact-SQL e
PL/SQL, por exemplo; podem receber vários parâmetros de entrada e de diversos tipos;
propiciam maior segurança de acesso aos dados já que elas encapsulam o código SQL para
executar os comandos guardados nela; podem retornar valores para indicarem falha ou
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 24 de 57
sucesso na execução da stored procedure para poder informar ao DBA ou usuário da
aplicação de o procedimento foi executado ou não.
As vantagens do uso de Stored Procedures são claras:
 Modularidade: passamos a ter o procedimento divido das outras partes do software,
bastante alterarmos somente às suas operações para que se tenha as modificações
por toda a aplicação;
 Diminuição de I/O: uma vez que é passado parâmetros para o servidor, chamando o
procedimento armazenado, as operações se desenolam usando processamento do
servidor e no final deste, é retornado ou não os resultados de uma transação, sendo
assim, não há um tráfego imenso e rotineiro de dados pela rede;
 Rapidez na execução: os stored procedures, após salvos no servidor, ficam somente
aguardando, já em uma posição da memória cache, serem chamados para
executarem uma operação, ou seja, como estão pré-compilados, as ações também já
estão pré-carregadas, dependendo somente dos valores dos parâmetros. Após a
primeira execução, elas se tornam ainda mais rápidas;
 Segurança de dados: podemos também, ocultar a complexidade do banco de dados
para usuários, deixando que sejam acessados somente dados pertinentes ao tipo de
permissão atribuida ao usuário ou mesmo declarando se o Stored Procedure é
proprietário ou público, podendo ser também criptografada com WITH ENCRYPTION.
Logo podemos dizer que a resposta da questão é letra B.
5. Teoria e metodologia de projeto de banco de dados.
O projeto de banco de dados se completa com a modelagem do banco de dados, pois para
montar o projeto o administrador de dados e o administrador de banco de dados tem que
efetuar a modelagem do banco projetando o mesmo para atender ao projeto de software
correspondente.
Um projeto de banco de dados é sub-dividido em etapas onde o objetivo é a criação de um
banco de dados otimizado que atenda as expectativas do cliente. E nesse contexto, os
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 25 de 57
modelos de dados são muito importantes para a transmissão de idéias entre o cliente e o
projetista, bem como facilitar a manutenção do banco de dados no futuro. O projeto de
banco de dados é basicamente, dividido em Projeto Conceitual, Projeto Lógico e Projeto
Físico. Porém antes de começar a projetar o banco de dados é necessário a realização de
análise de requisitos junto ao cliente. Essa talvez seja a fase mais importante do projeto,
pois é nessa hora que as necessidades e expectativas do cliente são transmitidas para o
projetista.
Modelar significa criar um modelo que explique as características de funcionamento e
comportamento de um software a partir do qual ele será criado, facilitando seu
entendimento e seu projeto, através das características principais que evitarão erros de
programação, projeto e funcionamento. É uma parte importante do desenho de um sistema
de informação.
De acordo com a abordagem que utilizam, os modelos de dados normalmente são
classificados da seguinte forma:
 Modelo Conceitual: O modelo conceitual é um diagrama em blocos que demonstra
todas as relações entre as entidades, suas especializações, seus atributos e auto-
relações.
 Modelo Lógico: O modelo lógico mostra as ligações entre as tabelas de banco de
dados, as chaves primárias, os componentes de cada uma, etc.
 Modelo Físico: Inclui a análise das características e recursos necessários para
armazenamento e manipulação das estruturas de dados (estrutura de
armazenamento, endereçamento, acesso e alocação física), sendo uma sequência de
comandos executados em SQL a fim de criar as tabelas, estruturas e ligações
projetadas até então e finalmente criar o banco de dados.
O MER (Modelo de Entidade e Relacionamento) é um modelo de dados conceitual de alto-
nível ele consiste em mapear o mundo real do sistema em um modelo gráfico que irá
representar o modelo e o relacionamento existente entre os dados. Este modelo foi
desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de
um esquema que representa a estrutura lógica global do Banco de Dados. Assim, os
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 26 de 57
conceitos do MER foram projetados para serem compreensíveis a usuários, assim tendo
uma ampla visão do que esta sendo projetado e de fácil entendimento a todos os
profissionais, descartando detalhes de como os dados são armazenados. Atualmente, o MER
é usado principalmente durante o processo de projeto de banco de dados.
O objeto básico que o MER representa é a entidade. Uma entidade é algo do mundo real
que possui uma existência independente. Uma entidade pode ser um objeto com uma
existência física - uma pessoa, carro ou empregado - ou pode ser um objeto com existência
conceitual - uma companhia, um trabalho ou um curso universitário. Cada entidade tem
propriedades particulares, chamadas atributos, que o descrevem. Por exemplo, uma
entidade empregada pode ser descrita pelo seu nome, o trabalho que realiza idade,
endereço e salário. Uma entidade em particular terá um valor para cada um de seus
atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos
dados armazenados na base de dados.
Alguns atributos podem ser divididos em subpartes com significados independentes. Por
exemplo, Endereço da entidade e podem ser dividido em Endereço da Rua, Cidade, Estado e
CEP. Um atributo que é composto de outros atributos mais básicos é chamado composto.
Já, atributos que não são divisíveis são chamados simples ou atômicos. Atributos compostos
podem formar uma hierarquia.
Atributos compostos são úteis quando os usuários referenciam o atributo composto como
uma unidade e, em outros momentos, referenciam especificamente a seus componentes.
Se o atributo composto for sempre referenciado como um todo, não existe razão para
subdividi-lo em componentes elementares.
Em outros casos, um atributo pode ter um conjunto de valores. Tais atributos são chamados
de atributos multivalorados (exemplo, Telefone). Atributos multivalorados podem possuir
uma multiplicidade, indicando as quantidades mínima e máxima de valores.
Em alguns casos, dois ou mais atributos são relacionados. Por exemplo, Idade e Data de
Nascimento de uma pessoa. Para uma entidade pessoa em particular, a Idade pode ser
determinada a partir da data atual e da Data de Nascimento. Atributos como Idade são
chamados atributos derivados.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 27 de 57
Relacionamento é a estrutura que indica a associação de elementos de duas ou mais
entidades. É o tipo de ocorrência existente entre entidades e aplicáveis no processo de
modelar dados. Entender isso é importante, pois um modelo consistente é a base para um
banco de dados de sucesso.
Existem três tipos de relacionamento entre entidades:
 um-para-um
 um-para-muitos
 muitos-para-muitos
A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define
o número de ocorrências em um relacionamento.Para determinar a cardinalidade, deve-se
fazer a pergunta relativa ao relacionamento em ambas as direções.
Um departamento possui quantos empregados?
- no mínimo 1 e no máximo N.
Um empregado está alocado em quantos departamentos?
- no mínimo em 1 e no máximo em 1
Somando-se as cardinalidades, definimos o resultado final do relacionamento, ou seja, 1:N
Exemplo de um MER:
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 28 de 57
O modelo relacional apareceu devido às seguintes necessidades: aumentar a independência
de dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções
apoiadas em álgebra relacional para armazenamento e recuperação de dados; permitir
processamento ad-hoc. O modelo relacional, tendo por base a teoria dos conjuntos e
álgebra relacional, foi resultado de um estudo teórico realizado por Edgar Frank Codd. O
Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários
problemas que se colocam no nível da concepção e implementação da base de dados. A
estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é constituída
por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar. Cada
instância do esquema (linha) é chamada de tupla (registro). O modelo relacional não tem
caminhos pré-definidos para se fazer acesso aos dados como nos modelos que o
precederam. O modelo relacional implementa estruturas de dados organizadas em relações.
Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para
evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar
parte da informação e perda de informação. Essas restrições são: integridade referencial,
chaves e integridade de junções de relações.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 29 de 57
[35] Uma das formas de impor restrições em um banco de dados relacional é por meio das
chaves primárias, sobre as quais pode-se afirmar que
(A) não se aplicam para conjuntos de entidades com menos de 5 atributos.
(B) o tamanho mínimo de seus atributos deve ser de 10 caracteres.
(C) devem ser formadas por, no mínimo, 3 atributos.
(D) os valores de seus atributos devem ser distintos para cada entidade de um conjunto de
entidades.
(E) não podem conter atributos do tipo alfanumérico.
Comentário: Chave primária refere-se aos conjuntos de um ou mais campos, cujos valores,
considerando a combinação de valores de todos os campos da tupla, nunca se repetem e
que podem ser usadas como um índice para os demais campos da tabela do banco de
dados. Em chaves primárias, não pode haver valores nulos e nem repetição de tuplas.
Quando a chave primária é simples ela é formada por um único campo da tabela, esse
campo não pode ter dois ou mais registros de mesmo valor e também não pode conter
nenhum registro nulo. Se a chave primária é composta ela é formada por mais de um
campo, os valores de cada campo podem se repetir, mas não a combinação desses valores.
As chaves primárias não tem limitação da quantidade de atributos para serem formadas e
nem tipo de dados que as forme. Conforme definição podemos informar que a resposta é
letra D.
[36] Em um banco de dados relacional, a atividade de normalizar suas tabelas tem como
objetivo
(A) gerar os triggers especificados para o banco de dados.
(B) eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias nessas
tabelas.
(C) impedir o acesso ao banco de dados, por parte de usuários desconhecidos.
(D) compilar todas as funções inseridas no banco de dados.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 30 de 57
(E) preparar todas as tabelas do banco de dados para um backup completo.
Comentário: Normalização é um processo onde se aplica regras a todas as entidades
(tabelas) do banco de dados, a fim de evitar falhas no projeto, como redundância de dados,
mistura de diferentes assuntos numa mesma entidade, entre outros problemas. Logo temos
que a resposta da questão é letra B.
Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela
sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o
são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada
um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.
Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-trivial de
um atributo que não seja a chave, em parte da chave candidata.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 31 de 57
Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-triviais de
atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave
candidata.
Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência
funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave
candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave
inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 32 de 57
[37] Considere a seguinte definição sobre um banco de dados relacional: "Uma relação R
encontra-se nessa forma normal se todo atributo não primário (não for membro de
alguma chave candidata) de R apresenta dependência funcional total da chave primária de
R." Tal definição corresponde à
(A) primeira forma normal.
(B) quarta forma normal.
(C) terceira forma normal.
(D) segunda forma normal.
(E) forma normal de boyce-codd.
Comentário: As definições das formas normais são:
 Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma
tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um
conjunto não o são). A normalização para a primeira forma normal elimina grupos
repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma
chave primária ou estrangeira.
 Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-
trivial de um atributo que não seja a chave, em parte da chave candidata.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 33 de 57
 Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-
triviais de atributos que não sejam chave, em qualquer coisa exceto um
superconjunto de uma chave candidata.
 Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma
dependência funcional não-trivial de atributos em algo mais do que um
superconjunto de uma chave candidata. Neste estágio, todos os atributos são
dependentes de uma chave, de uma chave inteira e de nada mais que uma chave
(excluindo dependências triviais, como A→A).
 Quarta Forma Normal (ou 4FN) requer que não exista nenhuma dependência multi-
valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto
de uma chave candidata.
Portanto podemos dizer que a resposta da questão é letra D.
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[54] Considere um Banco de Dados com as relações R1, R2 e R3 abaixo, onde
VALOR_PAGO é o valor pago de imposto de renda no ano e atributos sublinhados formam
a chave.
R1 = {CPF, NOME, CPF_CONJUGE, NOME_CONJUGE}
R2 = {CPF, NOME, CIDADE, NUMERO_DEPENDENTES}
R3 = {CPF, ANO, NOME, VALOR_PAGO}
R1, R2 e R3 estão, respectivamente, na
(A) primeira, terceira e segunda forma normal.
(B) primeira, segunda e terceira forma normal.
(C) segunda, terceira e primeira forma normal.
(D) segunda, primeira e terceira forma normal.
(E) terceira, primeira e segunda forma normal.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 34 de 57
Comentário: As definições das formas normais são:
 Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma
tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um
conjunto não o são). A normalização para a primeira forma normal elimina grupos
repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma
chave primária ou estrangeira.
 Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-
trivial de um atributo que não seja a chave, em parte da chave candidata.
 Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não
triviais de atributos que não sejam chave, em qualquer coisa exceto um
superconjunto de uma chave candidata.
Logo podemos dizer que a R1 está na 2FN, pois não há de pendência funcional não trivial de
um atributo que não seja chave, em parte da chave candidata, sendo a chave candidata o
atributo CPF. A R2 está na 3FN não há dependências funcionais não triviais de atributos que
não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata. A
R3 está na 1FN, pois requer que todos os valores de colunas em uma tabela sejam atômicos.
Portanto a resposta da questão é letra C.
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[43] É correto que uma relação está na
(A) 2FN se, e somente se, todos os domínios básicos contiverem mais de um valor discreto
periódico.
(B) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem
totalmente dependentes da totalidade da chave primária.
(C) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem
dependentes não transitivos da chave primária.
(D) 3FN se, e somente se, ela estiver na segunda e todos os atributos não chave
contiverem mais de um valor discreto periódico.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 35 de 57
(E) 3FN se, e somente se, todos os domínios básicos forem multivalorados.
Comentário: As definições das formas normais são:
 Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma
tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um
conjunto não o são). A normalização para a primeira forma normal elimina grupos
repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma
chave primária ou estrangeira.
 Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-
trivial de um atributo que não seja a chave, em parte da chave candidata.
 Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não
triviais de atributos que não sejam chave, em qualquer coisa exceto um
superconjunto de uma chave candidata.
Logo podemos afirmar que a resposta da questão é letra B.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[32] Considere um conjunto de entidades A e um relacionamento recursivo com um
conjunto de relacionamentos R na modelagem de um banco de dados relacional. O
diagrama Entidade-Relacionamento que representa essa modelagem é:
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 36 de 57
Comentário: De acordo com a notação usada nos diagramas de entidade-relacionamento
temos:
Símbolo Significado
Entidade
Entidade-Fraca
Relacionamento
Identificador de Relacionamento.
Logo analisando as alternativas e efetuando a combinações necessárias com os símbolos
usados na notação podemos afirmar que a resposta da questão é a letra E.
[33] Considere o seguinte diagrama Entidade-Relacionamento, resultante da modelagem
de um banco de dados relacional:
A partir desse diagrama, pode-se afirmar que
(A) uma loja não possui todos os produtos.
(B) uma loja possui um número par de departamentos.
(C) cada departamento pode possuir vários produtos.
(D) um mesmo produto não pode estar em mais de uma loja.
(E) o número de lojas é impar.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 37 de 57
Comentário: Analisando o modelo acima podemos afirmar apenas que uma loja possui N
departamentos e N departamentos possuem M produtos. E analisando a afirmativas que
seguem, podemos apenas dizer que a letra C está correta, pois não podemos afirmar que
uma loja não possui todos os produtos; não podemos afirmar que uma loja possui um
número par de departamentos; não podemos afirmar que um mesmo produto não pode
estar em mais de uma loja e que o número de lojas é ímpar, pois não temos nenhuma
restrição no MER com relação a estas afirmações.
[49] No projeto de bancos de dados relacionais é comum ocorrer à necessidade de
modelar conjuntos de entidades fracas, cuja principal característica é
(A) não possuir atributos que possam assumir a função de chave primária.
(B) aceitar a inserção apenas de valores numéricos.
(C) ter apenas uma chave candidata.
(D) não aceitar atributos de tamanho variável.
(E) ter, no máximo, três atributos.
Comentário: Entidade fraca é uma entidade que não possui existência própria (sua
existência depende da existência de outra entidade) ou que para ser identificada depende
da identificação de outra entidade. Não tem atributos suficientes para formar uma chave
primária. Logo podemos dizer que a resposta da questão é letra A.
[51] Quando do projeto de um banco de dados relacional, pode haver a indicação de que
um conjunto de entidades tem participação total em um conjunto de relacionamentos,
isto significa que
(A) cada entidade do conjunto de entidades participa em todos os relacionamentos do
conjunto de relacionamentos.
(B) há, no mínimo, metade das entidades do conjunto de entidades que participam em
pelo menos um relacionamento do conjunto de relacionamentos.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 38 de 57
(C) as entidades do conjunto de entidades não possuem atributos do tipo booleano ou do
tipo data.
(D) cada entidade do conjunto de entidades participa em pelo menos um relacionamento
do conjunto de relacionamentos.
(E) todos os atributos do conjunto de entidades são indexados com a técnica de árvores
binárias.
Comentário: De acordo com a afirmação feita na questão de que um conjunto de entidades
tem participação total em um conjunto de relacionamentos, podemos afirmar apenas que
cada entidade participa de pelo menos um relacionamento do conjunto de
relacionamentos, já que não temos o modelo que representa este conjunto de entidades
que tem a participação total neste conjunto de relacionamentos. Logo temos que a resposta
da questão é letra D.
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[59] Considere:
É correto afirmar que o Diagrama Entidade-Relacionamento acima, apresenta:
(A) 4 atributos chaves.
(B) 4 atributos compostos.
(C) 2 atributos multivalorados.
(D) 2 atributos derivados.
(E) 6 atributos derivados.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 39 de 57
Comentário: De acordo com a notação usada nos diagramas de entidade-relacionamento
temos:
Símbolo Significado
Atributo
Atributo-chave
Atributo-multivalorado
Atributo-Composto
Atributo-Derivado
Logo analisando a questão e as afirmativas, podemos dizer que a resposta da questão é a
letra A.
TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS)
[38] Medicamento (Med) e Perfumaria (Per) são duas entidades que representam uma
tipificação da entidade Produto (Pro). Portanto, Med e Per em relação a Pro representam
(A) generalizações.
(B) composições.
(C) agregações.
(D) especializações.
(E) dependências.
Comentário: Especialização é o processo de definição de um conjunto de subclasses (sub-
tipos) de um tipo de entidade. Generalização é o processo de definição de um tipo de
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 40 de 57
entidade genérico (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade.
Portanto podemos dizer que a resposta da questão é letra D.
[39] Relacionamentos que são resultado da combinação de outros relacionamentos, entre
as mesmas entidades, são denominados
(A) entidades fracas.
(B) relacionamentos redundantes.
(C) entidades associativas.
(D) relacionamentos ternários.
(E) autorrelacionamentos.
Comentário: O auto-relacionamento representa a uma associação entre ocorrências de uma
mesma entidade.
Os relacionamentos ternários são relacionamentos que tem grau de cardinalidade igual a 3.
Os relacionamentos redundantes são resultado da combinação de outros relacionamentos,
entre as mesmas entidades.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 41 de 57
Logo podemos dizer que a resposta da questão é letra B.
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[44] Em uma certa visão governamental, os órgãos são identificados seqüencialmente a
partir do número um, dentro de cada ministério. No projeto da base de dados é
necessário que tal fato seja levado em consideração por questão de unicidade da chave
primária da tabela de órgãos. Este enunciado remete ao princípio que norteia,
especificamente, no MER, a formação de
(A) entidade fraca.
(B) entidade associativa.
(C) relacionamento ternário.
(D) auto-relacionamento.
(E) visibilidade.
Comentário: Analisando a questão podemos dizer que o enunciado remete ao princípio de
formação das entidades fracas, pois a entidade fraca é uma entidade que não possui
existência própria (sua existência depende da existência de outra entidade) ou que para ser
identificada depende da identificação de outra entidade. Não tem atributos suficientes para
formar uma chave primária. Logo podemos afirmar que a resposta da questão é letra A.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 42 de 57
6. Lista de Questões
Conceitos e arquitetura de sistemas de banco de dados.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[59] Consiste de um conjunto de dados (banco de dados) e um conjunto de programas
para armazenamento e acesso a esses dados, de forma eficiente e convincente: 059 - A
(A) SGBD
(B) DGBD
(C) GBD
(D) PGBD
(E) MGBD
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[31] Com relação aos Sistemas Gerenciadores de Bancos de Dados (SGBD), pode-se dizer
que se constituem em um
(A) conjunto de dados armazenados em discos magnéticos.
(B) conjunto de programas de computador capaz de processar conjuntos de dados.
(C) aplicativo disponibilizado por alguns sistemas operacionais.
(D) software destinado exclusivamente ao projeto dos modelos de bancos de dados.
(E) software para apoio a programas de geração de cronogramas.
Modelo relacional de bancos de dados: conceitos, restrições, linguagens,
design e programação.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 43 de 57
[47] No armazenamento de registros das tabelas de um banco de dados relacional, há
uma técnica conhecida como registros desordenados (ou heap files), na qual novos
registros são inseridos
(A) no início do arquivo correspondente.
(B) de acordo com o tipo de dados presente em cada tabela.
(C) ao final do arquivo correspondente.
(D) em uma posição intermediária no arquivo correspondente.
(E) de acordo com um índice previamente definido.
[48] Um tipo de banco de dados é representado pelos bancos de dados relacionais
distribuídos, nos quais pode ser feita a fragmentação de dados, que consiste em
(A) criptografar todas as tabelas do banco de dados utilizando uma chave pública.
(B) dividir as tabelas do banco de dados e armazenar cada parte em um local (site)
diferente.
(C) excluir os registros das tabelas que possuam atributos com valores nulos.
(D) excluir todas as tabelas que não possuam chave estrangeira.
(E) replicar todas as tabelas do banco de dados em todos os locais (sites).
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[58] É o modelo de dados que eliminou o conceito de hierarquia, permitindo que um
mesmo registro estivesse envolvido em várias associações. Os registros, organizados em
grafos, permitem o tipo de associação que define uma relação 1:N entre os tipos de
registros proprietário e membro. Assim, para dois relacionamentos 1:N entre os registros
A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D.
Trata-se do modelo
(A) em rede.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 44 de 57
(B) relacional.
(C) hierárquico.
(D) orientado a objetos.
(E) distribuído.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[70] O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para
banco de dados relacional. A DML é um subconjunto da linguagem usada para inserir,
atualizar e apagar dados. A sigla DML significa:
(A) Data Main Language.
(B) Data Manager Language.
(C) Data Manipulation List.
(D) Data Manager List.
(E) Data Manipulation Language.
DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados)
[55] Analise os seguintes comandos de definição e manipulação de dados SQL:
CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR VARCHAR(30));
INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”, “Machado de Assis”);
INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL);
UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1;
Após a execução destes comandos,
(A) apenas o primeiro livro será incluído na tabela, pois o segundo livro está utilizando o
mesmo código de identificação, o que é restringido (CONSTRAINT) para campos do tipo ID.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 45 de 57
(B) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor NULL, pois não foi
informada a cláusula ALL para o comando UPDATE.
(C) nenhuma alteração será efetuada no comando UPDATE, devido à falta da cláusula
TABLE antes do nome da tabela.
(D) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os livros.
(E) o comando de inserção do segundo livro irá falhar, pois colunas do tipo VARCHAR não
podem conter valores NULL sem que seja informada essa opção na criação da tabela.
[57] São CONSTRAINTS SQL, EXCETO
(A) FOREIGN KEY.
(B) NOT NULL.
(C) UNIQUE.
(D) PRIMARY KEY.
(E) UNION.
DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas)
[50] Considere as seguintes tabelas de um banco de dados relacional, sendo que os
atributos ID e Cod, na tabela Usa são chaves estrangeiras, com origem, respectivamente,
nas tabelas Dpto e Eqpto:
Depto (ID, Nome, Função)
Usa (ID, Cod)
Eqpto (Cod, Tipo, Valor)
Assinale a alternativa que apresenta a expressão SQL para obter o Nome do Depto e o
Tipo de Eqpto utilizados.
(A) SELECT Nome, Tipo FROM Depto Eqpto
(B) SELECT Nome, Tipo FROM Usa WHERE USA.ID and Usa.Cod
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 46 de 57
(C) SELECT Nome, Tipo FROM Depto, Usa, Eqpto
(D) SELECT Nome, Tipo FROM Depto, Usa, Eqpto WHERE Depto.ID = USA.ID and Eqpto.Cod
= Usa.Cod
(E) SELECT Nome, Tipo FROM Depto, Eqpto WHERE Dpto.ID and Eqpto.Cod
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[38] O comando SQL para conceder o privilégio de leitura da tabela T5 a todos usuários do
banco de dados é:
(A) GRANT READ FOR TABLE T5 FOR ALL
(B) GRANT SELECT T5
(C) GRANT READ T5 FOR MOST
(D) GRANT READ INTEGRAL OF T5
(E) GRANT SELECT ON TABLE T5 TO PUBLIC
[39] Considere o seguinte comando em SQL:
SELECT Objeto
FROM T20
WHERE Nome LIKE ‘C%s’
Os valores que podem ser resultantes dessa consulta são:
(A) Camas − Canetas − Contas.
(B) Cômoda − Bonés − Portas.
(C) Casa − Cozinha − Quarto.
(D) Áreas − Sucos − Carros.
(E) Sacos − Coroa − Castiçal.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 47 de 57
[40] Considere a seguinte consulta SQL em um banco de dados relacional:
SELECT T1.CA, T2.CB
FROM T1, T2
WHERE T1.ID = T2.ID
Uma consulta equivalente a essa é:
(A) SELECT T1.C1, T2.CB FROM T1 JOINED T2 HAVING T1.ID = T2.ID
(B) SELECT T1.C1, T2.CB FROM T1 LEFT JOIN T2 FOR T1.ID = T2.ID
(C) SELECT T1.C1, T2.CB FROM T1 INNER JOIN T2 ON T1.ID = T2.ID
(D) SELECT T1.C1, T2.CB FROM T1 LIKE T2 ON T1.ID = T2.ID
(E) SELECT T1.C1, T2.CB FROM T1 RIGHT JOIN T2 AND T1.ID = T2.ID
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[56] Considere a seguinte tabela de um banco de dados.
TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL}
Uma consulta SQL que devolve apenas a tabela formada pelos códigos (COD_FUNC) e
nomes (NOME) dos funcionários que ganham salário (SAL) entre 1000 e 3000 reais e
trabalham no departamento de código (COD_DEP) 3 é
(A) SELECT * FROM COD_FUNC AND NOME WHERE SAL BETWEEN 1000 AND 3000 AND
COD_DEP=3
(B) SELECT * FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000
(C) SELECT COD_DEP=3 FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000
(D) SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN
1000 AND 3000
(E) SELECT COD_FUNC AND NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL
BETWEEN 1000 AND 3000
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 48 de 57
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[42] Considere:
Tabela Pessoa
Id Sobrenome Nome Endereço Cidade
1 Tulio Nelson Rua Sete Santos
2 Madeira Carala Av. Quadrante Santos
3 Pereira Patrícia Pça. Julio Campinas
A expressão SELECT DISTINCT Cidade FROM Pessoa, terá como resultado
(A) Santos.
(B) Santos e Santos.
(C) Santos e Campinas.
(D) Campinas.
(E) Santos, Santos e Campinas.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[57] Sobre um Trigger, que é um bloco de comandos Transact-SQL executado em bancos
de dados, afirma-se que
(A) não pode ser usado com os comandos INSERT e DELETE.
(B) pode ser usado com os comandos CREATE TABLE e DROP TABLE.
(C) pode ser utilizado em JOINS e SUBSELECTS.
(D) pode ser uma forma de implementar a integridade referencial.
(E) em cada tabela pode ter somente um associado à mesma.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 49 de 57
[58] NÃO se trata de uma característica das stored procedures:
(A) acionar outra stored procedure.
(B) utilizar somente comandos SQL padronizados.
(C) receber diversos parâmetros de entrada.
(D) propiciar maior segurança no acesso aos dados.
(E) retornar um valor de status para indicar aceitação ou falha na execução.
Teoria e metodologia de projeto de banco de dados.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[35] Uma das formas de impor restrições em um banco de dados relacional é por meio das
chaves primárias, sobre as quais pode-se afirmar que
(A) não se aplicam para conjuntos de entidades com menos de 5 atributos.
(B) o tamanho mínimo de seus atributos deve ser de 10 caracteres.
(C) devem ser formadas por, no mínimo, 3 atributos.
(D) os valores de seus atributos devem ser distintos para cada entidade de um conjunto de
entidades.
(E) não podem conter atributos do tipo alfanumérico.
[36] Em um banco de dados relacional, a atividade de normalizar suas tabelas tem como
objetivo
(A) gerar os triggers especificados para o banco de dados.
(B) eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias nessas
tabelas.
(C) impedir o acesso ao banco de dados, por parte de usuários desconhecidos.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 50 de 57
(D) compilar todas as funções inseridas no banco de dados.
(E) preparar todas as tabelas do banco de dados para um backup completo.
[37] Considere a seguinte definição sobre um banco de dados relacional: "Uma relação R
encontra-se nessa forma normal se todo atributo não primário (não for membro de
alguma chave candidata) de R apresenta dependência funcional total da chave primária de
R." Tal definição corresponde à
(A) primeira forma normal.
(B) quarta forma normal.
(C) terceira forma normal.
(D) segunda forma normal.
(E) forma normal de boyce-codd.
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[54] Considere um Banco de Dados com as relações R1, R2 e R3 abaixo, onde
VALOR_PAGO é o valor pago de imposto de renda no ano e atributos sublinhados formam
a chave.
R1 = {CPF, NOME, CPF_CONJUGE, NOME_CONJUGE}
R2 = {CPF, NOME, CIDADE, NUMERO_DEPENDENTES}
R3 = {CPF, ANO, NOME, VALOR_PAGO}
R1, R2 e R3 estão, respectivamente, na
(A) primeira, terceira e segunda forma normal.
(B) primeira, segunda e terceira forma normal.
(C) segunda, terceira e primeira forma normal.
(D) segunda, primeira e terceira forma normal.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 51 de 57
(E) terceira, primeira e segunda forma normal.
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[43] É correto que uma relação está na
(A) 2FN se, e somente se, todos os domínios básicos contiverem mais de um valor discreto
periódico.
(B) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem
totalmente dependentes da totalidade da chave primária.
(C) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem
dependentes não transitivos da chave primária.
(D) 3FN se, e somente se, ela estiver na segunda e todos os atributos não chave
contiverem mais de um valor discreto periódico.
(E) 3FN se, e somente se, todos os domínios básicos forem multivalorados.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[32] Considere um conjunto de entidades A e um relacionamento recursivo com um
conjunto de relacionamentos R na modelagem de um banco de dados relacional. O
diagrama Entidade-Relacionamento que representa essa modelagem é:
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 52 de 57
[33] Considere o seguinte diagrama Entidade-Relacionamento, resultante da modelagem
de um banco de dados relacional:
A partir desse diagrama, pode-se afirmar que
(A) uma loja não possui todos os produtos.
(B) uma loja possui um número par de departamentos.
(C) cada departamento pode possuir vários produtos.
(D) um mesmo produto não pode estar em mais de uma loja.
(E) o número de lojas é impar.
[49] No projeto de bancos de dados relacionais é comum ocorrer à necessidade de
modelar conjuntos de entidades fracas, cuja principal característica é
(A) não possuir atributos que possam assumir a função de chave primária.
(B) aceitar a inserção apenas de valores numéricos.
(C) ter apenas uma chave candidata.
(D) não aceitar atributos de tamanho variável.
(E) ter, no máximo, três atributos.
[51] Quando do projeto de um banco de dados relacional, pode haver a indicação de que
um conjunto de entidades tem participação total em um conjunto de relacionamentos,
isto significa que
(A) cada entidade do conjunto de entidades participa em todos os relacionamentos do
conjunto de relacionamentos.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 53 de 57
(B) há, no mínimo, metade das entidades do conjunto de entidades que participam em
pelo menos um relacionamento do conjunto de relacionamentos.
(C) as entidades do conjunto de entidades não possuem atributos do tipo booleano ou do
tipo data.
(D) cada entidade do conjunto de entidades participa em pelo menos um relacionamento
do conjunto de relacionamentos.
(E) todos os atributos do conjunto de entidades são indexados com a técnica de árvores
binárias.
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[59] Considere:
É correto afirmar que o Diagrama Entidade-Relacionamento acima, apresenta:
(A) 4 atributos chaves.
(B) 4 atributos compostos.
(C) 2 atributos multivalorados.
(D) 2 atributos derivados.
(E) 6 atributos derivados.
TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS)
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 54 de 57
[38] Medicamento (Med) e Perfumaria (Per) são duas entidades que representam uma
tipificação da entidade Produto (Pro). Portanto, Med e Per em relação a Pro representam
(A) generalizações.
(B) composições.
(C) agregações.
(D) especializações.
(E) dependências.
[39] Relacionamentos que são resultado da combinação de outros relacionamentos, entre
as mesmas entidades, são denominados
(A) entidades fracas.
(B) relacionamentos redundantes.
(C) entidades associativas.
(D) relacionamentos ternários.
(E) autorrelacionamentos.
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[44] Em uma certa visão governamental, os órgãos são identificados seqüencialmente a
partir do número um, dentro de cada ministério. No projeto da base de dados é
necessário que tal fato seja levado em consideração por questão de unicidade da chave
primária da tabela de órgãos. Este enunciado remete ao princípio que norteia,
especificamente, no MER, a formação de
(A) entidade fraca.
(B) entidade associativa.
(C) relacionamento ternário.
(D) auto-relacionamento.
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 55 de 57
(E) visibilidade.
7. Gabarito.
Conceitos e arquitetura de sistemas de banco de dados.
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[59] – A
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[31] – B
Modelo relacional de bancos de dados: conceitos, restrições, linguagens,
design e programação.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[47] – C
[48] – B
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[58] – A
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[70] – E
DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados)
[55] – D
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 56 de 57
[57] – E
DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas)
[50] – D
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[38] – E
[39] – A
[40] – C
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[56] – D
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[42] – C
DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados)
[57] – D
[58] – B
Teoria e metodologia de projeto de banco de dados.
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[35] – D
[36] – B
INSS – Analista de TI – Banco de Dados
Aula 01
Exercícios
Manoel Caetano
www.tiparaconcursos.net Página 57 de 57
[37] – D
TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS)
[54] – C
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[43] – B
MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
[32] – E
[33] – C
[49] – A
[51] – D
TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS)
[59] – A
TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS)
[38] – D
[39] – B
TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS)
[44] – A

Mais conteúdo relacionado

Destaque

Szociologia2013
Szociologia2013Szociologia2013
Szociologia2013
Akos Gocsal
 
WEB DE LA PROFESORA LUZ MARINA
WEB DE LA PROFESORA LUZ MARINAWEB DE LA PROFESORA LUZ MARINA
WEB DE LA PROFESORA LUZ MARINA
carlosandresbedoyagiraldo
 
Magazine cover conventions
Magazine cover conventionsMagazine cover conventions
Magazine cover conventions
Joe Hadfield
 
Pasarela de jugetes
Pasarela de jugetesPasarela de jugetes
Pasarela de jugetes
Josmar Peralta
 
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇOEXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
willian messias
 
Eagle marketing
Eagle  marketingEagle  marketing
Eagle marketing
lisaromsa56
 
2015 τριγωνομετρια
2015 τριγωνομετρια2015 τριγωνομετρια
2015 τριγωνομετρια
Stratis Malliakas
 
Why Churches Should Conduct Background Screeening
Why Churches Should Conduct Background ScreeeningWhy Churches Should Conduct Background Screeening
Why Churches Should Conduct Background Screeening
Data Facts, Inc.
 
Rehan Ahmed - Mechanical (Nov-2016)
Rehan Ahmed  - Mechanical (Nov-2016)Rehan Ahmed  - Mechanical (Nov-2016)
Rehan Ahmed - Mechanical (Nov-2016)
Rehan Ahmed
 
Trabajo final de la elaboración de moodle
Trabajo final de la elaboración de moodleTrabajo final de la elaboración de moodle
Trabajo final de la elaboración de moodle
karina albores
 
The Orunia Market Place
The Orunia Market PlaceThe Orunia Market Place
The Orunia Market Place
kristamevans
 
Estadística discriptiva (tarea)
Estadística discriptiva (tarea)Estadística discriptiva (tarea)
Estadística discriptiva (tarea)
karina albores
 
Mojo media pack2016
Mojo media pack2016Mojo media pack2016
Mojo media pack2016
shakeira16
 
How to Create a Social Media Strategy to Effect Social Change
How to Create a Social Media Strategy to Effect Social ChangeHow to Create a Social Media Strategy to Effect Social Change
How to Create a Social Media Strategy to Effect Social Change
Cindy Frei
 
Taller de movimiento rectilineo uniforme
Taller de movimiento rectilineo uniformeTaller de movimiento rectilineo uniforme
Taller de movimiento rectilineo uniforme
@Juancponcef IEAIS
 
Project Risk Management-Pankaj K Sinha
Project Risk Management-Pankaj K SinhaProject Risk Management-Pankaj K Sinha
Project Risk Management-Pankaj K Sinha
Pankaj K Sinha
 
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0 Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
Ana Aguilar
 

Destaque (17)

Szociologia2013
Szociologia2013Szociologia2013
Szociologia2013
 
WEB DE LA PROFESORA LUZ MARINA
WEB DE LA PROFESORA LUZ MARINAWEB DE LA PROFESORA LUZ MARINA
WEB DE LA PROFESORA LUZ MARINA
 
Magazine cover conventions
Magazine cover conventionsMagazine cover conventions
Magazine cover conventions
 
Pasarela de jugetes
Pasarela de jugetesPasarela de jugetes
Pasarela de jugetes
 
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇOEXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
EXERCÍCIO POWER POINT - JOGO NERVO DE AÇO
 
Eagle marketing
Eagle  marketingEagle  marketing
Eagle marketing
 
2015 τριγωνομετρια
2015 τριγωνομετρια2015 τριγωνομετρια
2015 τριγωνομετρια
 
Why Churches Should Conduct Background Screeening
Why Churches Should Conduct Background ScreeeningWhy Churches Should Conduct Background Screeening
Why Churches Should Conduct Background Screeening
 
Rehan Ahmed - Mechanical (Nov-2016)
Rehan Ahmed  - Mechanical (Nov-2016)Rehan Ahmed  - Mechanical (Nov-2016)
Rehan Ahmed - Mechanical (Nov-2016)
 
Trabajo final de la elaboración de moodle
Trabajo final de la elaboración de moodleTrabajo final de la elaboración de moodle
Trabajo final de la elaboración de moodle
 
The Orunia Market Place
The Orunia Market PlaceThe Orunia Market Place
The Orunia Market Place
 
Estadística discriptiva (tarea)
Estadística discriptiva (tarea)Estadística discriptiva (tarea)
Estadística discriptiva (tarea)
 
Mojo media pack2016
Mojo media pack2016Mojo media pack2016
Mojo media pack2016
 
How to Create a Social Media Strategy to Effect Social Change
How to Create a Social Media Strategy to Effect Social ChangeHow to Create a Social Media Strategy to Effect Social Change
How to Create a Social Media Strategy to Effect Social Change
 
Taller de movimiento rectilineo uniforme
Taller de movimiento rectilineo uniformeTaller de movimiento rectilineo uniforme
Taller de movimiento rectilineo uniforme
 
Project Risk Management-Pankaj K Sinha
Project Risk Management-Pankaj K SinhaProject Risk Management-Pankaj K Sinha
Project Risk Management-Pankaj K Sinha
 
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0 Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
Monitoreo septiembre 2014 Twitter. Diputados salvadoreños 2.0
 

Semelhante a Aula 01 banco_de_dados_inss_analista_exe

Info aula 00 - conceito de internet
Info   aula 00 - conceito de internetInfo   aula 00 - conceito de internet
Info aula 00 - conceito de internet
Bárbara Cerqueira
 
Curso de Informática para Concurso PF 2018
Curso de Informática para Concurso PF 2018Curso de Informática para Concurso PF 2018
Curso de Informática para Concurso PF 2018
Estratégia Concursos
 
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
Estratégia Concursos
 
Curso de Informática para Concurso PC-RJ
Curso de Informática para Concurso PC-RJCurso de Informática para Concurso PC-RJ
Curso de Informática para Concurso PC-RJ
Estratégia Concursos
 
Curso Informática para Concurso PC-RJ - Inspetor
Curso Informática para Concurso PC-RJ - InspetorCurso Informática para Concurso PC-RJ - Inspetor
Curso Informática para Concurso PC-RJ - Inspetor
Estratégia Concursos
 
Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016
Estratégia Concursos
 
Informática Básica para Concurso
Informática Básica para ConcursoInformática Básica para Concurso
Informática Básica para Concurso
Estratégia Concursos
 
Aula 00 (1)
Aula 00 (1)Aula 00 (1)
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
Instituto Federal de Sergipe
 
portfolio unopar
portfolio unoparportfolio unopar
portfolio unopar
Mauricio Machado
 
Curso de Análise de Informações p/ Concurso TCU
Curso de Análise de Informações p/ Concurso TCUCurso de Análise de Informações p/ Concurso TCU
Curso de Análise de Informações p/ Concurso TCU
Estratégia Concursos
 
Curso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJCurso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJ
Estratégia Concursos
 
Curso 93170-aula-00-v1
Curso 93170-aula-00-v1Curso 93170-aula-00-v1
Curso 93170-aula-00-v1
Álvaro Rodrigo
 
Aula 00-info-PCPE
Aula 00-info-PCPEAula 00-info-PCPE
Aula 00-info-PCPE
Tiago Felix
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
CLEAN LOURENÇO
 
Curso de Administração Publica para Concurso TJ CE
Curso de Administração Publica para Concurso TJ CECurso de Administração Publica para Concurso TJ CE
Curso de Administração Publica para Concurso TJ CE
Estratégia Concursos
 
Curso de Noções de Administração para Concurso IBGE
Curso de Noções de Administração para Concurso IBGE Curso de Noções de Administração para Concurso IBGE
Curso de Noções de Administração para Concurso IBGE
Estratégia Concursos
 
Curso de Conhecimentos Técnicos para Concurso IBGE
Curso de Conhecimentos Técnicos para Concurso IBGECurso de Conhecimentos Técnicos para Concurso IBGE
Curso de Conhecimentos Técnicos para Concurso IBGE
Estratégia Concursos
 
Apostila
ApostilaApostila
Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)
Estratégia Concursos
 

Semelhante a Aula 01 banco_de_dados_inss_analista_exe (20)

Info aula 00 - conceito de internet
Info   aula 00 - conceito de internetInfo   aula 00 - conceito de internet
Info aula 00 - conceito de internet
 
Curso de Informática para Concurso PF 2018
Curso de Informática para Concurso PF 2018Curso de Informática para Concurso PF 2018
Curso de Informática para Concurso PF 2018
 
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
Curso de Tecnologia da Informação para IBGE 2016 (Parte I)
 
Curso de Informática para Concurso PC-RJ
Curso de Informática para Concurso PC-RJCurso de Informática para Concurso PC-RJ
Curso de Informática para Concurso PC-RJ
 
Curso Informática para Concurso PC-RJ - Inspetor
Curso Informática para Concurso PC-RJ - InspetorCurso Informática para Concurso PC-RJ - Inspetor
Curso Informática para Concurso PC-RJ - Inspetor
 
Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016
 
Informática Básica para Concurso
Informática Básica para ConcursoInformática Básica para Concurso
Informática Básica para Concurso
 
Aula 00 (1)
Aula 00 (1)Aula 00 (1)
Aula 00 (1)
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 
portfolio unopar
portfolio unoparportfolio unopar
portfolio unopar
 
Curso de Análise de Informações p/ Concurso TCU
Curso de Análise de Informações p/ Concurso TCUCurso de Análise de Informações p/ Concurso TCU
Curso de Análise de Informações p/ Concurso TCU
 
Curso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJCurso de Informática p/ Concurso MP-RJ
Curso de Informática p/ Concurso MP-RJ
 
Curso 93170-aula-00-v1
Curso 93170-aula-00-v1Curso 93170-aula-00-v1
Curso 93170-aula-00-v1
 
Aula 00-info-PCPE
Aula 00-info-PCPEAula 00-info-PCPE
Aula 00-info-PCPE
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
 
Curso de Administração Publica para Concurso TJ CE
Curso de Administração Publica para Concurso TJ CECurso de Administração Publica para Concurso TJ CE
Curso de Administração Publica para Concurso TJ CE
 
Curso de Noções de Administração para Concurso IBGE
Curso de Noções de Administração para Concurso IBGE Curso de Noções de Administração para Concurso IBGE
Curso de Noções de Administração para Concurso IBGE
 
Curso de Conhecimentos Técnicos para Concurso IBGE
Curso de Conhecimentos Técnicos para Concurso IBGECurso de Conhecimentos Técnicos para Concurso IBGE
Curso de Conhecimentos Técnicos para Concurso IBGE
 
Apostila
ApostilaApostila
Apostila
 
Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)Curso de Informática para Concurso TRT 11 (AM)
Curso de Informática para Concurso TRT 11 (AM)
 

Aula 01 banco_de_dados_inss_analista_exe

  • 1. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 1 de 57 AULA 01: INSS – Analista de TI – Banco de Dados – Exercícios Comentados Sumário 1. Apresentação................................................................................................................................3 1.1. A Banca. ........................................................................................................................................3 1.2. Metodologia das aulas..................................................................................................................3 1.3. Observações finais........................................................................................................................4 2. Conteúdo programático e planejamento das aulas (Cronograma)..............................................5 3. Conceitos e arquitetura de sistemas de banco de dados.............................................................6 4. Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação...........................................................................................................................................8 5. Teoria e metodologia de projeto de banco de dados. ...............................................................24 6. Lista de Questões........................................................................................................................42 Conceitos e arquitetura de sistemas de banco de dados.....................................................................42 Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação....42 Teoria e metodologia de projeto de banco de dados...........................................................................49 7. Gabarito......................................................................................................................................55 Conceitos e arquitetura de sistemas de banco de dados.....................................................................55 Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação....55 Teoria e metodologia de projeto de banco de dados...........................................................................56
  • 2. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 2 de 57 Olá Concurseiros! Para iniciarmos nossa aula de demonstração, antes de tudo falarei um pouquinho sobre mim, uma apresentação para termos um alinhamento sobre quem é o Professor Manoel Caetano. Sou Empregado Público do SERPRO, atuando como Analista – Especialista em Negócio em TI, já atuei no mercado privado como Administrador de Banco de Dados e também como Administrador de Dados, trabalhando na manutenção e saúde de banco de dados de empresas privadas. Sou Bacharel em Ciência da Computação pela Universidade Federal da Bahia – UFBA e especialista em Banco de Dados com Ênfase em Alta Disponibilidade pela Universidade Salvador – UNIFACS. Venho trabalhando também como professor em cursos preparatórios para concursos ITnerante (www.itnerante.com.br) com a disciplinas de SGBD’s específicos como Oracle e Microsoft SQL Server. Tenho como foco atual dentro de cursos preparatórios as disciplinas que são cobradas em concursos de Tecnologia da Informação como: Banco de dados e SGBD’s específicos. Já fui aprovado em 2 concursos públicos e tinha parado de fazer concursos desde 2010 após o concurso do Serpro, o qual hoje estou trabalhando. Desde 2012 venho me dedicando as disciplinas que venho ministrando para concurso público e voltei a estudar para concursos públicos.
  • 3. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 3 de 57 1. Apresentação. Nosso curso terá como foco atender a necessidade do concurseiro que irá fazer a prova do INSS e precisa ter conhecimento sobre o conteúdo publicado no tópico Tecnologia da Informação do seu edital, conforme abaixo: Banco de Dados:  Conceitos e arquitetura de sistemas de banco de dados.  Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação. Teoria e metodologia de projeto de banco de dados.  Armazenamento de dados, indexação, processamento de consultas e projeto físico.  Conceitos de processamento de transações.  Bancos de dados de objetos e objeto-relacionais.  Tecnologias e aplicações emergentes de bancos de dados. Os demais tópicos relacionados ao conteúdo de TI serão tratados por outros professores. Nosso curso, como já pode se detectado no cabeçalho das páginas, é um curso de Exercícios e será apresentado de forma que o aluno tenha o entendimento de como cada exercício seja resolvido. 1.1. A Banca. Conforme sabemos, a FUNRIO não é uma das bancas mais tradicionais em concursos públicos que temos no Brasil, mas tem questões similares as bancas da FCC e CESGRANRIO. Suas questões comumente são caracterizadas por trabalhar com itens de múltipla escolha e geralmente são provas que os senhores tem que fazer o máximo de pontos possíveis para serem aprovados. 1.2. Metodologia das aulas.
  • 4. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 4 de 57 a) Teremos no curso aulas expositivas e descritivas com no máximo de 35 páginas por aula, as quais poderão variar em quantidade, dependendo do assunto tratado e da abordagem oferecida, mas tentando sempre manter tal média. b) Todas as aulas terão uma abordagem de resolução dos exercícios, podendo ter aprofundamento da teoria como também uma explicação clara para que o concurseiro possa resolver o exercício e entender a resposta de cada questão. c) Serão tratados nas aulas assuntos desde o básico até o avançado, fazendo assim com que o aluno iniciante tenha conhecimento e contato inicial com os tópicos tratados, bem como o aluno que já o conhece possa aprofundar seu conhecimento aplicável à resolução de questões. d) Não serão poupados gráficos, tabelas e “memorióis” aplicáveis ao assunto, para que assim possam realmente entender o que está sendo apresentado. (Alguns podem se perguntar agora, “pra que memorióis?” Simples, vocês estão estudando para concurso público e eles poderão te salvar em até 60% do conteúdo cobrado na sua prova). 1.3. Observações finais. Agora, acredito que alguns pontos se fazem necessários para que não tenhamos falta de rendimento dos senhores: a) Como estamos falando de aulas textuais, a informalidade e a medida descontração farão parte delas para que tenhamos o maior nível de integração possível entre nós, lembrem-se que a única coisa que mudou aqui foi a interface entre professor e alunos e se os senhores quisessem livros cheios de formalidade e teorias aplicáveis às pesquisas de TI, comprariam em livrarias, então vamos abusar desta nossa interface e da comunicação no Fórum.
  • 5. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 5 de 57 2. Conteúdo programático e planejamento das aulas (Cronograma). O Conteúdo programático está distribuído de forma que os alunos, mesmo que nunca tenham tido contato com o assunto, possam compreender o contexto da disciplina e também a forma com que ela se “encaixa” dentro das instituições e que pode ser cobrada na prova. Tento sempre trabalhar com o aumento do nível de conhecimento do candidato, e verão que tudo que coloco nas nossas aulas é sinal que cai ou que pode cair na prova, ou seja, não deixem de estudar ou se ficar com preguiça, vamos lá gente, volte atrás e leia novamente. Aula Conteúdo a ser trabalhado Aula 1 20/01/2014  Apresentação do Curso e Metodologia a ser aplicada.  Banco de dados. o Conceitos e arquitetura de sistemas de banco de dados. o Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação. Teoria e metodologia de projeto de banco de dados. Aula 2 27/01/2014  Armazenamento de dados, indexação, processamento de consultas e projeto físico.  Conceitos de processamento de transações.  Bancos de dados de objetos e objeto-relacionais.  Tecnologias e aplicações emergentes de bancos de dados. Seguiremos na próxima página com a nossa aula de demonstração e vejam que os exercícios que estão sendo resolvidos estão por ordem de blocos de assuntos e provas selecionadas. Algumas questões não serão necessárias as explicações de todas as alternativas de múltipla escolha visto a inexistência de termos informados ou a utilização de assuntos diferentes relacionados com o assunto tratado. Qualquer dúvida ou sugestão você pode entrar em contato através do e-mail manoel.neto@tiparaconcursos.net.
  • 6. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 6 de 57 3. Conceitos e arquitetura de sistemas de banco de dados. O SGBD é um conjunto de aplicativos responsáveis pela administração e gerenciamento de uma ou mais base de dados. O objetivo principal é gerenciar o acesso, manipulação e organização dos dados. Algumas das vantagens da utilização de SGBD’s são: controle de redundância dos dados, controle de acesso (segurança), armazenamento persistente dos dados, existência de múltiplas interfaces para os usuários, representação de relacionamentos complexos entre os dados, manutenção de restrições de integridade, recuperação de falhas. No mercado existem diversos tipos de SGBD’s, sendo que os mais conhecidos são: Oracle, MS SQL Server, MySQL, PostgreSQL. Um sistema de banco de dados é dividido em módulos que tratam de cada uma das responsabilidades do sistema geral. Na maioria dos casos, o sistema operacional do computador fornece apenas os serviços mais básicos e o sistema de banco de dados precisa
  • 7. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 7 de 57 ser construído sobre essa base. Portanto, o projeto do sistema de banco de dados precisa incluir considerações sobre a interface entre o sistema de banco de dados e o sistema operacional. Os componentes funcionais de um sistema de banco de dados incluem:  Gerenciador de arquivos, que gerencia a alocação do espaço na armazenagem do disco e as estruturas de dados usadas para representar a informação armazenada no disco.  Gerenciador do banco de dados, que fornece a interface entre os dados de baixo nível armazenados no disco e os programas aplicativos e de consulta submetidos ao sistema.  Processador de consultas, que traduz os comandos numa linguagem de consulta para instruções de baixo nível que o gerenciador do banco de dados pode interpretar. Além disso, o processador de consultas tenta transformar uma requisição do usuário em uma forma compatível e mais eficiente com respeito ao banco de dados, encontrando uma boa estratégia para a executar a consulta.  Pré-compilador da DML, que converte comandos da DML embutidos em um aplicativo para chamadas de procedimento normal na linguagem hospedeira. O pré- compilador precisa interagir com o processador de consultas pra gerar o código apropriado.  Compilador da DDL, que converte comandos da DDL em um conjunto de tabelas contendo metadados ou "dados sobre dados". Adicionalmente, diversas estruturas de dados são requeridas como parte da implementação do sistema físico, incluindo:  Arquivos de dados, que armazenam o banco de dados propriamente dito. Dicionário de dados, que armazena metadados sobre a estrutura do banco de dados. O dicionário de dados éusado com freqüência. Assim, deve-se dar grande ênfase no desenvolvimento de um bom projeto e implementação eficiente do dicionário.
  • 8. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 8 de 57 DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [59] Consiste de um conjunto de dados (banco de dados) e um conjunto de programas para armazenamento e acesso a esses dados, de forma eficiente e convincente: (A) SGBD (B) DGBD (C) GBD (D) PGBD (E) MGBD Comentário: De acordo com a definição que temos de SGBD, no início deste tópico, podemos dizer que a resposta da questão é a letra A. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [31] Com relação aos Sistemas Gerenciadores de Bancos de Dados (SGBD), pode-se dizer que se constituem em um (A) conjunto de dados armazenados em discos magnéticos. (B) conjunto de programas de computador capaz de processar conjuntos de dados. (C) aplicativo disponibilizado por alguns sistemas operacionais. (D) software destinado exclusivamente ao projeto dos modelos de bancos de dados. (E) software para apoio a programas de geração de cronogramas. Comentário: Novamente, de acordo com a definição que temos de SGBD, no início deste tópico, podemos dizer que a resposta da questão é a letra B. 4. Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação. O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seu
  • 9. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 9 de 57 desenvolvimento somente foi possível devido à consolidação dos discos de armazenamento endereçáveis, pois esses discos possibilitaram a exploração de sua estrutura de endereçamento físico para viabilizar a representação hierárquica das informações. Nesse modelo de dados, os dados são estruturados em hierarquias ou árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos (atributos), cada um contendo apenas uma informação. O registro da hierarquia que precede a outros é o registro-pai, os outros são chamados de registros-filhos. O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações. No modelo em rede, os registros são organizados em grafos onde aparece um único tipo de associação (set) que define uma relação 1:N entre 2 tipos de registros: proprietário e membro. Desta maneira, dados dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D. O gerenciador Data Base Task Group (DBTG) da CODASYL (Committee on Data Systems and Languages) estabeleceu uma norma para este modelo de banco de dados, com linguagem própria para definição e manipulação de dados. Os dados tinham uma forma limitada de independência física. A única garantia era que o sistema deveria recuperar os dados para as aplicações como se eles estivessem armazenados na maneira indicada nos esquemas. Os geradores de relatórios da CODASYL também definiram sintaxes para dois aspectos chaves dos sistemas gerenciadores de dados: concorrência e segurança. O mecanismo de segurança fornecia uma facilidade na qual parte do banco de dados (ou área) pudesse ser bloqueada para prevenir acessos simultâneos, quando necessário. A sintaxe da segurança permitia que uma senha fosse associada a cada objeto descrito no esquema. Ao contrário do Modelo Hierárquico, em que qualquer acesso aos dados passa pela raiz, o modelo em rede possibilita acesso a qualquer nó da rede sem passar pela raiz. O modelo relacional apareceu devido às seguintes necessidades: aumentar a independência de dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados; permitir
  • 10. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 10 de 57 processamento ad-hoc. O modelo relacional, tendo por base a teoria dos conjuntos e álgebra relacional, foi resultado de um estudo teórico realizado por Edgar Frank Codd. O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados. A estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é constituída por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar. Cada instância do esquema (linha) é chamada de tupla (registro). O modelo relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos modelos que o precederam. O modelo relacional implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações. O Modelo Orientado a Objetos é usado para documentar o padrão que contém a descrição geral das facilidades de um conjunto de linguagens de programação orientadas a objetos e a biblioteca de classes que pode formar a base para o Sistema de Banco de Dados. Quando os bancos de dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis do modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém, acredita-se que os Bancos de Dados Orientados a Objetos serão usados em aplicações especializadas, enquanto os sistemas relacionais continuarão a sustentar os negócios tradicionais, onde as estruturas de dados baseadas em relações são suficientes. O diagrama de classes UML serve geralmente como o esquema para o modelo de dados orientado a objetos. Banco de dados distribuído (BDD) é uma coleção de várias bases de dados logicamente inter-relacionadas, distribuídas por uma rede de computadores. Existem dois tipos de banco de dados distribuídos, os homogêneos e os heterogêneos. Os homogêneos são compostos pelos mesmos bancos de dados, já os Heterogêneos são aqueles que são compostos por mais de um tipo de banco de dados.
  • 11. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 11 de 57 Num banco de dados distribuídos os arquivos podem estar replicados ou fragmentados, esses dois tipos podem ser encontrados ao longo dos nós do sistema de BDD's. Quando os dados se encontram replicados, existe uma cópia de cada um dos dados em cada nó, tornando as bases iguais (ex: tabela de produtos de uma grande loja). Já na fragmentação, os dados se encontram divididos ao longo do sistema, ou seja a cada nó existe uma base de dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global os dados são vistos de uma forma única, pois cada nó possui um catálogo que contém cada informação dos dados dos bancos adjacentes. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [47] No armazenamento de registros das tabelas de um banco de dados relacional, há uma técnica conhecida como registros desordenados (ou heap files), na qual novos registros são inseridos (A) no início do arquivo correspondente. (B) de acordo com o tipo de dados presente em cada tabela. (C) ao final do arquivo correspondente. (D) em uma posição intermediária no arquivo correspondente. (E) de acordo com um índice previamente definido. Comentário: No armazenamento de registros de tabelas de um banco de dados relacional utilizando a técnica de heap files ou registros desordenados os novos registros são inseridos no final do arquivo correspondente. Quando utiliza-se a técnica de arquivo ordenado a inserção é feita na ordem da chave de busca, logo você perde com a reordenação dos arquivos. Portanto temos que a resposta da questão é letra C. [48] Um tipo de banco de dados é representado pelos bancos de dados relacionais distribuídos, nos quais pode ser feita a fragmentação de dados, que consiste em (A) criptografar todas as tabelas do banco de dados utilizando uma chave pública.
  • 12. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 12 de 57 (B) dividir as tabelas do banco de dados e armazenar cada parte em um local (site) diferente. (C) excluir os registros das tabelas que possuam atributos com valores nulos. (D) excluir todas as tabelas que não possuam chave estrangeira. (E) replicar todas as tabelas do banco de dados em todos os locais (sites). Comentário: Na fragmentação os dados se encontram divididos ao longo do sistema, ou seja, a cada nó existe uma base de dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global os dados são vistos de uma forma única, pois cada nó possui um catálogo que contém cada informação dos dados dos bancos adjacentes. Logo temos que a resposta da questão é B. TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [58] É o modelo de dados que eliminou o conceito de hierarquia, permitindo que um mesmo registro estivesse envolvido em várias associações. Os registros, organizados em grafos, permitem o tipo de associação que define uma relação 1:N entre os tipos de registros proprietário e membro. Assim, para dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D. Trata-se do modelo (A) em rede. (B) relacional. (C) hierárquico. (D) orientado a objetos. (E) distribuído. Comentário: De acordo com a introdução feita no início do tópico temos que a resposta da questão é letra A.
  • 13. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 13 de 57 A linguagem SQL é um grande padrão de banco de dados, o que decorre da sua simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Isso reduz o ciclo de aprendizado daqueles que se iniciam na linguagem. Você pode se perguntar: qual a vantagem de existir uma linguagem padrão de acesso a banco de dados? Imagine, se você estivesse numa reunião com um italiano, um chinês e um russo e ninguém falasse outra língua a não ser a de origem. Como se daria a comunicação? Provavelmente por mímicas e/ou desenho. Infelizmente, os sistemas computacionais ainda não conseguem utilizar esse tipo de estratégia, desse modo foi instituído um padrão de comunicação para Banco de Dados Relacional. O SQL foi desenvolvido originalmente no início dos anos 1970 nos laboratórios da IBM em San Jose, dentro do projeto System R. O nome original da linguagem era SEQUEL, acrônimo para Structured English Query Language (Linguagem de Consulta Estruturada em Inglês). Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialetos" produzidos por outros desenvolvedores. Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e International Organization for Standardization (ISO) em 1987. O SQL foi revisto em 1992 e a essa versão foi dado o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente. Embora SQL seja a linguagem de banco de dados mais influente do mercado, ela não é a única, existindo outras, como exemplo: QBE (Query-by-Example) – Integra o sistema de banco de dados QBE que foi desenvolvido pela IBM no início de 1970; Quel – Linguagem de consulta lançada para o banco de dados Ingres, desenvolvido na Universidade da Califórnia em Berkeley; Datalog – Linguagem de consulta baseada na lógica de programação Prolog. SQL é caracterizada pela utilização de palavras-chaves que podem ser classificadas, de acordo com sua função, nos seguintes tipos:
  • 14. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 14 de 57 DML – Linguagem de Manipulação de Dados, subconjunto da linguagem usado para inserir, atualizar e apagar dados. Ex.: INSERT, UPDATE, DELETE; DDL – Linguagem de Definição de Dados, permite ao utilizador definir tabelas novas e elementos associados. Ex.: CREATE, DROP; DCL – Linguagem de Controle de Dados, controla quem tem acesso para ver ou manipular dados dentro do banco de dados. Ex.: GRANT, REVOKE; DTL – Linguagem de Transação de Dados, usado para o controle de transações no banco de dados. Ex.: START TRANSACTION; DQL – Linguagem de Consulta de Dados, permite ao usuário especificar uma consulta (query) como uma descrição do resultado desejado. Ex.: SELECT. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [70] O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional. A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. A sigla DML significa: (A) Data Main Language. (B) Data Manager Language. (C) Data Manipulation List. (D) Data Manager List. (E) Data Manipulation Language. Comentário: Conforme o texto no início do tópico, DML significa Data Manipulation Language. Logo temos que a resposta da questão é letra E. DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados) [55] Analise os seguintes comandos de definição e manipulação de dados SQL: CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR VARCHAR(30));
  • 15. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 15 de 57 INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”, “Machado de Assis”); INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL); UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1; Após a execução destes comandos, (A) apenas o primeiro livro será incluído na tabela, pois o segundo livro está utilizando o mesmo código de identificação, o que é restringido (CONSTRAINT) para campos do tipo ID. (B) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor NULL, pois não foi informada a cláusula ALL para o comando UPDATE. (C) nenhuma alteração será efetuada no comando UPDATE, devido à falta da cláusula TABLE antes do nome da tabela. (D) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os livros. (E) o comando de inserção do segundo livro irá falhar, pois colunas do tipo VARCHAR não podem conter valores NULL sem que seja informada essa opção na criação da tabela. Comentário: Efetuando os comandos informados nós temos a criação da tabela livro com a seguinte configuração: ID NOME AUTOR 1 Memórias Póstumas de Brás Cubas Machado de Assis 1 Quincas Borba NULL Após a criação a criação, executando o comando update temos a tabela da seguinte forma: ID NOME AUTOR 1 Memórias Póstumas de Brás Cubas Machado de Assis 1 Quincas Borba Machado de Assis
  • 16. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 16 de 57 Logo, podemos informar que a resposta da questão é letra D, pois na letra A o erro está em dizer que existe uma constraint que não foi definida na criação da tabela; na letra B está errada, pois o código do comando update irá mudar o autor do livro “Quincas Borba”; na letra C a sintaxe do comando UPDATE não necessita da palavra TABLE para funcionar; na letra E o erro está em dizer que nas colunas do tipo varchar não podem conter valor NULL, pois o padrão dos campos não preenchidos em um banco de dados é o valor NULL ou branco. [57] São CONSTRAINTS SQL, EXCETO (A) FOREIGN KEY. (B) NOT NULL. (C) UNIQUE. (D) PRIMARY KEY. (E) UNION. Comentário: Em SQL, temos as seguintes constraints:  NOT NULL - Indica que a coluna não pode armazenar o valor NULL  UNIQUE - Assegura que cada linha de uma coluna deve ter um valor único  PRIMARY KEY - A combinação de um NOT NULL e UNIQUE. Garante que uma coluna (ou uma combinação de duas ou mais colunas) tem uma identidade única, que ajuda a localizar um registo particular numa tabela mais facilmente e rapidamente  FOREIGN KEY - Garantir a integridade referencial dos dados em uma tabela para coincidir com valores de outra tabela  CHECK - Garante que o valor em uma coluna encontra uma condição específica  DEFAULT - Especifica um valor padrão quando não especificado para esta coluna Dentre todas as alternativas a única que não é uma constraint é a letra E.
  • 17. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 17 de 57 DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas) [50] Considere as seguintes tabelas de um banco de dados relacional, sendo que os atributos ID e Cod, na tabela Usa são chaves estrangeiras, com origem, respectivamente, nas tabelas Dpto e Eqpto: Depto (ID, Nome, Função) Usa (ID, Cod) Eqpto (Cod, Tipo, Valor) Assinale a alternativa que apresenta a expressão SQL para obter o Nome do Depto e o Tipo de Eqpto utilizados. (A) SELECT Nome, Tipo FROM Depto Eqpto (B) SELECT Nome, Tipo FROM Usa WHERE USA.ID and Usa.Cod (C) SELECT Nome, Tipo FROM Depto, Usa, Eqpto (D) SELECT Nome, Tipo FROM Depto, Usa, Eqpto WHERE Depto.ID = USA.ID and Eqpto.Cod = Usa.Cod (E) SELECT Nome, Tipo FROM Depto, Eqpto WHERE Dpto.ID and Eqpto.Cod Comentário: Analisando a questão temos a resposta dela é a combinação das 3 tabelas efetuando os joins entre elas. No caso temos que: Select nome, tipo From depto, usa, eqpto Where depto.id = usa.id and eqpto.cod = usa.cod No caso pegamos as tabela “USA” que é formada pelas chaves das tabelas “eqpto” e “depto” para fazer o join e retornar os dados solicitados na consulta. Logo temos que a resposta da questão é letra D. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
  • 18. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 18 de 57 [38] O comando SQL para conceder o privilégio de leitura da tabela T5 a todos usuários do banco de dados é: (A) GRANT READ FOR TABLE T5 FOR ALL (B) GRANT SELECT T5 (C) GRANT READ T5 FOR MOST (D) GRANT READ INTEGRAL OF T5 (E) GRANT SELECT ON TABLE T5 TO PUBLIC Comentário: No SQL temos que a sintaxe do comando Grant, que dá permissões a usuários e schemas para acesso a objetos no banco de dados, é: GRANT privilege_name ON object_name TO {user_name |PUBLIC |role_name} [WITH GRANT OPTION]; Logo podemos dizer que a resposta da questão é letra E. [39] Considere o seguinte comando em SQL: SELECT Objeto FROM T20 WHERE Nome LIKE ‘C%s’ Os valores que podem ser resultantes dessa consulta são: (A) Camas − Canetas − Contas. (B) Cômoda − Bonés − Portas. (C) Casa − Cozinha − Quarto. (D) Áreas − Sucos − Carros. (E) Sacos − Coroa − Castiçal.
  • 19. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 19 de 57 Comentário: No SQL o caractere ‘%’ funciona como um “coringa”. Ele substitui um caractere ou um sequencia de caracteres em uma string. Portanto podemos dizer que os valores resultantes desta consulta são as strings iniciadas com ‘C’ e terminadas com ‘s’. Logo a resposta da questão é letra A. [40] Considere a seguinte consulta SQL em um banco de dados relacional: SELECT T1.CA, T2.CB FROM T1, T2 WHERE T1.ID = T2.ID Uma consulta equivalente a essa é: (A) SELECT T1.C1, T2.CB FROM T1 JOINED T2 HAVING T1.ID = T2.ID (B) SELECT T1.C1, T2.CB FROM T1 LEFT JOIN T2 FOR T1.ID = T2.ID (C) SELECT T1.C1, T2.CB FROM T1 INNER JOIN T2 ON T1.ID = T2.ID (D) SELECT T1.C1, T2.CB FROM T1 LIKE T2 ON T1.ID = T2.ID (E) SELECT T1.C1, T2.CB FROM T1 RIGHT JOIN T2 AND T1.ID = T2.ID Comentário: Antes de responder está questão vamos falar um pouco sobre INNER JOIN, LEFT JOIN e RIGHT JOIN. INNER JOIN – A cláusula INNER JOIN permite usar um operador de comparação para comparar os valores de colunas provenientes de tabelas associadas. Por meio desta cláusula, os registros de duas tabelas são usados para que sejam gerados os dados relacionados de ambas. Usamos as cláusulas WHERE e FROM para especificar esse tipo de associação. SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name;
  • 20. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 20 de 57 Ou: SELECT column_name(s) FROM table1, table2 WHERE table1.column_name=table2.column_name; LEFT JOIN – A cláusula LEFT JOIN ou LEFT OUTER JOIN permite obter não apenas os dados relacionados de duas tabelas, mais também os dados não relacionados encontrados na tabela à esquerda da cláusula JOIN. Caso não existam dados relacionados entre as tabelas à esquerda e a direita do JOIN, os valores resultantes de todas as colunas da lista de seleção da tabela à direita serão nulos. SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name; RIGHT JOIN – Ao contrário do LEFT JOIN, a cláusula RIGHT JOIN ou RIGHT OUTER JOIN retorna todos os dados encontrados na tabela à direita de JOIN. Caso não existam dados associados entre as tabelas à esquerda e à direita de JOIN, serão retornados valores nulos. SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name; Com a explicação acima podemos dizer que a resposta da questão é letra C. TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [56] Considere a seguinte tabela de um banco de dados.
  • 21. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 21 de 57 TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL} Uma consulta SQL que devolve apenas a tabela formada pelos códigos (COD_FUNC) e nomes (NOME) dos funcionários que ganham salário (SAL) entre 1000 e 3000 reais e trabalham no departamento de código (COD_DEP) 3 é (A) SELECT * FROM COD_FUNC AND NOME WHERE SAL BETWEEN 1000 AND 3000 AND COD_DEP=3 (B) SELECT * FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 (C) SELECT COD_DEP=3 FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 (D) SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000 (E) SELECT COD_FUNC AND NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000 Comentário: Analisando a questão e o SQL que foi solicitado temos que a query inicia da seguinte forma: Select cod_func, nome Continua informando de qual tabela iremos utilizar os dados: From tab_func Logo após iremos adicionar a cláusula where, que será: Where cod_dep=3 and sal between 1000 and 3000 Ou Where sal between 1000 and 3000 and cod_dep=3. Portanto temos que a resposta da questão é letra D. TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [42] Considere: Tabela Pessoa
  • 22. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 22 de 57 Id Sobrenome Nome Endereço Cidade 1 Tulio Nelson Rua Sete Santos 2 Madeira Carala Av. Quadrante Santos 3 Pereira Patrícia Pça. Julio Campinas A expressão SELECT DISTINCT Cidade FROM Pessoa, terá como resultado (A) Santos. (B) Santos e Santos. (C) Santos e Campinas. (D) Campinas. (E) Santos, Santos e Campinas. Comentário: Em uma consulta SQL o termo “distinct” vai trazer de volta para o DBA ou usuário do banco de dados os valor distintos, ou seja, elimina as repetições que existam. Logo podemos dizer que a resposta da questão é letra C. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [57] Sobre um Trigger, que é um bloco de comandos Transact-SQL executado em bancos de dados, afirma-se que (A) não pode ser usado com os comandos INSERT e DELETE. (B) pode ser usado com os comandos CREATE TABLE e DROP TABLE. (C) pode ser utilizado em JOINS e SUBSELECTS. (D) pode ser uma forma de implementar a integridade referencial. (E) em cada tabela pode ter somente um associado à mesma.
  • 23. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 23 de 57 Comentário: Um trigger é um tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de inserir, atualizar ou deletar os dados de uma tabela que é protegida por ele. Ao contrário dos procedimentos armazenados do sistema, os triggers não podem ser chamados diretamente e não passam nem aceitam parâmetros. Cada tabela pode ter mais de um trigger associado, por exemplo, podemos ter em uma tabela associado à opção de update, um outro associado a opção de delete e mais um outro associado a opção de insert. Os triggers são utilizados, por exemplo, para impor uma integridade de dados mais complexa do que uma restrição CHECK; definir mensagens de erro personalizadas; manter dados desnormalizados; comparar a consistência dos dados – posterior e anterior – de uma instrução UPDATE; Portanto podemos dizer que a resposta da questão é letra D. [58] NÃO se trata de uma característica das stored procedures: (A) acionar outra stored procedure. (B) utilizar somente comandos SQL padronizados. (C) receber diversos parâmetros de entrada. (D) propiciar maior segurança no acesso aos dados. (E) retornar um valor de status para indicar aceitação ou falha na execução. Comentário: Stored Procedures nada mais são do que um conjunto de instruções Transact- SQL que são executadas dentro do banco de dados. É como escrever um programa dentro do próprio banco de dados para executar. As stored procedures podem acionar outras stored procedures ou acionar ela própria podem efetuar uma recursão; podem receber códigos de linguagem como trasact-SQL e PL/SQL, por exemplo; podem receber vários parâmetros de entrada e de diversos tipos; propiciam maior segurança de acesso aos dados já que elas encapsulam o código SQL para executar os comandos guardados nela; podem retornar valores para indicarem falha ou
  • 24. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 24 de 57 sucesso na execução da stored procedure para poder informar ao DBA ou usuário da aplicação de o procedimento foi executado ou não. As vantagens do uso de Stored Procedures são claras:  Modularidade: passamos a ter o procedimento divido das outras partes do software, bastante alterarmos somente às suas operações para que se tenha as modificações por toda a aplicação;  Diminuição de I/O: uma vez que é passado parâmetros para o servidor, chamando o procedimento armazenado, as operações se desenolam usando processamento do servidor e no final deste, é retornado ou não os resultados de uma transação, sendo assim, não há um tráfego imenso e rotineiro de dados pela rede;  Rapidez na execução: os stored procedures, após salvos no servidor, ficam somente aguardando, já em uma posição da memória cache, serem chamados para executarem uma operação, ou seja, como estão pré-compilados, as ações também já estão pré-carregadas, dependendo somente dos valores dos parâmetros. Após a primeira execução, elas se tornam ainda mais rápidas;  Segurança de dados: podemos também, ocultar a complexidade do banco de dados para usuários, deixando que sejam acessados somente dados pertinentes ao tipo de permissão atribuida ao usuário ou mesmo declarando se o Stored Procedure é proprietário ou público, podendo ser também criptografada com WITH ENCRYPTION. Logo podemos dizer que a resposta da questão é letra B. 5. Teoria e metodologia de projeto de banco de dados. O projeto de banco de dados se completa com a modelagem do banco de dados, pois para montar o projeto o administrador de dados e o administrador de banco de dados tem que efetuar a modelagem do banco projetando o mesmo para atender ao projeto de software correspondente. Um projeto de banco de dados é sub-dividido em etapas onde o objetivo é a criação de um banco de dados otimizado que atenda as expectativas do cliente. E nesse contexto, os
  • 25. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 25 de 57 modelos de dados são muito importantes para a transmissão de idéias entre o cliente e o projetista, bem como facilitar a manutenção do banco de dados no futuro. O projeto de banco de dados é basicamente, dividido em Projeto Conceitual, Projeto Lógico e Projeto Físico. Porém antes de começar a projetar o banco de dados é necessário a realização de análise de requisitos junto ao cliente. Essa talvez seja a fase mais importante do projeto, pois é nessa hora que as necessidades e expectativas do cliente são transmitidas para o projetista. Modelar significa criar um modelo que explique as características de funcionamento e comportamento de um software a partir do qual ele será criado, facilitando seu entendimento e seu projeto, através das características principais que evitarão erros de programação, projeto e funcionamento. É uma parte importante do desenho de um sistema de informação. De acordo com a abordagem que utilizam, os modelos de dados normalmente são classificados da seguinte forma:  Modelo Conceitual: O modelo conceitual é um diagrama em blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e auto- relações.  Modelo Lógico: O modelo lógico mostra as ligações entre as tabelas de banco de dados, as chaves primárias, os componentes de cada uma, etc.  Modelo Físico: Inclui a análise das características e recursos necessários para armazenamento e manipulação das estruturas de dados (estrutura de armazenamento, endereçamento, acesso e alocação física), sendo uma sequência de comandos executados em SQL a fim de criar as tabelas, estruturas e ligações projetadas até então e finalmente criar o banco de dados. O MER (Modelo de Entidade e Relacionamento) é um modelo de dados conceitual de alto- nível ele consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados. Este modelo foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema que representa a estrutura lógica global do Banco de Dados. Assim, os
  • 26. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 26 de 57 conceitos do MER foram projetados para serem compreensíveis a usuários, assim tendo uma ampla visão do que esta sendo projetado e de fácil entendimento a todos os profissionais, descartando detalhes de como os dados são armazenados. Atualmente, o MER é usado principalmente durante o processo de projeto de banco de dados. O objeto básico que o MER representa é a entidade. Uma entidade é algo do mundo real que possui uma existência independente. Uma entidade pode ser um objeto com uma existência física - uma pessoa, carro ou empregado - ou pode ser um objeto com existência conceitual - uma companhia, um trabalho ou um curso universitário. Cada entidade tem propriedades particulares, chamadas atributos, que o descrevem. Por exemplo, uma entidade empregada pode ser descrita pelo seu nome, o trabalho que realiza idade, endereço e salário. Uma entidade em particular terá um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos dados armazenados na base de dados. Alguns atributos podem ser divididos em subpartes com significados independentes. Por exemplo, Endereço da entidade e podem ser dividido em Endereço da Rua, Cidade, Estado e CEP. Um atributo que é composto de outros atributos mais básicos é chamado composto. Já, atributos que não são divisíveis são chamados simples ou atômicos. Atributos compostos podem formar uma hierarquia. Atributos compostos são úteis quando os usuários referenciam o atributo composto como uma unidade e, em outros momentos, referenciam especificamente a seus componentes. Se o atributo composto for sempre referenciado como um todo, não existe razão para subdividi-lo em componentes elementares. Em outros casos, um atributo pode ter um conjunto de valores. Tais atributos são chamados de atributos multivalorados (exemplo, Telefone). Atributos multivalorados podem possuir uma multiplicidade, indicando as quantidades mínima e máxima de valores. Em alguns casos, dois ou mais atributos são relacionados. Por exemplo, Idade e Data de Nascimento de uma pessoa. Para uma entidade pessoa em particular, a Idade pode ser determinada a partir da data atual e da Data de Nascimento. Atributos como Idade são chamados atributos derivados.
  • 27. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 27 de 57 Relacionamento é a estrutura que indica a associação de elementos de duas ou mais entidades. É o tipo de ocorrência existente entre entidades e aplicáveis no processo de modelar dados. Entender isso é importante, pois um modelo consistente é a base para um banco de dados de sucesso. Existem três tipos de relacionamento entre entidades:  um-para-um  um-para-muitos  muitos-para-muitos A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento.Para determinar a cardinalidade, deve-se fazer a pergunta relativa ao relacionamento em ambas as direções. Um departamento possui quantos empregados? - no mínimo 1 e no máximo N. Um empregado está alocado em quantos departamentos? - no mínimo em 1 e no máximo em 1 Somando-se as cardinalidades, definimos o resultado final do relacionamento, ou seja, 1:N Exemplo de um MER:
  • 28. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 28 de 57 O modelo relacional apareceu devido às seguintes necessidades: aumentar a independência de dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados; permitir processamento ad-hoc. O modelo relacional, tendo por base a teoria dos conjuntos e álgebra relacional, foi resultado de um estudo teórico realizado por Edgar Frank Codd. O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados. A estrutura fundamental do modelo relacional é a relação (tabela). Uma relação é constituída por um ou mais atributos (campos) que traduzem o tipo de dados a armazenar. Cada instância do esquema (linha) é chamada de tupla (registro). O modelo relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos modelos que o precederam. O modelo relacional implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
  • 29. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 29 de 57 [35] Uma das formas de impor restrições em um banco de dados relacional é por meio das chaves primárias, sobre as quais pode-se afirmar que (A) não se aplicam para conjuntos de entidades com menos de 5 atributos. (B) o tamanho mínimo de seus atributos deve ser de 10 caracteres. (C) devem ser formadas por, no mínimo, 3 atributos. (D) os valores de seus atributos devem ser distintos para cada entidade de um conjunto de entidades. (E) não podem conter atributos do tipo alfanumérico. Comentário: Chave primária refere-se aos conjuntos de um ou mais campos, cujos valores, considerando a combinação de valores de todos os campos da tupla, nunca se repetem e que podem ser usadas como um índice para os demais campos da tabela do banco de dados. Em chaves primárias, não pode haver valores nulos e nem repetição de tuplas. Quando a chave primária é simples ela é formada por um único campo da tabela, esse campo não pode ter dois ou mais registros de mesmo valor e também não pode conter nenhum registro nulo. Se a chave primária é composta ela é formada por mais de um campo, os valores de cada campo podem se repetir, mas não a combinação desses valores. As chaves primárias não tem limitação da quantidade de atributos para serem formadas e nem tipo de dados que as forme. Conforme definição podemos informar que a resposta é letra D. [36] Em um banco de dados relacional, a atividade de normalizar suas tabelas tem como objetivo (A) gerar os triggers especificados para o banco de dados. (B) eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias nessas tabelas. (C) impedir o acesso ao banco de dados, por parte de usuários desconhecidos. (D) compilar todas as funções inseridas no banco de dados.
  • 30. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 30 de 57 (E) preparar todas as tabelas do banco de dados para um backup completo. Comentário: Normalização é um processo onde se aplica regras a todas as entidades (tabelas) do banco de dados, a fim de evitar falhas no projeto, como redundância de dados, mistura de diferentes assuntos numa mesma entidade, entre outros problemas. Logo temos que a resposta da questão é letra B. Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira. Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não-trivial de um atributo que não seja a chave, em parte da chave candidata.
  • 31. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 31 de 57 Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não-triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata. Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).
  • 32. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 32 de 57 [37] Considere a seguinte definição sobre um banco de dados relacional: "Uma relação R encontra-se nessa forma normal se todo atributo não primário (não for membro de alguma chave candidata) de R apresenta dependência funcional total da chave primária de R." Tal definição corresponde à (A) primeira forma normal. (B) quarta forma normal. (C) terceira forma normal. (D) segunda forma normal. (E) forma normal de boyce-codd. Comentário: As definições das formas normais são:  Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.  Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não- trivial de um atributo que não seja a chave, em parte da chave candidata.
  • 33. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 33 de 57  Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não- triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata.  Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A→A).  Quarta Forma Normal (ou 4FN) requer que não exista nenhuma dependência multi- valorada não-trivial de conjuntos de atributo em algo mais de que um superconjunto de uma chave candidata. Portanto podemos dizer que a resposta da questão é letra D. TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [54] Considere um Banco de Dados com as relações R1, R2 e R3 abaixo, onde VALOR_PAGO é o valor pago de imposto de renda no ano e atributos sublinhados formam a chave. R1 = {CPF, NOME, CPF_CONJUGE, NOME_CONJUGE} R2 = {CPF, NOME, CIDADE, NUMERO_DEPENDENTES} R3 = {CPF, ANO, NOME, VALOR_PAGO} R1, R2 e R3 estão, respectivamente, na (A) primeira, terceira e segunda forma normal. (B) primeira, segunda e terceira forma normal. (C) segunda, terceira e primeira forma normal. (D) segunda, primeira e terceira forma normal. (E) terceira, primeira e segunda forma normal.
  • 34. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 34 de 57 Comentário: As definições das formas normais são:  Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.  Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não- trivial de um atributo que não seja a chave, em parte da chave candidata.  Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata. Logo podemos dizer que a R1 está na 2FN, pois não há de pendência funcional não trivial de um atributo que não seja chave, em parte da chave candidata, sendo a chave candidata o atributo CPF. A R2 está na 3FN não há dependências funcionais não triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata. A R3 está na 1FN, pois requer que todos os valores de colunas em uma tabela sejam atômicos. Portanto a resposta da questão é letra C. TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [43] É correto que uma relação está na (A) 2FN se, e somente se, todos os domínios básicos contiverem mais de um valor discreto periódico. (B) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem totalmente dependentes da totalidade da chave primária. (C) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem dependentes não transitivos da chave primária. (D) 3FN se, e somente se, ela estiver na segunda e todos os atributos não chave contiverem mais de um valor discreto periódico.
  • 35. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 35 de 57 (E) 3FN se, e somente se, todos os domínios básicos forem multivalorados. Comentário: As definições das formas normais são:  Primeira Forma Normal (ou 1FN) requer que todos os valores de colunas em uma tabela sejam atômicos (ex., um número é um átomo, enquanto uma lista ou um conjunto não o são). A normalização para a primeira forma normal elimina grupos repetidos, pondo-os cada um em uma tabela separada, conectando-os com uma chave primária ou estrangeira.  Segunda Forma Normal (ou 2FN) requer que não haja dependência funcional não- trivial de um atributo que não seja a chave, em parte da chave candidata.  Terceira Forma Normal (ou 3FN) requer não haver dependências funcionais não triviais de atributos que não sejam chave, em qualquer coisa exceto um superconjunto de uma chave candidata. Logo podemos afirmar que a resposta da questão é letra B. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [32] Considere um conjunto de entidades A e um relacionamento recursivo com um conjunto de relacionamentos R na modelagem de um banco de dados relacional. O diagrama Entidade-Relacionamento que representa essa modelagem é:
  • 36. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 36 de 57 Comentário: De acordo com a notação usada nos diagramas de entidade-relacionamento temos: Símbolo Significado Entidade Entidade-Fraca Relacionamento Identificador de Relacionamento. Logo analisando as alternativas e efetuando a combinações necessárias com os símbolos usados na notação podemos afirmar que a resposta da questão é a letra E. [33] Considere o seguinte diagrama Entidade-Relacionamento, resultante da modelagem de um banco de dados relacional: A partir desse diagrama, pode-se afirmar que (A) uma loja não possui todos os produtos. (B) uma loja possui um número par de departamentos. (C) cada departamento pode possuir vários produtos. (D) um mesmo produto não pode estar em mais de uma loja. (E) o número de lojas é impar.
  • 37. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 37 de 57 Comentário: Analisando o modelo acima podemos afirmar apenas que uma loja possui N departamentos e N departamentos possuem M produtos. E analisando a afirmativas que seguem, podemos apenas dizer que a letra C está correta, pois não podemos afirmar que uma loja não possui todos os produtos; não podemos afirmar que uma loja possui um número par de departamentos; não podemos afirmar que um mesmo produto não pode estar em mais de uma loja e que o número de lojas é ímpar, pois não temos nenhuma restrição no MER com relação a estas afirmações. [49] No projeto de bancos de dados relacionais é comum ocorrer à necessidade de modelar conjuntos de entidades fracas, cuja principal característica é (A) não possuir atributos que possam assumir a função de chave primária. (B) aceitar a inserção apenas de valores numéricos. (C) ter apenas uma chave candidata. (D) não aceitar atributos de tamanho variável. (E) ter, no máximo, três atributos. Comentário: Entidade fraca é uma entidade que não possui existência própria (sua existência depende da existência de outra entidade) ou que para ser identificada depende da identificação de outra entidade. Não tem atributos suficientes para formar uma chave primária. Logo podemos dizer que a resposta da questão é letra A. [51] Quando do projeto de um banco de dados relacional, pode haver a indicação de que um conjunto de entidades tem participação total em um conjunto de relacionamentos, isto significa que (A) cada entidade do conjunto de entidades participa em todos os relacionamentos do conjunto de relacionamentos. (B) há, no mínimo, metade das entidades do conjunto de entidades que participam em pelo menos um relacionamento do conjunto de relacionamentos.
  • 38. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 38 de 57 (C) as entidades do conjunto de entidades não possuem atributos do tipo booleano ou do tipo data. (D) cada entidade do conjunto de entidades participa em pelo menos um relacionamento do conjunto de relacionamentos. (E) todos os atributos do conjunto de entidades são indexados com a técnica de árvores binárias. Comentário: De acordo com a afirmação feita na questão de que um conjunto de entidades tem participação total em um conjunto de relacionamentos, podemos afirmar apenas que cada entidade participa de pelo menos um relacionamento do conjunto de relacionamentos, já que não temos o modelo que representa este conjunto de entidades que tem a participação total neste conjunto de relacionamentos. Logo temos que a resposta da questão é letra D. TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [59] Considere: É correto afirmar que o Diagrama Entidade-Relacionamento acima, apresenta: (A) 4 atributos chaves. (B) 4 atributos compostos. (C) 2 atributos multivalorados. (D) 2 atributos derivados. (E) 6 atributos derivados.
  • 39. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 39 de 57 Comentário: De acordo com a notação usada nos diagramas de entidade-relacionamento temos: Símbolo Significado Atributo Atributo-chave Atributo-multivalorado Atributo-Composto Atributo-Derivado Logo analisando a questão e as afirmativas, podemos dizer que a resposta da questão é a letra A. TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS) [38] Medicamento (Med) e Perfumaria (Per) são duas entidades que representam uma tipificação da entidade Produto (Pro). Portanto, Med e Per em relação a Pro representam (A) generalizações. (B) composições. (C) agregações. (D) especializações. (E) dependências. Comentário: Especialização é o processo de definição de um conjunto de subclasses (sub- tipos) de um tipo de entidade. Generalização é o processo de definição de um tipo de
  • 40. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 40 de 57 entidade genérico (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade. Portanto podemos dizer que a resposta da questão é letra D. [39] Relacionamentos que são resultado da combinação de outros relacionamentos, entre as mesmas entidades, são denominados (A) entidades fracas. (B) relacionamentos redundantes. (C) entidades associativas. (D) relacionamentos ternários. (E) autorrelacionamentos. Comentário: O auto-relacionamento representa a uma associação entre ocorrências de uma mesma entidade. Os relacionamentos ternários são relacionamentos que tem grau de cardinalidade igual a 3. Os relacionamentos redundantes são resultado da combinação de outros relacionamentos, entre as mesmas entidades.
  • 41. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 41 de 57 Logo podemos dizer que a resposta da questão é letra B. TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [44] Em uma certa visão governamental, os órgãos são identificados seqüencialmente a partir do número um, dentro de cada ministério. No projeto da base de dados é necessário que tal fato seja levado em consideração por questão de unicidade da chave primária da tabela de órgãos. Este enunciado remete ao princípio que norteia, especificamente, no MER, a formação de (A) entidade fraca. (B) entidade associativa. (C) relacionamento ternário. (D) auto-relacionamento. (E) visibilidade. Comentário: Analisando a questão podemos dizer que o enunciado remete ao princípio de formação das entidades fracas, pois a entidade fraca é uma entidade que não possui existência própria (sua existência depende da existência de outra entidade) ou que para ser identificada depende da identificação de outra entidade. Não tem atributos suficientes para formar uma chave primária. Logo podemos afirmar que a resposta da questão é letra A.
  • 42. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 42 de 57 6. Lista de Questões Conceitos e arquitetura de sistemas de banco de dados. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [59] Consiste de um conjunto de dados (banco de dados) e um conjunto de programas para armazenamento e acesso a esses dados, de forma eficiente e convincente: 059 - A (A) SGBD (B) DGBD (C) GBD (D) PGBD (E) MGBD MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [31] Com relação aos Sistemas Gerenciadores de Bancos de Dados (SGBD), pode-se dizer que se constituem em um (A) conjunto de dados armazenados em discos magnéticos. (B) conjunto de programas de computador capaz de processar conjuntos de dados. (C) aplicativo disponibilizado por alguns sistemas operacionais. (D) software destinado exclusivamente ao projeto dos modelos de bancos de dados. (E) software para apoio a programas de geração de cronogramas. Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS)
  • 43. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 43 de 57 [47] No armazenamento de registros das tabelas de um banco de dados relacional, há uma técnica conhecida como registros desordenados (ou heap files), na qual novos registros são inseridos (A) no início do arquivo correspondente. (B) de acordo com o tipo de dados presente em cada tabela. (C) ao final do arquivo correspondente. (D) em uma posição intermediária no arquivo correspondente. (E) de acordo com um índice previamente definido. [48] Um tipo de banco de dados é representado pelos bancos de dados relacionais distribuídos, nos quais pode ser feita a fragmentação de dados, que consiste em (A) criptografar todas as tabelas do banco de dados utilizando uma chave pública. (B) dividir as tabelas do banco de dados e armazenar cada parte em um local (site) diferente. (C) excluir os registros das tabelas que possuam atributos com valores nulos. (D) excluir todas as tabelas que não possuam chave estrangeira. (E) replicar todas as tabelas do banco de dados em todos os locais (sites). TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [58] É o modelo de dados que eliminou o conceito de hierarquia, permitindo que um mesmo registro estivesse envolvido em várias associações. Os registros, organizados em grafos, permitem o tipo de associação que define uma relação 1:N entre os tipos de registros proprietário e membro. Assim, para dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é possível construir um relacionamento M:N entre A e D. Trata-se do modelo (A) em rede.
  • 44. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 44 de 57 (B) relacional. (C) hierárquico. (D) orientado a objetos. (E) distribuído. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [70] O SQL (Structured Query Language) é uma linguagem de pesquisa declarativa para banco de dados relacional. A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. A sigla DML significa: (A) Data Main Language. (B) Data Manager Language. (C) Data Manipulation List. (D) Data Manager List. (E) Data Manipulation Language. DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados) [55] Analise os seguintes comandos de definição e manipulação de dados SQL: CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR VARCHAR(30)); INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”, “Machado de Assis”); INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL); UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1; Após a execução destes comandos, (A) apenas o primeiro livro será incluído na tabela, pois o segundo livro está utilizando o mesmo código de identificação, o que é restringido (CONSTRAINT) para campos do tipo ID.
  • 45. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 45 de 57 (B) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor NULL, pois não foi informada a cláusula ALL para o comando UPDATE. (C) nenhuma alteração será efetuada no comando UPDATE, devido à falta da cláusula TABLE antes do nome da tabela. (D) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os livros. (E) o comando de inserção do segundo livro irá falhar, pois colunas do tipo VARCHAR não podem conter valores NULL sem que seja informada essa opção na criação da tabela. [57] São CONSTRAINTS SQL, EXCETO (A) FOREIGN KEY. (B) NOT NULL. (C) UNIQUE. (D) PRIMARY KEY. (E) UNION. DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas) [50] Considere as seguintes tabelas de um banco de dados relacional, sendo que os atributos ID e Cod, na tabela Usa são chaves estrangeiras, com origem, respectivamente, nas tabelas Dpto e Eqpto: Depto (ID, Nome, Função) Usa (ID, Cod) Eqpto (Cod, Tipo, Valor) Assinale a alternativa que apresenta a expressão SQL para obter o Nome do Depto e o Tipo de Eqpto utilizados. (A) SELECT Nome, Tipo FROM Depto Eqpto (B) SELECT Nome, Tipo FROM Usa WHERE USA.ID and Usa.Cod
  • 46. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 46 de 57 (C) SELECT Nome, Tipo FROM Depto, Usa, Eqpto (D) SELECT Nome, Tipo FROM Depto, Usa, Eqpto WHERE Depto.ID = USA.ID and Eqpto.Cod = Usa.Cod (E) SELECT Nome, Tipo FROM Depto, Eqpto WHERE Dpto.ID and Eqpto.Cod MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [38] O comando SQL para conceder o privilégio de leitura da tabela T5 a todos usuários do banco de dados é: (A) GRANT READ FOR TABLE T5 FOR ALL (B) GRANT SELECT T5 (C) GRANT READ T5 FOR MOST (D) GRANT READ INTEGRAL OF T5 (E) GRANT SELECT ON TABLE T5 TO PUBLIC [39] Considere o seguinte comando em SQL: SELECT Objeto FROM T20 WHERE Nome LIKE ‘C%s’ Os valores que podem ser resultantes dessa consulta são: (A) Camas − Canetas − Contas. (B) Cômoda − Bonés − Portas. (C) Casa − Cozinha − Quarto. (D) Áreas − Sucos − Carros. (E) Sacos − Coroa − Castiçal.
  • 47. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 47 de 57 [40] Considere a seguinte consulta SQL em um banco de dados relacional: SELECT T1.CA, T2.CB FROM T1, T2 WHERE T1.ID = T2.ID Uma consulta equivalente a essa é: (A) SELECT T1.C1, T2.CB FROM T1 JOINED T2 HAVING T1.ID = T2.ID (B) SELECT T1.C1, T2.CB FROM T1 LEFT JOIN T2 FOR T1.ID = T2.ID (C) SELECT T1.C1, T2.CB FROM T1 INNER JOIN T2 ON T1.ID = T2.ID (D) SELECT T1.C1, T2.CB FROM T1 LIKE T2 ON T1.ID = T2.ID (E) SELECT T1.C1, T2.CB FROM T1 RIGHT JOIN T2 AND T1.ID = T2.ID TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [56] Considere a seguinte tabela de um banco de dados. TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL} Uma consulta SQL que devolve apenas a tabela formada pelos códigos (COD_FUNC) e nomes (NOME) dos funcionários que ganham salário (SAL) entre 1000 e 3000 reais e trabalham no departamento de código (COD_DEP) 3 é (A) SELECT * FROM COD_FUNC AND NOME WHERE SAL BETWEEN 1000 AND 3000 AND COD_DEP=3 (B) SELECT * FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 (C) SELECT COD_DEP=3 FROM TAB_FUNC WHERE SAL BETWEEN 1000 AND 3000 (D) SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000 (E) SELECT COD_FUNC AND NOME FROM TAB_FUNC WHERE COD_DEP=3 AND SAL BETWEEN 1000 AND 3000
  • 48. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 48 de 57 TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [42] Considere: Tabela Pessoa Id Sobrenome Nome Endereço Cidade 1 Tulio Nelson Rua Sete Santos 2 Madeira Carala Av. Quadrante Santos 3 Pereira Patrícia Pça. Julio Campinas A expressão SELECT DISTINCT Cidade FROM Pessoa, terá como resultado (A) Santos. (B) Santos e Santos. (C) Santos e Campinas. (D) Campinas. (E) Santos, Santos e Campinas. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [57] Sobre um Trigger, que é um bloco de comandos Transact-SQL executado em bancos de dados, afirma-se que (A) não pode ser usado com os comandos INSERT e DELETE. (B) pode ser usado com os comandos CREATE TABLE e DROP TABLE. (C) pode ser utilizado em JOINS e SUBSELECTS. (D) pode ser uma forma de implementar a integridade referencial. (E) em cada tabela pode ter somente um associado à mesma.
  • 49. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 49 de 57 [58] NÃO se trata de uma característica das stored procedures: (A) acionar outra stored procedure. (B) utilizar somente comandos SQL padronizados. (C) receber diversos parâmetros de entrada. (D) propiciar maior segurança no acesso aos dados. (E) retornar um valor de status para indicar aceitação ou falha na execução. Teoria e metodologia de projeto de banco de dados. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [35] Uma das formas de impor restrições em um banco de dados relacional é por meio das chaves primárias, sobre as quais pode-se afirmar que (A) não se aplicam para conjuntos de entidades com menos de 5 atributos. (B) o tamanho mínimo de seus atributos deve ser de 10 caracteres. (C) devem ser formadas por, no mínimo, 3 atributos. (D) os valores de seus atributos devem ser distintos para cada entidade de um conjunto de entidades. (E) não podem conter atributos do tipo alfanumérico. [36] Em um banco de dados relacional, a atividade de normalizar suas tabelas tem como objetivo (A) gerar os triggers especificados para o banco de dados. (B) eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias nessas tabelas. (C) impedir o acesso ao banco de dados, por parte de usuários desconhecidos.
  • 50. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 50 de 57 (D) compilar todas as funções inseridas no banco de dados. (E) preparar todas as tabelas do banco de dados para um backup completo. [37] Considere a seguinte definição sobre um banco de dados relacional: "Uma relação R encontra-se nessa forma normal se todo atributo não primário (não for membro de alguma chave candidata) de R apresenta dependência funcional total da chave primária de R." Tal definição corresponde à (A) primeira forma normal. (B) quarta forma normal. (C) terceira forma normal. (D) segunda forma normal. (E) forma normal de boyce-codd. TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [54] Considere um Banco de Dados com as relações R1, R2 e R3 abaixo, onde VALOR_PAGO é o valor pago de imposto de renda no ano e atributos sublinhados formam a chave. R1 = {CPF, NOME, CPF_CONJUGE, NOME_CONJUGE} R2 = {CPF, NOME, CIDADE, NUMERO_DEPENDENTES} R3 = {CPF, ANO, NOME, VALOR_PAGO} R1, R2 e R3 estão, respectivamente, na (A) primeira, terceira e segunda forma normal. (B) primeira, segunda e terceira forma normal. (C) segunda, terceira e primeira forma normal. (D) segunda, primeira e terceira forma normal.
  • 51. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 51 de 57 (E) terceira, primeira e segunda forma normal. TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [43] É correto que uma relação está na (A) 2FN se, e somente se, todos os domínios básicos contiverem mais de um valor discreto periódico. (B) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem totalmente dependentes da totalidade da chave primária. (C) 2FN se, e somente se, estiver na primeira e todos os atributos não chave forem dependentes não transitivos da chave primária. (D) 3FN se, e somente se, ela estiver na segunda e todos os atributos não chave contiverem mais de um valor discreto periódico. (E) 3FN se, e somente se, todos os domínios básicos forem multivalorados. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [32] Considere um conjunto de entidades A e um relacionamento recursivo com um conjunto de relacionamentos R na modelagem de um banco de dados relacional. O diagrama Entidade-Relacionamento que representa essa modelagem é:
  • 52. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 52 de 57 [33] Considere o seguinte diagrama Entidade-Relacionamento, resultante da modelagem de um banco de dados relacional: A partir desse diagrama, pode-se afirmar que (A) uma loja não possui todos os produtos. (B) uma loja possui um número par de departamentos. (C) cada departamento pode possuir vários produtos. (D) um mesmo produto não pode estar em mais de uma loja. (E) o número de lojas é impar. [49] No projeto de bancos de dados relacionais é comum ocorrer à necessidade de modelar conjuntos de entidades fracas, cuja principal característica é (A) não possuir atributos que possam assumir a função de chave primária. (B) aceitar a inserção apenas de valores numéricos. (C) ter apenas uma chave candidata. (D) não aceitar atributos de tamanho variável. (E) ter, no máximo, três atributos. [51] Quando do projeto de um banco de dados relacional, pode haver a indicação de que um conjunto de entidades tem participação total em um conjunto de relacionamentos, isto significa que (A) cada entidade do conjunto de entidades participa em todos os relacionamentos do conjunto de relacionamentos.
  • 53. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 53 de 57 (B) há, no mínimo, metade das entidades do conjunto de entidades que participam em pelo menos um relacionamento do conjunto de relacionamentos. (C) as entidades do conjunto de entidades não possuem atributos do tipo booleano ou do tipo data. (D) cada entidade do conjunto de entidades participa em pelo menos um relacionamento do conjunto de relacionamentos. (E) todos os atributos do conjunto de entidades são indexados com a técnica de árvores binárias. TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [59] Considere: É correto afirmar que o Diagrama Entidade-Relacionamento acima, apresenta: (A) 4 atributos chaves. (B) 4 atributos compostos. (C) 2 atributos multivalorados. (D) 2 atributos derivados. (E) 6 atributos derivados. TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS)
  • 54. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 54 de 57 [38] Medicamento (Med) e Perfumaria (Per) são duas entidades que representam uma tipificação da entidade Produto (Pro). Portanto, Med e Per em relação a Pro representam (A) generalizações. (B) composições. (C) agregações. (D) especializações. (E) dependências. [39] Relacionamentos que são resultado da combinação de outros relacionamentos, entre as mesmas entidades, são denominados (A) entidades fracas. (B) relacionamentos redundantes. (C) entidades associativas. (D) relacionamentos ternários. (E) autorrelacionamentos. TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [44] Em uma certa visão governamental, os órgãos são identificados seqüencialmente a partir do número um, dentro de cada ministério. No projeto da base de dados é necessário que tal fato seja levado em consideração por questão de unicidade da chave primária da tabela de órgãos. Este enunciado remete ao princípio que norteia, especificamente, no MER, a formação de (A) entidade fraca. (B) entidade associativa. (C) relacionamento ternário. (D) auto-relacionamento.
  • 55. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 55 de 57 (E) visibilidade. 7. Gabarito. Conceitos e arquitetura de sistemas de banco de dados. DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [59] – A MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [31] – B Modelo relacional de bancos de dados: conceitos, restrições, linguagens, design e programação. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [47] – C [48] – B TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [58] – A DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [70] – E DPE – SP 2013 (Agente de Defensoria Pública – Administrador de Banco de Dados) [55] – D
  • 56. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 56 de 57 [57] – E DPE – SP 2013 (Agente de Defensoria Pública – Analista de Sistemas) [50] – D MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [38] – E [39] – A [40] – C TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [56] – D TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [42] – C DPE – SP 2009 (Agente de Defensoria – Administrador de Banco de Dados) [57] – D [58] – B Teoria e metodologia de projeto de banco de dados. MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [35] – D [36] – B
  • 57. INSS – Analista de TI – Banco de Dados Aula 01 Exercícios Manoel Caetano www.tiparaconcursos.net Página 57 de 57 [37] – D TJ – RJ – 2012 (ESPECIALIDADE ANALISTA DE SISTEMAS) [54] – C TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [43] – B MPE – MA – 2013 (ANALISTA MINISTERIAL - BANCO DE DADOS) [32] – E [33] – C [49] – A [51] – D TRE – SP 2013 (AN JUD - ÁREA APOIO ESP -ESPEC ANÁLISE DE SISTEMAS) [59] – A TRE – CE – 2012 (AN JUD - ÁREA APOIO ESP - ESP ANÁLISE DE SISTEMAS) [38] – D [39] – B TJ – PE – 2012 (ANALISTA JUD - APJ - ANALISTA DE SISTEMAS) [44] – A