Você está na página 1de 135

Aula – Bancos de Dados Relacionais

Curso: Desenvolvimento para Senado


Professor: Ramon Souza
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

APRESENTAÇÃO – PROFESSOR RAMON SOUZA

Meu nome é Ramon Jorge de Souza e sou servidor


do Tribunal de Contas do Estado do Ceará, atuando com
Auditoria de Tecnologia da Informação, mas já estou
aguardando a nomeação para o cargo de Auditor Fiscal da
Receita Estadual – Tecnologia da Informação da
SEFAZ-SC no qual fui aprovado recentemente.
Passo a contar um pouco da minha trajetória:
Sou de Quixadá, no interior do Ceará, e estudei todo o ensino
fundamental e médio em escola pública. Logo ao sair do ensino médio, iniciei o
curso de Técnico em Química no Instituto Federal do Ceará. No ano seguinte
passei a cursar também Engenharia de Software na Universidade Federal do
Ceará.
Enquanto estava ainda cursando o ensino técnico no IFCE, surgiu o
concurso para a Petrobrás Biocombustíveis da minha cidade. Então resolvi fazer
a prova, pois estava animado com a possibilidade de trabalhar ao lado de casa
com um salário bem atrativo para o local. Ai que veio a surpresa, fiquei em 30º
lugar. Embora não tenha sido convocado para esse concurso, percebi que era
possível ser aprovado, desde que me dedicasse mais.
Quando estava concluindo o curso técnico em Química, fui selecionado
para trabalhar na Petrobrás Biocombustíveis como terceirizado. Trabalhando ao
lado de concursados, decidi que também queria aquilo para minha vida e, então,
passei a estudar com mais afinco e a realizar diversas provas, principalmente
da Petrobrás, mesmo que não fossem no Estado do Ceará.
Nesse meio tempo cursava Engenharia de Software e já realizava também
alguns concursos para essa área de formação. No ano de 2012, consegui obter
algumas classificações tanto para a área de Química, quanto para a área de TI.
Porém, nada de convocações. Mas continuei estudando.
Eis que o ano de 2013 foi o ano da colheita de frutos. Estava de férias
quando chegou a mim o telegrama de convocação para assumir o cargo de
Técnico em Química na Petrobras S/A. Mas e aí? Aí já era tarde demais, já
tinha decidido que não queria mais seguir na área de química e sim queria
passar em concurso para TI. Abdiquei do direito a posse no cargo e continuei
estudando para a área de TI.
Ainda estava cursando Engenharia de Software e nesse período fiz um
estágio em uma empresa privada. Como disse antes, estava na época da
colheita, então fui convocado para o concurso do Banco Regional de Brasília
(BRB). Pergunta-me então: assumiu? Não. Calma, este não assumi, pois como
disse ainda estava cursando Engenharia de Software e não tinha o diploma de
nível superior exigido pelo cargo. Isso se repetiu para a convocação para a
Empresa Brasileira de Serviços Hospitalares (EBSERH).

Prof. Ramon Souza 2 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

No final de 2013, passei para o concurso do Ministério do Planejamento,


para o cargo de Analista em Tecnologia da Informação. Com receio de
acontecer o mesmo que os anteriores, solicitei colação de grau especial e
consegui obter o diploma. Pronto, estava preparado para assumir o MPOG, mas
como ele demorava a chamar estudava ainda firmemente para outros
concursos.
Convocado então em 2014 para assumir o MPOG, mudei-me para Brasília,
mas não parei de estudar. Nesse período, fui convocado para a DATAPREV e
para o INSS, mas optei por não assumir esses cargos.
Em 2015, continuei prestando alguns concursos, e obtive o 4º lugar no
concurso do INSS, o 6º lugar no concurso da ANTAQ, 1º lugar no concurso
para o Conselho Nacional do Ministério Público (CNMP) e também 1º
lugar para o Tribunal de Contas do Estado do Ceará (TCE-CE).
Em 2017, depois de quase aposentar a caneta preta, retornei aos estudos
e dessa vez resolvi estudar para concursos fiscais. Em 2018, realizei o concurso
para da Secretaria de Estado da Fazenda de Santa Catarina (SEFAZ-SC)
e fui aprovado para o cargo de Auditor Fiscal da Receita Estadual –
Tecnologia da Informação.
Contem comigo nessa jornada! Estarei à disposição no Fórum tira-
dúvidas e através dos contatos disponíveis no perfil do professor
https://bit.ly/2RVdGLS.
Para dicas sobre concursos, acesse:

Exponencial Concursos
https://www.youtube.com/channel/UCr9rg5WOPmXvZgOfBl-HEuw

@exponencial_concursos
https://www.instagram.com/exponencial_concursos/?hl=pt-br

E para dicas sobre Informática, TI e Análise de Informações, siga:

@profecoach_ramonsouza
https://www.instagram.com/proframonsouza/?hl=pt-br

Prof. Ramon Souza 3 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

APRESENTAÇÃO – PROFESSOR YURI DO CARMO

Meu nome é Yuri do Carmo e sou servidor da Justiça


Federal no Ceará (JFCE), atuando como Analista Judiciário
(Especialidade Informática/Desenvolvimento), mas já estou
aguardando a nomeação para o cargo de Auditor Fiscal da
Receita Estadual – Tecnologia da Informação da
SEFAZ-SC, no qual tive a felicidade de ser aprovado em 1º
lugar!
Antes de iniciarmos a aula, gostaria de contar um pouco da minha
trajetória. Sou de Itapipoca, no interior do Ceará, onde fiz meu ensino
fundamental. Em 2006, vim morar em Fortaleza, capital do Ceará, para fazer
meu ensino médio no Instituto Federal do Ceará (IFCE), onde também concluí
meu curso de Técnico em Informática. Em 2010, iniciei minha graduação em
Ciência da Computação na Universidade Federal do Ceará (UFC), a qual eu
concluí em 2014.
Iniciei minha trajetória no mundo dos concursos em 2013, quando prestei
a prova para o cargo de Técnico em TI da Universidade Federal do Ceará.
Apesar de ser minha primeira prova, dediquei-me bastante aos estudos e
consegui ser aprovado em 1º lugar. Assumi lá em 2014 e fiquei
aproximadamente um ano e meio no cargo.
Continuei estudando para cargos de nível superior e, em 2014, fiz as
provas para o Cargo de Analista de Tecnologia da Informação da EBSERH e da
DATAPREV, sendo aprovado em ambos em 2º lugar. Assumi na DATAPREV em
2015 e fiquei 10 meses lá.
Em 2015, fiz provas para o Tribunal de Contas do Estado do Ceará (TCE-
CE), para os cargos de Técnico de Controle Externo (Auditoria de TI) e Analista
de Controle Externo (Auditoria de TI). Fiquei em 1º lugar no cargo de Técnico e
exerci durante três anos. Fiquei em 4º no cargo de Analista, mas infelizmente
só convocaram até a 3º posição. Atualmente exerço o cargo de Analista
Judiciário (Especialidade Informática/Desenvolvimento) na Justiça Federal do
Ceará (JFCE).
Em 2017 e 2018 também prestei várias provas para cargos de TI, as quais
listo abaixo com a respectiva colocação:
• TRT 7º região (5º lugar)
• TRF 5º região (1º lugar)
• STM (4º lugar)
• TST (1º lugar)
• CLDF (1º lugar)
• SEF/SC (1º lugar)

Prof. Ramon Souza 4 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Desde essas aprovações, resolvi aposentar a caneta das provas de


concurso e iniciei um novo projeto: ajudar você a conseguir aprovações! Por
meio de aulas como essa, no Exponencial Concursos, e nos serviços de coaching
para concursos que ofereço, quero ajudar você a conquistar seus sonhos de
aprovação!
Contem comigo nessa jornada! Estarei à disposição no Fórum tira-
dúvidas e por meio dos contatos disponíveis no perfil do professor
http://bit.ly/profyuridocarmo.

Para dicas sobre concursos, acesse:

Exponencial Concursos
https://www.youtube.com/channel/UCr9rg5WOPmXvZgOfBl-HEuw
@exponencial_concursos
https://www.instagram.com/exponencial_concursos/?hl=pt-br

Prof. Ramon Souza 5 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

APRESENTAÇÃO – PROFESSOR LEANDRO RIBEIRO

Meu nome é Leandro Ribeiro, sou Auditor Federal de


Controle Externo do Tribunal de Contas da União e atuo na
área de Tecnologia da Informação. Antes de iniciarmos a
aula, passo a contar um pouco da minha trajetória:
Sou de Goiânia, mas moro em Brasília/DF desde 2005,
quando comecei a cursar Engenharia Mecatrônica na
UNB. Iniciei os estudos para concurso no ano da minha
formatura 2009.
Assim que me formei o mercado de trabalho estava em meio a uma crise,
participei de diversos processos seletivos para trainee em grandes empresas de
engenharia, porém mesmo naqueles processos em que cheguei às últimas
etapas, próximo da aprovação, as vagas eram canceladas ou reduzidas. Nesse
meio tempo continuei estudando para concursos.
Fiz várias provas de concurso, mas apesar de ter sido aprovado em
algumas delas (Técnico do MPU 2010, Analista Judiciário STM 2010 e
Analista Administrativo PREVIC 2010) não fui nomeado para nenhum dos
cargos até o final de 2010. Foi quando surgiu a oportunidade para trabalhar
como Engenheiro de Petróleo em uma grande multinacional.
Apesar de ser uma carreira interessante e ter aprendido muito
trabalhando no ramo de petróleo, nunca desisti do sonho de me tornar um
servidor público. Foi quando recebi a nomeação para o TRF da 1ª Região, que
havia aproveitado a lista dos aprovados do concurso do STM. Então, no intuito
de realizar o meu sonho, deixei a carreira de Engenheiro de Petróleo e voltei
para Brasília, mesmo abrindo mão de mais da metade da minha renda anterior.
Porém, a estratégia era seguir com novas aprovações até ser nomeado para
o concurso dos meus sonhos.
Enquanto estava no TRF trabalhando com infraestrutura de TI continuei
estudando. Em 2013 foi aprovado para o cargo de Analista do MPU,
posteriormente nomeado e empossado para trabalhar com desenvolvimento
de sistemas. A grande surpresa foi o 1º lugar na classificação entre os
aprovados, o que me deu ânimo e esperança para continuar estudando e
visando concursos melhores.
Em 2013/2014 prestei o concurso do Banco Central do Brasil, as
expectativas eram altas, porém não fui aprovado. E para mim, esse foi o maior
aprendizado na minha vida de concurseiro. Apesar de ter ficado bastante
chateado por não ter conquistado a sonhada aprovação, não me desanimei, pelo
contrário, aumentei a minha carga de estudos.
Por fim, em 2015 veio a recompensa. Nesse mesmo ano fui nomeado
para o Tribunal de Contas do Distrito Federal e para o Tribunal de Contas

Prof. Ramon Souza 6 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

da União, que por muitos é considerado um dos melhores lugares para se


trabalhar em toda a Administração Pública.
Portanto, queridos alunos e alunas, não desistam, trabalhem firme.
Sabemos que não é fácil abrir mão dos momentos agradáveis com a família e
amigos para estudar, mas encarem isso como uma parte transitória da vida
e entendam que um dia a aprovação virá e valerá a pena ter corrido atrás desse
sonho.

Prof. Ramon Souza 7 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Aula – Banco de Dados Relacionais.

ASSUNTOS PÁGINA

1. BANCOS DE DADOS ................................................................... 10


1.1 Conceitos preliminares ................................................................ 10
1.2 Características dos bancos de dados ............................................. 13
1.3 Processamento de transações em bancos de dados ......................... 16
1.4 Metadados e catálogo de dados .................................................... 19
1.5 Projeto de um banco de dados ..................................................... 22
1.6 Principais modelos de dados (modelos lógicos) ............................... 30
2. BANCOS DE DADOS RELACIONAIS................................................ 34
2.1 Modelo relacional ....................................................................... 34
2.2 Doze (Treze) Regras de Codd para Bancos de Dados Relacionais ....... 38
2.3 Tabelas .................................................................................... 43
2.4 Operações com relações (álgebra relacional) .................................. 48
2.5 Visões (views) ........................................................................... 53
2.6 Índices ..................................................................................... 55
2.7 Chaves ..................................................................................... 58
2.8 Relacionamentos........................................................................ 63
3. NORMALIZAÇÃO ........................................................................ 68
4. QUESTÕES COMENTADAS ........................................................... 75
5. RISCO EXPONENCIAL ................................................................ 103
6. LISTAS DE EXERCÍCIOS ............................................................. 115
7. GABARITO ............................................................................... 135
8. REFERÊNCIAS .......................................................................... 135

Prof. Ramon Souza 8 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Para facilitar sua referência, abaixo listamos as esquematizações desta aula:


Esquema 1 – Banco de Dados (BD). ................................................................................. 10
Esquema 2 – Sistema Gerenciador de Bancos de Dados (SGBD). ......................................... 11
Esquema 3 – Sistema de Bancos de Dados (SBD). ............................................................. 11
Esquema 4 – Características dos bancos de dados. ............................................................ 14
Esquema 5 – Desvantagens da abordagem de SGBD. ......................................................... 15
Esquema 6 – Propriedades das transações. ....................................................................... 17
Esquema 7 – Catálogo ou dicionário de dados. .................................................................. 20
Esquema 8 – Notações para Diagrama Entidade Relacionamento. ........................................ 22
Esquema 9 – Modelos de bancos de dados. ....................................................................... 23
Esquema 10 – Arquitetura de 3 esquemas. ....................................................................... 24
Esquema 11 – Independência lógica e física de dados......................................................... 25
Esquema 12 – Modelos de Dados X Arquitetura de três esquemas. ....................................... 28
Esquema 13 – Modelos de dados (modelos lógicos). ........................................................... 32
Esquema 14 – Modelo relacional: conceitos básicos. ........................................................... 36
Esquema 15 – Doze (treze) regras de Codd para os bancos de dados relacionais. .................. 40
Esquema 16 – Conceitos do modelo relacional. .................................................................. 44
Esquema 17 – Operações com relações (álgebra relacional). ............................................... 51
Esquema 18 – Visão (view). ............................................................................................ 53
Esquema 19 – Índices. ................................................................................................... 56
Esquema 20 – Chaves. ................................................................................................... 60
Esquema 21 - Relacionamentos ....................................................................................... 66
Esquema 22 – Formas normais. ....................................................................................... 73

Prof. Ramon Souza 9 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1. BANCOS DE DADOS

1.1 Conceitos preliminares


Um banco de dados é uma coleção de dados relacionados, em que
os dados podem ser entendidos como fatos conhecidos que podem ser
registrados e que possuem significado implícito. Com base nessa definição
bastante genérica, qualquer conjunto de dados pode ser considerado um banco
de dados (até mesmo esta página que você está lendo!!!).
De modo mais específico, o uso comum do termo banco de dados
relaciona-se as seguintes propriedades implícitas:
1. Um banco de dados representa algum aspecto do mundo real, às
vezes chamado de minimundo ou de universo de discurso. As
mudanças no minimundo são refletidas no banco de dados.

2. Um banco de dados é uma coleção logicamente coerente de


dados com algum significado inerente. Assim, um banco de dados
não é variedade aleatória de dados.

3. Um banco de dados é projetado, construído e populado com dados


para uma finalidade específica. Ele possui um grupo definido de
usuários e algumas aplicações previamente concebidas nas quais
esses usuários estão interessados.
É importante destacar, ainda, que um banco de dados pode ter qualquer
tamanho e complexidade, não se restringindo a grandes quantidades de
dados relacionados. Além disso, pode ser gerado e mantido manualmente ou
de forma computadorizada, sendo esta última mais comum.

Banco de Dados

Pode ter qualquer


Pode ser manual ou
tamanho e
computadorizado
complexidade

Coleção logicamente Projetado, construído e


Representa algum
coerente de dados populado com dados para
aspecto do mundo
com algum significado uma finalidade
real
inerente específica

Esquema 1 – Banco de Dados (BD).

Prof. Ramon Souza 10 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Agora que você já entendeu o que é um banco de dados, vamos ver o


conceito de Sistema Gerenciador de Banco de Dados (SGBD).
Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção
de programas que permite aos usuários criar e manter um banco de dados.
O SGBD é um sistema de software de uso geral que facilita os seguintes
processos:
▪ Definição: especificação de tipos, estruturas e restrições de dados.
▪ Construção: armazenamento dos dados em algum meio controlado.
▪ Manipulação: consulta, atualização e geração de relatórios.
▪ Compartilhamento: acesso simultâneo por usuários e sistemas.
▪ Proteção: proteção do sistema contra defeitos e proteção de
segurança contra acesso não autorizado ou malicioso.
▪ Manutenção: evolução do sistema ao longo do tempo.
Assim,

•Permite criar e manter um


Banco de dados.

•Auxilia na:
SGBD ▪Definição
▪Construção
(coleção de programas) ▪Manipulação
▪Compartilhamento
▪Proteção
▪Manutenção

Esquema 2 – Sistema Gerenciador de Bancos de Dados (SGBD).


Um outro conceito inicial que precisamos ter em mente relativo aos
bancos de dados é o de Sistema de Bancos de Dados (SBD), que é a união
do banco de dados com o software SGBD.
Em esquema temos:

BD SGBD SBD

Esquema 3 – Sistema de Bancos de Dados (SBD).

Prof. Ramon Souza 11 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da


Receita Estadual) As funções de um sistema de gerenciamento de banco de
dados (SGBD) incluem
a) gerenciar o becape e a recuperação de dados, bem como o escalonamento
de processos no processador por meio do banco de dados.
b) gerenciar o sistema de arquivos e a segurança do banco de dados.
c) gerenciar a entrada e saída de dispositivos, linguagens de acesso ao banco
de dados e interfaces de programação de aplicações.
d) gerenciar a integridade de dados, o dicionário e o armazenamento de dados,
bem como a memória do computador enquanto o SGBD estiver em execução.
e) transformar e apresentar dados, controlar o acesso de multiusuário e prover
interfaces de comunicação do banco de dados.
Resolução:
Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de
programas que permite aos usuários criar e manter um banco de dados. O
SGBD é um sistema de software de uso geral que facilita os seguintes processos:
▪ Definição: especificação de tipos, estruturas e restrições de dados.
▪ Construção: armazenamento dos dados em algum meio controlado.
▪ Manipulação: consulta, atualização e geração de relatórios.
▪ Compartilhamento: acesso simultâneo por usuários e sistemas.
▪ Proteção: proteção do sistema contra defeitos e proteção de
segurança contra acesso não autorizado ou malicioso.
▪ Manutenção: evolução do sistema ao longo do tempo.
Agora vamos aos itens:
a) Incorreto: escalonamento de processos não é função do SGBD.
b) Incorreto: gerenciar o sistema de arquivos não é função do SGBD.
c) Incorreto: gerenciar dispositivos de entrada e saída não é função do
SGBD.
d) Incorreto: gerenciar a memória do computador não é função do SGBD.
e) Correto: todas são funções do SGBD.
As funções destacadas nos itens de a) a d) são do sistema operacional.
Gabarito: Letra E.

Prof. Ramon Souza 12 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1.2 Características dos bancos de dados


Agora que já entendemos o que é um banco de dados, passemos a
descrever quais as suas características. Iremos destacar as características
apresentadas pelos principais autores na literatura de bancos de dados.
Para Elsmari e Navathe, os bancos de dados divergem dos antigos
sistemas de arquivos por apresentarem quatro características principais:
▪ Natureza de autodescrição de um sistema de banco de dados:
um banco de dados contém uma definição ou descrição completa
de sua estrutura e restrições. Essa definição é armazenada no
catálogo do SGBD, que possui informações como a estrutura de cada
arquivo, o tipo e o formato de armazenamento de cada item de dados
e diversas restrições sobre os dados. A informação armazenada no
catálogo é chamada de metadados, e descreve a estrutura do banco
de dados principal.

▪ Isolamento entre programas e dados; e abstração de dados: a


abstração de dados é a capacidade de um SGBD oferecer aos
usuários uma representação conceitual de dados que não inclui
muitos detalhes de como os dados são armazenados ou como as
operações são implementadas. Decorrem deste conceito:
o Independência dos dados dos programas: a estrutura
dos arquivos de dados é armazenada no catálogo do SGBD
separadamente dos programas de acesso.
o Independência da operação do programa: alguns bancos
de dados trabalham com o conceito de operações, que são
funções ou métodos que podem ser invocados pelo programa.
Os programas podem atuar invocando essas operações,
independentemente de como estas estão
implementadas.

▪ Suporte de múltiplas visões de dados: cada usuário pode exigir


um ponto de vista ou visão diferente do banco de dados. Um
SGBD multiusuário, cujos usuários têm uma série de aplicações
distintas, precisa oferecer facilidades para definir múltiplas visões.

▪ Compartilhamento de dados e processamento de transação


multiusuário: o SGBD precisa incluir um software de controle de
concorrência para garantir que vários usuários tentando
atualizar o mesmo dado faça isso de maneira controlada, de
modo que o resultado dessas atualizações seja correto.

Prof. Ramon Souza 13 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Além dessas características, existem diversas outras. Listamos a seguir


aquelas trazidas pelos principais autores.

Elsmari e Navathe
(vantagens de usar a abordagem SGBD)
▪Controle de redundância.
▪Restrição de acesso não autorizado.
▪Armazenamento persistente para objetos do programa.
▪Estruturas de armazenamento e técnicas de pesquisa para o
processamento eficiente de consulta.
▪Backup e recuperação.
▪Múltiplas interfaces do usuário.
▪Representação de relacionamentos complexos entre dados.
▪Restrições de integridade.
▪Dedução e ação usando regras.
▪Potencial para garantir padrões.
▪Tempo reduzido para o desenvolvimento de aplicações.
▪Flexibilidade.
▪Disponibilidade de informações atualizadas.
•Economias de escala.

Date
(benefícios da abordagem de BD)
▪O dado pode ser compartilhado.
▪A redundância pode ser reduzida.
▪Inconsistências podem ser evitadas.
▪Pode-se utilizar o suporte a transações.
▪A integridade pode ser mantida.
▪A segurança pode ser aperfeiçoada.
▪Requisitos conflitantes podem ser balanceados.
▪Padrões podem ser utilizados.

Sylberchatz, Korth e Sudarshan


(desvantagens de usar sistema de arquivo)
▪Redundância e inconsistência de dados.
▪Dificuldade de acesso a dados.
▪Isolamento dos dados.
▪Problemas de integridade.
▪Problemas de atomicidade.
▪Anomalias de acesso concorrente.
▪Problemas de segurança.

Esquema 4 – Características dos bancos de dados.


Não se preocupe em memorizar todas estas listas, mas tenha noção de
que elas se propõem a distinguir a abordagem de bancos de dados da antiga
abordagem por sistema de arquivos. Caso seja necessário se aprofundar de
alguma destas características, faremos isto em tópico específico.

Prof. Ramon Souza 14 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Então professor, os bancos de dados resolvem todos os meus problemas?


Não é bem assim, essa abordagem possui também algumas
desvantagens, principalmente no que se refere à custos adicionais do uso de
um SGBD que devem ser considerados.
Estes custos adicionais podem ser associados aos seguintes fatores:
▪ Alto investimento inicial em hardware, software e treinamento.
▪ A generalidade que um SGBD oferece para a definição e o
processamento de dados.
▪ Esforço adicional para oferecer funções de segurança, controle de
concorrência, recuperação e integridade.
Então como desvantagens dos bancos de dados temos esquematicamente:

Custos Alto investimento


inicial em hardware,
adicionais software e treinamento

Esforço adicional
Generalidade para para funções de
definição e segurança,
processamento de concorrência,
dados recuperação e
integridade

Esquema 5 – Desvantagens da abordagem de SGBD.

2- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca


da abordagem relacional, da normalização e do SGBD, entre outros conceitos
relativos a banco de dados, julgue o item a seguir.
Padrões a serem impostos e requisitos contraditórios a serem equilibrados são
considerados como desvantagens da abordagem de banco de dados.
Resolução:
Padrões a serem impostos e requisitos contraditórios a serem equilibrados são
considerados como vantagens da abordagem de banco de dados.
Conhecendo os requisitos globais da empresa, em oposição aos requisitos de
usuários individuais, o DBA (Administrador de Banco de Dados), mais uma vez
sob a orientação do administrador de dados, pode estruturar o sistema de modo
a oferecer um serviço global que seja o melhor para empresa.
Gabarito: Errado.

Prof. Ramon Souza 15 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1.3 Processamento de transações em bancos de dados


Vamos detalhar a característica dos bancos de dados do
compartilhamento de dados e processamento de transação
multiusuário, que é uma das mais cobradas em provas. Um programa de
aplicação de banco de dados que executa um banco de dados relacional
normalmente executa uma ou mais transações. Dessa forma, devemos então
entender o que é uma transação e quais as suas propriedades.
Uma transação é um programa em execução ou processo que inclui
um ou mais acessos ou operações de banco de dados, como fazer a leitura
do banco de dados ou inserir, excluir e atualizar dados.
Uma única transação pode envolver qualquer número de operações, mas
ao final de uma transação, ela precisar deixar o banco de dados em um
estado válido ou coerente, que satisfaça todas as restrições especificadas
para o banco, isto é, deve manter a integridade do banco de dados.
As transações devem possuir quatro propriedades ou princípios básicos,
chamadas propriedades ACID, que devem ser impostas pelos métodos de
controle de concorrência e recuperação do SGBD.

Vamos estudar estas propriedades:


▪ Atomicidade: uma transação é uma unidade de processamento
atômica; ela deve ser realizada em sua totalidade ou não deve ser
realizada de forma alguma. Assim, a propriedade de atomicidade exige
que uma transação seja executada até o fim. Se uma transação não for
completada por algum motivo, como uma falha no sistema no meio da
execução da transação, a técnica de recuperação precisa desfazer
quaisquer efeitos da transação no banco de dados (rollback). Por sua
vez, as operações de gravação de uma transação confirmada devem ser,
por fim, gravadas no disco (commit). A responsabilidade por garantir
essa propriedade é do subsistema de recuperação de transação.

▪ Consistência: uma transação deve, se for completamente executada do


início ao fim sem interferência de outras transações, levar o banco de
dados de um estado consistente para outro. Um estado consistente
do banco de dados é aquele que satisfaz todas as suas regras e restrições.
A responsabilidade pela preservação da consistência é atribuída aos
programadores que escrevem os programas de bancos de dados ou ao
módulo do SGBD que impõe restrições de integridade.

Prof. Ramon Souza 16 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Isolamento: uma transação deve parecer executar isoladamente das


demais, embora centenas de transações possam ser executadas
concorrentemente. Este princípio funciona como um mecanismo de
controle que visa assegurar que nenhuma outra transação, operando no
mesmo sistema, possa interferir no funcionamento da transação
corrente. Outras transações não podem visualizar os resultados parciais
das operações de uma transação em andamento. A responsabilidade por
esta propriedade é do subsistema de controle de concorrência do
SGBD.

Elsmari e Navathe destacam os seguintes níveis de isolamento:


o Nível 0: não grava sobre as leituras sujas das transações de nível
mais alto. Leitura suja ocorre quando a transação lê dados
escritos por uma transação simultânea não efetivada.
o Nível 1: não tem atualizações perdidas.
o Nível 2: não tem atualizações perdidas ou leituras sujas.
o Nível 3: isolamento verdadeiro, permite leituras repetitivas.

▪ Durabilidade: as mudanças aplicadas ao banco de dados pela transação


confirmada precisam persistir no banco de dados. Esta propriedade
garante que os resultados de uma transação são permanentes e somente
podem ser desfeitos somente por uma transação subsequente. Essas
mudanças não devem ser perdidas por causa de alguma falha
após a realização da transação. Esta propriedade é de
responsabilidade do subsistema de recuperação do SGBD.
Vamos fixar as propriedades das transações com um esquema:

Conceito: Conceito: Conceito: Conceito:


unidade de Uma uma as mudanças
processamen transação transação realizadas
to atômica. A deve levar o deve parecer pela
transação deve banco de
Durabilidade
Consistência

Isolamento

executar
Atomicidade

transação
ser realizada dados de um isolada das confirmada
em sua estado demais. devem ser
totalidade ou consistente persistidas
não deve ser para outro. no banco de
realizada de dados.
forma alguma.

Responsável Responsável Responsável


Responsável
Programador Subsistema Subsistema
Subsistema de de
recuperação. ou módulo de de controle de
restrições de concorrência. recuperação.
integridade.

Esquema 6 – Propriedades das transações.

Prof. Ramon Souza 17 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

3- (NC-UFPR - 2019 - ITAIPU BINACIONAL -


Profissional de Nível Universitário Jr - Gestão da Informação) Em relação
às propriedades ACID do modelo transacional utilizado nos Sistemas de
Gerenciamento de Banco de Dados, é correto afirmar:
a) Atomicidade está relacionada à granularidade dos dados a serem mantidos
em um atributo do banco de dados.
b) Consistência está associada ao conteúdo de colunas derivadas, assegurando
a relação do valor composto com as respectivas unidades.
c) O isolamento é a propriedade que assegura que todas as operações de uma
transação sejam executadas ou não nenhuma operação terá efeito na base de
dados.
d) O isolamento resolve os efeitos decorrentes da execução de transações
concorrentes, em que cada transação é executada de forma que as operações
parciais das demais transações não afetem a transação atual.
e) A durabilidade controla o estado de inconsistência do banco de dados durante
a execução das operações transacionais.
Resolução:
Vejamos cada um dos itens:
a) Incorreto: Atomicidade trata a transação como uma unidade de
processamento atômica; ela deve ser realizada em sua totalidade ou não
deve ser realizada de forma alguma.
b) Incorreto: Consistência está associada a levar o banco de dados de um
estado consistente para outro.
c) Incorreto: O isolamento A atomicidade é a propriedade que assegura que
todas as operações de uma transação sejam executadas ou não nenhuma
operação terá efeito na base de dados.
d) Correto: O isolamento resolve os efeitos decorrentes da execução de
transações concorrentes, em que cada transação é executada de forma que as
operações parciais das demais transações não afetem a transação atual.
e) Incorreto: A durabilidade consistência controla o estado de inconsistência
do banco de dados durante a execução das operações transacionais. Visa levar
o banco de dados de um estado consistente para outro.
A durabilidade trata de persistir no banco de dados as mudanças aplicadas
pela transação confirmada.
Gabarito: Letra D.

Prof. Ramon Souza 18 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1.4 Metadados e catálogo de dados


Uma das características dos bancos de dados é a natureza da
autodescrição do sistema de banco de dados por meio da definição ou descrição
completa de sua estrutura e restrições, através dos metadados ou informações
do descritor.
Metadados (informações do descritor) são dados estruturados que
descrevem, identificam, explicam, localizam e, portanto, facilitam a
recuperação, uso e gestão de recursos de informação. São os chamados dados
sobre outros dados.
A definição ou descrição completa dos metadados fica armazenada
no catálogo ou dicionário de dados do SGBD. Esse catálogo contém
informações como a estrutura de cada arquivo, o tipo e o formato de
armazenamento de cada item de dados e diversas restrições sobre os dados.
O catálogo armazena informações sobre todos os esquemas e todos os
mapeamentos correspondentes entre esses esquemas.
O catálogo é usado pelo software de SGBD e também pelos usuários do
banco de dados que precisam de informações sobre a estrutura do banco de
dados.

EXEMPLO:
Para ajudar no entendimento do que é o catálogo ou dicionário de dados,
vamos exemplificar por meio de um trecho de um catálogo de uma universidade
fictícia.
RELAÇÕES COLUNAS

Nome_relacao Numero_de_colunas Nome_coluna Tipo_de_dado Pertence_a_relacao

ALUNO 4 Nome Caractere(30) ALUNO

DISCIPLINA 4 Tipo_aluno Inteiro(1) ALUNO

TURMA 5 Curso Tipo_curso ALUNO

O catálogo do exemplo apresenta as definições das relações que


compõem o banco de dados, informando os nomes das relações e o número de
colunas de cada uma delas.
Além disso, são apresentadas algumas descrições das colunas, através
das definições de seus nomes, dos tipos de dados que podem ser inseridos
nestas colunas e a qual relação elas pertencem.
Podemos perceber através do catálogo que a relação aluno é composta
de 4 colunas e que, por exemplo, a coluna nome permite a inserção de dados
do tipo caractere limitado a um tamanho 30.

Prof. Ramon Souza 19 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

E para consolidar o entendimento deste tópico, trazemos um esquema!!!

Catálogo ou
dicionário de
dados

Metadados ou
informações de
descritor

Estrutura de
Formato de Restrições
cada tipo de Tipo
armazenamento sobre os dados
arquivo

Esquema 7 – Catálogo ou dicionário de dados.

Prof. Ramon Souza 20 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

4- (FCC - 2019 - SANASA Campinas - Analista de


Tecnologia da Informação - Suporte de DBA-Banco de Dados) Uma
característica fundamental da abordagem de um banco de dados é que o
sistema de banco de dados possui não apenas o banco de dados, mas também
uma completa definição ou descrição da estrutura desse banco de dados e suas
restrições. Essa definição fica armazenada em um local que contém informações
como a estrutura de cada arquivo, o tipo e o formato de armazenamento de
cada item de dado e várias restrições sobre os dados. A informação armazenada
neste local tem uma certa denominação e descreve a estrutura do banco de
dados primário.
O local ao qual o texto se refere e a denominação da informação nele
armazenada são, correta e respectivamente,
a) modelo de dados – tupla.
b) modelo de dados – transações enlatadas.
c) software SGBD – transações enlatadas.
d) catálogo do SGBD – metadados.
e) módulo buffering – metadados.
Resolução:
Metadados (informações do descritor) são dados estruturados que
descrevem, identificam, explicam, localizam e, portanto, facilitam a
recuperação, uso e gestão de recursos de informação. São os chamados dados
sobre outros dados.
A definição ou descrição completa dos metadados fica armazenada no
catálogo ou dicionário de dados do SGBD. Esse catálogo contém informações
como a estrutura de cada arquivo, o tipo e o formato de armazenamento
de cada item de dados e diversas restrições sobre os dados.
Gabarito: Letra D.

Prof. Ramon Souza 21 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1.5 Projeto de um banco de dados


É importante destacar que a estrutura de um banco de dados pode ser
descrita com base em um modelo de dados. Um modelo de (banco de)
dados é uma descrição dos tipos de informações que estão armazenadas
em um banco de dados.
Dependendo do grau de abstração utilizado para representar esta
estrutura, falamos em diferentes modelos:
▪ Modelo conceitual ou de alto nível: representam os conceitos que
são facilmente compreendidos por usuários, como entidades,
atributos e relacionamentos. Através deste modelo, teremos uma visão
de cima (macro) compreendida de modo relativamente fácil sobre o
ambiente de dados. Também é independente de hardware ou
software, ou seja, não depende de nenhum SGBD utilizado para
implantá-lo. Por tanto, qualquer alteração no software ou hardware, não
terão efeito no nível conceitual. O modelo conceitual registra que dados
podem aparecer no banco de dados, mas não registra como estes
dados estão armazenados a nível de SGBD. Esse modelo é elaborado
na chamada modelagem conceitual.
o Ex.: Modelo Entidade Relacionamento (MER), representado
por Diagramas Entidade-Relacionamento (DER). Os elementos
básicos do DER são apresentados na figura a seguir:

Esquema 8 – Notações para Diagrama Entidade Relacionamento.


Prof. Ramon Souza 22 de 135
www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Modelo lógico, representativo ou de implementação: os conceitos


podem ser compreendidos pelos usuários, mas se aproximam da
organização e armazenamento dos dados. O modelo lógico constitui
uma representação específica de um modelo interno, utilizando as
estruturas de BD suportada pelo banco escolhido. Em um Banco de
Dados Relacional (BDR), o esquema interno é expresso utilizando
linguagem SQL, por padrão. Um modelo lógico é uma descrição de um
banco de dados no nível de abstração visto pelo usuário do SGBD.
Assim, o modelo lógico é dependente do tipo particular de SGBD que
está sendo usado. Esse modelo é elaborado no Projeto Lógico.
o Ex.: Modelo Relacional.

▪ Modelo físico: estes modelos descrevem o armazenamento dos


dados, sendo totalmente dependentes do SGBD. É fundamental para
o dimensionamento de índices e dados. Esse modelo é elaborado no
Projeto Físico.

Vamos sintetizar estes modelos com um esquema.


Facilmente Compreensão Difícil compreensão
Lógico

Físico
Conceitual

comprendido por intermediária. pelos usuários.


usuários.
Representação específica Descrevem o
Registra os dados. de um modelo interno, armazenamento dos
utilizando as estruturas dados.
de BD

Independente de Totalmente
hardware e software. Dependem do SGBD. dependentes do SGBD.

Elaborados na Elaborados no Projeto Elaborados no Projeto


Modelagem Conceitual. Lógico. Físico.

Ex.: Modelo Entidade Ex.: Modelo Relacional.


Relacionamento.

Esquema 9 – Modelos de bancos de dados.

Prof. Ramon Souza 23 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Arquitetura de 3 esquemas

De modo a auxiliar no isolamento de programas dos dados e no suporte a


múltiplas visões de usuários, além de tornar um banco de dados autodescritivo,
foi proposta uma arquitetura de três esquemas. Assim, a arquitetura de três
esquemas visa separar as aplicações do usuário do banco de dados
físico. Vejamos esses três níveis:
▪ Nível externo ou de visão: cada esquema externo descreve a parte
do banco de dados em que um usuário em particular está
interessado e oculta o restante do banco de dados do grupo de
usuários. Cada esquema externo é comumente implementado usando
um modelo de dados representativo (lógico), possivelmente
baseado em um projeto de esquema externo em um modelo de dados
de alto nível.

▪ Nível conceitual: possui um esquema conceitual, que descreve a


estrutura do banco de dados inteiro para uma comunidade de
usuários. O esquema conceitual oculta os detalhes das estruturas
de armazenamento físico e se concentra na descrição das entidades,
tipos de dados, relacionamentos, operações do usuário e restrições.
Normalmente, um modelo de dados representativo (lógico) é
usado para descrever o esquema conceitual quando um sistema de
banco de dados é implementado. Esse esquema conceitual de
implementação costuma estar baseado em um projeto de esquema
conceitual em um modelo de dados de alto nível.

▪ Nível interno: tem um esquema interno, que descreve a estrutura


do armazenamento físico do banco de dados. O esquema interno
usa um modelo de dados físico e descreve os detalhes completos do
armazenamento de dados e caminhos de acesso para o banco de dados.

Descreve parte do banco de dados


geralmente com um modelo lógico.

Descreve o banco de dados inteiro


geralmente com um modelo lógico.

Descreve a estrutura de
armazenamento físico geralmente
com um modelo físico.

Esquema 10 – Arquitetura de 3 esquemas.

Prof. Ramon Souza 24 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Independência lógica e física de dados

A arquitetura de três esquemas pode ser usada para explicar melhor o


conceito de independência de dados, que pode ser definida como a
capacidade de alterar o esquema em um nível do sistema de banco de
dados sem ter de alterar o esquema no nível mais alto.

Temos dois tipos de independência de dados:


▪ Independência lógica de dados: capacidade de alterar o
esquema conceitual sem ter de alterar os esquemas externos
ou de programas de aplicação. Podemos alterar o esquema
conceitual para expandir o banco de dados (acrescentando um tipo de
registro), para alterar restrições ou para reduzir o banco de dados
(removendo algum tipo de registro). Depois que o esquema conceitual
passa por uma reoganização lógica, os programas de aplicação que
referenciam as construções do esquema externo devem trabalhar da
mesma forma que antes.

▪ Independência física de dados: capacidade de alterar o


esquema interno sem ter de alterar o esquema conceitual e, por
consequência, sem ter que alterar os esquemas externos. Mudanças
no esquema interno podem ser necessários porque alguns arquivos
físicos foram reorganizados para melhorar o desempenho da
recuperação ou atualização.

Independência lógica de dados

• Capacidade de alterar o esquema conceitual sem ter


de alterar os esquemas externos ou de programas de
aplicação.

Independência física de dados

• Capacidade de alterar o esquema interno sem ter de


alterar o esquema conceitual e, por consequência,
sem ter que alterar os esquemas externos.

Esquema 11 – Independência lógica e física de dados.

Prof. Ramon Souza 25 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Prof. Ramon Souza 26 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Modelos de dados X Arquitetura de três esquemas

Caros alunos, é importante que vocês tenham bastante cuidado para não
confundir os modelos de dados com os níveis da arquitetura de três esquemas.
É muito fácil confundir, pois além de possuírem a mesma quantidade de níveis,
temos inclusive nomes iguais para representar níveis desses modelos.
Tenha as seguintes noções:
▪ Modelos de dados são usados para representar os conceitos
usados para descrever a estruturas dos bancos de dados.
o Modelo conceitual ou de alto nível.
o Modelo lógico, representativo ou de implementação.
o Modelo físico.

▪ Níveis do esquema representam as camadas de interação do


usuário com o banco de dados. Esses níveis são inclusive
representados por modelos de dados.
o Nível externo ou de visão.
o Nível conceitual.
o Nível interno.

Então, essas classificações representam coisas diferentes. A principal


confusão é causada por conta do termo CONCEITUAL que existe tanto na
hierarquia de modelos quanto na arquitetura de esquemas. Tenha em mente
que o MODELO CONCEITUAL é usado para representar conceitos
facilmente entendidos pelo usuário, enquanto o ESQUEMA EM NÍVEL
CONCEITUAL é usado para descrever o banco de dados inteiro.

Vamos usar um exemplo para entender melhor as diferenças.


EXEMPLO:
Como se classifica o banco de dados relacional em relação aos modelos e aos
níveis da arquitetura de 3 esquemas?
O modelo relacional é classificado como um modelo lógico, representativo
ou de implementação, pois representa os conceitos utilizados com base em
estruturas específicas de bancos de dados dependentes de um modelo
específico.
Contudo, em uma arquitetura de três esquemas, o modelo relacional pode
ser utilizado para representar mais de um esquema. Assim, se for utilizado para
descrever apenas parte de um banco de dados, está representando um
esquema externo ou de visão. Caso seja utilizado para descrever um banco
de dados inteiro, então está representando um esquema conceitual.

Prof. Ramon Souza 27 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Arquitetura
Modelos de
de 3
dados
esquemas
Representar os conceitos usados para Representar as camadas de
descrever a estruturas dos bancos interação do usuário com o banco de
de dados. dados.

Modelo conceitual ou de alto nível


Nível externo ou de visão
(dados)

Parte do banco de dados


Dados (geralmente usa modelo lógico
baseado em modelo conceitual)

Modelo lógico, representativo ou de


Nível conceitual
implementação

Banco de dados inteiro


Estruturas de banco de dados (geralmente usa modelo lógico baseado
em modelo conceitual)

Modelo físico Nível interno

Estruturas de armazenamento
Armazenamento
(usa modelo físico)

Esquema 12 – Modelos de Dados X Arquitetura de três esquemas.

Prof. Ramon Souza 28 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

5- (CESPE - 2019 - TJ-AM - Assistente Judiciário -


Programador) Julgue o próximo item, relativo a sistema gerenciador de banco
de dados (SGBD).
Na arquitetura ANSI/SPARC de um SGBD, o nível interno trata do
armazenamento físico dos dados, o nível externo trata do modo como os dados
são visualizados por usuários individuais, e o nível conceitual oferece uma visão
comunitária dos dados.
Resolução:
Assertiva em conformidade com a teoria de C.J Date e com o que preconiza a
arquitetura de 3 esquemas:

Em relação ao termo “visão comunitária dos dados”, esse deve ser


interpretado da seguinte forma: no modelo conceitual, há a representação do
banco de dados inteiro, logo é visível a toda a comunidade de usuários.
Quanto ao nível externo tratar de como os dados são visualizados por
usuários individuais, não significa que haverá um modelo para cada usuário,
mas sim que é neste nível que há maior proximidade com o usuário. Dito de
outro modo, um usuário irá realizar a interação no nível externo e, portanto,
esse nível representa essa interação de um indivíduo com uma parte do banco
de dados.
Gabarito: Certo.

Prof. Ramon Souza 29 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

1.6 Principais modelos de dados (modelos lógicos)


Os SGBDs são classificados conforme o modelo de dados utilizados. Os
principais modelos de dados são:
▪ Modelo relacional: representa um banco de dados como uma
coleção de tabelas, onde cada tabela pode ser armazenada como
um arquivo separado.

▪ Modelo de dados de objeto: define um banco de dados em termos


de objetos, suas propriedades e operações. Os objetos com a
mesma estrutura e comportamento pertencem a uma classe, e as
classes são organizadas em hierarquias. As operações de cada classe
são especificadas com procedimentos predefinidos, chamados
métodos.

▪ Modelo de dados objeto-relacional: os SGBDs relacionais têm


estendido seus modelos para incorporar conceitos de bancos de
dados de objeto e outras funcionalidades.

Prof. Ramon Souza 30 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Modelo XML: utiliza estruturas de árvore hierárquicas e combina


conceitos de banco de dados com conceitos dos modelos de
representação de documentos. Os dados são representados como
elementos; com o uso de tags, os dados podem ser aninhados para
criar estruturas hierárquicas complexas.

▪ Modelo de rede: modelo legado (mais antigo) que representa os


dados como tipos de registro e também representa um tipo
limitado de relacionamento 1:N, chamado de tipo de conjunto. Um
relacionamento 1:N (um-para-muitos) relaciona uma instância de um
registro a muitas instâncias de registros usando algum mecanismo de
ligação com ponteiros nesses modelos.

▪ Modelo hierárquico: representa os dados como estruturas de


árvore hierárquicas. Cada hierarquia simboliza uma série de
registros relacionados. Não existe uma linguagem padrão para o
modelo hierárquico.

Prof. Ramon Souza 31 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Modelo relacional
•Dados como uma coleção de tabelas.

Modelo de objetos
•Dados como objetos, propriedades (atributos) e
operações (métodos).

Modelo objeto-relacional
•SGBD relacional com extensões para modelos de objetos.

Modelo XML
•Estruturas de árvores hierárquicas com uso de tags.

Modelo de rede
•Registros relacionados de forma 1:N.

Modelo hierárquico
•Estruturas de árvores hierárquicas.

Esquema 13 – Modelos de dados (modelos lógicos).

Prof. Ramon Souza 32 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

6- (CESPE - 2019 - MPC-PA - Analista Ministerial –


Tecnologia da Informação) Assinale a opção que apresenta o modelo de
dados caracterizado por organizar os dados em uma estrutura do tipo árvore,
na qual cada registro tem um único “pai” e é classificado em uma ordem
específica.
a) híbrido
b) de rede
c) relacional
d) hierárquico
e) orientado a objetos
Resolução:
O modelo trazido na questão é o modelo hierárquico. Vejamos as definições dos
modelos apresentados.
a) Incorreto: híbrido representa os dados utilizando estruturas de mais de um
modelo.
b) Incorreto: de rede representa os dados como tipos de registro e
também representa um tipo limitado de relacionamento 1:N, chamado
de tipo de conjunto.
c) Incorreto: relacional representa um banco de dados como uma coleção
de tabelas, onde cada tabela pode ser armazenada como um arquivo separado.
d) Correto: hierárquico representa os dados como estruturas de árvore
hierárquicas. Cada hierarquia simboliza uma série de registros relacionados.
e) Incorreto: orientado a objetos define um banco de dados em termos de
objetos, suas propriedades e operações.
Gabarito: Letra D.

Prof. Ramon Souza 33 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2. BANCOS DE DADOS RELACIONAIS


Agora que já vimos o que é um banco de dados e quais são suas
características, vamos adentrar no estudo de um dos principais modelos de
bancos de dados utilizados nas organizações: os bancos de dados relacionais.

2.1 Modelo relacional


Inicialmente vale destacar que o modelo relacional atraiu bastante a
atenção devido a sua simplicidade e base matemática. Pode ser considerado o
primeiro modelo a ser descrito formalmente.
O modelo relacional usa o conceito de relação matemática como seu
bloco de montagem básico, e sua base teórica reside na teoria de conjunto e
lógica de predicado de primeira ordem. Com base neste modelo, um banco
de dados relacional utiliza as relações para representar tanto os dados
quanto os relacionamentos entre estes dados.
Informalmente, cada relação é semelhante a uma tabela de valores, em
que cada linha na tabela representa uma coleção de valores de dados
relacionados ou, até certo ponto, a um arquivo plano de registros, porque cada
registro tem uma simples estrutura linear ou plana.
Veremos ainda com mais detalhes, a estrutura dos bancos de dados
relacionais. Por enquanto, devemos entender que estes são conjuntos de
relações ou tabelas que representam dados e relacionamentos.
Vale ressaltar que o modelo relacional requer que o banco de dados seja
percebido pelos usuários como tabelas, mas os dados podem estar
armazenados fisicamente em outras estruturas (índices, listas,
sequências, etc.).
Já que todos os dados devem ser organizados em tabelas (ainda que
armazenados em estruturas diferentes), todo o conteúdo de informação do
banco de dados é representado de um e somente um modo, ou seja, como
valores explícitos em posições de colunas em linhas de tabelas. Esse é o
chamado Princípio da Informação.
Para C.J. Date, o modelo relacional é constantemente descrito (de
maneira informal) com base em três aspectos:
❖ Aspecto estrutural: os bancos de dados são percebidos pelos
usuários como tabelas.
❖ Aspecto de integridade: essas tabelas satisfazem a certas
restrições de integridade.
❖ Aspecto manipulador: os operadores disponíveis para que o
usuário possa manipular essas tabelas são operadores que derivam
tabelas a partir de outras tabelas.

Prof. Ramon Souza 34 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

EXEMPLO:
Vejamos um exemplo de uma relação (ou tabela) do modelo relacional
estão representados os dados do cadastro de clientes de uma loja fictícia.
Código do Nome do cliente CPF Endereço
cliente

134512 João Aprovado dos Santos 123.123.123-12 Rua A, nº 123

251218 Maria Concursada Fernandes 456.456.456-45 Rua B, nº 456

Note que todos os dados são representados por meio de uma estrutura
tabular (uma relação ou tabela), isto é, segue-se o Princípio da Informação.
Podemos observar a presença dos 3 aspectos discutidos por C. J. Date:
❖ Estrutural: você percebe os dados como uma tabela, mas estes
dados podem estar armazenados em outras estruturas.
❖ De integridade: podemos ter uma regra que só permita o cadastro
de um cliente se for inserido um CPF composto somente por números
e seguindo o padrão XXX.XXX.XXX-XX.
❖ Manipulador: podemos fazer uma operação nesta tabela para
selecionar, por exemplo, somente os clientes que moram na Rua A.
Vejamos um pouco sobre a estruturação dos bancos de dados relacionais.
A arquitetura ANSI/SPARC em três níveis considera que os Bancos de
dados relacionais consistem de três componentes:
❖ Uma coleção de estruturas de dados, formalmente chamadas de
relações, ou informalmente tabelas, compondo o nível conceitual;
❖ Uma coleção dos operadores, a álgebra e o cálculo relacionais, que
constituem a base da linguagem SQL;
❖ Uma coleção de restrições da integridade, definindo o conjunto
consistente de estados de base de dados e de alterações de estados.

O autor C.J. Date amplia essa divisão, definindo que de maneira mais
formal, o modelo relacional consiste em cinco componentes:
❖ Uma coleção ilimitada de tipos escalares (incluindo em particular o
tipo booleano ou valor verdade).
❖ Um gerador de tipo de relação e uma interpretação pretendida para
esses tipos de relações gerados.
❖ Recursos para definição de RelVars (variáveis de relações) desses
tipos de relações gerados.
❖ Um operador de atribuição relacional para atribuição de valores de
relações a essas RelVars.

Prof. Ramon Souza 35 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Uma coleção ilimitada de operadores relacionais genéricos (“a


álgebra relacional”) para derivar valores de relações a partir de outros
valores de relações.
Muita informação??? Não se preocupe, veja um esquema para facilitar sua vida!

Conjuntos de relações ou tabelas que


representam dados e relacionamentos.
Relação matemática é o bloco de
Conceitos montagem básico.
Base teórica reside na teoria de conjunto
e lógica de predicado de primeira ordem.

Todo o conteúdo de informação do banco


Princípio da de dados é representado como valores
Informação explícitos em posições de colunas em
Modelo linhas de tabelas.
Relacional Aspecto estrutural: percebidos pelos
usuários como tabelas.
Aspecto de integridade: essas tabelas
Aspectos de satisfazem a certas restrições de
descrição integridade.

Aspecto manipulador: os operadores


disponíveis para que o usuário possa
manipular essas tabelas derivam tabelas a
partir de outras tabelas.

Esquema 14 – Modelo relacional: conceitos básicos.

7- (CESPE - 2018 - Polícia Federal - Perito Criminal


Federal) Acerca de banco de dados, julgue o seguinte item.
Situação hipotética: Ao analisar um computador, Marcos encontrou inúmeros
emails, vídeos e textos advindos, em sua maioria, de comentários em redes
sociais. Descobriu também que havia relação entre vários vídeos e textos
encontrados em um diretório específico. Assertiva: Nessa situação, tendo como
referência somente essas informações, Marcos poderá inferir que se trata de um
grande banco de dados relacional, visto que um diretório é equivalente a uma
tabela e cada arquivo de texto é equivalente a uma tupla; além disso, como
cada arquivo possui um código único, poderá deduzir que esse código é a chave
primária que identifica o arquivo de forma unívoca.
Resolução:
Caros, um banco de dados relacional não é formado por documentos, mas sim
por um conjunto de tabelas. O Princípio da Informação aborda justamente
isso, afirmando que todos os dados devem ser organizados em tabelas (ainda
que armazenados em estruturas diferentes) e, portanto, todo o conteúdo de
informação do banco de dados é representado de um e somente um modo, ou
seja, como valores explícitos em posições de colunas em linhas de
tabelas. Assim, como esse banco não é percebido pelo usuário como um

Prof. Ramon Souza 36 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

conjunto de tabelas, mas sim como um conjunto de documentos e outras


mídias, não se trata de um banco relacional.
Gabarito: Errado.

Prof. Ramon Souza 37 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.2 Doze (Treze) Regras de Codd para Bancos de Dados Relacionais


As Doze Regras de Codd são um conjunto de treze regras (é isso
mesmo! Elas são enumeradas de zero a doze) propostas por Edgar F. Codd.
Essas regras são usadas para definir o que é necessário para que um
sistema de gerenciamento de banco de dados para ser considerado
relacional. Vejamos estas regras:
▪ Regra 0 - Regra fundamental ou regra base: um SGBD relacional
deve gerenciar seus dados usando exclusivamente capacidades
relacionais.

▪ Regra 1 - A regra da informação ou Princípio da Informação:


todas as informações no banco de dados necessitam estar
representadas de apenas uma forma, nomeados por valores em
posições de colunas dentro de registros de tabelas.

▪ Regra 2 - A regra de acesso garantido: deve-se garantir que


todos os valores de uma tabela possam ser acessados por meio
de uma combinação de nome de tabela, valor de chave primária e
nome de coluna.

▪ Regra 3 - Tratamento sistemático de valores nulos: o SGBD deve


permitir que cada campo possa permanecer nulo (ou vazio).
Especificamente, ele deve suportar uma representação de "falta de
informação e informações inaplicáveis" que é sistemática, diferente de
todos os valores regulares (por exemplo, "diferente de zero ou
qualquer outro número", no caso de valores numéricos), e
independente de tipo de dados. É também implícito que tais
representações devem ser manipuladas pelo SGBD de maneira
sistemática.

▪ Regra 4 - Catálogo on-line baseado no modelo relacional: os


metadados devem ser armazenados e gerenciados como dados
comuns, ou seja, em tabelas no interior do Banco de Dados. Esses
dados devem estar disponíveis aos usuários autorizados, utilizando a
linguagem de consulta padrão do Banco de Dados.

Prof. Ramon Souza 38 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Regra 5 - Sublinguagem Ampla de Dados: deve suportar uma


linguagem declarativa bem definida com suporte para definição
de dados, definição de visões, manipulação de dados (interativa ou
por programa), restrições de integridade, autorização e
gerenciamento de transações (iniciar, enviar e desfazer).

▪ Regra 6 - Atualização de visões: todas as visões que são


teoricamente atualizáveis devem ser atualizáveis pelo sistema.

▪ Regra 7 - Inserção, Atualização, e Exclusão de alto nível: o


sistema necessita fornecer suporte à configuração do nível de
operações para inserir, atualizar e excluir. Isto significa que os dados
podem ser recuperados a partir de um banco de dados
relacional em conjuntos de dados construídos a partir de várias
linhas e / ou várias tabelas. Esta regra afirma que as operações de
inserção, atualização, e exclusão devem ser apoiadas para qualquer
conjunto recuperável e não apenas para uma única linha em uma
única tabela.

▪ Regra 8 - Independência Física de dados: aplicativos e recursos


ad hoc não são afetados logicamente quando os métodos de
acesso ou as estruturas de armazenamento físico são
alterados.

▪ Regra 9 - Independência Lógica de Dados: aplicativos e


recursos ad hoc não são afetados logicamente quando de
alterações de estruturas de tabela que preservem os valores
originais da tabela (alteração da ordem ou inserção de colunas).
Alterações nas relações e nas Visualizações causam pouco ou nenhum
impacto nas aplicações.

▪ Regra 10 - Independência de Integridade: todas as restrições


de integridade necessitam ser especificadas separadamente
dos programas de aplicação e armazenadas no catálogo. É
necessário que seja possível mudar estas restrições sem que
necessariamente tenha-se de modificar as aplicações.

Prof. Ramon Souza 39 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Regra 11 - Independência de Distribuição: a distribuição de


partes do SGBD em várias localidades deve ser transparente para os
usuários do mesmo, isto é, os usuários não são afetados pela
localização dos dados.

▪ Regra 12 - A não-transposição das regras: se o SGBD dá suporte


a acesso de baixo nível aos dados, não deve haver um modo de
negligenciar as regras de integridade do mesmo.

Vejamos um esquema com essas regras:

Regra 0 - Regra fundamental ou regra base


Doze (treze) regras de Codd para Bancos Relacionais

Regra 1 - A regra da informação ou Princípio da Informação

Regra 2 - A regra de acesso garantido

Regra 3 - Tratamento sistemático de valores nulos

Regra 4 - Catálogo on-line baseado no modelo relacional

Regra 5 - Sublinguagem Ampla de Dados

Regra 6 - Atualização de visões

Regra 7 - Inserção, Atualização, e Exclusão de alto nível

Regra 8 - Independência Física de dados

Regra 9 - Independência Lógica de Dados

Regra 10 - Independência de Integridade

Regra 11 - Independência de Distribuição

Regra 12 - A não-transposição das regras

Esquema 15 – Doze (treze) regras de Codd para os bancos de dados relacionais.

Prof. Ramon Souza 40 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

8- (FCC - 2019 - TRF - 4ª REGIÃO - Analista Judiciário


- Infraestrutura em Tecnologia da Informação) Dentre as regras de Codd
que caracterizam Bancos de Dados Relacionais, a regra da Independência de
Integridade estipula que as várias formas de integridade relacional de banco de
dados
a) precisam ser definidas na linguagem relacional e armazenadas dentro do
catálogo do sistema ou dicionário de dados, e ser totalmente independentes da
lógica dos aplicativos.
b) podem ser representadas em tabelas relacionais específicas que se
relacionam com as tabelas de cada aplicativo. Quando um aplicativo mudar, a
regra de independência muda automaticamente.
c) precisam ser definidas na linguagem de cada aplicativo e armazenadas como
tabelas relacionais dentro do banco de cada aplicativo, pois somente desta
forma, ao mudar o aplicativo, as regras de integridade mudarão também,
automaticamente.
d) podem ser definidas em linguagem natural ou em Shell script e armazenadas
no dicionário de dados ou dentro do catálogo do sistema; contudo, não há como
garantir que elas sejam totalmente independentes da lógica dos aplicativos na
totalidade das situações.
e) devem ser escritas em linguagem hierárquica ou de rede pois, desta forma,
tanto a hierarquia das tabelas quanto os links entre elas, como ocorre nos
bancos em rede, conduzirão às mudanças automáticas das integridades ao se
mudar algum aplicativo.
Resolução:
A Regra 10 - Independência de Integridade afirma que todas as restrições
de integridade necessitam ser especificadas separadamente dos
programas de aplicação e armazenadas no catálogo. É necessário que seja
possível mudar estas restrições sem que necessariamente tenha-se de modificar
as aplicações.
Assim,
a) Correto: perfeitamente. As formas de integridade devem ser independentes
da lógica da aplicação.
b) Incorreto: as regras não devem mudar com a alteração dos aplicativos.
c) Incorreto: as regras não devem mudar com a alteração dos aplicativos.
d) Incorreto: as restrições devem ser escritas em linguagem relacional e
devem apresentar independência lógica com os aplicativos.
e) Incorreto: as restrições devem ser escritas em linguagem relacional e
devem apresentar independência lógica com os aplicativos.

Prof. Ramon Souza 41 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Gabarito: Letra A.

Prof. Ramon Souza 42 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.3 Tabelas
Como vimos, o modelo relacional consiste em uma coleção de tabelas (ou
relações). Podemos dizer, então, que a tabela ou relação é a estrutura chave
deste modelo, servindo para representar os dados e relacionamentos entre
esses dados. A cada uma destas tabelas é atribuído um nome único.
Em uma tabela, cada linha (tupla) representa uma coleção de valores
de dados relacionados. Uma linha representa um fato que normalmente
corresponde a uma entidade ou relacionamento do mundo real. Na terminologia
formal de banco de dados, uma linha é chamada tupla.
Uma tabela é organizada em colunas, que servem para ajudar a
interpretar o significado dos valores em cada linha. Formalmente, um
cabeçalho da coluna é chamado de atributo. O número de colunas de uma
relação representa o grau (ou aridade) desta relação.
O tipo de dado que descreve os tipos de valores que podem aparecer
em cada coluna é representada por um domínio de valores possíveis. É
importante destacar que um domínio é um conjunto de valores atômicos, ou
seja, é indivisível.
EXEMPLO:
Vamos revisitar o nosso exemplo da tabela clientes para fixar estes
conceitos. A tabela “Clientes” representa os dados referentes aos clientes de
uma loja fictícia. “Clientes” é um nome único para esta tabela.
Código do Nome do cliente CPF Endereço
cliente
134512 João Aprovado dos Santos 123.123.123-12 Rua A, nº 123
251218 Maria Concursada Fernandes 456.456.456-45 Rua B, nº 456
Esta tabela está estruturada em quatro colunas (código do cliente, nome
do cliente, cpf e endereço). Estas colunas (ou atributos) ajudam a entender
os significados dos valores das tabelas, assim, podemos perceber que os clientes
são identificados por um código, pelo seu nome, cpf e tem seu endereço
cadastrado. Com base no número de colunas, podemos perceber que o grau
(ou aridade) desta tabela é quatro.
As linhas (ou tuplas) da tabela demonstram coleções de dados
relacionados, por exemplo, todos os dados da primeira linha são relacionados
ao cliente João Aprovado dos Santos.
Vejamos, por fim, um exemplo de domínio. Podemos citar, por exemplo,
que o domínio para o cpf é um conjunto de números com onze dígitos e para
o nome dos clientes é um conjunto de caracteres.

Prof. Ramon Souza 43 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Tabela (relação) – representa dados e relacionamentos.

Coluna (atributo) - ajuda a Grau (aridade) -


interpretar o significado número de colunas
dos valores das linhas. de uma relação.

Domínio - tipo de dado que Linha (tupla) - coleção


descreve os tipos de valores que de valores de dados
podem aparecer em cada coluna. relacionados.

Esquema 16 – Conceitos do modelo relacional.


Agora que já vimos os componentes básicos de uma tabela, vamos estudar
algumas características importantes sobre as relações.
❖ Ordenação de tuplas em uma relação: uma relação é definida como
um conjunto de tuplas. Matematicamente, os elementos de um conjunto
não possuem nenhuma ordem em particular, isto é, uma relação não
é sensível à ordenação de tuplas.
❖ Ordem dos valores dentro de uma tupla: uma tupla é uma lista
ordenada de valores, de modo que a ordem dos valores em uma tupla
– e, portanto, dos atributos em um esquema de relação – é importante.
(Aqui há uma divergência, pois Date considera que a tupla é um
conjunto, também não importando os valores).
Em resumo,
oA ordem das linhas não é relevante.
oA ordem das colunas é relevante, a não ser que a
correspondência entre elas e seus valores seja mantida.
❖ Valores e NULLs nas tuplas: cada valor em uma tupla é um valor
atômico, isto é, não é divisível em componentes dentro da estrutura do
modelo relacional. Um conceito importante é o dos valores NULL, que
são usados para representar os valores de atributos que podem ser
desconhecidos ou não se aplicam a uma tupla.
❖ Interpretação (significado) de uma relação: o esquema da relação
pode ser interpretado como uma declaração ou um tipo de afirmação (ou
asserção) e cada tupla pode ser interpretada como um fato ou instância
particular da afirmação.

Prof. Ramon Souza 44 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Prof. Ramon Souza 45 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

DÚVIDAS E POLÊMICAS
Questão da ordenação das linhas e colunas...
No modelo relacional temos que:
▪ Ordenação de tuplas em uma relação: uma relação é definida como
um conjunto de tuplas. Matematicamente, os elementos de um conjunto
não possuem nenhuma ordem em particular, isto é, uma relação não é
sensível à ordenação de tuplas.
▪ Ordem de valores dentro de uma tupla: uma tupla é uma lista
ordenada de valores, de modo que a ordem dos valores – e, portanto,
dos atributos em um esquema de relação – é importante. (Exceto na
visão de Date)
Um modo mais claro de verificar a importância da ordem das colunas é quando
estamos usando a linguagem SQL para realizar inserções de dados na tabela.
Podemos usar a seguinte sintaxe:
INSERT INTO tabela VALUES (valor1, valor2, valor3,...)
Esse comando irá inserir os valores segundo a ordem das colunas na tabela.
Caso não haja correspondência entre os valores passados e os tipos dos campos,
haverá falhas na inserção. Por isso a ordem das colunas é importante.
Logicamente, existem comandos mais específicos para definir quais as colunas
selecionar, mas esse exemplo mostra que a ordem das colunas tem impacto nas
operações realizadas no banco.
Sugiro aqui objetividade, isto é, que vocês decorem, pois, a ordenação é tratada
da própria definição e, portanto, não devemos brigar com esses conceitos, mas
aceitá-los e acertar as questões. Vejamos umas questões como exemplo:
(CESPE - 2014 - TJ-SE - Analista Judiciário - Banco de Dados) No modelo
relacional, sob o ponto de vista do usuário, a ordem em que as linhas estão
armazenadas nas tabelas é insignificante.
Gabarito: Certo.

(CESPE - 2017 - TCE-PE - Auditor de Controle Externo - Auditoria de


Contas Públicas) Em uma relação, os nomes das colunas são únicos, as linhas
são distintas entre si, e a ordem da disposição das linhas e colunas é irrelevante
para o banco de dados.
Gabarito: Errado.

(CESPE – 2018 – TCM-BA - - Auditor Estadual de Controle Externo)


c) Os componentes de uma tupla são ordenados da esquerda para a direita.
Gabarito: Errado.

Prof. Ramon Souza 46 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

9- (CESPE - 2018 - TCM-BA - Auditor Estadual de


Controle Externo) Considerando os conceitos de banco de dados relacionais,
assinale a opção correta a respeito das propriedades de uma tupla.
a) A tupla tem o mesmo significado e as mesmas propriedades de uma tabela.
b) Os componentes de uma tupla são ordenados da esquerda para a direita.
c) Cada tupla contém exatamente um valor para cada um de seus atributos.
d) Um subconjunto de uma tupla não é considerado uma tupla.
e) Uma tupla nunca é vazia, seu grau pode variar de 1 até n.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: uma tabela é um conjunto de tuplas e atributos. As tuplas são as
linhas das tabelas. Logo, são conceitos diferentes.
b) Incorreto: pessoal, este item é polêmico, pois uma tupla é uma lista
ordenada de valores e, assim, este item deveria ser correto. Porém, Date
contrapõe essa definição, afirmando que uma tupla também é um conjunto de
valores e, portanto, a ordem dos componentes não importa.
c) Correto: Cada tupla contém exatamente um valor para cada um de seus
atributos. Esse valor deve ser do tipo apropriado.
d) Incorreto: Um subconjunto de uma tupla não é considerado uma tupla.
e) Incorreto: Uma tupla nunca é pode ser vazia, seu grau pode variar de 1 0
até n.
Gabarito: Letra C.

Prof. Ramon Souza 47 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.4 Operações com relações (álgebra relacional)


Agora que já vimos os componentes básicos e características das tabelas,
vamos passar ao estudo das operações que podem ser realizadas nas tabelas.
A álgebra relacional define um conjunto de operações nas relações, em
paralelo com as operações algébricas usuais, como adição, subtração ou
multiplicação, que operam em números. Assim como as operações algébricas
nos números tomam um ou mais números como entrada e retornam um número
como saída, as operações de álgebra relacional geralmente tomam uma
ou duas relações como entrada e retornam uma relação como saída.
Na álgebra relacional, o termo predicado é utilizado para descrever a
condição que deve ser satisfeita na operação.

A seguir, vamos descrever as principais operações da álgebra relacional.


Ressalto que vamos verificá-las de forma individual, mas elas podem ser
combinadas.

❖ Seleção (σ): seleciona tuplas que satisfazem um determinado


predicado. Esta operação, portanto, retorna um conjunto de tuplas (ou
linhas) que cumprem determinada condição nos valores dos atributos.

EXEMPLO:
Tomemos como exemplo a relação Servidor a seguir:
matricula nome salario
134512 João Aprovado dos Santos 13.002,03
251218 Maria Concursada Fernandes 5.519,61
124578 Paulo Passou Batista 13.002,03
131820 Glória Nomeada Rodrigues 5.519,61
112035 Eduardo Posse Pordeus 13.002,03
Queremos selecionar somente aqueles servidores que ganham menos
que 13000. Para isso podemos utilizar a operação de Seleção da
seguinte forma: σsalario<13000 (Servidor)
O resultado desta operação será:
matricula nome salario
251218 Maria Concursada Fernandes 5.519,61
131820 Glória Nomeada Rodrigues 5.519,61
Note que, nesta operação o predicado define uma condição nos valores
dos atributos que deve ser satisfeita pelo retorno da operação e, dessa
forma, somente foram retornadas as linhas com salário menor que
13000.

Prof. Ramon Souza 48 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Projeção (П): seleciona os atributos especificados de todas as


linhas da relação de entrada, removendo as tuplas duplicadas da saída.
EXEMPLO:
Tomemos como exemplo a relação Servidor dada no exemplo da seleção
Vamos supor que não tenhamos interesse em divulgar os salários dos
servidores, mas que tenha sido solicitado a lista de todos os servidores.
Poderemos realizar esta consulta com base em uma operação de
projeção: Пmatricula, nome (Servidor)
O resultado desta operação será:
matricula nome
134512 João Aprovado dos Santos
251218 Maria Concursada Fernandes
124578 Paulo Passou Batista
131820 Glória Nomeada Rodrigues
112035 Eduardo Posse Pordeus
Observe que a operação de projeção retorna somente os dados
referentes as colunas escolhidas, reduzindo, assim, a quantidade de
dados que precisam ser analisados.

❖ Junção ( ): seleciona os pares de linhas das duas relações de


entrada que têm o mesmo valor em todos os atributos que possuem
o mesmo nome. Os atributos repetidos só aparecem uma vez no
resultado. Diferentemente da operação de projeção, você seleciona as
tabelas de entrada e não os atributos específicos de uma tabela.

EXEMPLO:
Para exemplificarmos o uso da junção, considere a tabela Servidor já
utilizada nos exemplos anteriores e a tabela Cargo a seguir:
nome_cargo salario
Auditor de Contas Públicas 13.002,03
Agente de Documentação 5.519,61
Ao realizarmos a operação de junção Servidor Cargo obteremos:
matricula nome salario nome_cargo
134512 João Aprovado dos Santos 13.002,03 Auditor de Contas Públicas
251218 Maria Concursada Fernandes 5.519,61 Agente de Documentação
124578 Paulo Passou Batista 13.002,03 Auditor de Contas Públicas
131820 Glória Nomeada Rodrigues 5.519,61 Agente de Documentação
112035 Eduardo Posse Pordeus 13.002,03 Auditor de Contas Públicas
A operação de junção seleciona linhas das duas tabelas, fazendo uma
relação entre os atributos de mesmo nome. No caso do exemplo, o
resultado foi formado pela combinação das tuplas da tabela Servidor e
da tabela Cargo com base no atributo salario.

Prof. Ramon Souza 49 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Produto cartesiano (X): seleciona todos os pares de linhas das duas


relações de entrada (independentemente de ter ou não os mesmos
valores em atributos comuns). A nova relação possui todos os atributos
que compõem cada uma das relações que fazem parte da operação.
EXEMPLO:
Considerando as tabelas Servidores e Cargo já utilizadas em nossos
exemplos, a operação de produto cartesiano Servidor X Cargo retorna:
matricula nome salario nome_cargo salario
134512 João Aprovado dos Santos 13.002,03 Auditor de Contas Públicas 13.002,03
134512 João Aprovado dos Santos 13.002,03 Agente de Documentação 5.519,61
251218 Maria Concursada 5.519,61 Auditor de Contas Públicas 13.002,03
Fernandes
251218 Maria Concursada 5.519,61 Agente de Documentação 5.519,61
Fernandes
124578 Paulo Passou Batista 13.002,03 Auditor de Contas Públicas 13.002,03
124578 Paulo Passou Batista 13.002,03 Agente de Documentação 5.519,61
131820 Glória Nomeada Rodrigues 5.519,61 Auditor de Contas Públicas 13.002,03
131820 Glória Nomeada Rodrigues 5.519,61 Agente de Documentação 5.519,61
112035 Eduardo Posse Pordeus 13.002,03 Auditor de Contas Públicas 13.002,03
112035 Eduardo Posse Pordeus 13.002,03 Agente de Documentação 5.519,61

A operação de produto cartesiano faz um cruzamento das duas tabelas,


retornando todas as linhas da primeira tabela relacionadas com todas
as linhas da segunda tabela. No exemplo, são criadas duas linhas para
cada servidor, pois eles serão relacionados com os dois cargos
existentes na segunda tabela.
Através da álgebra relacional é possível implementar as operações bem
conhecidas dos conjuntos como a União, Intersecção e Diferença.
Preliminarmente, é importante destacar que estas operações são realizadas
sobre duas relações com a mesma estrutura, isto é, com a mesma
quantidade de atributos e cujos atributos possuem o mesmo domínio.
❖ União (Ս): seleciona a união de tuplas das duas relações de entrada, isto
é, as tuplas que estão na primeira relação, na segunda relação, ou
em ambas.
EXEMPLO:
Consideremos as duas tabelas a seguir, uma com os dados dos Auditores
de Contas Públicas e outra com os dados dos Agentes de Documentação:
matricula nome salario matricula nome salario
134512 João Aprovado dos Santos 13.002,03 251218 Maria Concursada Fernandes 5.519,61
124578 Paulo Passou Batista 13.002,03 131820 Glória Nomeada Rodrigues 5.519,61
112035 Eduardo Posse Pordeus 13.002,03

A operação de união nestas duas tabelas A Ս B terá como retorno uma


tabela com todas as tuplas presentes na primeira tabela, na segunda
tabela ou em ambas.
matricula nome salario
134512 João Aprovado dos Santos 13.002,03
124578 Paulo Passou Batista 13.002,03
112035 Eduardo Posse Pordeus 13.002,03
251218 Maria Concursada Fernandes 5.519,61
131820 Glória Nomeada Rodrigues 5.519,61

Prof. Ramon Souza 50 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Intersecção (Ո): seleciona a intersecção de tuplas das duas relações de


entrada, isto é, as tuplas que aparecem tanto na primeira relação
quanto na segunda.

❖ Diferença (-): seleciona as tuplas que aparecem na primeira relação,


mas não estão na segunda.
EXEMPLO:
Tomemos como base as tabelas a seguir, sendo a primeira dos Auditores
de Contas Públicas e a segunda dos servidores que possuem chefia.
matricula nome salario matricula nome salario
134512 João Aprovado dos Santos 13.002,03 124578 Paulo Passou Batista 13.002,03
124578 Paulo Passou Batista 13.002,03 131820 Glória Nomeada Rodrigues 5.519,61
112035 Eduardo Posse Pordeus 13.002,03 112035 Eduardo Posse Pordeus 13.002,03

Se quisermos selecionar somente os Auditores que possuem chefia


podemos fazer a operação de Interseção (A Ո B) entre as duas tabelas:
matricula nome salario
124578 Paulo Passou Batista 13.002,03
112035 Eduardo Posse Pordeus 13.002,03

Caso contrário, se quisermos obter somente os Auditores que não


possuem chefia, é possível utilizar a operação Diferença (A - B):
matricula nome salario
134512 João Aprovado dos Santos 13.002,03

As operações são esquematizadas no quadro a seguir.


Operações da álgebra relacional
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado.

Retorna os atributos especificados de todas as linhas da


Projeção (П)
relação de entrada, removendo as tuplas duplicadas da saída.

Retorna pares de linhas das duas relações de entrada que têm


Junção ( ) o mesmo valor em todos os atributos que possuem o mesmo
nome.

Retorna todos os pares de linhas das duas relações de entrada


Produto
(independentemente de ter ou não os mesmos valores em atributos
cartesiano (X)
comuns).

Retorna as tuplas que estão na primeira relação, na segunda


União (Ս)
relação, ou em ambas.

Retorna as tuplas que aparecem tanto na primeira relação


Intersecção (Ո)
quanto na segunda.

Retorna tuplas que aparecem na primeira relação, mas não


Diferença (-)
estão na segunda.

Esquema 17 – Operações com relações (álgebra relacional).

Prof. Ramon Souza 51 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

10- (IF-PA - 2019 - IF-PA - Analista de Tecnologia da


Informação – Desenvolvimento de Sistemas) A álgebra relacional possui
um conjunto de operadores, cada um deles toma uma ou várias relações como
entrada e produz uma nova relação como saída. Dentre esses operadores,
podemos destacar o operador denominado de diferença (Difference ou Minus)
que consiste em:
a) construir uma relação com todas as tuplas que aparecem na primeira, mas
que não aparecem na segunda, do par de relações especificadas no operador.
b) construir uma relação a partir de duas relações que irá conter todas as
possibilidades de pares de tuplas concatenadas.
c) construir uma relação consistindo em todas as tuplas que aparecem em
ambos os pares de relações especificadas.
d) construir uma relação extraindo atributos específicos a partir de uma única
relação.
e) construir uma relação a partir de duas relações específicas, consistindo em
todas as possibilidades de pares de duplas concatenadas de modo que cada par
satisfaça uma condição específica.
Resolução:
As operações trazidas nos itens são:
a) Correto: com base na operação Diferença (-), é possível construir uma
relação com todas as tuplas que aparecem na primeira, mas que não aparecem
na segunda, do par de relações especificadas no operador.
b) Incorreto: com base na operação Produto Cartesiano (X), é possível
construir uma relação a partir de duas relações que irá conter todas as
possibilidades de pares de tuplas concatenadas.
c) Incorreto: com base na operação Intersecção (Ո), é possível construir
uma relação consistindo em todas as tuplas que aparecem em ambos os pares
de relações especificadas.
d) Incorreto: com base na operação Projeção (П), é possível construir uma
relação extraindo atributos específicos a partir de uma única relação.
e) Incorreto: com base na operação Junção( ) , é possível construir uma
relação a partir de duas relações específicas, consistindo em todas as
possibilidades de pares de duplas concatenadas de modo que cada par satisfaça
uma condição específica.
Gabarito: Letra A.

Prof. Ramon Souza 52 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.5 Visões (views)


Vimos que uma tabela é o conceito básico do modelo relacional.
Dependendo da modelagem do banco de dados, as tabelas podem conter uma
grande quantidade de dados que não precisam ou que não podem ser
visualizadas por um conjunto de usuários. Para disponibilizar somente os dados
necessários a um subconjunto de usuários, usam-se as views (ou visões).
Uma visão (ou view) é uma única tabela que é derivada de outras
tabelas, que podem ser tabelas de base ou mesmo outras visões previamente
definidas. Podemos ainda entender uma visão como uma maneira alternativa
de visualização dos dados de uma ou mais tabelas.
Tecnicamente, uma visão é uma consulta pré-definida ou
armazenada, que é executada sempre que referenciada. Ela é utilizada para
que não seja necessário refazer a consulta sempre que for necessário utilizá-la.
Uma visão não necessariamente existe em forma física; ela é
considerada uma tabela virtual, ao contrário das tabelas da base, cujas tuplas
sempre estão armazenadas fisicamente no banco de dados. Isso limita as
possíveis operações de atualização que podem ser aplicadas às visões, mas não
oferece quaisquer limitações sobre a consulta de uma visão.
No entanto, é importante destacar que certos sistemas de bancos de
dados permitem que as visões sejam armazenadas. Essas visões
armazenadas são chamadas de visões materializadas. Os sistemas de
bancos de dados garantem que a atualização dessas visões quando ocorrer
alterações em suas tabelas base.
Podemos destacar as seguintes vantagens de se utilizar visões:
❖ Economizar tempo com retrabalho.
❖ Velocidade de acesso às informações.
❖ Mascarar a complexidade do banco de dados.
❖ Simplificar o gerenciamento de permissões de usuários.
❖ Organizar dados a serem exportados para outros aplicativos.
É importante destacar que todas as operações que podem ser realizadas
em tabelas, também podem ser realizadas em visões.
Vamos fixar os conceitos de visão com um esquema!

Visão (view) Se for armazenada é


visão materializada.

Maneira
Tabela derivada de Tabela virtual: não
alternativa de Consulta pré-
outras tabelas necessariamente
visualização dos definida ou
(tabelas base ou existe em forma
dados de uma ou armazenada.
outras visões). física.
mais tabelas.

Esquema 18 – Visão (view).

Prof. Ramon Souza 53 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

DÚVIDAS E POLÊMICAS
Como uma View pode aumentar a velocidade das informações, visto que será
sempre executada a consulta?
Muito cuidado, pois uma View aumenta a velocidade do ACESSO as informações
do ponto de vista do usuário, pois ao invés de ter que definir uma consulta,
basta acessá-la. Portanto, não irá requerer tempo e esforço para montar a
consulta, otimizando o tempo necessário para visualizar os dados.

11- (CCV-UFC - 2019 - UFC - Técnico de Tecnologia da


Informação) Sobre os conceitos relacionados às visões (views) em banco de
dados, marque o item correto.
a) Para se criar uma view é necessário especificar uma stored procedure que
ficará responsável pela atualização e manutenção dos dados.
b) A construção de uma view somente permite a escolha de campos de uma
única tabela como forma de reduzir a quantidade de campos retornados em uma
consulta.
c) O objetivo em se criar uma view é melhorar o desempenho de consultas
recorrentes, onde os dados passam a ser copiados para uma tabela física
vinculada a view no banco de dados.
d) O Sistema Gerenciador de Banco de Dados é responsável por manter as
informações das views atualizadas, mesmo quando ocorre alguma alteração nas
tabelas bases utilizadas na construção da view.
e) Uma das desvantagens da view é o espaço consumido para a disponibilização
do recurso, visto que a quantidade de espaço para armazenar um mesmo dado
duplica devido a existência de uma cópia física dos dados da tabela base.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: um view pode ser criada sem que haja nenhuma stored
procedure associada.
b) Incorreto: a construção de uma view permite a escolha de campos de mais
de uma tabela.
c) Incorreto: a view é uma tabela virtual, exceto se for materializada.
d) Correto: O Sistema Gerenciador de Banco de Dados é responsável por
manter as informações das views atualizadas, mesmo quando ocorre alguma
alteração nas tabelas bases utilizadas na construção da view.
e) Incorreto: não há cópia física dos dados na tabela base.
Gabarito: Letra D.

Prof. Ramon Souza 54 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.6 Índices
Vamos supor que seja necessário realizar uma consulta em uma tabela
de vendas de uma grande multinacional com mais de um milhão de tuplas. Uma
consulta que precise percorrer linha por linha procurando um registro pode não
ser a forma mais eficiente e, para isso, foram criados os índices.
De maneira geral, um índice funciona com base no mesmo princípio
aplicado aos índices de livros ou desta aula. Se você está interessado em ler
somente um determinado tópico, você verifica no índice a localização específica
deste tópico e vai até elas para ler o conteúdo que deseja. Do mesmo modo,
através de um índice adequado, o sistema de banco de dados pode percorrer
primeiro o índice para descobrir onde obter os dados e, em seguida, acessar
diretamente aos locais para obter os dados necessários.
Os índices são estruturas de acesso auxiliares associados a tabelas,
que são utilizados para agilizar a recuperação de registros em resposta a
certas condições de pesquisa.
As estruturas de índice são arquivos adicionais no disco que oferecem
caminhos de acesso secundários, os quais oferecem formas alternativas de
acessar os registros sem afetar o posicionamento físico no arquivo de dados
primário no disco.
Os índices permitem o acesso eficiente aos registros com base nos
campos de indexação que são usados para construir o índice. Basicamente,
qualquer atributo de uma tabela pode servir para criar um índice, e múltiplos
índices em diferentes atributos podem ser construídos na mesma tabela.
Um índice permite que o conjunto das linhas de uma tabela que
satisfazem determinado critério seja localizado rapidamente, através de
ponteiros associados.

Apesar da importância dos índices para auxiliar na consulta, este não


devem ser criados de maneira ilimitada e sem nenhum cuidado, pois eles
apresentam algumas desvantagens:
▪ Piora a performance em escritas de dados no banco de
dados: Toda vez que uma informação chave for modificada (inserida,
alterada, deletada) obrigará a escrita no índice. E o índice pode ser
interpretado como uma tabela adicional escondida no banco de dados. E
se a informação modificada está presente em várias chaves (vários
índices), todos eles deverão ser alterados (em inclusão e remoção, todos
sempre são afetados, ainda que seja possível otimizar para a remoção,
sob pena de encarecer o custo de leitura). A alteração do índice implica
em acesso de leitura e escrita nele, apesar de ser uma operação eficiente
se comparada com o acesso direto à tabela, não deixa de ter um custo
adicional.

Prof. Ramon Souza 55 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

▪ Aumenta o consumo de espaço para armazenamento do banco de


dados (memória e disco): É claro que esta tabela adicional de chaves
de índice vai ocupar um espaço extra também. Costuma ser um espaço
menor que a tabela de dados original, mas existe um custo extra. Se
houver muitos índices é possível que o espaço seja até maior que a tabela
original. Com muito índice fica difícil colocar tudo na memória.

▪ Aumenta a necessidade de manutenção interna no banco de


dados: Isto é um pouco dependente da implementação, mas é comum
que páginas de chaves sejam abandonadas conforme elas vão sendo
alteradas. Além disto o DBA pode ter mais elementos com que se
preocupar.

▪ Pode diminuir a performance de consultas: Não há garantias que


todas as consultas serão mais rápidas com o uso de índices. Como há
uma operação adicional para acesso ao índice antes do acesso aos dados
principais, é possível que a soma do tempo gasto nas operações seja
maior que o acesso só ao dado principal mesmo que o acesso no principal
sem índice seja teoricamente menos eficiente. Isto é mais comum quando
o volume de dados é pequeno, mas isto também é verdade em casos de
consultas complexas ou onde uma grande porção dos dados da tabela
serão retornados em qualquer ordem.

Para fixar o que é o índice!!!

Estrutura
de acesso
auxiliar.

Uso de Utilizados
ponteiros para agilizar
para a
localização
Índice a
recuperação
dos dados. de registros

Oferecem
caminhos Não devem ser criados
de acesso de maneira ilimitada e
secundários sem cuidados.

Esquema 19 – Índices.

Prof. Ramon Souza 56 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

12- (FCC - 2017 - DPE-RS - Analista - Banco de Dados) Os


índices constituem uma importante ferramenta em bancos de dados relacionais,
sendo que
a) constituem-se em cópias compactadas e criptografadas das tabelas do banco
de dados.
b) não ocupam área de armazenamento, além da área ocupada pelas tabelas
originais.
c) seu principal objetivo é melhorar o desempenho de consultas submetidas ao
banco de dados.
d) são criados e mantidos apenas para atributos do tipo numérico.
e) constituem-se em estruturas exclusivas de tabelas com muitos atributos
(mais de 10 atributos).
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: índices não são cópias de tabelas.
b) Incorreto: não ocupam área de armazenamento, além da área ocupada
pelas tabelas originais. Isto é inclusive uma preocupação que deve restringir a
criação ilimitada de índices.
c) Correto: Os índices são estruturas de acesso auxiliares associados a
tabelas, que são utilizados para agilizar a recuperação de registros em
resposta a certas condições de pesquisa.
d) Incorreto: não há restrição quanto ao tipo de dados.
e) Incorreto: não há restrição quanto ao número de atributos.
Gabarito: Letra C.

Prof. Ramon Souza 57 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.7 Chaves
Vimos que uma tabela (ou relação) é constituída de linhas que
representam dados relacionados. Essas linhas devem ser distintas, ou seja, não
devem existir duas linhas com os mesmos valores para todos os seus atributos.
Em um banco de dados relacional, as chaves são usadas para essa distinção.
Veremos a seguir, os principais conceitos relacionados as chaves.
Uma superchave é um conjunto de um ou mais atributos que,
coletivamente, nos permitem identificar de forma exclusiva uma tupla
na relação. De outro modo, uma superchave especifica uma restrição de
exclusividade de que duas tuplas não podem ter os mesmos valores para todos
os seus atributos.
É importante destacar que cada relação tem pelo menos uma superchave
padrão: o conjunto de todos os seus atributos. Outra consideração importante
é que uma superchave pode ter atributos redundantes ou desnecessários para
a identificação única de uma tupla.
Uma chave, por sua vez, é uma superchave com a propriedade
adicional de que a remoção de qualquer dos atributos a faz deixar de
ser chave. Assim, uma chave é um conjunto de um ou mais atributos que,
coletivamente, nos permitem identificar de forma exclusiva uma tupla na
relação, sendo que a remoção de qualquer dos seus atributos a faz deixar de
identificar unicamente a tupla na relação.

Em resumo, uma chave apresenta duas propriedades:


❖ Duas tuplas distintas na relação não podem ter valores idênticos para
os atributos na chave;
❖ É uma superchave mínima, ou seja, uma superchave da qual não
podemos remover nenhum atributo sem acabar com a restrição de
exclusividade.
Em geral, uma relação pode ter mais de uma chave. Nesse caso, cada
uma dessas chaves possíveis em uma relação é denominada chave
candidata. É possível que diversos conjuntos distintos e atributos possam
servir como uma chave candidata, porém, devemos ter em mente que uma
chave candidata é uma superchave mínima e, portanto, não deve conter
atributos desnecessários. Assim, se um atributo matrícula é uma chave
candidata, o conjunto formado por matrícula e nome não é chave candidata,
embora seja uma superchave.
Devemos usar o termo chave primária para designar uma chave
candidata que é escolhida pelo designer de banco de dados como o
principal meio de identificar tuplas dentro de uma relação. As demais são
chamadas chaves secundárias ou chaves únicas.

Prof. Ramon Souza 58 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

EXEMPLO:
Para clarificar o entendimento dos diversos conceitos de chave, vejamos o
seguinte exemplo tomando como base a tabela Servidor a seguir.
matricula cpf nome salario
134512 65465465454 João Aprovado dos Santos 13.002,03
251218 12312312312 Maria Concursada Fernandes 5.519,61
124578 45645645645 Paulo Passou Batista 13.002,03
131820 78978978978 Glória Nomeada Rodrigues 5.519,61
112035 32132132132 Eduardo Posse Pordeus 13.002,03
O atributo matricula do servidor é suficiente para distinguir uma tupla de outra.
Assim, matricula é uma superchave. O atributo de salario do servidor, por
outro lado, não é uma superchave, porque vários servidores podem ter o
mesmo salario. Outras superchaves possíveis podem ser {cpf}, {matricula,
cpf}, {matricula, nome}, {cpf, nome} ou mesmo o conjunto formado por
todos os atributos da tabela {matricula, cpf, nome, salario}. Dessa forma,
podemos ter superchave com atributos ambíguos ou em excesso.
No exemplo, considerando a propriedade de ser uma superchave mínima,
chegamos as chaves. Na tabela, podemos ter a chave matrícula ou a chave
cpf, pois ambos os atributos identificam unicamente as tuplas e como são
únicos não podem ser removidos. Dessa forma, matricula ou cpf são chaves
candidatas da relação. Diferente é o caso de {matrícula, nome}, pois apesar
de servir para identificar exclusivamente as linhas da tabela, podemos retirar
o atributo nome e, ainda assim, a restrição de exclusividade será mantida.
O designer de banco de dados pode optar, por exemplo, pela escolha de
matricula para ser a chave primária desta relação. Neste caso, cpf será
chave secundária ou chave única.
A escolha da chave primária dentre as chaves candidatas possíveis é um
pouco arbitrária, porém devem-se tomar uma série de cuidados:
❖ Normalmente é melhor escolher uma chave com um único atributo
ou pequeno número de atributos.
❖ A chave primária deve ser escolhida de tal forma que seus valores
de atributo nunca sejam, ou muito raramente, mudados.
❖ Os atributos das tuplas da chave devem possuir valores válidos,
ou seja, não devem permitir valor NULL. Este cuidado na verdade é
uma restrição, a chamada restrição de integridade da entidade.

Agora vamos entender o conceito de chave estrangeira.


Uma relação (r1) pode incluir entre seus atributos a chave primária (ou
candidata) de outra relação (r2). Este atributo é chamado de chave
estrangeira de r1, que referencia r2. A relação r1 é chamada de relação que
referencia, e r2 é chamada de relação referenciada da chave estrangeira. É
importante destacar que r1 e r2 podem ser a mesma relação e, portanto,
podemos ter um auto relacionamento.

Prof. Ramon Souza 59 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

A chave estrangeira é usada para manter a consistência das tuplas entre


as relações. Falamos em restrição de integridade referencial que afirma que
uma tupla em uma relação r1 que referencia outra relação r2, precisa se referir
a uma tupla existente na relação r2. De outro modo, uma chave estrangeira de
uma relação deve existir como chave na relação referenciada.
Em resumo, uma chave estrangeira é aquela que permite uma ligação
lógica entre duas tabelas: a chave estrangeira de uma tabela é um atributo
ou conjunto de atributos que se ligam logicamente à chave primária (ou
candidata) de outra tabela.

EXEMPLO:
Vejamos a tabela de Departamento a seguir.
codigo nome_departamento qtd_servidores matricula_chefe
123 Departamento Especial de Auditoria 10 134512
456 Grupo de Auditoria Operacional 5 251218
789 Gerência de Pregão 3 124578
Esta tabela possui como chave primária o atributo codigo que identifica
unicamente cada linha. Indica também os nomes dos departamentos, a
quantidade de servidores e a matricula do servidor chefe do setor.
Perceba que o atributo matricula do chefe é o mesmo presente na tabela de
cadastro dos servidores. Há aqui, portanto, um atributo que faz referência a
uma chave primária (ou candidata) de outra tabela. Esse atributo
matricula_chefe é, por isso, chave estrangeira da tabela Departamento,
que referencia a tabela Servidor.

Vamos consolidar o nosso estudo sobre as chaves com um esquema!!!

Superchave Chave Chave primária

Conjunto de um ou Superchave com a Chave candidata


mais atributos que, propriedade adicional que é escolhida pelo
coletivamente, de que a remoção designer de banco
permitem de qualquer dos de dados como o
identificar de atributos a faz principal meio de
forma exclusiva deixar de ser identificar tuplas.
uma tupla. chave.
Chave candidata

Cada uma das


Chave estrangeira
chaves possíveis em
Atributo (s) que são chave
uma relação.
primária ou candidata de
outra relação.

Esquema 20 – Chaves.

Prof. Ramon Souza 60 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

DÚVIDAS E POLÊMICAS
A chave estrangeira de uma tabela deve referenciar a chave primária ou
qualquer chave candidata da outra tabela?
Pessoal, essa é uma daquelas típicas divergências que costumam pegar na hora
da prova e infelizmente não temos uma conclusão bem definida, pois as bancas
costumam adotar ambos os posicionamentos.
Como a chave primária é uma escolha (mais ou menos arbitrária) dentre as
chaves candidatas, basta que a chave estrangeira referencie uma chave
CANDIDATA de outra tabela e não necessariamente uma chave primária.
Porém, várias são as questões que dão como correta a afirmação de que a chave
candidata referencia ou deve referenciar a chave PRIMÁRIA da outra tabela.
Vejamos uma questão que afirma a possibilidade de relacionamento com a
chave candidata:
(CESPE - 2008 - STF - Analista Judiciário - Tecnologia da Informação)
Chaves estrangeiras podem ser definidas como sendo um conjunto de atributos
pertencentes a um esquema de relação que constituem chaves primárias ou
candidatas em outros esquemas independentes.
Gabarito: Certo.
E agora uma que fala apenas de chave primária:
(CESPE - 2015 - TJ-DFT - Analista Judiciário - Analista de Sistemas) Em
um banco de dados relacional, a chave estrangeira que existe em uma tabela
deve ser chave primária em outra tabela.
Gabarito: Certo.
E para finalizar, uma questão que restringe à chave primária:
(CESPE - 2010 - TRT - 21ª Região (RN) - Analista Judiciário - Tecnologia
da Informação) Uma chave estrangeira é um atributo ou uma combinação de
atributos em uma relação, cujos valores são necessários para equivaler somente
à chave primária de outra relação.
Gabarito: Errado.

Sugiro os seguintes posicionamentos:


▪ Se a questão afirmar que a chave estrangeira pode referenciar a chave
candidata, aceite como CORRETO.
▪ Se a questão afirmar que a chave estrangeira deve referenciar a chave
primária ou deve fazer parte da chave primária, aceite como CORRETO.
▪ Se a questão for mais explícita e afirmar que a chave estrangeira referencia
somente a chave primária ou indicar que não pode referenciar uma chave
candidata, marque ERRADO.

Prof. Ramon Souza 61 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

13- (VUNESP - 2019 - Prefeitura de Guarulhos - SP -


Inspetor Fiscal de Rendas - Conhecimentos Gerais) Na modelagem de
bancos de dados relacionais, há um item importante da modelagem, que é o
conceito de chave estrangeira, na qual
a) os atributos que a compõem não admitem o uso da acentuação da língua
portuguesa.
b) os atributos que a compõem podem ter origem na chave primária de mais de
uma tabela.
c) uma tabela com chave estrangeira não é armazenada no banco de dados.
d) não pode ser aplicada a tabelas com mais de 5 atributos.
e) somente pode ser do tipo numérico.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: os atributos que a compõem não admitem o uso da acentuação
da língua portuguesa.
b) Correto: os atributos que a compõem podem ter origem na chave primária
de mais de uma tabela.
Uma chave estrangeira é aquela que permite uma ligação lógica entre duas
tabelas: a chave estrangeira de uma tabela é um atributo ou conjunto de
atributos que se ligam logicamente à chave primária (ou candidata) de
outra tabela.
Ocorre que uma chave estrangeira pode possuir atributos de mais de uma tabela
para se relacionar, fazendo uma relação entre mais de duas tabelas.
c) Incorreto: uma tabela com chave estrangeira não é armazenada no banco
de dados.
d) Incorreto: não pode ser aplicada a tabelas com mais de 5 atributos.
e) Incorreto: somente pode ser do tipo numérico.
Gabarito: Letra B.

Prof. Ramon Souza 62 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

2.8 Relacionamentos
Um relacionamento é uma associação entre as tabelas. O
relacionamento existe quando um ou mais dados de uma tabela estão
relacionados de alguma forma com um ou mais dados de outra tabela. Existe
também relacionamento de dados de uma tabela com outros dados desta
mesma tabela, quando falamos em auto relacionamento.
A chave estrangeira é usada para promover os relacionamentos entre
as tabelas. É importante ressaltar que uma chave estrangeira faz a ligação
lógica entre as tabelas, portanto, o relacionamento entre tabelas não existe
fisicamente.
Baseado na cardinalidade dos relacionamentos, isto é, no número de
entidades que outra entidade pode se associar via relacionamento,
podemos ter os seguintes tipos de relacionamento:
❖ Relacionamento um para um (1:1): neste tipo de relacionamento, cada
elemento de uma tabela se relaciona a um único elemento de outra
tabela. Uma das tabelas possui uma chave estrangeira que se liga
logicamente a chave primária da outra tabela (modo mais comum, pois é
possível criar uma tabela única mesclada ou mesmo criar uma terceira tabela
para fazer o cruzamento das chaves primárias). Este relacionamento é pouco
comum nos modelos de bancos de dados relacionais.
EXEMPLO:
Vejamos um exemplo de relacionamento 1:1.

Imagine uma escola com um Cadastro de Alunos na tabela Alunos, destes


apenas uma pequena parte participa da Banda da Escola. Por questões de
projeto do Banco de Dados, podemos criar uma Segunda Tabela "Alunos da
Banda", a qual se relaciona com a tabela Alunos através de um relacionamento
do tipo Um para Um. Cada aluno somente é cadastrado uma vez na Tabela
Alunos e uma única vez na tabela Alunos da Banda. Poderíamos utilizar o
Campo Matrícula do Aluno como o Campo que relaciona as duas Tabelas.
Quando fosse necessário buscar as informações tais como nome, endereço,
etc, estas podem ser recuperadas através do relacionamento existente entre
as duas tabelas, evitando, com isso, que a mesma informação (Nome,
Endereço, etc) tenha que ser duplicada nas duas tabelas, inclusive
aumentando a probabilidade de erros de digitação.

Prof. Ramon Souza 63 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Relacionamento um para muitos (1:N): cada elemento de uma tabela


r1 pode ser relacionar com mais de um elemento da tabela r2, no
entanto cada elemento da tabela r2 está relacionado a apenas um
elemento de r1. Uma das tabelas (o lado um do relacionamento) possui
um campo que é a Chave Primária e a outra tabela (o lado muitos) se
relaciona através de um campo cujos valores relacionados podem se repetir
várias vezes.

EXEMPLO:
Vejamos um exemplo de relacionamento 1:N.

Nas tabelas apresentadas anteriormente, cada Cliente somente é cadastrado


uma única vez na tabela de Clientes (por isso o campo Código do Cliente, na
tabela Clientes, é uma chave primária, indicando que não podem ser
cadastrados dois clientes com o mesmo código), portanto a tabela Clientes
será o lado um do relacionamento. Ao mesmo tempo cada cliente pode fazer
diversos pedidos, por isso que o mesmo Código de Cliente poderá aparecer
várias vezes na tabela Pedidos: tantas vezes quantos forem os pedidos que o
Cliente tiver feito. Por isso que temos um relacionamento do tipo Um para
Muitos entre a tabela Clientes e Pedidos, através do campo Código do Cliente,
indicando que um mesmo Cliente pode realizar diversos (muitos) pedidos.

Prof. Ramon Souza 64 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

❖ Relacionamento muitos para muitos (N:M): neste tipo de


relacionamento, para cada valor do campo de uma tabela, pode haver
N valores no campo da outra tabela e vice-versa. O relacionamento N:M
(muitos-para-muitos) possui uma característica diferente dos outros, pois os
dados estão diretamente relacionados ao fato (ou ao
relacionamento), e não as entidades (ou tabelas), como observamos
nos outros tipos de relacionamentos vistos anteriormente.
Em bancos de dados relacionais, esta relação consuma-se através de uma
tabela de ligação que faz a correspondência de ambos os lados com
relacionamento 1 para N para cada lado. A chave primária surge de forma
natural, e é composta pela junção das chaves primárias das tabelas
interligadas.
E XEMPLO:
Vejamos um exemplo de relacionamento N:M.

Neste exemplo, são relacionadas as tabelas Produtos e Pedidos através de uma


terceira tabela Detalhes do Pedido. Perceba que as chaves primárias das duas
tabelas fazem parte da tabela criada para o relacionamento. Note também que
o próprio fato (ou relacionamento) Detalhes do Pedido possui atributos próprios
como PreçoUnitário, Quantidade e Desconto.
Este relacionamento demonstra que um Produto pode estar relacionado a
diversos Pedidos. Por outro lado, um mesmo Pedido pode possuir mais de um
Produto e, por isso, falamos em relacionamento muitos para muitos.

Prof. Ramon Souza 65 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Vamos fixar os tipos e características dos relacionamentos com um esquema!!!

Cada elemento de uma tabela se


relaciona a um único elemento de outra
tabela.

Um para Um
(1:1)
Em bancos relacionais, uma das tabelas
possui a chave estrangeira. Pode-se,
porém, mesclar as entidades em uma única
tabela ou criar uma terceira tabela para
cruzar as chaves primárias destas.
(existem apenas logicamente, mas não fisicamente)

Cada elemento de uma tabela r1 pode


ser relacionar com mais de um elemento
(associação entre as tabelas)

da tabela r2, no entanto cada elemento da


tabela r2 está relacionado a apenas um
elemento de r1.
Relacioanmentos

Um para
Muitos
(1:N)

Em bancos relacionais, a tabela do lado N


da relação possui a chave estrangeira.

Para cada valor do campo de uma tabela,


pode haver N valores no campo da outra
tabela e vice-versa.

Muitos para Os dados estão diretamente


Muitos relacionados ao fato (ou ao
relacionamento), e não as entidades (ou
(N:M) tabelas).

Em bancos relacionais, esta relação


consuma-se através de uma tabela de
ligação que pode possuir atributos
próprios.

Esquema 21 - Relacionamentos

Prof. Ramon Souza 66 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

14- (CESPE - 2018 - FUB - Técnico de Tecnologia da


Informação) Julgue o item seguinte, a respeito dos conceitos de modelagem
de dados e níveis de abstração.
Na cardinalidade de mapeamento entre o conjunto de entidades X e Y de uma
associação um-para-um, uma entidade em X é associada, no máximo, a uma
entidade em Y, e uma entidade em Y é associada, no máximo, a uma entidade
em X.
Resolução:
No relacionamento de cardinalidade 1:1, cada elemento de uma tabela
se relaciona a um único elemento de outra tabela. Uma das tabelas possui
uma chave estrangeira que se liga logicamente a chave primária da outra tabela.
Este relacionamento é pouco comum nos modelos de bancos de dados
relacionais.

Cada elemento de uma tabela se relaciona a um


único elemento de outra tabela.
Um para Um
(1:1)
Em bancos relacionais, uma das tabelas possui a
(existem apenas logicamente, mas não fisicamente)

chave estrangeira. Pode-se, porém, mesclar as


entidades em uma única tabela ou criar uma terceira
tabela para cruzar as chaves primárias destas.
(associação entre as tabelas)

Cada elemento de uma tabela r1 pode ser


relacionar com mais de um elemento da tabela r2,
no entanto cada elemento da tabela r2 está
Relacioanmentos

Um para relacionado a apenas um elemento de r1.


Muitos
(1:N)
Em bancos de dados relacionais, a tabela do lado N
da relação possui a chave estrangeira.

Para cada valor do campo de uma tabela, pode haver


N valores no campo da outra tabela e vice-versa.

Muitos para Os dados estão diretamente relacionados ao fato


Muitos (ou ao relacionamento), e não as entidades (ou
(N:M) tabelas).

Em bancos de dados relacionais, esta relação


consuma-se através de uma tabela de ligação. Esta
tabela pode possuir atributos próprios.

Gabarito: Certo.

Prof. Ramon Souza 67 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

3. NORMALIZAÇÃO
Vimos que um dos objetivos da abordagem de banco de dados é reduzir
a redundância dos dados, evitando assim que dados duplicados sejam
armazenados sem necessidade. Um dos modos de controlar a redundância é
aplicar a normalização das tabelas.
A normalização de dados pode ser considerada um processo de
analisar os esquemas de relação dados com base em suas dependências
funcionais e chaves primárias para conseguir as propriedades desejadas e a (1)
minimização de redundância e (2) a minimização de anomalias de
inserção, exclusão e atualização.
Para normalizar o banco de dados, deve-se examinar as colunas
(atributos) de uma entidade e as relações entre entidades (tabelas), com o
objetivo de se evitar anomalias observadas na inclusão, exclusão e alteração de
registros. Para adequar o banco de dados, é necessário avaliar com base em
cinco regras (seis com a de boyce-codd), que recebem o nome de formas
normais. Essas correspondem a um conjunto de regras de simplificação e
adequação de tabelas.
A forma normal de uma relação refere-se à condição de forma
normal mais alta a que ela atende e, portanto, indica o grau ao qual ela foi
normalizada.

Vamos estudar a seguir as formas normais:

Primeira Forma Normal (1FN)

Uma tabela está na Primeira Forma Normal (1FN) se, e somente se,
todos os valores das colunas (todos os atributos) forem atômicos. Em
outras palavras, uma tabela para estar na 1FN não pode possuir atributos
multivalorados nem compostos.
▪ Compostos: podem ser divididos em subpartes menores, que
representam atributos mais básicos. O valor é a concatenação de seus
componentes atributos simples. Podem formar hierarquia. Ex.:
endereço completo com rua, número e cep.
▪ Multivalorado: possui um conjunto de valores para a mesma
entidade. Um atributo multivalorado pode possuir um limite mínimo e
máximo para restringir o número de valores permitidos. Ex.: telefone
que aceita mais de um número.
Vale ressaltar que a 1FN é considerada parte da definição formal de
uma relação no modelo relacional básico. Assim, só é considerado de
fato um banco de dados relacional se as tabelas estiverem ao menos na
primeira forma normal.

Prof. Ramon Souza 68 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

EXEMPLO:
Para os estudos das formas normais vamos utilizar exemplos de tabelas que
não se encontram nas formas normais estudadas e como elas podem ser
transformadas para se adaptar as regras.
Assim, vamos tomar como exemplo a Tabela DEPARTAMENTO a seguir que não
está em nenhuma forma normal, pois sequer está na 1FN.

A chave primária da tabela DEPARTAMENTO é Dnumero.


Note que o atributo Dlocal é multivalorado, pois possui uma lista de valores
para a mesma tupla. Perceba, por exemplo, que a primeira linha possui locais
diversos como “Santo André”, “Itu” e “São Paulo”. Assim, está ferindo a 1FN,
pois como vimos, para uma tabela está na 1FN, não pode ter atributos
compostos nem multivalorados.
Para deixar essa tabela na 1FN, temos então que definir somente atributos
atômicos. Podemos nesse caso simplesmente desmembrar os atributos
multivalorados de Dlocal em mais de uma linha, repetindo as demais
informações. Dessa forma teremos:

Perceba que agora todas as colunas contêm apenas valores atômicos e,


portanto, essa tabela está na 1FN.

Prof. Ramon Souza 69 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Segunda Forma Normal (2FN)

Uma relação está na Segunda Forma Normal (2FN) se, e somente se,
estiver na 1FN e cada atributo não-chave for dependente da chave
primária (ou candidata) inteira, isto é, cada atributo não-chave não
poderá ser dependente de apenas parte da chave. Trata-se de uma
dependência funcional total.
Chamo a atenção que não basta a dependência total para que uma tabela
esteja na 2FN, pois ela deve estar antes de tudo na 1FN. Além disso, caso a
chave primária da tabela seja formada por apenas um atributo, estando a tabela
na 1FN, estará automaticamente na 2FN.

EXEMPLO:
Vamos utilizar a Tabela FUNC_PROJ que já está na 1FN. Nestes exemplos, DF
significa Dependência Funcional.

A chave primária desta tabela é formada por {Cpf, Projnumero}.


Note, que embora essa tabela esteja na 1FN, os atributos Projnome e
Projlocal dependem apenas de Projnumero, isto é, apenas de parte da chave
primária. Do mesmo modo, temos o atributo Fnome que depende apenas do
Cpf.
Para deixar essa tabela na 2FN, temos que fazer com que todos os atributos
não chave dependam da chave inteira. Para este caso, teremos que separar os
atributos em três tabelas:

Agora, todos os atributos não chave dependem das chaves inteiras das
respectivas tabelas. Note que nesse caso, a tabela FP1 possui como chave os
atributos {Cpf, Projnumero}, sendo que o atributo Horas depende da
totalidade dessa chave. Do mesmo modo, na tabela FP2, o atributo Fnome
depende da totalidade da chave {Cpf} e na tabela FP3, os atributos Projnome
e Projlocal dependem da totalidade da chave Projnumero.
Ressalto que as tabelas FP2 e FP3 possuem somente um atributo como chave,
logo, como estão na 1FN, também estão na 2FN.
Essas tabelas estão na 2FN, pois todos os atributos não chave dependem
totalmente de uma chave primária (ou candidata).

Prof. Ramon Souza 70 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Terceira Forma Normal (3FN)

Uma relação está na Terceira Forma Normal (3FN) se estiver na 2FN


e cada atributo não chave não possuir dependência transitiva, para cada
chave candidata. Todos os atributos dessa tabela devem ser independentes uns
dos outros, ao mesmo tempo que devem ser dependentes exclusivamente
da chave primária da tabela.

EXEMPLO:
Vamos agora utilizar a tabela FUNC_DEP que já está na 2FN (perceba que aqui
não há dúvida, pois a chave primária é formada por um único atributo {Cpf}.

Note que nesta tabela, temos uma dependência transitiva entre alguns
atributos, pois Dnome e Cpf_gerente dependem do atributo não chave
Dnumero, que, por sua vez, depende da chave {Cpf}. Esquematicamente
temos (→ indica determina):

Se Cpf → Dnumero
E Dnumero → Dnome
Logo, Cpf → Dnome

Assim, Dnome depende transitivamente de Cpf e não somente diretamente,


ferindo a 3FN.

Para passar para a 3FN, podemos dividir a tabela em duas outras:

Agora, todos os atributos não chave dependem exclusivamente das chaves


primárias das respectivas tabelas, sem nenhuma dependência transitiva. Note
que nesse caso, a tabela DF1 possui a chave {Cpf} e todos os atributos
dependem exclusivamente desta chave. O mesmo ocorre para a tabela DF2,
em que os atributos Dnome e Cpf_gerente dependem diretamente de
Dnumero.

Essas tabelas estão na 3FN, pois todos os atributos não chave dependem
exclusivamente de uma chave primária.

Prof. Ramon Souza 71 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

As formas normais 1FN, 2FN e 3FN foram as definidas originalmente por Edgar
F. Codd, sendo as mais importantes para resolver as questões de prova.
Contudo, hoje existem outras formas normais aceitas como a FNBC, a 4FN e
5FN.

Forma Normal de Boyce-Codd (FNBC ou BCNF)

Uma tabela está na Forma Normal de Boyce-Codd (FNBC ou BCNF)


se, e somente se, estiver na 3FN e todo determinante é chave candidata.
Dessa forma, não há dependências entre atributos não chave. É
considerada uma variação forte da 3FN.

EXEMPLO:
Vamos ver o seguinte exemplo de passagem para a forma normal de boyce
codd. Veja a tabela Lotes1A a seguir:

Suponha que tenhamos milhares de lotes na relação, mas que eles sejam de
apenas duas cidades: Ribeirão Preto e Analândia. Suponha também que os
tamanhos de lote em Ribeirão Preto sejam de apenas 0,5, 0,6, 0,7, 0,8, 0,9 e
1,0 hectare, enquanto os tamanhos de lotes em Analânda sejam restritos a 1,1,
1,2, ..., 1,9 e 2,0 hectares. Isso significa que Area determina Nome_cidade.
Como Area não é uma chave candidata, então esta tabela não está na FNBC.

Ao passar para a forma normal de boyce-codd, separamos a tabela LOTES1A


em duas para que agora a área, que é um determinante, seja chave de uma
tabela.

Agora, temos somente chaves como determinantes. Esquematicamente:


Em LOTES1AX:
Propriedade_num → Area
Propriedade_num → Num_lote
Em LOTES1AY:
Area → Nome_cidade

Prof. Ramon Souza 72 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Quarta Forma Normal (4FN)

Uma tabela está na Quarta Forma Normal (4FN) se, e somente se, está na
3FN e não possui dependência multivalorada.
▪ Dependência multivalorada: dependência entre conjuntos de
atributos.

Quinta forma normal (5FN)

Uma tabela está na Quinta forma normal (5FN) se, e somente se, está
na 4FN e não possui dependência de junção. Na 5FN, o conteúdo de um
registro não pode ser reconstruído (junção) a partir de outros registros
menores, extraídos do registro principal.
▪ Dependência de junção: dependência entre conjuntos de atributos,
com mais de dois atributos.

Resumo das formas normais

•Todos os atributos são atômicos.


•Não possui atributos multivalorados nem compostos.
1FN
•Está na 1FN.
•Cada atributo não-chave é dependente da chave primária (ou candidata) inteira.
(Dependência funcional total)
2FN •Cada atributo não-chave não pode ser dependente de apenas parte da chave.

•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave candidata.
3FN •Todos os atributos dependem exclusivamente da chave primária da tabela.

•Está na 3FN (variação forte da 3FN).


•Todo determinante é chave candidata.
BCFN •Não há dependências entre atributos não chave.

•Está na 3FN.
•Não possui dependência multivalorada.
4FN

•Está na 4FN.
•Não possui dependência de junção.
5FN

Esquema 22 – Formas normais.

Prof. Ramon Souza 73 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

15- (FCC - 2019 - TJ-MA - Analista Judiciário - Analista


de Sistemas - Desenvolvimento) Uma entidade de ligação possui uma chave
primária composta pelos atributos que são chaves primárias nas entidades
ligadas a ela. A verificação para saber se os atributos não chave são
dependentes total ou parcialmente da chave primária composta, com objetivo
de eliminar as dependências funcionais parciais, é feita na
a) 5FN
b) 4FN
c) 3FN
d) 1FN
e) 2FN
Resolução:
Ao eliminar as dependências parciais, teremos uma tabela na 2FN. Vejamos as
definições das formas normais, em esquema:

•Todos os atributos são atômicos.


•Não possui atributos multivalorados nem compostos.
1FN
•Está na 1FN.
•Cada atributo não-chave é dependente da chave primária (ou candidata) inteira.
(Dependência funcional total)
2FN •Cada atributo não-chave não pode ser dependente de apenas parte da chave.

•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave candidata.
3FN •Todos os atributos dependem exclusivamente da chave primária da tabela.

•Está na 3FN (variação forte da 3FN).


•Todo determinante é chave candidata.
BCFN •Não há dependências entre atributos não chave.

•Está na 3FN.
•Não possui dependência multivalorada.
4FN

•Está na 4FN.
•Não possui dependência de junção.
5FN

Gabarito: Letra E.

Prof. Ramon Souza 74 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

4. QUESTÕES COMENTADAS
Bancos de dados
16- (CESPE - 2019 - TJ-AM - Analista Judiciário - Analista de Sistemas)
A respeito de modelos de dados e de modelos orientados a objetos, com o
emprego da linguagem de modelagem unificada, julgue o item que se segue.
No modelo relacional, um objeto de dados mantém internamente dados e um
conjunto de operações que agem sobre os dados.
Resolução:
Assertiva trata na verdade de um modelo de dados de objetos.
O Modelo de dados de objeto define um banco de dados em termos de
objetos, suas propriedades e operações. Os objetos com a mesma estrutura
e comportamento pertencem a uma classe, e as classes são organizadas em
hierarquias. As operações de cada classe são especificadas com procedimentos
predefinidos, chamados métodos.

Por sua vez, no modelo relacional os dados são armazenados em tabelas.


O Modelo relacional representa um banco de dados como uma coleção de
tabelas, onde cada tabela pode ser armazenada como um arquivo separado.

Gabarito: Errado.

Prof. Ramon Souza 75 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

17- (IF-MT - 2019 - IF-MT - Técnico de Tecnologia da Informação)


Segundo Elmasri e Navathe (2011), das afirmativas abaixo:
I - Um domínio D é um conjunto de valores atômicos. E por atômicos, queremos
dizer que cada valor no domínio é indivisível em se tratando do modelo de dados
relacional formal.
II - O modelo XML utiliza estruturas de árvore hierárquicas onde os dados são
representados como elementos e, com o uso de tags, os dados podem ser
aninhados para criar estruturas hierárquicas complexas.
III - O modelo hierárquico representa os dados como estruturas de árvores
hierárquicas, mas não existe uma linguagem padrão para ele. Uma DML
hierárquica popular é a DL/1.
IV - Novos modelos estão surgindo com a denominação de modelo de dados
legados. O modelo de dados legados é uma combinação dos clássicos modelos
de dados em rede e hierárquico, expandido o modelo de dado em rede para
relacionamentos além do 1:N.
Estão CORRETAS apenas:
a) II, III e IV.
b) I e II.
c) I e III.
d) I, II e III.
e) II e IV.
Resolução:
Vamos analisar cada um dos itens:
I - Correto: O tipo de dado que descreve os tipos de valores que podem
aparecer em cada coluna é representada por um domínio de valores possíveis.
É importante destacar que um domínio é um conjunto de valores atômicos,
ou seja, é indivisível.
II - Correto: o Modelo XML utiliza estruturas de árvore hierárquicas e
combina conceitos de banco de dados com conceitos dos modelos de
representação de documentos. Os dados são representados como elementos;
com o uso de tags, os dados podem ser aninhados para criar estruturas
hierárquicas complexas.
III - Incorreto: O modelo hierárquico representa os dados como estruturas de
árvores hierárquicas, mas não existe uma linguagem padrão para ele. Uma DML
hierárquica popular é a DL/1. O modelo hierárquico não usa DML.
IV - Incorreto: modelos legados representam modelos antigos.
Gabarito: Letra B.

Prof. Ramon Souza 76 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

18- (FUNDATEC - 2019 - Prefeitura de Gramado - RS - Técnico em


Informática) Em relação ao Gerenciamento de transações, toda transação
depende de quatro propriedades básicas, que são conhecidas como:
a) Atomicidade, Inconsistência, Depuração e Fluxo.
b) Atomicidade, Filtragem, Algoritmo e Refluxo.
c) Atomicidade, Consistência, Isolamento e Durabilidade.
d) Consistência, Criptografia, Byte de Paridade e Fluxograma.
e) Consistência, Assinatura digital, Chave Hash e Derivação Estruturada.
Resolução:
As quatro propriedades básicas de uma transação são:

Conceito: Conceito: Conceito: Conceito:


unidade de Uma uma as mudanças
processamen transação transação realizadas
to atômica. A deve levar o deve parecer pela
transação deve banco de executar

Durabilidade
Consistência

Isolamento
Atomicidade

transação
ser realizada dados de um isolada das confirmada
em sua estado demais. devem ser
totalidade ou consistente persistidas
não deve ser para outro. no banco de
realizada de dados.
forma alguma.

Responsável Responsável Responsável


Responsável
Programador Subsistema Subsistema
Subsistema de de
recuperação. ou módulo de de controle de
restrições de concorrência. recuperação.
integridade.

Gabarito: Letra C.

Prof. Ramon Souza 77 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

19- (IF-SP - 2019 - IF-SP - Informática) Um sistema de gerenciamento de


banco de dados (SGBD) precisa garantir a execução apropriada de transações,
apesar das falhas. As falhas, por sua vez, ocorrem quando o estado do sistema
não reflete mais um estado real do mundo, que o banco de dados deveria
capturar, o que é chamado de estado de inconsistência. Para que as
inconsistências não sejam visíveis, é necessário que o SGBD mantenha algumas
propriedades das transações.
O princípio que garante que as operações da transação sejam refletidas
corretamente no banco de dados, ou que nenhuma delas se efetive, também
conhecida como “tudo ou nada” é denominada:
a) backup físico.
b) isolamento.
c) durabilidade.
d) atomicidade.
Resolução:
A propriedade descrita é a atomicidade.
As quatro propriedades básicas de uma transação são:

Conceito: Conceito: Conceito: Conceito:


unidade de Uma uma as mudanças
processamen transação transação realizadas
to atômica. A deve levar o deve parecer pela
transação deve banco de Durabilidade
Consistência

Isolamento

executar
Atomicidade

transação
ser realizada dados de um isolada das confirmada
em sua estado demais. devem ser
totalidade ou consistente persistidas
não deve ser para outro. no banco de
realizada de dados.
forma alguma.

Responsável Responsável Responsável


Responsável
Programador Subsistema Subsistema
Subsistema de de
recuperação. ou módulo de de controle de
restrições de concorrência. recuperação.
integridade.

Gabarito: Letra D.

Prof. Ramon Souza 78 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

20- (INAZ do Pará - 2019 - CORE-SP - Técnico de T.I) Sobre um SGBD, é


correto afirmar:
a) A definição ou informação descritiva do banco de dados é armazenada por
ele na forma de um catálogo ou dicionário, chamado comumente de
“metabook”.
b) Promove a manipulação de bando de dados, prática que consiste em incluir
funções como inclusão e exclusão de registros específicos de tabelas relacionais.
c) O compartilhamento de dados promovido por ele permite que diversos
usuários possam acessar esses dados de forma simultânea; no entanto,
diversos programas, não.
d) Trata-se de um sistema de software de uso geral que facilita o processo de
definição, construção, manipulação e compartilhamento de bando de dados.
e) Possui uma limitação de ser obrigatoriamente necessária à utilização de um
software de SGBD de uso geral, para implementar um banco de dados
computadorizado.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: A definição ou informação descritiva do banco de dados é
armazenada por ele na forma de um catálogo ou dicionário, chamado
comumente de “metabook”.
b) Incorreto: é a linguagem SQL que promove a manipulação de banco de
dados, prática que consiste em incluir funções como inclusão e exclusão de
registros específicos de tabelas relacionais.
c) Incorreto: O compartilhamento de dados promovido por ele permite que
diversos usuários possam acessar esses dados de forma simultânea; no entanto
bem como, diversos programas, não.
d) Correto: Um Sistema Gerenciador de Banco de Dados (SGBD) é uma
coleção de programas que permite aos usuários criar e manter um banco
de dados. O SGBD é um sistema de software de uso geral que facilita os
seguintes processos:
▪ Definição: especificação de tipos, estruturas e restrições de dados.
▪ Construção: armazenamento dos dados em algum meio controlado.
▪ Manipulação: consulta, atualização e geração de relatórios.
▪ Compartilhamento: acesso simultâneo por usuários e sistemas.
▪ Proteção: proteção do sistema contra defeitos e proteção de
segurança contra acesso não autorizado ou malicioso.
▪ Manutenção: evolução do sistema ao longo do tempo.
e) Incorreto: é possível usar um SGBD de uso geral ou de uso específico.
Gabarito: Letra D.

Prof. Ramon Souza 79 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

21- (COSEAC - 2019 - UFF - Técnico de Laboratório - Informática) Nos


sistemas de processamento de transações, a confiabilidade dos dados deve ser
garantida. “Se todos os passos de uma transação não forem completados, a
transação inteira será cancelada”. Isto refere-se à característica:
a) atomicidade.
b) consistência.
c) isolamento.
d) durabilidade.
e) volatilidade.
Resolução:
A propriedade descrita é a atomicidade.
As quatro propriedades básicas de uma transação são:

Conceito: Conceito: Conceito: Conceito:


unidade de Uma uma as mudanças
processamen transação transação realizadas
to atômica. A deve levar o deve parecer pela
transação deve banco de

Durabilidade
Consistência

Isolamento

executar
Atomicidade

transação
ser realizada dados de um isolada das confirmada
em sua estado demais. devem ser
totalidade ou consistente persistidas
não deve ser para outro. no banco de
realizada de dados.
forma alguma.

Responsável Responsável Responsável


Responsável
Programador Subsistema Subsistema
Subsistema de de
recuperação. ou módulo de de controle de
restrições de concorrência. recuperação.
integridade.

Gabarito: Letra A.

Prof. Ramon Souza 80 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

22- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Uma das propriedades
conhecidas em bancos de dados relacionais como ACID é a durabilidade,
segundo a qual, em uma transação completada com sucesso, todas as
atualizações feitas no banco de dados por essa transação devem persistir
a) com exceção da ocorrência de falhas na memória do servidor de banco de
dados.
b) mesmo na ocorrência de falhas no sistema de banco de dados, após o término
da transação.
c) a menos que ocorra uma falha no servidor em até 1 segundo, após o término
da transação.
d) exceto se houver outras transações em execução no momento da falha.
e) com exceção da ocorrência de falhas no barramento de dados do servidor do
banco de dados.
Resolução:
Segundo a Durabilidade, as mudanças aplicadas ao banco de dados pela
transação confirmada precisam persistir no banco de dados. Esta
propriedade garante que os resultados de uma transação são permanentes e
somente podem ser desfeitos somente por uma transação subsequente. Essas
mudanças não devem ser perdidas por causa de alguma falha após a
realização da transação.
Gabarito: Letra B.

23- (CESPE - 2018 - STM - Técnico Judiciário - Programação de


Sistemas) Acerca dos conceitos de normalização de dados e dos modelos de
dados, julgue o item subsequente.
O modelo conceitual, que reflete uma estrutura simplificada do banco de dados,
é responsável por registrar como os dados estão armazenados no sistema de
gerenciamento de banco de dados (SGBD).
Resolução:
O modelo conceitual não trata COMO os dados estão armazenados, mas
somente QUAIS dados serão armazenados.
Gabarito: Errado.

Prof. Ramon Souza 81 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

24- (CESPE - 2018 - SEFAZ-RS - Técnico Tributário da Receita Estadual


- Prova 1) O modelo de dados que possui métodos e capacidade de
encapsulamento é o
a) semiestruturado.
b) baseado em objetos
c) entidade-relacionamento.
d) relacional.
e) distribuído.
Resolução:
Um Modelo de dados de objeto define um banco de dados em termos de
objetos, suas propriedades e operações. Os objetos com a mesma estrutura
e comportamento pertencem a uma classe, e as classes são organizadas em
hierarquias. As operações de cada classe são especificadas com procedimentos
predefinidos, chamados métodos.
Gabarito: Letra B.

25- (CESPE - 2018 - IPHAN - Analista I - Área 7) Com relação a banco de


dados, julgue o item seguinte.
Após um banco de dados ser criado, o administrador executa uma série de
tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar
informações na base de dados. A responsabilidade de gerir os acessos ao banco
de dados é do sistema gerenciador de banco de dados (SGBD).
Resolução:
Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de
programas que permite aos usuários criar e manter um banco de dados. O
SGBD é um sistema de software de uso geral que facilita os seguintes processos:
▪ Definição: especificação de tipos, estruturas e restrições de dados.
▪ Construção: armazenamento dos dados em algum meio controlado.
▪ Manipulação: consulta, atualização e geração de relatórios.
▪ Compartilhamento: acesso simultâneo por usuários e sistemas.
▪ Proteção: proteção do sistema contra defeitos e proteção de
segurança contra acesso não autorizado ou malicioso.
▪ Manutenção: evolução do sistema ao longo do tempo.
Gabarito: Certo.

Prof. Ramon Souza 82 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

26- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca da abordagem


relacional, da normalização e do SGBD, entre outros conceitos relativos a banco
de dados, julgue o item a seguir.
Orientado a objetos, relacional, em rede e hierárquico são modelos de SGBD
que definem a forma como os dados são armazenados no banco de dados.
Resolução:
Os principais modelos de dados para SGBD são:

Modelo relacional
•Dados como uma coleção de tabelas.

Modelo de objetos
•Dados como objetos, propriedades (atributos) e operações (métodos).

Modelo objeto-relacional
•SGBD relacional com extensões para modelos de objetos.

Modelo XML
•Estruturas de árvores hierárquicas com uso de tags.

Modelo de rede
•Registros relacionados de forma 1:N.

Modelo hierárquico
•Estruturas de árvores hierárquicas.

Gabarito: Certo.

Prof. Ramon Souza 83 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

27- (FCC - 2018 - SABESP - Técnico em Sistemas de Saneamento 01 -


Eletrônica) Banco de dados é
a) um aplicativo que manipula dados inter-relacionados.
b) um sistema de nuvens híbridas utilizados em sistemas bancários.
c) um conjunto de dados necessários para o correto funcionamento do sistema
operacional.
d) um conjunto de dados que visa manter a integridade e segurança do sistema.
e) uma coleção de dados inter-relacionados, representando informações sobre
um domínio específico.
Resolução:
Um banco de dados é uma coleção de dados relacionados, em que os dados
podem ser entendidos como fatos conhecidos que podem ser registrados e que
possuem significado implícito.

Banco de Dados

Pode ter qualquer


Pode ser manual ou
tamanho e
computadorizado
complexidade

Coleção logicamente Projetado, construído e


Representa algum
coerente de dados populado com dados
aspecto do mundo
com algum significado para uma finalidade
real
inerente específica

Gabarito: Letra E.

Prof. Ramon Souza 84 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Bancos de dados relacionais


28- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da Receita Estadual)
Uma das regras de Cood para o modelo relacional consiste
a) na dependência de dados físicos (mudança na memória e no método de
acesso).
b) na independência de distribuição.
c) na presença de uma linguagem de programação no SGBD que promova
interface com o banco de dados, com a segurança e a atualização de dados.
d) na subversão das regras de integridade ou restrições quando utilizada uma
linguagem de baixo nível.
e) no não tratamento das atualizações de visões de dados.
Resolução:
As Doze regras de Codd são um conjunto de treze regras (enumeradas de zero
a doze) propostas por Edgar F. Codd, um contumaz do modelo relacional para
banco de dados, designado para definir o que é necessário para que um sistema
de gerenciamento de banco de dados para ser considerado relacional.

Regra 0 - Regra fundamental ou regra base


Doze (treze) regras de Codd para Bancos Relacionais

Regra 1 - A regra da informação ou Princípio da Informação

Regra 2 - A regra de acesso garantido

Regra 3 - Tratamento sistemático de valores nulos

Regra 4 - Catálogo on-line baseado no modelo relacional

Regra 5 - Sublinguagem Ampla de Dados

Regra 6 - Atualização de visões

Regra 7 - Inserção, Atualização, e Exclusão de alto nível

Regra 8 - Independência Física de dados

Regra 9 - Independência Lógica de Dados

Regra 10 - Independência de Integridade

Regra 11 - Independência de Distribuição

Regra 12 - A não-transposição das regras

A Regra 11 - Independência de Distribuição afirma que a distribuição de


partes do SGBD em várias localidades deve ser transparente para os usuários
do mesmo, isto é, os usuários não são afetados pela localização dos
dados.

Prof. Ramon Souza 85 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Gabarito: Letra B.
29- (IF Sul Rio-Grandense - 2019 - IF Sul Rio-Grandense - Analista de
Tecnologia da Informação) Considere as afirmações sobre o modelo
relacional e suas características:
I. Podem ser estabelecidos mais de um relacionamento entre entidades, de
acordo com a regra de negócio a ser representada.
II. No modelo relacional, é possível definir uma relação entre um conjunto de
tuplas não ordenadas.
III. A ordem dos valores dentro de uma tupla é relevante, a menos que se
estabeleça uma correspondência entre esses valores e os atributos definidos.
Está(ão) correta(s) a(s) afirmativa(s)
a) I, apenas.
b) II e III, apenas.
c) I e III, apenas.
d) I, II e III.
Resolução:
Vamos analisar cada um dos itens:
I. Correto: não há nenhuma restrição para que haja somente um
relacionamento entre duas ou mais entidades.
II. Correto: para isso, basta selecionar as tuplas com base em alguma regra.
Assim, é possível selecionar um conjunto de tuplas não sequenciais. Por
exemplo, construir uma relação com os funcionários que possuam salários
maiores que determinado valor.
III. Correto: Uma tupla é uma lista ordenada de valores, de modo que a ordem
dos valores em uma tupla – e, portanto, dos atributos em um esquema de
relação – é importante. (Aqui há uma divergência, pois Date considera
que a tupla é um conjunto, também não importando a ordem dos
valores).
Gabarito: Letra D.

Prof. Ramon Souza 86 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

30- (IF-PA - 2019 - IF-PA - Técnico de Tecnologia da Informação) Em


relação ao banco de dados relacional, marque a alternativa VERDADEIRA:
a) chaves é um conjunto não ordenado de linhas.
b) chave primária é quando uma tabela do banco de dados é definida para cada
coluna da tabela.
c) chave estrangeira é uma coluna ou uma combinação de colunas cujos valores
distinguem uma linha das demais dentro de uma tabela.
d) chave alternativa é uma coluna ou uma combinação de colunas, cujos valores
aparecem necessariamente na chave primária de uma tabela.
e) é composto de tabelas ou relações.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: chaves é um conjunto não ordenado de linhas atributos que
identificam unicamente uma tupla.
b) Incorreto: chave primária é uma chave candidata que é escolhida pelo
designer de banco de dados como o principal meio de identificar tuplas
dentro de uma relação.
c) Incorreto: chave estrangeira primária é uma coluna ou uma combinação
de colunas cujos valores distinguem uma linha das demais dentro de uma
tabela.
A chave estrangeira de uma tabela é um atributo ou conjunto de atributos
que se ligam logicamente à chave primária (ou candidata) de outra
tabela.
d) Incorreto: uma relação pode ter mais de uma chave. Nesse caso, cada uma
dessas chaves possíveis em uma relação é denominada chave candidata
ou alternativa. Não necessariamente, os atributos de uma chave alternativa
aparecerão na chave primária, que é uma escolha dentre as chaves candidatas.
e) Correto: a tabela ou relação é a estrutura chave do modelo relacional,
servindo para representar os dados e relacionamentos entre esses dados.
Gabarito: Letra E.

Prof. Ramon Souza 87 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

31- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da Receita Estadual) No


modelo relacional, a afirmação “Duas tuplas distintas, em qualquer estado da
relação, não podem ter valores idênticos para os atributos na chave” é
a) falsa.
b) uma restrição de domínio do modelo.
c) uma propriedade exclusiva do modelo objeto-relacional.
d) uma condição que deverá estar explícita na representação dos atributos de
uma tupla.
e) uma propriedade de chave do modelo.
Resolução:
Uma chave é um conjunto de um ou mais atributos que, coletivamente, nos
permitem identificar de forma exclusiva uma tupla na relação, sendo que a
remoção de qualquer dos seus atributos a faz deixar de identificar unicamente
a tupla na relação.
Em resumo, uma chave apresenta duas propriedades:
❖ Duas tuplas distintas na relação não podem ter valores idênticos para
os atributos na chave;
❖ É uma superchave mínima, ou seja, uma superchave da qual não
podemos remover nenhum atributo sem acabar com a restrição de
exclusividade.
Gabarito: Letra E.

32- (INAZ do Pará - 2019 - CORE-SP - Técnico de T.I) “Representa o


banco de dados como uma coleção de relações. Informalmente, cada relação é
semelhante a uma tabela de valores ou, até certo ponto, a um arquivo plano de
registros. Ele é chamado de arquivo plano, porque cada registro tem uma
simples estrutura linear ou plana”.
A descrição acima está intimamente ligada ao conceito do:
a) Modelo de dados tabular.
b) Modelo de dados relacional.
c) Sistema gerenciador de dados relacional.
d) Modelo de banco de dados linear.
e) Sistema relacional de banco de dados linear.
Resolução:
O modelo relacional usa o conceito de relação matemática como seu bloco
de montagem básico, e sua base teórica reside na teoria de conjunto e lógica
de predicado de primeira ordem.

Prof. Ramon Souza 88 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Com base neste modelo, um banco de dados relacional utiliza as relações


para representar tanto os dados quanto os relacionamentos entre estes
dados.
Informalmente, cada relação é semelhante a uma tabela de valores, em que
cada linha na tabela representa uma coleção de valores de dados relacionados
ou, até certo ponto, a um arquivo plano de registros, porque cada registro tem
uma simples estrutura linear ou plana. A tabela ou relação é a estrutura chave
deste modelo, servindo para representar os dados e relacionamentos entre
esses dados.
Gabarito: Letra B.

33- (IADES - 2019 - CRN - 3ª Região (SP e MS) - Auxiliar


Administrativo) A respeito das ações ou características que podem ser
aplicadas a uma chave primária sem relacionamentos com outra tabela em um
banco de dados, assinale a alternativa correta.
a) Deve, necessariamente, ser incrementada automaticamente.
b) Não pode sofrer edição ou alteração.
c) Não pode ser copiada ou duplicada na mesma tabela.
d) Deve ser sempre simples.
e) Pode ser nula.
Resolução:
Vamos analisar cada um dos itens:
a) Incorreto: Deve, necessariamente, Pode ser incrementada
automaticamente.
b) Incorreto: Não pode sofrer edição ou alteração.
c) Correto: Não pode ser copiada ou duplicada na mesma tabela.
d) Incorreto: Deve Pode ser sempre simples ou composta.
e) Incorreto: Não pode ser nula.
Gabarito: Letra C.

Prof. Ramon Souza 89 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

34- (COSEAC - 2019 - UFF - Técnico de Tecnologia da Informação) Nos


Sistemas Gerenciadores de Banco de Dados (SGBD) o conceito que permite que
os diferentes usuários compartilhem dados e recursos de processamento, é
conhecido como:
a) permanência.
b) consulta.
c) rastreabilidade.
d) visão.
e) otimização.
Resolução:
Uma visão (ou view) é uma única tabela que é derivada de outras tabelas,
que podem ser tabelas de base ou mesmo outras visões previamente definidas.
Podemos ainda entender uma visão como uma maneira alternativa de
visualização dos dados de uma ou mais tabelas.
As visões podem ser usadas para que diferentes usuários tenham acesso
compartilhado a uma mesma base de dados. É possível criar várias visões,
selecionando os dados que devem ser vistos por cada grupo de usuários.
Gabarito: Letra D.

35- (COSEAC - 2019 - UFF - Técnico de Tecnologia da Informação) A


integridade dos bancos de dados é mantida por meio das:
a) consultas.
b) junções.
c) expressões calculadas.
d) restrições.
e) funções.
Resolução:
A arquitetura ANSI/SPARC em três níveis considera que os Bancos de dados
relacionais consistem de três componentes:
❖ Uma coleção de estruturas de dados, formalmente chamadas de
relações, ou informalmente tabelas, compondo o nível conceitual;
❖ Uma coleção dos operadores, a álgebra e o cálculo relacionais, que
constituem a base da linguagem SQL;
❖ Uma coleção de restrições da integridade, definindo o conjunto
consistente de estados de base de dados e de alterações de estados.
São as restrições que visam garantir a integridade e consistência de um BD.
Gabarito: Letra D.

Prof. Ramon Souza 90 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

36- (CESPE - 2018 - FUB - Técnico de Tecnologia da Informação) Acerca


dos conceitos de otimização de consultas SQL e técnicas de análise de
desempenho, julgue o próximo item.
Álgebra relacional é um conjunto de operações sobre relações, sendo gerada
dessas operações uma relação de saída.
Resolução:
A álgebra relacional define um conjunto de operações nas relações, em
paralelo com as operações algébricas usuais, como adição, subtração ou
multiplicação, que operam em números. Assim como as operações algébricas
nos números tomam um ou mais números como entrada e retornam um número
como saída, as operações de álgebra relacional geralmente tomam uma
ou duas relações como entrada e retornam uma relação como saída.
As operações são esquematizadas no quadro a seguir.
Operações da álgebra relacional
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado.
Retorna os atributos especificados de todas as linhas da
Projeção (П)
relação de entrada, removendo as tuplas duplicadas da saída.
Retorna pares de linhas das duas relações de entrada que têm
Junção ( ) o mesmo valor em todos os atributos que possuem o mesmo
nome.
Retorna todos os pares de linhas das duas relações de entrada
Produto
(independentemente de ter ou não os mesmos valores em atributos
cartesiano (X)
comuns).
Retorna as tuplas que estão na primeira relação, na segunda
União (Ս)
relação, ou em ambas.
Retorna as tuplas que aparecem tanto na primeira relação
Intersecção (Ո)
quanto na segunda.
Retorna tuplas que aparecem na primeira relação, mas não
Diferença (-)
estão na segunda.
Gabarito: Certo.

Prof. Ramon Souza 91 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

37- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Em um banco de dados
relacional, o dicionário de dados deve conter
a) descrições dos objetos que compõem o banco de dados.
b) a descrição, em texto corrido, de cada consulta SQL contida no banco de
dados.
c) a função de cada componente da equipe de desenvolvimento do banco de
dados.
d) a especificação do desempenho das consultas contidas no banco de dados.
e) detalhes da versão, do fornecedor e do custo do sistema gerenciador de
banco de dados em uso.
Resolução:
A definição ou descrição completa dos metadados fica armazenada no
catálogo ou dicionário de dados do SGBD. Esse catálogo contém informações
como a estrutura de cada arquivo, o tipo e o formato de armazenamento
de cada item de dados e diversas restrições sobre os dados.
Gabarito: Letra A.

38- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Visões constituem um tipo de
estrutura possível de ser criada em um banco de dados relacional e apresentam
como característica:
a) Permitir a consulta apenas a tabelas que possuam somente atributos do tipo
numérico armazenados.
b) Possuir o armazenamento somente do comando de criação de sua estrutura,
sendo os dados consultados a partir de tabelas com dados fisicamente
armazenados.
c) Não comportar a visualização de atributos do tipo booleano.
d) Exibir apenas as chaves primária e estrangeira das tabelas especificadas em
sua estrutura.
e) Ser consultadas um número restrito de vezes, conforme seja o sistema
gerenciador de banco de dados utilizado.
Resolução:
Uma visão (ou view) é uma única tabela que é derivada de outras tabelas,
que podem ser tabelas de base ou mesmo outras visões previamente definidas.
Podemos ainda entender uma visão como uma maneira alternativa de
visualização dos dados de uma ou mais tabelas.

Prof. Ramon Souza 92 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Vamos analisar cada uma das alternativas:


a) Incorreto: não há restrição ao tipo de dados que pode ser consultado.
b) Correto: Possuir o armazenamento somente do comando de criação de sua
estrutura, sendo os dados consultados a partir de tabelas com dados fisicamente
armazenados.
c) Incorreto: não há restrição ao tipo de dados que pode ser consultado.
d) Incorreto: a visão exibe as informações que foram selecionadas na sua
criação e não apenas as chaves primária e estrangeira.
e) Incorreto: não há restrição ao número de consultas para uma visão.
Gabarito: Letra B.

39- (FCC - 2018 - TCE-RS - Auditor Público Externo - Administração


Pública ou de Empresas) Considere que uma tabela de um banco de dados
relacional possui uma chave primária composta por um único atributo. Essa
tabela tem como propriedade:
a) a chave primária não pode ser nem do tipo booleano, nem do tipo inteiro.
b) a chave primária deve ser do tipo inteiro longo.
c) metade dos seus registros, no máximo, pode ter esse atributo com o valor
nulo.
d) nenhum par de seus registros pode ter o mesmo valor para esse atributo na
chave primária.
e) o armazenamento da chave primária na tabela deve ser feito de forma
criptografada.
Resolução:
Vamos comentar cada uma das alternativas:
a) Incorreto: a chave primária não pode ser nem do tipo booleano, nem mas
pode ser do tipo inteiro.
b) Incorreto: a chave primária deve pode ser do tipo inteiro longo.
c) Incorreto: metade dos seus registros, no máximo, não pode ter esse
atributo com o valor nulo.
d) Correto: uma chave é um conjunto de um ou mais atributos que,
coletivamente, nos permitem identificar de forma exclusiva uma tupla na
relação, sendo que a remoção de qualquer dos seus atributos a faz deixar de
identificar unicamente a tupla na relação.
e) Incorreto: o armazenamento da chave primária na tabela deve pode ser
feito de forma criptografada.
Gabarito: Letra D.

Prof. Ramon Souza 93 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

40- (CESPE - 2018 - Polícia Federal - Escrivão de Polícia Federal)


CPF
NOME
DATA DE NASCIMENTO
NOME DO PAI
NOME DA MAE
TELEFONE
CEP
NUMERO
As informações anteriormente apresentadas correspondem aos campos de uma
tabela de um banco de dados, a qual é acessada por mais de um sistema de
informação e também por outras tabelas. Esses dados são utilizados para
simples cadastros, desde a consulta até sua alteração, e também para
prevenção à fraude, por meio de verificação dos dados da tabela e de outros
dados em diferentes bases de dados ou outros meios de informação.
Considerando essas informações, julgue o item que segue.
A referida tabela faz parte de um banco de dados relacional.
Resolução:
A tabela é a estrutura chave do banco de dados relacional, servindo para
representar os dados e relacionamentos entre esses dados. Logo, é
possível afirmar que o modelo descrito na questão trata do modelo relacional,
pois informa que os dados são dispostos em tabelas: “campos de uma tabela
de um banco de dados”.
Gabarito: Certo.

41- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


Acerca de banco de dados, julgue o item seguinte.
Em um banco de dados relacional, os dados são armazenados em tabelas; e as
tabelas, organizadas em colunas.
Resolução:
A tabela é a estrutura chave do banco de dados relacional, servindo para
representar os dados e relacionamentos entre esses dados.
Uma tabela é organizada em colunas, que servem para ajudar a interpretar
o significado dos valores em cada linha. Formalmente, um cabeçalho da
coluna é chamado de atributo. O número de colunas de uma relação
representa o grau (ou aridade) desta relação.
Gabarito: Certo.

Prof. Ramon Souza 94 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

42- (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico) Acerca


de banco de dados, julgue o item que se segue.
A diferença entre materialized view e view comum em um banco de dados é o
fato de que a primeira é armazenada em cache como uma tabela física,
enquanto a segunda existe apenas virtualmente.
Resolução:
Uma visão não necessariamente existe em forma física; ela é considerada
uma tabela virtual, ao contrário das tabelas da base, cujas tuplas sempre
estão armazenadas fisicamente no banco de dados. Isso limita as possíveis
operações de atualização que podem ser aplicadas às visões, mas não oferece
quaisquer limitações sobre a consulta de uma visão. No entanto, é importante
destacar que certos sistemas de bancos de dados permitem que as visões sejam
armazenadas. Essas visões armazenadas são chamadas de visões
materializadas.
Gabarito: Certo.

43- (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico) Acerca


de banco de dados, julgue o item que se segue.
Relacionamentos do tipo um-para-um podem ser representados em até três
tabelas, de acordo com a obrigatoriedade do relacionamento.
Resolução:
Neste tipo de relacionamento, cada elemento de uma tabela se relaciona a
um único elemento de outra tabela. Uma das tabelas possui uma chave
estrangeira que se liga logicamente a chave primária da outra tabela. Porém
existem duas outras abordagens para condições especiais.
▪ Técnica da chave estrangeira: uma das duas tabelas possui a chave
estrangeira. As duas tabelas podem ter inclusive chaves estrangeiras
redundantes (duas tabelas).
▪ Técnica de relação mesclada: mescla-se as duas entidades em uma única
relação (uma única tabela).
▪ Técnica de relação de referência cruzada: configura-se uma terceira
tabela para realizar a referência cruzada das chaves primárias das duas
tabelas sendo ligadas (três tabelas).
Gabarito: Certo.

Prof. Ramon Souza 95 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Formas normais
44- (FCC - 2019 - TJ-MA - Técnico Judiciário - Técnico em Informática
- Software) Ter um campo calculado em uma tabela, ou seja, um campo que
é resultante de cálculo com valores de outros campos viola direta e
principalmente a
a) primeira forma normal (1FN).
b) quarta forma normal (4FN).
c) terceira forma normal (3FN).
d) quinta forma normal (5FN).
e) segunda forma normal (2FN).
Resolução:
Se há um campo calculado, significa que este campo é obtido a partir de outros
campos, isto é, há uma dependência transitiva. Portanto, há violação da 3FN.

•Todos os atributos são atômicos.


•Não possui atributos multivalorados nem compostos.
1FN
•Está na 1FN.
•Cada atributo não-chave é dependente da chave primária (ou candidata) inteira.
(Dependência funcional total)
2FN •Cada atributo não-chave não pode ser dependente de apenas parte da chave.

•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave candidata.
3FN •Todos os atributos dependem exclusivamente da chave primária da tabela.

•Está na 3FN (variação forte da 3FN).


•Todo determinante é chave candidata.
BCFN •Não há dependências entre atributos não chave.

•Está na 3FN.
•Não possui dependência multivalorada.
4FN

•Está na 4FN.
•Não possui dependência de junção.
5FN

Gabarito: Letra C.

Prof. Ramon Souza 96 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

45- (UFSC - 2019 - UFSC - Técnico de Tecnologia da Informação) A


tabela relacional a seguir, denominada “Tabela-NF”, será utilizada na questão.

O conjunto de atributos sublinhados é a chave primária da tabela.


Considere as seguintes afirmativas sobre a Tabela-NF e assinale a alternativa
correta.
I. Ela não está na primeira forma normal.
II. Ela está na primeira forma normal, mas não está na segunda forma normal.
III. Ela está na segunda forma normal, mas não está na primeira forma normal.
IV. Ela está na segunda forma normal, mas não está na terceira forma normal.
V. Ela está na terceira forma normal.
a) Somente a afirmativa II está correta.
b) Somente a afirmativa I está correta.
c) Somente a afirmativa IV está correta.
d) Somente as afirmativas III e IV estão corretas.
e) Somente as afirmativas III e V estão corretas.
Resolução:
Vamos analisar cada um dos itens:
I. Incorreto: Ela não está na primeira forma normal. Todos os atributos são
atômicos, isto é, não temos atributos compostos ou multivalorados.
II. Correto: Ela está na primeira forma normal, mas não está na segunda forma
normal.
Há dependências parciais. Logo, não está na 2FN. Perceba, por exemplo, que o
atributo Data-Emissão-NF depende apenas de Número-NF, ou seja, de apenas
parte da chave composta {Número-NF, Número-Item-NF}.
III. Incorreto: Ela não está na segunda forma normal, mas não está na
primeira forma normal.
IV. Incorreto: Ela não está na segunda forma normal, mas logo não está na
terceira forma normal.
V. Incorreto: Ela não está na terceira forma normal.

Prof. Ramon Souza 97 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Gabarito: Letra A.
46- (VUNESP - 2019 - Prefeitura de Valinhos - SP - Analista de
Tecnologia da Informação – SAI) A definição da primeira forma normal em
bancos de dados relacionais estabelece que
a) cada conjunto de entidades não pode possuir mais do que cinco atributos.
b) não deve haver relacionamentos do tipo um para um entre conjuntos de
entidades.
c) não deve haver relacionamentos do tipo muitos para muitos entre conjuntos
de entidades.
d) os domínios de cada conjunto de entidades não podem ser do tipo booleano.
e) os domínios dos atributos de um conjunto de entidades devem ser atômicos.
Resolução:
Uma tabela está na Primeira Forma Normal - 1FN se, e somente se, todos
os valores das colunas (todos os atributos) forem atômicos. Em outras
palavras, uma tabela para estar na 1FN não pode possuir atributos
multivalorados nem compostos.
Gabarito: Letra E.

47- (CESPE - 2018 - SEFAZ-RS - Técnico Tributário da Receita Estadual


- Prova 1) Na elaboração de um projeto de banco de dados, é função da
normalização evitar
a) a repetição de informações.
b) a criação de pequenas tabelas.
c) o armazenamento de dados pessoais
d) o procedimento de relacionar dados de diferentes fontes.
e) a extrapolação do tamanho máximo dos campos das tabelas.
Resolução:
A normalização de dados pode ser considerada um processo de analisar os
esquemas de relação dados com base em suas dependências funcionais e
chaves primárias para conseguir as propriedades desejadas e a (1)
minimização de redundância e (2) a minimização de anomalias de
inserção, exclusão e atualização.
Assim, evitar a redundância (repetição) de informações é uma das
principais funções da normalização.
Gabarito: Letra A.

Prof. Ramon Souza 98 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

48- (FCC - 2018 - SEFAZ-SC - Auditor-Fiscal da Receita Estadual –


Auditoria e Fiscalização (Prova 3)) Suponha que um Auditor foi encarregado
de modelar e criar um banco de dados para um pequeno sistema de pedidos de
produtos de informática. Para realizar essa tarefa, desenvolveu o modelo
mostrado na figura abaixo.

Prof. Ramon Souza 99 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Após criar o modelo, implementou o banco de dados em um Sistema de


Gerenciamento de Banco de Dados, criou as tabelas e cadastrou as seguintes
informações:

Prof. Ramon Souza 100 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Se na entidade item Pedido fosse adicionado o atributo valorTotalitem e nesse


atributo fosse armazenado o resultado da multiplicação do valor contido no
atributo qtditePed da entidade ItemPedido pelo valor contido no atributo
PreUniPro da entidade Produto, a entidade Item Pedido violaria
a) a terceira forma normal (3FN).
b) a segunda forma normal (2FN).
c) a primeira forma normal (1FN).
d) todas as formas normais.
e) as regras de integridade referencial.
Resolução:
Caso fosse adicionado o atributo valorTotalItem, teríamos uma dependência
transitiva, pois ele seria dependente de um atributo não chave (qtditePed) da
tabela e não exclusivamente da chave da tabela. Assim, essa inclusão violaria a
terceira forma normal, pois uma relação está na 3FN se estiver na 2FN e cada
atributo não chave não possuir dependência transitiva, para cada chave
candidata. Todos os atributos dessa tabela devem ser independentes uns dos
outros, ao mesmo tempo que devem ser dependentes exclusivamente da
chave primária da tabela.
Gabarito: Letra A.

49- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca da abordagem


relacional, da normalização e do SGBD, entre outros conceitos relativos a banco
de dados, julgue o item a seguir.
Uma relação está na quarta forma normal (4FN) quando o conteúdo do registro
não pode ser mais reconstruído (efetuar join) a partir de outros registros
menores extraídos desse registro considerado.
Resolução:
Uma relação está na quinta forma normal 5FN, quando o seu conteúdo do
registro não puder ser reconstruído (junção) a partir de outros registros
menores, extraídos do registro principal. Ou seja, se ao particionar um registro,
e sua junção posterior não conseguir recuperar as informações contidas no
registro original, então este registro está na 5FN.
Gabarito: Errado.

Prof. Ramon Souza 101 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

50- (CESPE - 2018 - TCE-MG - Analista de Controle Externo - Ciência da


Computação) De acordo com a normalização de entidades em bancos de dados
relacionais, a entidade cujos atributos não chave independem de outro atributo
não chave está na
a) quinta forma normal (5FN).
b) primeira forma normal (1FN).
c) segunda forma normal (2FN).
d) terceira forma normal (3FN).
e) quarta forma normal (4FN).
Resolução:
A descrição trazida na questão se refere a 3FN. Uma relação está na 3FN se estiver
na 2FN e cada atributo não chave não possuir dependência transitiva, para
cada chave candidata. Todos os atributos dessa tabela devem ser independentes
uns dos outros, ao mesmo tempo que devem ser dependentes exclusivamente
da chave primária da tabela.

•Todos os atributos são atômicos.


•Não possui atributos multivalorados nem compostos.
1FN
•Está na 1FN.
•Cada atributo não-chave é dependente da chave primária (ou candidata) inteira.
(Dependência funcional total)
2FN •Cada atributo não-chave não pode ser dependente de apenas parte da chave.

•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave
candidata.
3FN •Todos os atributos dependem exclusivamente da chave primária da tabela.

•Está na 3FN (variação forte da 3FN).


•Todo determinante é chave candidata.
BCFN •Não há dependências entre atributos não chave.

•Está na 3FN.
•Não possui dependência multivalorada.
4FN

•Está na 4FN.
•Não possui dependência de junção.
5FN

Gabarito: Letra D.

Prof. Ramon Souza 102 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

5. RISCO EXPONENCIAL

Banco de dados (BD)

Banco de Dados

Pode ter qualquer


Pode ser manual ou
tamanho e
computadorizado
complexidade

Coleção logicamente Projetado, construído e


Representa algum
coerente de dados com populado com dados para
aspecto do mundo real
algum significado inerente uma finalidade específica

Sistema de Gerenciamento de Banco de Dados (SGBD).

•Permite criar e manter um


Banco de dados.

•Auxilia na:
SGBD ▪Definição
▪Construção
(coleção de programas) ▪Manipulação
▪Compartilhamento
▪Proteção
▪Manutenção

Sistema de Banco de Dados (SBD)

BD SGBD SBD

Prof. Ramon Souza 103 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Características dos Bancos de Dados

o Natureza de autodescrição de um sistema de banco de dados.


o Isolamento entre programas e dados; e abstração de dados.
o Suporte de múltiplas visões de dados.
o Compartilhamento de dados e processamento de transação
multiusuário.

Elsmari e Navathe
(vantagens de usar a abordagem SGBD)
▪Controle de redundância.
▪Restrição de acesso não autorizado.
▪Armazenamento persistente para objetos do programa.
▪Estruturas de armazenamento e técnicas de pesquisa para o
processamento eficiente de consulta.
▪Backup e recuperação.
▪Múltiplas interfaces do usuário.
▪Representação de relacionamentos complexos entre dados.
▪Restrições de integridade.
▪Dedução e ação usando regras.
▪Potencial para garantir padrões.
▪Tempo reduzido para o desenvolvimento de aplicações.
▪Flexibilidade.
▪Disponibilidade de informações atualizadas.
•Economias de escala.

Date
(benefícios da abordagem de BD)
▪O dado pode ser compartilhado.
▪A redundância pode ser reduzida.
▪Inconsistências podem ser evitadas.
▪Pode-se utilizar o suporte a transações.
▪A integridade pode ser mantida.
▪A segurança pode ser aperfeiçoada.
▪Requisitos conflitantes podem ser balanceados.
▪Padrões podem ser utilizados.

Sylberchatz, Korth e Sudarshan


(desvantagens de usar sistema de arquivo)
▪Redundância e inconsistência de dados.
▪Dificuldade de acesso a dados.
▪Isolamento dos dados.
▪Problemas de integridade.
▪Problemas de atomicidade.
▪Anomalias de acesso concorrente.
▪Problemas de segurança.

Prof. Ramon Souza 104 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Desvantagens da abordagem de SGBD

Custos Alto investimento inicial


em hardware, software e
adicionais treinamento

Esforço adicional para


Generalidade para definição funções de segurança,
e processamento de dados concorrência, recuperação e
integridade

Propriedades das transações (ACID)

Conceito: Conceito: Conceito: Conceito:


unidade de Uma uma as mudanças
processamen transação transação realizadas
to atômica. A deve levar o deve parecer pela
transação deve banco de
Durabilidade
Consistência

Isolamento

executar
Atomicidade

transação
ser realizada dados de um isolada das confirmada
em sua estado demais. devem ser
totalidade ou consistente persistidas
não deve ser para outro. no banco de
realizada de dados.
forma alguma.

Responsável Responsável Responsável


Responsável
Programador Subsistema Subsistema
Subsistema de de
recuperação. ou módulo de de controle de
restrições de concorrência. recuperação.
integridade.

Prof. Ramon Souza 105 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Catálogo ou dicionário de dados

Catálogo ou
dicionário de
dados

Metadados ou
informações de
descritor

Estrutura de
Formato de Restrições
cada tipo de Tipo
armazenamento sobre os dados
arquivo

Notação para diagrama Entidade Relacionamento

Prof. Ramon Souza 106 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Modelos de bancos de dados

Facilmente Compreensão Difícil compreensão

Lógico

Físico
Conceitual comprendido por intermediária. pelos usuários.
usuários.
Representação específica Descrevem o
Registra os dados. de um modelo interno, armazenamento dos
utilizando as estruturas dados.
de BD

Independente de Totalmente
hardware e software. Dependem do SGBD. dependentes do SGBD.

Elaborados na Elaborados no Projeto Elaborados no Projeto


Modelagem Conceitual. Lógico. Físico.

Ex.: Modelo Entidade Ex.: Modelo Relacional.


Relacionamento.

Arquitetura de 3 esquemas

Descreve parte do banco de dados


geralmente com um modelo lógico.

Descreve o banco de dados inteiro


geralmente com um modelo lógico.

Descreve a estrutura de
armazenamento físico geralmente
com um modelo físico.

Independência lógica e física de dados

Independência lógica de dados

•Capacidade de alterar o esquema conceitual sem ter de alterar os esquemas


externos ou de programas de aplicação.

Independência física de dados

•Capacidade de alterar o esquema interno sem ter de alterar o esquema


conceitual e, por consequência, sem ter que alterar os esquemas externos.

Prof. Ramon Souza 107 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Modelos de dados X Arquitetura de três esquemas.

Modelos de Arquitetura de
dados 3 esquemas
Representar os conceitos usados para descrever a Representar as camadas de interação do usuário com o
estruturas dos bancos de dados. banco de dados.

Modelo conceitual ou de alto nível


Nível externo ou de visão
(dados)

Parte do banco de dados


Dados
(geralmente usa modelo lógico baseado em modelo conceitual)

Modelo lógico, representativo ou de implementação Nível conceitual

Banco de dados inteiro


Estruturas de banco de dados
(geralmente usa modelo lógico baseado em modelo conceitual)

Modelo físico Nível interno

Estruturas de armazenamento
Armazenamento
(usa modelo físico)

Modelos de dados (modelos lógicos)

Prof. Ramon Souza 108 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Modelo relacional
•Dados como uma coleção de tabelas.

Modelo de objetos
•Dados como objetos, propriedades (atributos) e operações
(métodos).

Modelo objeto-relacional
•SGBD relacional com extensões para modelos de objetos.

Modelo XML
•Estruturas de árvores hierárquicas com uso de tags.

Modelo de rede
•Registros relacionados de forma 1:N.

Modelo hierárquico
•Estruturas de árvores hierárquicas.

Modelo relacional: conceitos básicos

Conjuntos de relações ou tabelas que


representam dados e relacionamentos.
Relação matemática é o bloco de
Conceitos montagem básico.
Base teórica reside na teoria de conjunto
e lógica de predicado de primeira ordem.

Todo o conteúdo de informação do banco


Princípio da de dados é representado como valores
Informação explícitos em posições de colunas em
Modelo linhas de tabelas.
Relacional Aspecto estrutural: percebidos pelos
usuários como tabelas.
Aspecto de integridade: essas tabelas
Aspectos de satisfazem a certas restrições de
descrição integridade.

Aspecto manipulador: os operadores


disponíveis para que o usuário possa
manipular essas tabelas derivam tabelas a
partir de outras tabelas.

Doze (treze) regras de Codd para os bancos relacionais

Prof. Ramon Souza 109 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Regra 0 - Regra fundamental ou regra base


Doze (treze) regras de Codd para Bancos Relacionais
Regra 1 - A regra da informação ou Princípio da Informação

Regra 2 - A regra de acesso garantido

Regra 3 - Tratamento sistemático de valores nulos

Regra 4 - Catálogo on-line baseado no modelo relacional

Regra 5 - Sublinguagem Ampla de Dados

Regra 6 - Atualização de visões

Regra 7 - Inserção, Atualização, e Exclusão de alto nível

Regra 8 - Independência Física de dados

Regra 9 - Independência Lógica de Dados

Regra 10 - Independência de Integridade

Regra 11 - Independência de Distribuição

Regra 12 - A não-transposição das regras

Conceitos do modelo relacional

Tabela (relação) – representa dados e relacionamentos.

Coluna (atributo) - ajuda a Grau (aridade) -


interpretar o significado número de colunas
dos valores das linhas. de uma relação.

Domínio - tipo de dado que Linha (tupla) - coleção


descreve os tipos de valores que de valores de dados
podem aparecer em cada coluna. relacionados.

Prof. Ramon Souza 110 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Operações com relações (álgebra relacional)


Operações da álgebra relacional

Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado.

Retorna os atributos especificados de todas as linhas da


Projeção (П)
relação de entrada, removendo as tuplas duplicadas da saída.

Retorna pares de linhas das duas relações de entrada que têm


Junção ( ) o mesmo valor em todos os atributos que possuem o mesmo
nome.

Retorna todos os pares de linhas das duas relações de entrada


Produto
(independentemente de ter ou não os mesmos valores em atributos
cartesiano (X)
comuns).

Retorna as tuplas que estão na primeira relação, na segunda


União (Ս)
relação, ou em ambas.

Retorna as tuplas que aparecem tanto na primeira relação


Intersecção (Ո)
quanto na segunda.

Retorna tuplas que aparecem na primeira relação, mas não


Diferença (-)
estão na segunda.

Visão (View)

Visão (view) Se for armazenada é


visão materializada.

Maneira
Tabela derivada de Tabela virtual: não
alternativa de Consulta pré-
outras tabelas necessariamente
visualização dos definida ou
(tabelas base ou existe em forma
dados de uma ou armazenada.
outras visões). física.
mais tabelas.

Índices

Prof. Ramon Souza 111 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Estrutura
de acesso
auxiliar.

Uso de Utilizados
ponteiros para agilizar
para a
localização
Índice a
recuperação
dos dados. de registros

Oferecem Não devem ser criados


caminhos
de acesso de maneira ilimitada e
secundários sem cuidados.

Chaves

Superchave Chave Chave primária

Conjunto de um ou Superchave com a Chave candidata


mais atributos que, propriedade adicional que é escolhida pelo
coletivamente, de que a remoção designer de banco
permitem de qualquer dos de dados como o
identificar de atributos a faz principal meio de
forma exclusiva deixar de ser identificar tuplas.
uma tupla. chave.
Chave candidata

Cada uma das


Chave estrangeira
chaves possíveis em
Atributo (s) que são chave
uma relação.
primária ou candidata de
outra relação.

Relacionamentos

Prof. Ramon Souza 112 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Cada elemento de uma tabela se


relaciona a um único elemento de outra
tabela.

Um para Um
(1:1)
Em bancos relacionais, uma das tabelas
possui a chave estrangeira. Pode-se,
porém, mesclar as entidades em uma única
tabela ou criar uma terceira tabela para
cruzar as chaves primárias destas.
(existem apenas logicamente, mas não fisicamente)

Cada elemento de uma tabela r1 pode


ser relacionar com mais de um elemento
(associação entre as tabelas)

da tabela r2, no entanto cada elemento da


tabela r2 está relacionado a apenas um
elemento de r1.
Relacioanmentos

Um para
Muitos
(1:N)

Em bancos relacionais, a tabela do lado N


da relação possui a chave estrangeira.

Para cada valor do campo de uma tabela,


pode haver N valores no campo da outra
tabela e vice-versa.

Muitos para Os dados estão diretamente


Muitos relacionados ao fato (ou ao
relacionamento), e não as entidades (ou
(N:M) tabelas).

Em bancos relacionais, esta relação


consuma-se através de uma tabela de
ligação que pode possuir atributos
próprios.

Prof. Ramon Souza 113 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Formas normais

•Todos os atributos são atômicos.


•Não possui atributos multivalorados nem compostos.
1FN
•Está na 1FN.
•Cada atributo não-chave é dependente da chave primária (ou candidata) inteira.
(Dependência funcional total)
2FN •Cada atributo não-chave não pode ser dependente de apenas parte da chave.

•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada
chave candidata.
3FN •Todos os atributos dependem exclusivamente da chave primária da tabela.

•Está na 3FN (variação forte da 3FN).


•Todo determinante é chave candidata.
BCFN •Não há dependências entre atributos não chave.

•Está na 3FN.
•Não possui dependência multivalorada.
4FN

•Está na 4FN.
•Não possui dependência de junção.
5FN

Prof. Ramon Souza 114 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

6. LISTAS DE EXERCÍCIOS
Questões comentadas durante a aula
1- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da Receita Estadual)
As funções de um sistema de gerenciamento de banco de dados (SGBD) incluem
a) gerenciar o becape e a recuperação de dados, bem como o escalonamento
de processos no processador por meio do banco de dados.
b) gerenciar o sistema de arquivos e a segurança do banco de dados.
c) gerenciar a entrada e saída de dispositivos, linguagens de acesso ao banco
de dados e interfaces de programação de aplicações.
d) gerenciar a integridade de dados, o dicionário e o armazenamento de dados,
bem como a memória do computador enquanto o SGBD estiver em execução.
e) transformar e apresentar dados, controlar o acesso de multiusuário e prover
interfaces de comunicação do banco de dados.

2- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca da abordagem


relacional, da normalização e do SGBD, entre outros conceitos relativos a banco
de dados, julgue o item a seguir.
Padrões a serem impostos e requisitos contraditórios a serem equilibrados são
considerados como desvantagens da abordagem de banco de dados.

3- (NC-UFPR - 2019 - ITAIPU BINACIONAL - Profissional de Nível


Universitário Jr - Gestão da Informação) Em relação às propriedades ACID
do modelo transacional utilizado nos Sistemas de Gerenciamento de Banco de
Dados, é correto afirmar:
a) Atomicidade está relacionada à granularidade dos dados a serem mantidos
em um atributo do banco de dados.
b) Consistência está associada ao conteúdo de colunas derivadas, assegurando
a relação do valor composto com as respectivas unidades.
c) O isolamento é a propriedade que assegura que todas as operações de uma
transação sejam executadas ou não nenhuma operação terá efeito na base de
dados.
d) O isolamento resolve os efeitos decorrentes da execução de transações
concorrentes, em que cada transação é executada de forma que as operações
parciais das demais transações não afetem a transação atual.
e) A durabilidade controla o estado de inconsistência do banco de dados durante
a execução das operações transacionais.

Prof. Ramon Souza 115 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

4- (FCC - 2019 - SANASA Campinas - Analista de Tecnologia da


Informação - Suporte de DBA-Banco de Dados) Uma característica
fundamental da abordagem de um banco de dados é que o sistema de banco de
dados possui não apenas o banco de dados, mas também uma completa
definição ou descrição da estrutura desse banco de dados e suas restrições.
Essa definição fica armazenada em um local que contém informações como a
estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item
de dado e várias restrições sobre os dados. A informação armazenada neste
local tem uma certa denominação e descreve a estrutura do banco de dados
primário.
O local ao qual o texto se refere e a denominação da informação nele
armazenada são, correta e respectivamente,
a) modelo de dados – tupla.
b) modelo de dados – transações enlatadas.
c) software SGBD – transações enlatadas.
d) catálogo do SGBD – metadados.
e) módulo buffering – metadados.

5- (CESPE - 2019 - TJ-AM - Assistente Judiciário - Programador)


Julgue o próximo item, relativo a sistema gerenciador de banco de dados
(SGBD).
Na arquitetura ANSI/SPARC de um SGBD, o nível interno trata do
armazenamento físico dos dados, o nível externo trata do modo como os dados
são visualizados por usuários individuais, e o nível conceitual oferece uma visão
comunitária dos dados.

6- (CESPE - 2019 - MPC-PA - Analista Ministerial – Tecnologia da


Informação) Assinale a opção que apresenta o modelo de dados caracterizado
por organizar os dados em uma estrutura do tipo árvore, na qual cada registro
tem um único “pai” e é classificado em uma ordem específica.
a) híbrido
b) de rede
c) relacional
d) hierárquico
e) orientado a objetos

Prof. Ramon Souza 116 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

7- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal) Acerca


de banco de dados, julgue o seguinte item.
Situação hipotética: Ao analisar um computador, Marcos encontrou inúmeros
emails, vídeos e textos advindos, em sua maioria, de comentários em redes
sociais. Descobriu também que havia relação entre vários vídeos e textos
encontrados em um diretório específico. Assertiva: Nessa situação, tendo como
referência somente essas informações, Marcos poderá inferir que se trata de um
grande banco de dados relacional, visto que um diretório é equivalente a uma
tabela e cada arquivo de texto é equivalente a uma tupla; além disso, como
cada arquivo possui um código único, poderá deduzir que esse código é a chave
primária que identifica o arquivo de forma unívoca.

8- (FCC - 2019 - TRF - 4ª REGIÃO - Analista Judiciário -


Infraestrutura em Tecnologia da Informação) Dentre as regras de Codd
que caracterizam Bancos de Dados Relacionais, a regra da Independência de
Integridade estipula que as várias formas de integridade relacional de banco de
dados
a) precisam ser definidas na linguagem relacional e armazenadas dentro do
catálogo do sistema ou dicionário de dados, e ser totalmente independentes da
lógica dos aplicativos.
b) podem ser representadas em tabelas relacionais específicas que se
relacionam com as tabelas de cada aplicativo. Quando um aplicativo mudar, a
regra de independência muda automaticamente.
c) precisam ser definidas na linguagem de cada aplicativo e armazenadas como
tabelas relacionais dentro do banco de cada aplicativo, pois somente desta
forma, ao mudar o aplicativo, as regras de integridade mudarão também,
automaticamente.
d) podem ser definidas em linguagem natural ou em Shell script e armazenadas
no dicionário de dados ou dentro do catálogo do sistema; contudo, não há como
garantir que elas sejam totalmente independentes da lógica dos aplicativos na
totalidade das situações.
e) devem ser escritas em linguagem hierárquica ou de rede pois, desta forma,
tanto a hierarquia das tabelas quanto os links entre elas, como ocorre nos
bancos em rede, conduzirão às mudanças automáticas das integridades ao se
mudar algum aplicativo.

Prof. Ramon Souza 117 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

9- (CESPE - 2018 - TCM-BA - Auditor Estadual de Controle Externo)


Considerando os conceitos de banco de dados relacionais, assinale a opção
correta a respeito das propriedades de uma tupla.
a) A tupla tem o mesmo significado e as mesmas propriedades de uma tabela.
b) Os componentes de uma tupla são ordenados da esquerda para a direita.
c) Cada tupla contém exatamente um valor para cada um de seus atributos.
d) Um subconjunto de uma tupla não é considerado uma tupla.
e) Uma tupla nunca é vazia, seu grau pode variar de 1 até n.

10- (IF-PA - 2019 - IF-PA - Analista de Tecnologia da Informação –


Desenvolvimento de Sistemas) A álgebra relacional possui um conjunto de
operadores, cada um deles toma uma ou várias relações como entrada e produz
uma nova relação como saída. Dentre esses operadores, podemos destacar o
operador denominado de diferença (Difference ou Minus) que consiste em:
a) construir uma relação com todas as tuplas que aparecem na primeira, mas
que não aparecem na segunda, do par de relações especificadas no operador.
b) construir uma relação a partir de duas relações que irá conter todas as
possibilidades de pares de tuplas concatenadas.
c) construir uma relação consistindo em todas as tuplas que aparecem em
ambos os pares de relações especificadas.
d) construir uma relação extraindo atributos específicos a partir de uma única
relação.
e) construir uma relação a partir de duas relações específicas, consistindo em
todas as possibilidades de pares de duplas concatenadas de modo que cada par
satisfaça uma condição específica.

11- (CCV-UFC - 2019 - UFC - Técnico de Tecnologia da Informação)


Sobre os conceitos relacionados às visões (views) em banco de dados, marque
o item correto.
a) Para se criar uma view é necessário especificar uma stored procedure que
ficará responsável pela atualização e manutenção dos dados.
b) A construção de uma view somente permite a escolha de campos de uma
única tabela como forma de reduzir a quantidade de campos retornados em uma
consulta.
c) O objetivo em se criar uma view é melhorar o desempenho de consultas
recorrentes, onde os dados passam a ser copiados para uma tabela física
vinculada a view no banco de dados.

Prof. Ramon Souza 118 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

d) O Sistema Gerenciador de Banco de Dados é responsável por manter as


informações das views atualizadas, mesmo quando ocorre alguma alteração nas
tabelas bases utilizadas na construção da view.
e) Uma das desvantagens da view é o espaço consumido para a disponibilização
do recurso, visto que a quantidade de espaço para armazenar um mesmo dado
duplica devido a existência de uma cópia física dos dados da tabela base.

12- (FCC - 2017 - DPE-RS - Analista - Banco de Dados) Os índices


constituem uma importante ferramenta em bancos de dados relacionais, sendo
que
a) constituem-se em cópias compactadas e criptografadas das tabelas do banco
de dados.
b) não ocupam área de armazenamento, além da área ocupada pelas tabelas
originais.
c) seu principal objetivo é melhorar o desempenho de consultas submetidas ao
banco de dados.
d) são criados e mantidos apenas para atributos do tipo numérico.
e) constituem-se em estruturas exclusivas de tabelas com muitos atributos
(mais de 10 atributos).

13- (VUNESP - 2019 - Prefeitura de Guarulhos - SP - Inspetor Fiscal


de Rendas - Conhecimentos Gerais) Na modelagem de bancos de dados
relacionais, há um item importante da modelagem, que é o conceito de chave
estrangeira, na qual
a) os atributos que a compõem não admitem o uso da acentuação da língua
portuguesa.
b) os atributos que a compõem podem ter origem na chave primária de mais de
uma tabela.
c) uma tabela com chave estrangeira não é armazenada no banco de dados.
d) não pode ser aplicada a tabelas com mais de 5 atributos.
e) somente pode ser do tipo numérico.

Prof. Ramon Souza 119 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

14- (CESPE - 2018 - FUB - Técnico de Tecnologia da Informação)


Julgue o item seguinte, a respeito dos conceitos de modelagem de dados e
níveis de abstração.
Na cardinalidade de mapeamento entre o conjunto de entidades X e Y de uma
associação um-para-um, uma entidade em X é associada, no máximo, a uma
entidade em Y, e uma entidade em Y é associada, no máximo, a uma entidade
em X.

15- (FCC - 2019 - TJ-MA - Analista Judiciário - Analista de Sistemas -


Desenvolvimento) Uma entidade de ligação possui uma chave primária
composta pelos atributos que são chaves primárias nas entidades ligadas a ela.
A verificação para saber se os atributos não chave são dependentes total ou
parcialmente da chave primária composta, com objetivo de eliminar as
dependências funcionais parciais, é feita na
a) 5FN
b) 4FN
c) 3FN
d) 1FN
e) 2FN

Prof. Ramon Souza 120 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Bancos de dados
16- (CESPE - 2019 - TJ-AM - Analista Judiciário - Analista de Sistemas)
A respeito de modelos de dados e de modelos orientados a objetos, com o
emprego da linguagem de modelagem unificada, julgue o item que se segue.
No modelo relacional, um objeto de dados mantém internamente dados e um
conjunto de operações que agem sobre os dados.

17- (IF-MT - 2019 - IF-MT - Técnico de Tecnologia da Informação)


Segundo Elmasri e Navathe (2011), das afirmativas abaixo:
I - Um domínio D é um conjunto de valores atômicos. E por atômicos, queremos
dizer que cada valor no domínio é indivisível em se tratando do modelo de dados
relacional formal.
II - O modelo XML utiliza estruturas de árvore hierárquicas onde os dados são
representados como elementos e, com o uso de tags, os dados podem ser
aninhados para criar estruturas hierárquicas complexas.
III - O modelo hierárquico representa os dados como estruturas de árvores
hierárquicas, mas não existe uma linguagem padrão para ele. Uma DML
hierárquica popular é a DL/1.
IV - Novos modelos estão surgindo com a denominação de modelo de dados
legados. O modelo de dados legados é uma combinação dos clássicos modelos
de dados em rede e hierárquico, expandido o modelo de dado em rede para
relacionamentos além do 1:N.
Estão CORRETAS apenas:
a) II, III e IV.
b) I e II.
c) I e III.
d) I, II e III.
e) II e IV.

18- (FUNDATEC - 2019 - Prefeitura de Gramado - RS - Técnico em


Informática) Em relação ao Gerenciamento de transações, toda transação
depende de quatro propriedades básicas, que são conhecidas como:
a) Atomicidade, Inconsistência, Depuração e Fluxo.
b) Atomicidade, Filtragem, Algoritmo e Refluxo.
c) Atomicidade, Consistência, Isolamento e Durabilidade.
d) Consistência, Criptografia, Byte de Paridade e Fluxograma.
e) Consistência, Assinatura digital, Chave Hash e Derivação Estruturada.

Prof. Ramon Souza 121 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

19- (IF-SP - 2019 - IF-SP - Informática) Um sistema de gerenciamento


de banco de dados (SGBD) precisa garantir a execução apropriada de
transações, apesar das falhas. As falhas, por sua vez, ocorrem quando o estado
do sistema não reflete mais um estado real do mundo, que o banco de dados
deveria capturar, o que é chamado de estado de inconsistência. Para que as
inconsistências não sejam visíveis, é necessário que o SGBD mantenha algumas
propriedades das transações.
O princípio que garante que as operações da transação sejam refletidas
corretamente no banco de dados, ou que nenhuma delas se efetive, também
conhecida como “tudo ou nada” é denominada:
a) backup físico.
b) isolamento.
c) durabilidade.
d) atomicidade.

20- (INAZ do Pará - 2019 - CORE-SP - Técnico de T.I) Sobre um SGBD,


é correto afirmar:
a) A definição ou informação descritiva do banco de dados é armazenada por
ele na forma de um catálogo ou dicionário, chamado comumente de
“metabook”.
b) Promove a manipulação de bando de dados, prática que consiste em incluir
funções como inclusão e exclusão de registros específicos de tabelas relacionais.
c) O compartilhamento de dados promovido por ele permite que diversos
usuários possam acessar esses dados de forma simultânea; no entanto,
diversos programas, não.
d) Trata-se de um sistema de software de uso geral que facilita o processo de
definição, construção, manipulação e compartilhamento de bando de dados.
e) Possui uma limitação de ser obrigatoriamente necessária à utilização de um
software de SGBD de uso geral, para implementar um banco de dados
computadorizado.

21- (COSEAC - 2019 - UFF - Técnico de Laboratório - Informática) Nos


sistemas de processamento de transações, a confiabilidade dos dados deve ser
garantida. “Se todos os passos de uma transação não forem completados, a
transação inteira será cancelada”. Isto refere-se à característica:
a) atomicidade.
b) consistência.
c) isolamento.

Prof. Ramon Souza 122 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

d) durabilidade.
e) volatilidade.

22- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Uma das propriedades
conhecidas em bancos de dados relacionais como ACID é a durabilidade,
segundo a qual, em uma transação completada com sucesso, todas as
atualizações feitas no banco de dados por essa transação devem persistir
a) com exceção da ocorrência de falhas na memória do servidor de banco de
dados.
b) mesmo na ocorrência de falhas no sistema de banco de dados, após o término
da transação.
c) a menos que ocorra uma falha no servidor em até 1 segundo, após o término
da transação.
d) exceto se houver outras transações em execução no momento da falha.
e) com exceção da ocorrência de falhas no barramento de dados do servidor do
banco de dados.

23- (CESPE - 2018 - STM - Técnico Judiciário - Programação de


Sistemas) Acerca dos conceitos de normalização de dados e dos modelos de
dados, julgue o item subsequente.
O modelo conceitual, que reflete uma estrutura simplificada do banco de dados,
é responsável por registrar como os dados estão armazenados no sistema de
gerenciamento de banco de dados (SGBD).

24- (CESPE - 2018 - SEFAZ-RS - Técnico Tributário da Receita Estadual


- Prova 1) O modelo de dados que possui métodos e capacidade de
encapsulamento é o
a) semiestruturado.
b) baseado em objetos
c) entidade-relacionamento.
d) relacional.
e) distribuído.

Prof. Ramon Souza 123 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

25- (CESPE - 2018 - IPHAN - Analista I - Área 7) Com relação a banco


de dados, julgue o item seguinte.
Após um banco de dados ser criado, o administrador executa uma série de
tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar
informações na base de dados. A responsabilidade de gerir os acessos ao banco
de dados é do sistema gerenciador de banco de dados (SGBD).

26- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca da abordagem


relacional, da normalização e do SGBD, entre outros conceitos relativos a banco
de dados, julgue o item a seguir.
Orientado a objetos, relacional, em rede e hierárquico são modelos de SGBD
que definem a forma como os dados são armazenados no banco de dados.

27- (FCC - 2018 - SABESP - Técnico em Sistemas de Saneamento 01 -


Eletrônica) Banco de dados é
a) um aplicativo que manipula dados inter-relacionados.
b) um sistema de nuvens híbridas utilizados em sistemas bancários.
c) um conjunto de dados necessários para o correto funcionamento do sistema
operacional.
d) um conjunto de dados que visa manter a integridade e segurança do sistema.
e) uma coleção de dados inter-relacionados, representando informações sobre
um domínio específico.

Prof. Ramon Souza 124 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Bancos de dados relacionais


28- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da Receita Estadual)
Uma das regras de Cood para o modelo relacional consiste
a) na dependência de dados físicos (mudança na memória e no método de
acesso).
b) na independência de distribuição.
c) na presença de uma linguagem de programação no SGBD que promova
interface com o banco de dados, com a segurança e a atualização de dados.
d) na subversão das regras de integridade ou restrições quando utilizada uma
linguagem de baixo nível.
e) no não tratamento das atualizações de visões de dados.

29- (IF Sul Rio-Grandense - 2019 - IF Sul Rio-Grandense - Analista de


Tecnologia da Informação) Considere as afirmações sobre o modelo
relacional e suas características:
I. Podem ser estabelecidos mais de um relacionamento entre entidades, de
acordo com a regra de negócio a ser representada.
II. No modelo relacional, é possível definir uma relação entre um conjunto de
tuplas não ordenadas.
III. A ordem dos valores dentro de uma tupla é relevante, a menos que se
estabeleça uma correspondência entre esses valores e os atributos definidos.
Está(ão) correta(s) a(s) afirmativa(s)
a) I, apenas.
b) II e III, apenas.
c) I e III, apenas.
d) I, II e III.

30- (IF-PA - 2019 - IF-PA - Técnico de Tecnologia da Informação) Em


relação ao banco de dados relacional, marque a alternativa VERDADEIRA:
a) chaves é um conjunto não ordenado de linhas.
b) chave primária é quando uma tabela do banco de dados é definida para cada
coluna da tabela.
c) chave estrangeira é uma coluna ou uma combinação de colunas cujos valores
distinguem uma linha das demais dentro de uma tabela.
d) chave alternativa é uma coluna ou uma combinação de colunas, cujos valores
aparecem necessariamente na chave primária de uma tabela.

Prof. Ramon Souza 125 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

e) é composto de tabelas ou relações.

31- (CESPE - 2019 – SEFAZ-RS – Auditor Fiscal da Receita Estadual) No


modelo relacional, a afirmação “Duas tuplas distintas, em qualquer estado da
relação, não podem ter valores idênticos para os atributos na chave” é
a) falsa.
b) uma restrição de domínio do modelo.
c) uma propriedade exclusiva do modelo objeto-relacional.
d) uma condição que deverá estar explícita na representação dos atributos de
uma tupla.
e) uma propriedade de chave do modelo.

32- (INAZ do Pará - 2019 - CORE-SP - Técnico de T.I) “Representa o


banco de dados como uma coleção de relações. Informalmente, cada relação é
semelhante a uma tabela de valores ou, até certo ponto, a um arquivo plano de
registros. Ele é chamado de arquivo plano, porque cada registro tem uma
simples estrutura linear ou plana”.
A descrição acima está intimamente ligada ao conceito do:
a) Modelo de dados tabular.
b) Modelo de dados relacional.
c) Sistema gerenciador de dados relacional.
d) Modelo de banco de dados linear.
e) Sistema relacional de banco de dados linear.

33- (IADES - 2019 - CRN - 3ª Região (SP e MS) - Auxiliar


Administrativo) A respeito das ações ou características que podem ser
aplicadas a uma chave primária sem relacionamentos com outra tabela em um
banco de dados, assinale a alternativa correta.
a) Deve, necessariamente, ser incrementada automaticamente.
b) Não pode sofrer edição ou alteração.
c) Não pode ser copiada ou duplicada na mesma tabela.
d) Deve ser sempre simples.
e) Pode ser nula.

Prof. Ramon Souza 126 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

34- (COSEAC - 2019 - UFF - Técnico de Tecnologia da Informação) Nos


Sistemas Gerenciadores de Banco de Dados (SGBD) o conceito que permite que
os diferentes usuários compartilhem dados e recursos de processamento, é
conhecido como:
a) permanência.
b) consulta.
c) rastreabilidade.
d) visão.
e) otimização.

35- (COSEAC - 2019 - UFF - Técnico de Tecnologia da Informação) A


integridade dos bancos de dados é mantida por meio das:
a) consultas.
b) junções.
c) expressões calculadas.
d) restrições.
e) funções.

36- (CESPE - 2018 - FUB - Técnico de Tecnologia da Informação) Acerca


dos conceitos de otimização de consultas SQL e técnicas de análise de
desempenho, julgue o próximo item.
Álgebra relacional é um conjunto de operações sobre relações, sendo gerada
dessas operações uma relação de saída.

37- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Em um banco de dados
relacional, o dicionário de dados deve conter
a) descrições dos objetos que compõem o banco de dados.
b) a descrição, em texto corrido, de cada consulta SQL contida no banco de
dados.
c) a função de cada componente da equipe de desenvolvimento do banco de
dados.
d) a especificação do desempenho das consultas contidas no banco de dados.
e) detalhes da versão, do fornecedor e do custo do sistema gerenciador de
banco de dados em uso.

Prof. Ramon Souza 127 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

38- (FCC - 2018 - DPE-AM - Analista em Gestão Especializado de


Defensoria - Analista de Banco de Dados) Visões constituem um tipo de
estrutura possível de ser criada em um banco de dados relacional e apresentam
como característica:
a) Permitir a consulta apenas a tabelas que possuam somente atributos do tipo
numérico armazenados.
b) Possuir o armazenamento somente do comando de criação de sua estrutura,
sendo os dados consultados a partir de tabelas com dados fisicamente
armazenados.
c) Não comportar a visualização de atributos do tipo booleano.
d) Exibir apenas as chaves primária e estrangeira das tabelas especificadas em
sua estrutura.
e) Ser consultadas um número restrito de vezes, conforme seja o sistema
gerenciador de banco de dados utilizado.

39- (FCC - 2018 - TCE-RS - Auditor Público Externo - Administração


Pública ou de Empresas) Considere que uma tabela de um banco de dados
relacional possui uma chave primária composta por um único atributo. Essa
tabela tem como propriedade:
a) a chave primária não pode ser nem do tipo booleano, nem do tipo inteiro.
b) a chave primária deve ser do tipo inteiro longo.
c) metade dos seus registros, no máximo, pode ter esse atributo com o valor
nulo.
d) nenhum par de seus registros pode ter o mesmo valor para esse atributo na
chave primária.
e) o armazenamento da chave primária na tabela deve ser feito de forma
criptografada.

40- (CESPE - 2018 - Polícia Federal - Escrivão de Polícia Federal)


CPF
NOME
DATA DE NASCIMENTO
NOME DO PAI
NOME DA MAE
TELEFONE
CEP

Prof. Ramon Souza 128 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

NUMERO
As informações anteriormente apresentadas correspondem aos campos de uma
tabela de um banco de dados, a qual é acessada por mais de um sistema de
informação e também por outras tabelas. Esses dados são utilizados para
simples cadastros, desde a consulta até sua alteração, e também para
prevenção à fraude, por meio de verificação dos dados da tabela e de outros
dados em diferentes bases de dados ou outros meios de informação.
Considerando essas informações, julgue o item que segue.
A referida tabela faz parte de um banco de dados relacional.

41- (CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3)


Acerca de banco de dados, julgue o item seguinte.
Em um banco de dados relacional, os dados são armazenados em tabelas; e as
tabelas, organizadas em colunas.

42- (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico) Acerca


de banco de dados, julgue o item que se segue.
A diferença entre materialized view e view comum em um banco de dados é o
fato de que a primeira é armazenada em cache como uma tabela física,
enquanto a segunda existe apenas virtualmente.

43- (CESPE - 2018 - STJ - Técnico Judiciário - Suporte Técnico) Acerca


de banco de dados, julgue o item que se segue.
Relacionamentos do tipo um-para-um podem ser representados em até três
tabelas, de acordo com a obrigatoriedade do relacionamento.

Prof. Ramon Souza 129 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Formas Normais
44- (FCC - 2019 - TJ-MA - Técnico Judiciário - Técnico em Informática
- Software) Ter um campo calculado em uma tabela, ou seja, um campo que
é resultante de cálculo com valores de outros campos viola direta e
principalmente a
a) primeira forma normal (1FN).
b) quarta forma normal (4FN).
c) terceira forma normal (3FN).
d) quinta forma normal (5FN).
e) segunda forma normal (2FN).

45- (UFSC - 2019 - UFSC - Técnico de Tecnologia da Informação) A


tabela relacional a seguir, denominada “Tabela-NF”, será utilizada na questão.

O conjunto de atributos sublinhados é a chave primária da tabela.


Considere as seguintes afirmativas sobre a Tabela-NF e assinale a alternativa
correta.
I. Ela não está na primeira forma normal.
II. Ela está na primeira forma normal, mas não está na segunda forma normal.
III. Ela está na segunda forma normal, mas não está na primeira forma normal.
IV. Ela está na segunda forma normal, mas não está na terceira forma normal.
V. Ela está na terceira forma normal.
a) Somente a afirmativa II está correta.
b) Somente a afirmativa I está correta.
c) Somente a afirmativa IV está correta.
d) Somente as afirmativas III e IV estão corretas.
e) Somente as afirmativas III e V estão corretas.

Prof. Ramon Souza 130 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

46- (VUNESP - 2019 - Prefeitura de Valinhos - SP - Analista de


Tecnologia da Informação – SAI) A definição da primeira forma normal em
bancos de dados relacionais estabelece que
a) cada conjunto de entidades não pode possuir mais do que cinco atributos.
b) não deve haver relacionamentos do tipo um para um entre conjuntos de
entidades.
c) não deve haver relacionamentos do tipo muitos para muitos entre conjuntos
de entidades.
d) os domínios de cada conjunto de entidades não podem ser do tipo booleano.
e) os domínios dos atributos de um conjunto de entidades devem ser atômicos.

47- (CESPE - 2018 - SEFAZ-RS - Técnico Tributário da Receita Estadual


- Prova 1) Na elaboração de um projeto de banco de dados, é função da
normalização evitar
a) a repetição de informações.
b) a criação de pequenas tabelas.
c) o armazenamento de dados pessoais
d) o procedimento de relacionar dados de diferentes fontes.
e) a extrapolação do tamanho máximo dos campos das tabelas.

48- (FCC - 2018 - SEFAZ-SC - Auditor-Fiscal da Receita Estadual –


Auditoria e Fiscalização (Prova 3)) Suponha que um Auditor foi encarregado
de modelar e criar um banco de dados para um pequeno sistema de pedidos de
produtos de informática. Para realizar essa tarefa, desenvolveu o modelo
mostrado na figura abaixo.

Prof. Ramon Souza 131 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Após criar o modelo, implementou o banco de dados em um Sistema de


Gerenciamento de Banco de Dados, criou as tabelas e cadastrou as seguintes
informações:

Prof. Ramon Souza 132 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

Se na entidade item Pedido fosse adicionado o atributo valorTotalitem e nesse


atributo fosse armazenado o resultado da multiplicação do valor contido no

Prof. Ramon Souza 133 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

atributo qtditePed da entidade ItemPedido pelo valor contido no atributo


PreUniPro da entidade Produto, a entidade Item Pedido violaria
a) a terceira forma normal (3FN).
b) a segunda forma normal (2FN).
c) a primeira forma normal (1FN).
d) todas as formas normais.
e) as regras de integridade referencial.

49- (CESPE - 2018 - IPHAN - Analista I - Área 7) Acerca da abordagem


relacional, da normalização e do SGBD, entre outros conceitos relativos a banco
de dados, julgue o item a seguir.
Uma relação está na quarta forma normal (4FN) quando o conteúdo do registro
não pode ser mais reconstruído (efetuar join) a partir de outros registros
menores extraídos desse registro considerado.

50- (CESPE - 2018 - TCE-MG - Analista de Controle Externo - Ciência da


Computação) De acordo com a normalização de entidades em bancos de dados
relacionais, a entidade cujos atributos não chave independem de outro atributo
não chave está na
a) quinta forma normal (5FN).
b) primeira forma normal (1FN).
c) segunda forma normal (2FN).
d) terceira forma normal (3FN).
e) quarta forma normal (4FN).

Prof. Ramon Souza 134 de 135


www.exponencialconcursos.com.br
Curso: Desenvolvimento para Senado
Teoria e Questões comentadas
Prof. Ramon Souza

7. GABARITO
1 E 11 D 21 A 31 E 41 Certo
2 Errado 12 C 22 B 32 B 42 Certo
3 D 13 B 23 Errado 33 C 43 Certo

4 D 14 Certo 24 B 34 D 44 C
5 Certo 15 E 25 Certo 35 D 45 A
6 D 16 Errado 26 Certo 36 Certo 46 E

7 Errado 17 B 27 E 37 A 47 A
8 A 18 C 28 B 38 B 48 A
9 C 19 D 29 D 39 D 49 Errado

10 A 20 D 30 E 40 Certo 50 D

8. REFERÊNCIAS
BATTISTI, Julio. O Modelo Relacional de Dados. Disponível em:
https://juliobattisti.com.br/artigos/office/modelorelacional_p2.asp. Acesso em:
14 nov. 2017.
DATE, Christopher J. Introdução a sistemas de bancos de dados. Rio de
Janeiro: Elsevier Brasil, 2003.
ELMASRI, Ramez; NAVATHE, Shamkant B. Sistema de Banco de Dados. 6ed.
São Paulo: Pearson Addison Wesley, 2011.
SYLBERCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Database
System Concepts. 6th. New York: McGraw-Hill, 2011.
SOFTBLUE. Curso de SQL Completo Gratuito. Disponível em:
<https://www.softblue.com.br/site/curso/id/3/CURSO+DE+SQL+COMPLETO+
BASICO+AO+AVANCADO+ON+LINE+BD03+GRATIS>

Prof. Ramon Souza 135 de 135


www.exponencialconcursos.com.br

Você também pode gostar