Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
2 
 
APRESENTAÇÃO DO PROFESSOR 
 
 
Meu nome é Ramon Jorge de Souza e sou Auditor Fiscal 
da Receita Estadual na área de Tecnologia da Informação da 
SEFAZ-SC. 
Fui aprovado em 12 concursos públicos: SEFAZ-SC, TCE-
CE, CNMP, ANTAQ, INSS, MPU, MPOG, EBSERH, 
DATAPREV, CONAB, BRB e PETROBRÁS. 
 
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. Não assumi na Petrobrás 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). 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
3 
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, o qual exerço atualmente. 
Agora estou aqui para ajudar você a conseguir sua aprovação. Conte comigo! 
 
Para ter acesso a dicas e conteúdos gratuitos, acesse minhas redes sociais: 
 
Instagram https://www.instagram.com/proframonsouza 
 
Telegram https://t.me/proframonsouza 
 
Youtube https://www.youtube.com/channel/UCwroD4k2RJTCx0gCEEoI1xQ 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
https://www.instagram.com/proframonsouza
https://t.me/proframonsouza
https://www.youtube.com/channel/UCwroD4k2RJTCx0gCEEoI1xQ
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
4 
 
APRESENTAÇÃO DO CURSO 
 
O nosso curso seguirá a seguinte sequência, cobrindo todos os pontos do edital. 
AULAS TÓPICOS ABORDADOS 
Aula 01 Bancos de dados relacionais: teoria e implementação. 
Aula 02 Uso do SQL como DML. 
Aula 03 Uso do SQL como DDL. 
Aula 04 Uso do SQL como DCL. 
Aula 05 Dados estruturados e não estruturados. Dados abertos. 
Aula 06 
Formatos e tecnologias: XML, JSON, CSV. Representação de dados numéricos, 
textuais e estruturados; aritmética computacional. Representação de dados espaciais 
para georeferenciamento e geosensoriamento. 
Aula 07 
Coleta, tratamento, armazenamento, integração e recuperação de dados. Processos de 
ETL. 
Aula 08 
Exploração de dados: conceituação e características. Noções do modelo CRISP-DM. 
Técnicas para pré-processamento de dados. Técnicas e tarefas de mineração de dados. 
Classificação. Regras de associação. Análise de agrupamentos (clusterização). 
Detecção de anomalias. Modelagem preditiva. 
Aula 09 
Segurança da informação: Confidencialidade, integridade, disponibilidade, 
autenticidade e não repúdio. 
Aula 10 
Políticas de segurança. Políticas de classificação da informação. Sistemas de gestão de 
segurança da informação. Tratamento de incidentes de segurança da informação. 
Aula 11 Lei de Acesso à Informação (Lei nº 12.527/2011): conceitos e aplicação. 
Aula 12 Lei 13.709/2018, Lei Geral de Proteção de Dados Pessoais (LGPD). 
Aula 13 
Conceitos de PLN: semântica vetorial, redução de dimensionalidade, modelagem de 
tópicos latentes, classificação de textos, análise de sentimentos, representações com 
n-gramas. 
Aula 14 
Conceitos de ML: fontes de erro em modelos preditivos, validação e avaliação de 
modelos preditivos, underfitting, overfitting e técnicas de regularização, otimização 
de hiperparâmetros, separabilidade de dados, redução da dimensionalidade. Modelos 
lineares, árvores de decisão, redes neurais feed-forward, classificador Naive Bayes. 
Aula 15 
Linguagem Python: sintaxe, variáveis, tipos de dados e estruturas de controle de 
fluxo. Estruturas de dados, funções e arquivos. Bibliotecas: NLTK, Tensor Flow, 
Pandas, Numpy, Arrow, Sklearn, Scipy. 
Aula 16 
Noções da Linguagem R. Sintaxe, tipos de dados, operadores, comandos de repetição, 
estruturas de dados, gráficos, Data frames. Tidyverse. 
Aula 17 
Pareamento de dados ( record linkage). Processo e etapas. Classificação. Qualidade de 
dados pareados. Análise de dados pareados. 
*O cronograma atualizado pode ser conferido na página do curso. 
Este curso pode ser adquirido em: https://www.hotmart.com/product/en/analise-de-
dados-para-o-tcu/Q61666921X. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
https://www.hotmart.com/product/en/analise-de-dados-para-o-tcu/Q61666921X
https://www.hotmart.com/product/en/analise-de-dados-para-o-tcu/Q61666921X
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
5 
 
Análise de Dados para o TCU 
Bancos de Dados Relacionais 
 
 
SUMÁRIO 
 
ORIENTAÇÃO DE ESTUDOS PARA A AULA ........................................................................ 7 
GLOSSÁRIO DE TERMOS .........................................................................................................8 
1. BANCOS DE DADOS ......................................................................................................... 10 
1.1 Conceitos preliminares .................................................................................................... 10 
1.2 Características dos bancos de dados ................................................................................ 14 
1.3 Processamento de transações em bancos de dados .......................................................... 20 
1.4 Metadados e catálogo de dados ....................................................................................... 24 
1.5 Projeto de um banco de dados ......................................................................................... 26 
1.5.1 Modelos de bancos de dados ............................................................................................ 26 
1.5.2 Esquema x Instância ........................................................................................................ 29 
1.5.3 Arquitetura de três esquemas .......................................................................................... 30 
1.5.4 Independência lógica e física de dados ............................................................................. 33 
1.5.5 Modelo de dados x arquitetura de três esquemas ........................................................... 34 
1.6 Principais modelos de dados (modelos lógicos) ............................................................... 36 
2. BANCOS DE DADOS RELACIONAIS ............................................................................. 40 
2.1 Modelo relacional............................................................................................................. 40 
2.2 Doze (Treze) Regras de Codd para Bancos Relacionais.................................................. 43 
2.3 Tabelas ............................................................................................................................. 46 
2.4 Operações com relações (álgebra relacional) ................................................................... 49 
2.5 Visões (views) ................................................................................................................... 54 
2.6 Índice (index) ................................................................................................................... 57 
2.7 Chaves .............................................................................................................................. 60 
2.8 Relacionamentos .............................................................................................................. 65 
2.9 Normalização ................................................................................................................... 70 
2.9.1 Primeira Forma Normal (1FN) ....................................................................................... 70 
2.9.2 Segunda Forma Normal (2FN) ........................................................................................ 72 
2.9.3 Terceira Forma Normal (3FN) ........................................................................................ 73 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
6 
2.9.4 Forma Normal de Boyce-Codd (FNBC) .......................................................................... 74 
2.9.5 Quarta Forma Normal (4FN) .......................................................................................... 75 
2.9.6 Quinta Forma Normal (5FN) .......................................................................................... 76 
2.9.7 Identificando as formas normais ...................................................................................... 77 
2.9.8 Resumo das formas normais ............................................................................................ 79 
2.9.9 TEMA AVANÇADO: análise de dependências e formas normais ................................. 81 
2.9.10 TEMA AVANÇADO: axiomas das dependências funcionais ..................................... 86 
2.9.11 TEMA AVANÇADO: modelos matemáticos para as formas normais ....................... 90 
3. ESQUEMAS DE AULA ..................................................................................................... 92 
4. REFERÊNCIAS ................................................................................................................ 102 
5. QUESTÕES COMENTADAS ......................................................................................... 103 
6. LISTA DE QUESTÕES ................................................................................................... 142 
7. GABARITO ....................................................................................................................... 162 
 
 
A nossa aula é bem esquematizada, então para facilitar o seu acesso aos esquemas, você 
pode usar o seguinte índice: 
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). ............................................................................... 12 
Esquema 4 – Características dos bancos de dados. ................................................................................ 18 
Esquema 5 – Desvantagens da abordagem de SGBD. ............................................................................ 19 
Esquema 6 – Propriedades das transações. ....................................................................................... 23 
Esquema 7 – Catálogo ou dicionário de dados. ................................................................................... 25 
Esquema 8 – Modelos de bancos de dados. ........................................................................................ 28 
Esquema 9 – Esquema x Instância. ............................................................................................... 29 
Esquema 10 – Arquitetura de 3 esquemas. ........................................................................................ 32 
Esquema 11 – Independência lógica e física de dados. ............................................................................ 33 
Esquema 12 – Modelos de Dados X Arquitetura de três esquemas. ............................................................... 35 
Esquema 13 – Modelos de dados (modelos lógicos). ............................................................................... 39 
Esquema 14 – Modelo relacional: conceitos básicos. ............................................................................... 42 
Esquema 15 – Doze (treze) regras de Codd para os bancos de dados relacionais. ................................................. 45 
Esquema 16 – Conceitos do modelo relacional. ................................................................................... 47 
Esquema 17 – Operações com relações (álgebra relacional). ...................................................................... 52 
Esquema 18 – Visão (view). ...................................................................................................... 54 
Esquema 19 – Índices. ............................................................................................................ 59 
Esquema 20 – Chaves. ............................................................................................................ 62 
Esquema 21 – Relacionamentos. .................................................................................................. 68 
Esquema 22 – Formas normais. .................................................................................................. 79 
 
 
Licensed to kelton choma- kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
7 
 
ORIENTAÇÃO DE ESTUDOS PARA A AULA 
 
Pessoal, esta aula cobre os seguintes temas do edital: “Bancos de dados relacionais: teoria e 
implementação. Processamento de transações.”. 
Quanto ao assunto processamento de transações não temos muita dificuldade de saber o 
que a banca costuma cobrar, pois basicamente estamos nos referindo às propriedades ACID. 
Logo, é importante que você saiba diferenciar essas propriedades, além de saber alguns 
detalhes sobre o Isolamento, como leitura suja e os níveis de isolamento. 
Já o tópico “Bancos de dados relacionais: teoria e implementação” é bem abrangente e, 
portanto, pode englobar muitos aspectos relacionados aos bancos de dados. Em que pese 
essa abrangência, com base no histórico de cobrança da FGV, sabemos que ela foca bastante 
nos seguintes aspectos: 
▪ Normalização e formas normais. 
▪ Análises de dependências funcionais. 
▪ Axiomas das dependências funcionais. 
▪ Conceitos de chaves. 
A banca já cobrou também, em menor quantidade, questões sobre as regras de Boyce-Codd, 
álgebra relacional, relacionamentos e metadados. 
 
Dito isto, sugiro que você estude essa aula toda, mas dê atenção especial aos seguintes 
tópicos: 
▪ 1.3 Processamento de transações em bancos de dados 
▪ 1.4 Metadados e catálogos de bancos de dados. 
▪ 2.1 Modelo Relacional. 
▪ 2.2 Doze (Treze) Regras de Codd para Bancos de Dados Relacionais. 
▪ 2.3 Tabelas 
▪ 2.4 Álgebra relacional (principalmente saiba quais são as primitivas) 
▪ 2.7 Chaves 
▪ 2.8 Relacionamentos 
▪ 2.9 Normalização (incluindo os temas avançados) 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
8 
 
GLOSSÁRIO DE TERMOS 
 
Abstração: capacidade de esconder os detalhes de implementação. 
Álgebra relacional: conjunto de operações realizadas que podem ser realizadas nas 
relações (tabelas), tomando uma ou duas relações como entrada e retornando uma relação 
como saída. 
Aplicação, aplicativo ou software: programa de computador com objetivo de 
desempenhar tarefas práticas, em geral ligadas ao processamento de dados. 
Aridade ou grau: número de colunas em uma tabela. 
Atomicidade: propriedade das transações que garante que uma transação seja executada 
ou por completo ou de forma alguma. 
Atributo: coluna ou campo de uma tabela. 
Banco de Dados (BD): coleção coerente de dados que representa um aspecto do mundo 
real com uma finalidade específica. 
Becape ou backup: cópia de segurança dos dados d um dispositivo de armazenamento. 
Booleano: tipo de dado que possui apenas dois valores: VERDADEIRO ou FALSO. 
Cardinalidade: número de entidades que outra entidade pode se associar via 
relacionamento. 
Campo de indexação: campo (coluna ou atributo) utilizado para criar um índice. 
Catálogo ou dicionário de dados: local do SGBD onde ficam os metadados. Possui 
informações sobre a estrutura de cada arquivo, o tipo e o formato de armazenamento de 
cada item de dados e diversas restrições sobre os dados. 
Concorrência: disputa pelo uso de um mesmo recurso. 
Consistência: propriedade das transações que visa a manutenção do cumprimento das 
regras e restrições em um banco de dados. 
Consulta ad hoc: criada na hora, no momento em que surge a necessidade. Não é salva no 
SGBD. 
Dependência funcional: relacionamento entre dois ou mais atributos de forma que o valor 
de um atributo identifique o valor para cada um dos outros atributos. 
Determinante (atributo): atributo que determina outro, isto é, cujo valor do outro é 
relacionado a ele. 
Domínio: tipo de dados válido para uma coluna. Valores possíveis. 
Durabilidade: propriedade das transações que garante o armazenamento permanente dos 
dados. 
Esquema de banco de dados: estrutura do banco, sem os dados. 
Índice: estrutura de acesso auxiliar que permite agilizar a recuperação de registros. Oferece 
caminho de acesso secundário. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
9 
Instância de banco de dados: dados armazenados em um instante ("fotografia" do banco). 
Integridade: capacidade de garantir que a informação não foi alterada sem autorização. 
Isolamento: propriedade das transações que garante a não interferência entre transações. 
Metadados: dados que descrevem, identificam, explicam e localizam outros dados. 
Descrevem a estrutura do banco de dados. 
Modelo de dados: descrição dos tipos de informações que estão armazenadas em um banco 
de dados. 
Nulo ou Null: valor especial que representa "falta de informação ou informação 
inaplicável". 
Persistência de dados: armazenamento permanente. 
Ponteiro: é um tipo de dado cujo valor se refere diretamente a um outro valor. É um 
apontador ou referência para um dado armazenado em outro lugar. 
Redundância: duplicação dos dados. 
Relação: sinônimo de tabela. Bloco de montagem básico do modelo relacional. 
RelVar ou variável de relação: cabeçalho de uma tabela, formado pelos pares domínio e 
nome. 
Restrição de integridade: regras usadas para garantir a exatidão e a consistência dos 
dados. 
Sistema Gerenciador de Banco de Dados (SGBD): software para criar e manter um 
banco de dados. 
Sistema de Banco de Dados: união do BD com o SGBD. 
Transação: programa em execução ou processo que inclui um ou mais acessos ou operações 
de banco de dados. 
Transparente para o usuário: usuário não precisa conhecer os detalhes ou funcionamento 
interno. 
Tupla: linha ou registro de uma tabela. 
Visão ou view: tabela virtual derivada de outras tabelas. Maneira alternativa de 
visualização dos dados. Consulta pré-definida ou armazenada, executada sempre que 
referenciada. 
Visão materalizada ou materialized view: visão armazenada. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
10 
 
1. BANCOS DE DADOS 
 
 
1.1 Conceitos preliminares 
O primeiro conceito fundamental para nossa aula é o de banco de dados. 
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!!!). Contudo, o 
uso comum do termo banco de dados não segue essa definição genérica. Um banco de dados 
pode também ser referido como um repositório, depósito ou base de dados. 
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. 
 
Esquema 1 – Banco de Dados (BD). 
Banco de Dados
(repositório, depósito ou base)
Representa algum aspecto 
do mundo real
Coleção logicamente 
coerente de dadoscom 
algum significado inerente
Projetado, construído e 
populado com dados para 
uma finalidade específica
Pode ter qualquer tamanho 
e complexidade
Pode ser manual ou 
computadorizado
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
11 
Professor, entendi que o banco de dados é o local onde os dados são armazenados, mas como 
manipular esse banco de dados? Para isso, vamos precisar usar um sistema para interceder 
por nós nessa comunicação, isto é, um software que consegue realizar as atividades no banco 
de dados. Esse sistema é o 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, 
 
Esquema 2 – Sistema Gerenciador de Bancos de Dados (SGBD). 
Existem SGBDS de diversos fornecedores como o Oracle, MySQL, SQL Server, 
PostgreSQL, entre outros. 
ESCLARECENDO!!! 
O processo de comunicação com o banco de dados pode ser ilustrado da seguinte forma: 
 
Note que existe um banco de dados e que algumas aplicações desejam o acessar para realizar 
funções (consultar, alterar ou inserir dados ou até criar e modificar as estruturas do banco). 
Para isso, essas aplicações deverão acionar o SGBD, que é quem sabe “conversar” com o 
banco de dados. Assim, através do SGBD, é possível criar e definir as estruturas do banco 
de dados e manipular os dados. Além disso, o SGBD vai garantir uma série de propriedades 
como a segurança e o compartilhamento dos dados. 
SGBD 
(coleção de programas)
•Permite criar e manter um
banco de dados.
•Auxilia na:
▪Definição
▪Construção
▪Manipulação
▪Compartilhamento
▪Proteção
▪Manutenção
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
12 
Um outro conceito que precisamos ter em mente é o de Sistema de Bancos de Dados 
(SBD), que é a união do banco de dados com o software SGBD. 
Em esquema temos: 
 
Esquema 3 – Sistema de Bancos de Dados (SBD). 
EXEMPLIFICANDO!!! 
Para que você consiga visualizar melhor esses conceitos, tomemos como exemplo uma 
lojinha fictícia: lojinha do aprovado. 
 
Essa lojinha precisa armazenar os dados referentes a seus clientes, seus produtos, suas 
vendas e muito mais. Para isso, ela usará um banco de dados (BD). Vejamos se esse BD 
possui as três características necessárias para ser assim classificado: 
1. Representa um minimundo ou Universo do Discurso? sim! Esse BD representa 
aspectos do mundo real, que são as próprias entidades representadas como os clientes, 
produtos, vendas, etc. 
2. É uma coleção logicamente coerente de dados? sim! Esse BD possui dados que estão 
relacionados ao negócio da lojinha. Não é uma variedade qualquer de dados colocadas em 
um repositório. 
3. Possui uma finalidade específica? sim! esse BD existe para auxiliar o dono da lojinha 
a gerenciar seu negócio. Com o auxílio desse banco, ele poderá consultar informações sobre 
seus produtos, saber sobre suas vendas e realizar outras muitas análises. 
Então, nesse exemplo, fechamos o conceito de Banco de Dados. 
Para gerenciar esse banco de dados, isto é, para criar o banco e suas estruturas, bem como 
para manipular os dados, deve ser usado um Sistema Gerenciador de Banco de Dados 
(SGBD). Existem SGBDS de diversos fornecedores como o Oracle, MySQL, SQL Server, 
PostgreSQL, entre outros. Suponha que foi escolhido o Oracle para gerenciar o banco de 
dados da lojinha, logo o Oracle será o SGBD do nosso exemplo. 
Agora ficou clara a distinção entre BD e SGBD? Espero que sim. 
E o Sistema de Banco de Dados (SBD)? É só o termo conceitual para se referir a união 
do BD da lojinha com o SGBD Oracle. 
BD SGBD SBD
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
13 
1- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral) O conjunto de 
programas responsável pelo gerenciamento de uma base de dados e que, entre outras 
funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface 
para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de 
a) Banco de Dados Relacional (BDR). 
b) Dicionário de Dados (DD). 
c) Modelo Entidade Relacionamento (MER). 
d) Sistema de Suporte à Decisão (SSD). 
e) Sistema Gerenciador de Bancos 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: Letra E. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
14 
1.2 Características dos bancos de dados 
Vale ressaltar que a abordagem de bancos de dados não é a única possível para armazenar 
dados. Outra abordagem comum é a de processamento de arquivos. O uso de uma ou de 
outra irá depender bastante da necessidade e de quais características são desejadas no 
armazenamento e acesso aos dados. 
ESCLARECENDO!!! 
Vamos tratar rapidamente da abordagem de processamento de arquivos. 
Tradicionalmente, o armazenamento de dados era realizado com o uso de arquivos 
(planilhas Excel, arquivos CSV e outros). Essa abordagem é relativamente simples, pois os 
arquivos podem ser facilmente abertos em softwares editores e manipulados. Veja a planilha 
a seguir que ilustra um controle de fluxo de caixa. 
 
No entanto, a abordagem de sistemas de arquivos apresenta uma série de limitações e 
problemas para alguns usos. Vejamos algumas delas: 
1. Dados redundantes: as informações presentes em um arquivo podem precisar ser 
duplicadas em diversos outros arquivos. 
2. Difícil padronização: embora possa existir algum padrão no arquivo, é difícil garantir 
que esse padrão não será alterado. Por exemplo, o usuário pode criar uma coluna nova no 
Excel sem nenhuma restrição. 
3. Dificuldade de controlar múltiplos acessos: é muito difícil controlar os múltiplos 
acessos e as atualizações por parte de diferentes pessoas. 
Existem outros problemas, mas esses três já dão uma boa noção sobre a dificuldade de se 
trabalhar com sistema de arquivos. Não estou dizendo que eles não são úteis, pois essa 
abordagem ainda é bem utilizada para algumas finalidades. No entanto, para usos mais 
complexos e que requerem maiores controles, é mais recomendado usar a abordagem de 
bancos de dados. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
15 
Vejamos as principais características da abordagem 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. Perceba então que um banco de dados não deve conter apenas 
os dados, mas também as descrições das estruturas de armazenamento desses 
dados. Assim, por exemplo, para uma tabela clientes, haverá o armazenamento não 
só dos dados dos clientes, mas também da própria estrutura da tabela (nome, 
colunas, tipos de dados e restrições aplicáveis). 
 
EXEMPLIFICANDO!!! 
As tabelas a seguir representam um trecho da estrutura de um banco de dados. 
 
Podemos verificar quais são as tabelas existentes no banco de dados, quais são as 
colunas das tabelas e quais são os tipos de dados dessas colunas. Logo, perceba que 
a própria estrutura do banco de dados também é armazenada. 
Obviamente que o banco de dados irá armazenar os dados em si. Logo, o banco de 
dados irá armazenar os dados dos alunos (“João”, “Maria”), das disciplinas 
(“Matemática”, “TI”) e das turmas (“A”, “B”). 
 
▪ 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. Para o usuário, não importa 
se uma informação é armazenada de forma A ou B, ele só deseja usar o banco e 
realizar suas operações. 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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
16 
EXEMPLIFICANDO!!! 
A figura a seguir ilustra um sistema de banco de dados. 
 
Perceba que os bancos de dados são representados em separado dos programas que 
os acessam (independência dos dados do programa). Os bancos de dados podem 
estar até mesmo em locais totalmente diferentes dos programas, isto é, em 
servidores diferentes. 
Da mesma forma, os programas aplicativos não estão interessados em como as 
funções de acesso ou manipulação estão implementadas (independência das 
operações do programa). Assim, por exemplo, se um sistema de gestão de recursos 
humanos deseja consultar a base de funcionários para verificar quais funcionários 
possuem dependentes, ele irá chamar a função, sem necessariamente saber como a 
consulta é realizada. 
Isso é abstração. A complexidade ou os detalhes de como as coisas funcionam por 
“debaixo dos panos” não precisam ser conhecidos pelos usuários ou softwares 
aplicativos. Não importa nem mesmo onde ou como os dados são armazenados. 
 
▪ 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. 
EXEMPLIFICANDO!!! 
A figura a seguir ilustra o modelo de suporte a múltiplas visões: 
 
Perceba que um mesmo modelo pode gerar visões diferentes. Vamos supor uma 
tabela de funcionários. Nesse caso, podemos ter uma visão para o setor de RH com 
a apresentação de todos os dados dos funcionários. Já para o setor de projetos, 
também pode ser gerada uma visão, contudo somente com informações específicas 
dos funcionários, não apresentando, por exemplo, seu endereço, CPF e outros dados 
que não são de interesse desse setor. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
17 
▪ 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. 
 
EXEMPLIFICANDO!!! 
A figura a seguir apresenta um acesso compartilhado a um banco de dados. 
 
Perceba que várias máquinas clientes acessam o mesmo banco de dados. Sendo 
assim, é importante controlar esse acesso para que não haja interferência indevida 
nos usos simultâneos. 
 
Além dessas características principais, existem diversas outras. Vamos apresentar a seguir 
uma lista com as características trazidas pelos principais autores. 
 
DICA DO PROFESSOR!!! 
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. 
 
 
 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
18 
Vejamos as principais características da abordagem de banco de dados: 
 
Esquema 4 – Características dos bancos de dados. 
•Natureza de autodescrição dos dados.
•Isolamento entre programas e dados; abstração de dados.
•Suporte a múltiplas visões.
•Compartilhamento de dados e processamento de transação multiusuário.
Elsmari e Navathe 
(quatro principais características dos bancos de dados)
▪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.
Elsmari e Navathe 
(vantagens de usar a abordagem SGBD)
▪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.
Date
(benefícios da abordagem de BD)
▪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.
Sylberchatz, Korth e Sudarshan 
(desvantagens de usar sistema de arquivo)
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
19 
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 adicionalpara oferecer funções de segurança, controle de concorrência, 
recuperação e integridade. 
 
De forma esquemática: 
 
Esquema 5 – Desvantagens da abordagem de SGBD. 
 
 
Custos adicionais
Alto investimento inicial 
em hardware, software e 
treinamento
Generalidade para 
definição e processamento 
de dados 
Esforço adicional para 
funções de segurança, 
concorrência, recuperação e 
integridade
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
20 
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. Dito de outro modo, uma transação é uma unidade lógica 
de trabalho que executa um conjunto de operações em um banco de 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. 
ESCLARECENDO!!! 
Ao falar em unidade lógica estamos nos referindo ao conjunto de operações (consulta, 
inserções, alterações e exclusões) que podem ser realizadas em um banco de dados, isto é, 
uma transação pode conter muitas operações. 
EXEMPLIFICANDO!!! 
Por exemplo, se estamos diante de uma transação de transferência financeira, podemos 
considerar que a transação conterá, simplificadamente, as seguintes operações: 
1. Leitura do saldo na conta de origem. 
2. Alteração do saldo na conta de origem com a redução do valor. 
3. Leitura do saldo da conta de destino. 
4. Alteração do saldo da conta de destino com o aumento do valor. 
Essas 4 operações constituem uma única transação: a de transferência de um valor. 
 
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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
21 
Vamos estudar essas propriedades: 
▪ A atomicidade é a propriedade que garante que 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. 
 
▪ Segundo a 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 (válido) para outro. Um estado consistente do banco de 
dados é aquele que satisfaz todas as suas regras e restrições. A responsabilidade 
pela 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. 
 
▪ De acordo com o 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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
22 
EXEMPLIFICANDO!!! 
Um exemplo clássico de transação é uma transferência de fundos entre duas contas 
correntes. Suponha uma transação T1 que consiste na transferência de R$ 100,00 de uma 
conta corrente X para uma conta corrente Z. Ao final dessa transação, todas as propriedades 
ACID devem ter sido respeitadas: 
Atomicidade: o saldo de X deve ser reduzido em R$ 100,00 e o de Z deve ser aumentado 
em R$ 100,00. Caso ocorra qualquer falha, então os saldos iniciais devem ser retornados. 
Consistência: as restrições devem ser respeitadas. Por exemplo, a transferência não deve 
ser permitida se o saldo de X for menor que R$ 100,00. 
Isolamento: não devemos ter mais de uma transação alterando o saldo das contas 
simultaneamente. 
Suponha uma segunda transação T2 que consiste na transferência de R$ 200,00 de uma 
conta Y para a mesma conta Z. Suponha que as transações T1 e T2 executem em paralelo 
e que os saldos iniciais das contas sejam: 
X = R$ 1000,00; Y = R$ 2000,00; Z = R$ 0,00. 
Vamos supor agora que ocorra o seguinte: 
1. A transação T1 inicia, reduz o saldo de X em R$ 100,00 e aumenta o saldo de Z em R$ 
100,00. Logo, 
X = R$ 900,00; Y = R$ 2000,00; Z = R$ 100,00. 
2. A transação T2 também inicia e transfere R$ 200,00 para Z. Contudo, nesse momento, 
ela irá ler o valor R$ 100,00 na conta Z e, portanto, irá alterar para R$ 300,00. 
X = R$ 900,00; Y = R$ 1800,00 Z = R$ 300,00. 
E qual o problema? Nenhum. 
3. O problema vem agora. Suponha que a transação T1 não foi concretizada, isto é, não foi 
finalizada. Dessa forma, ela deve retroceder ao estado inicial, como se nunca tivesse 
ocorrido. Sendo assim, o saldo de Z não deveria ter os R$ 100,00 adicionados. 
4. Perceba que a transação T2 realizou a leitura de um saldo em Z que não era um saldo 
efetivado (leu R$ 100,00 ao invés de ler R$ 0,00). Logo, realizou uma leitura suja e 
acrescentou os R$ 200,00 nesse saldo. 
5. No fim das contas, se isso fosse permitido, os saldos ficariam inconsistentes. Pois, no 
caso concreto (ROLLBACK de T1 e COMMIT de T2), os saldos deveriam ser: 
X = R$ 1000,00 (sem alteração no saldo, pois a transação T1 foi revertida) 
Y = R$ 1800,00 (a transação T2 foi executada, logo o saldo foi reduzido em R$ 200,00). 
Z = R$ 200,00 (a transação T1 foi revertida, portanto o saldo somente deve sofrer o 
aumento de R$ 200,00 da transação T2 e não dos R$ 100,00 da transação T1). Logo, o valor 
corretoseria R$ 200,00 e não R$ 300,00. 
Durabilidade: após a transferência ser finalizada, os saldos devem ser persistidos até que 
novas transações ocorram. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
23 
Vamos fixar as propriedades das transações com um esquema: 
Esquema 6 – Propriedades das transações. 
2- (FGV - 2018 - AL-RO - Analista Legislativo - Análise e Desenvolvimento de 
Sistemas) No contexto das propriedades desejadas para transações executadas em banco 
de dados relacionais, é possível que, eventualmente, seja permitida ou forçada a leitura de 
dados que foram modificados em operações ainda não confirmadas (comitted). 
Assinale a principal propriedade que é flexibilizada na ocorrência de um dirty read. 
a) Atomicidade. b) Consistência. c) Durabilidade. 
d) Integridade referencial. e) Isolamento. 
Resolução: 
Segundo a propriedade do 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: 
▪ Nível 0: não grava sobre as leituras sujas das transações de nível mais alto. Leitura 
suja (dirty read) ocorre quando a transação lê dados escritos por uma transação 
simultânea não efetivada. 
▪ Nível 1: não tem atualizações perdidas. 
▪ Nível 2: não tem atualizações perdidas ou leituras sujas. 
▪ Nível 3: isolamento verdadeiro, permite leituras repetitivas. 
Gabarito: Letra E. 
A
to
m
ic
id
ad
e
Conceito: 
unidade de 
processamento 
atômica. 
Transação deve 
ser realizada em 
sua totalidade 
ou não deve ser 
realizada de 
forma alguma.
Responsável
Subsistema de 
recuperação.
C
o
n
si
st
ên
ci
a
Conceito: 
transação deve 
levar o banco de 
um estado 
consistente 
para outro. 
Regras e 
restrições 
respeitadas.
Responsável
Programador 
ou módulo de 
restrições de 
integridade.
Is
o
la
m
en
to
Conceito: 
transação deve 
parecer 
executar 
isolada das 
demais.
Não 
interferência 
entre transações 
paralelas.
Responsável
Subsistema de 
controle de 
concorrência.
D
u
ra
b
il
id
ad
e
Conceito: 
mudanças
realizadas 
devem ser 
persistidas no 
banco de 
dados.
Mudanças não 
devem ser 
perdidas por 
falhas 
posteriores.
Responsável
Subsistema de 
recuperação.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
24 
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. Dito de outro modo, o catálogo armazena 
informações sobre os objetos do banco de dados, incluindo os códigos de definições das 
estruturas desses objetos. 
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. 
 
EXEMPLIFICANDO!!! 
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. 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
25 
E para consolidar o entendimento deste tópico, trazemos um esquema!!! 
 
Esquema 7 – Catálogo ou dicionário de dados. 
 
3- (FGV - 2010 - FIOCRUZ - Tecnologista em Saúde - Geoprocessamento) Sobre 
os Metadados, assinale a afirmativa correta. 
a) São um conjunto de informações estruturadas que descrevem os dados (bases) que 
representam, facilitando ao usuário o gerenciamento desses dados. 
b) São o conjunto total de dados que integram um projeto de geoprocessamento. 
c) São dados preliminares que necessitam de averiguação e eventuais correções para, 
posteriormente, serem utilizados. 
d) São o conjunto de dados que já passaram por todas as averiguações e já estão prontos 
para utilização. 
e) São dados que não foram utilizados e são arquivados para futuros trabalhos. 
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. 
Gabarito: Letra A. 
 
Catálogo ou 
dicionário de dados
Metadados ou 
informações de 
descritor
Estrutura de cada 
tipo de arquivo
Tipo
Formato de 
armazenamento
Restrições sobre os 
dados
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
26 
1.5 Projeto de um banco de dados 
 
1.5.1 Modelos de bancos 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: representa 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 modelo 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. 
EXEMPLIFICANDO!!! 
O principal exemplo de modelo conceitual é o Modelo Entidade Relacionamento 
(MER), representado por Diagramas Entidade-Relacionamento (DER). 
Não se preocupe em entendertodos os elementos do diagrama a seguir, mas perceba 
que ele representa de maneira simplificada que dados serão armazenados no banco 
de dados. Podemos, por exemplo, perceber que teremos dados de clientes como 
CodCli, Nome, CNH, Endereço e Telefone. 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
27 
▪ 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 suportadas pelo banco 
escolhido. 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 (ex.: relacional, objeto, etc.). Esse 
modelo é elaborado no Projeto Lógico. 
EXEMPLIFICANDO!!! 
O modelo relacional é um dos principais exemplos de modelos lógicos. Esse modelo 
utiliza as estruturas de relações (ou tabelas) para representar os dados. 
 
 
▪ Modelo físico: estes modelos descrevem o armazenamento dos dados, sendo 
dependentes do SGBD específico (ex.: Oracle, MySQL, etc.). É fundamental para 
o dimensionamento de índices e dados. É neste modelo que será utilizada a 
linguagem para definição dos dados para criar as estruturas físicas como tabelas, 
campos, tipos de dados, restrições, etc. Esse modelo é elaborado no Projeto Físico. 
EXEMPLIFICANDO!!! 
O modelo físico vai descrever o armazenamento físico, incluindo os tipos e tamanho 
de campos, indexação, restrições. 
Note na figura a seguir, que há um detalhamento dos campos. Por exemplo, há 
informação de que o campo nome é do tipo VARCHAR e aceita até 30 caracteres. 
 
 
ATENÇÃO!!! 
Vale destacar que, em relação a dependência de SGBD, algumas questões apenas citam que 
o modelo lógico depende do SGBD, sem deixar claro se está se referindo ao tipo ou a 
ferramenta específica. Essas afirmações genéricas, embora confusas, têm sido consideradas 
corretas. Mas, em regra, temos que: 
Modelo conceitual independe de SGBD. 
Modelo lógico depende do tipo ou classe de SGBD, mas não do SGBD específico. 
Modelo físico depende totalmente do SGBD, isto é, da ferramenta específica. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
28 
 
Esquema 8 – Modelos de bancos de dados. 
 
C
o
n
ce
it
u
al Facilmente comprendido.
Registra os dados.
Independente de
hardware e software 
(SGBD).
Elaborados na 
Modelagem Conceitual.
Ex.: Modelo Entidade 
Relacionamento.
L
ó
g
ic
o Compreensão 
intermediária.
Representação das 
estruturas de BD.
Dependem do tipo de 
SGBD (relacional, 
objetos, etc).
Elaborados no Projeto 
Lógico.
Ex.: Modelo Relacional.
F
ís
ic
o Difícil compreensão.
Descreve o 
armazenamento dos 
dados.
Dependentes do SGBD 
específico (Oracle, 
MySQL, etc.)
Elaborados no Projeto 
Físico.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
29 
1.5.2 Esquema x Instância 
Dois conceitos relacionados a bancos de dados que são, por vezes, cobrados em provas, são 
os conceitos de esquema e instância de banco de dados. Vejamos então como definir cada 
um desses termos: 
Um esquema ou intenção de banco de dados é um esboço de um banco de dados 
planejado, isto é, representa a estrutura do banco, mas sem os dados. Em outra definição, 
é o conjunto de regras que governa um banco de dados. 
Uma instância, estado ou extensão de um banco de dados é uma “fotografia” do seu 
esquema em um dado momento no tempo, isto é, representa os dados que estão 
armazenados em um dado instante. 
Sendo assim, instâncias de banco de dados podem mudar ao longo do tempo, enquanto um 
esquema de banco de dados é geralmente estático, já que mudar a estrutura de um banco de 
dados a partir do momento que estiver operacional é menos comum. 
 
Esquema 9 – Esquema x Instância. 
 
 
Esquema ou intenção
Estrutura do banco, sem os dados
Instância, estado ou extensão
Dados armazenados em um instante
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
30 
1.5.3 Arquitetura de três 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 ou arquitetura ANSI/SPARC 
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. 
 
Vale ressaltar que a maioria dos SGBDs não separa os três níveis de forma completa e 
explícita, mas dá suporte a eles de alguma forma. Além disso, os esquemas são apenas 
descrições dos dados, os dados em si estão apenas no nível físico. 
Outro destaque é que os processos de transformação de requisições e os resultados entre 
os níveis são chamados de mapeamentos. Temos então: 
▪ Mapeamento conceitual/interno: especifica como a estrutura conceitual é 
armazenada fisicamente. 
▪ Mapeamento externo/conceitual: define a correspondência entre uma visão 
particular externa e o esquema conceitual do banco de dados. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
31 
EXEMPLIFICANDO!!! 
Para ajudar na compreensão da diferença entre os níveis, vamos pensar em uma situação 
concreta. Imagine um banco de dados de uma empresa que trabalha com projetos. Esse 
banco de dados irá armazenar todas as informações úteis para auxiliar na gestão da empresa, 
incluindo informações sobre os projetos, funcionários e muitas outras. A empresa possui 
um setor de Gestão de Pessoas e outro de Gestão de Projetos. 
Dito isto, vamos supor que tanto o pessoal da Gestão de Pessoas quanto o pessoal da Gestão 
de Projetos precisem de informações sobre os funcionários, sendo que a primeira precisa 
para questões de controle de pessoal e pagamentos e a segunda para alocação nos projetos. 
Suponha que tenhamos as seguintes informações sobre os funcionários: matrícula, CPF, 
nome, endereço, salário e cargo. Nem todas essas informações podem ou precisam ser 
divulgadas a todos os usuários dos bancos de dados. Por exemplo,o pessoal da Gestão de 
Projetos não precisa saber o CPF, endereço e nem o salário dos funcionários, bastando saber 
as matrículas, nomes e cargos para realizar a alocação nos projetos. Como resolver isso? 
Para resolver essa situação, basta criar dois esquemas de visão distintos: um para o pessoal 
da Gestão de Pessoas, que pode apresentar todas as informações dos funcionários; e outro 
para o pessoal da Gestão de Projetos, apresentando somente a matrícula, nome e cargo. 
Dessa forma, os dois grupos terão visões diferentes sobre os dados. Esse é o nível externo 
ou de visão. A figura a seguir ilustra essa situação: 
 
Já quando temos a representação do banco de dados inteiro, isto é, todas as estruturas que 
compõem o banco de dados, temos o nível conceitual. A seguir, um diagrama 
representando essa situação para um pequeno banco de dados: 
 
No nível interno, há o detalhamento das estruturas de armazenamento. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
32 
 
Esquema 10 – 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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
33 
1.5.4 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 é 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. 
 
Esquema 11 – Independência lógica e física de dados. 
4- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) A capacidade de 
alterar o esquema conceitual, sem que seja necessário alterar os esquemas externos ou os 
programas de aplicação, é denominada 
a) independência lógica de dados. 
b) independência física de dados. 
c) independência interna de dados. 
d) fragmentação de dados. 
e) transparência de dados. 
Resolução: 
Temos dois tipos de independência de dados. A lógica e a física. 
A independência lógica de dados é a capacidade de alterar o esquema conceitual sem 
ter de alterar os esquemas externos ou de programas de aplicação. 
Gabarito: Letra A. 
Independência
Lógica
Capacidade de alterar o esquema
conceitual sem ter de alterar os
esquemas externos ou de programas de
aplicação.
Física
Capacidade de alterar o esquema interno
sem ter de alterar o esquema conceitual
e, por consequência, sem ter que alterar os
esquemas externos.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
34 
1.5.5 Modelo 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. 
 
ESCLARECENDO!!! 
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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
35 
 
Esquema 12 – Modelos de Dados X Arquitetura de três esquemas. 
 
 
 
Modelos de 
dados
Representar os conceitos usados 
para descrever a estruturas dos 
bancos de dados.
Modelo conceitual ou de alto nível
(dados)
Dados
Modelo lógico, representativo ou 
de implementação
Estruturas de banco de dados
Modelo físico
Armazenamento
Arquitetura 
de 3 esquemas
Representar as camadas de 
interação do usuário com o banco 
de dados. 
Nível externo ou de visão
Parte do banco de dados
(geralmente usa modelo lógico 
baseado em modelo conceitual)
Nível conceitual
Banco de dados inteiro
(geralmente usa modelo lógico 
baseado em modelo conceitual)
Nível interno
Estruturas de armazenamento
(usa modelo físico)
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
36 
1.6 Principais modelos de dados (modelos lógicos) 
Os SGBDs são classificados conforme o modelo utilizado, sendo principais modelos: 
▪ Modelo relacional: representa um banco de dados como uma coleção de tabelas 
bidimensionais (linhas x colunas), onde cada tabela pode ser armazenada como um 
arquivo separado. 
EXEMPLIFICANDO!!! 
Veja um trecho de uma tabela do modelo relacional com 4 colunas e 2 linhas. 
 
 
▪ Modelo de objetos: define um banco de dados em termos de objetos, suas 
propriedades e operações. Objetos com a mesma estrutura e comportamento 
pertencem a uma classe. As operações de cada classe são especificadas com 
procedimentos predefinidos, chamados métodos. As classes podem ser organizadas em 
hierarquias (heranças), caso em que uma classe filha (subclasse) herda as propriedades 
e métodos da classe pai (superclasse). Nesse modelo, há o encapsulamento, que é o 
processo de esconder os detalhes de um objeto ou de restringir o acesso direto a alguns 
componentes de um objeto. Podemos ainda citar o polimorfismo,que é a característica 
na qual os mesmos atributos ou métodos podem ser utilizados por objetos distintos e 
com implementações distintas. 
EXEMPLIFICANDO!!! 
A figura a seguir ilustra um trecho de um modelo de objetos: 
 
Nesse modelo, temos 3 classes em uma hierarquia de classes (herança), sendo 
“Veiculo” uma superclasse “Carro” e “Bicicleta” como suas subclasses. Esse modelo 
está representando gêneros de objetos que compartilham as mesmas características. Por 
exemplo, “Carro” é a classe para representar todos os carros. Cada carro em específico 
será um objeto. Logo, um carro Hyundai HB20 de placa XXX é um objeto. 
As propriedades são representadas na parte intermediária da caixinha, em que “marca” 
e “modelo” como propriedades para “Veiculo” e “placa” para “Carro”. Contudo, pela 
herança, as subclasses herdam as propriedades e métodos da superclasse e, portanto, 
tanto “Carro” quanto “Bicicleta” também possuem os atributos “marca” e “modelo”. 
CONTINUA... 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
37 
CONTINUAÇÃO... 
Os métodos ou operações são representados na parte inferior da caixinha. Assim, 
“Veiculo” possui um método “acelerar()”, “Bicicleta” possui um método “acelerar()” e 
“Carro” possui os métodos “ligar()”, “desligar()” e “acelerar()”. Essas são as assinaturas 
dos métodos. Dentro do método, vai seu corpo que é a implementação, isto é, o código 
que declara o comportamento que deverá ser realizado. 
Observe que o método “acelerar()” está presente nas três classes. Isso é um exemplo de 
polimorfismo, pois a implementação desses métodos pode ser diferente em cada classe, 
ainda que a assinatura do método seja a mesma. A aceleração de um carro é diferente da 
de uma bicicleta, certo? Então, a aplicação poderá simplesmente invocar o método 
“acelerar()” e, a depender do objeto que receber a solicitação, ele irá acionar uma 
implementação diferente: no carro serão acionados todos os procedimentos mecânicos 
e/ou elétricos necessários; na bicicleta, é força nas pernas. 
Só pra fechar o nosso entendimento dos conceitos relacionados ao modelo de objetos, 
suponha que uma aplicação deseje acessar a placa de um “Carro”. De acordo com o 
encapsulamento, essa aplicação não poderá fazer isso diretamente. Então, deverá 
existir um método que permita esse acesso (ex.: obterPlaca()). Assim, a aplicação irá 
chamar esse método as invés de simplesmente tentar acessar “placa” diretamente. Por 
que isso é importante? Porque podem ser feitas verificações e tratamentos nesse método 
para garantir a consistência das informações e a segurança nos dados. 
 
▪ Modelo objeto-relacional: os SGBDs relacionais têm estendido seus modelos para 
incorporar conceitos de bancos de dados de objeto e outras funcionalidades. 
EXEMPLIFICANDO!!! 
A figura a seguir ilustra um trecho de um modelo objeto-relacional: 
 
Perceba que há tanto uma tabela do modelo relacional (Tabela Conta), quanto uma 
classe do modelo de objetos (Classe Conta), com o devido mapeamento entre elas. 
Nesse caso, as informações da conta são armazenadas na Tabela Conta no banco de 
dados, mas a manipulação no programa é feita por meio das classes e objetos. 
Suponha que eu queria cadastrar uma conta, então eu vou acessar o aplicativo, vou 
preencher as informações da conta, estas serão manipuladas pelos objetos e, quando, eu 
finalizar o cadastro, essas informações serão armazenadas no banco de dados. Essa 
comunicação objeto-tabela é realizada pelo programa com auxílio de frameworks de 
mapeamento objeto-relacional. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
38 
▪ 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 (etiquetas), os dados podem ser 
aninhados para criar estruturas hierárquicas complexas. 
EXEMPLIFICANDO!!! 
A trecho de código a seguir ilustra um arquivo XML: 
 
Perceba o uso de estruturas hierárquicas com o uso de tags. <receita> é a tag raiz e 
possui como “filhas” as tags <titulo>, <ingredientes> e <instrucoes>. Cada uma dessas 
tags representa um elemento do modelo. 
 
▪ 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. 
EXEMPLIFICANDO!!! 
A figura a seguir ilustra um modelo em rede, relacionando departamentos aos seus 
empregados. 
 
Note que cada “Departamento” pode se relacionar com vários “Empregados”, mas cada 
“Empregado” só está ligado a um “Departamento”. Por isso, temos uma relação do tipo 
um-para-muitos (1:N). 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
39 
▪ Modelo hierárquico: representa os dados como estruturas de árvore hierárquicas. 
Cada hierarquia simboliza uma série de registros relacionados em uma estrutura de 
“pais” e “filhos”. O registro principal é chamado de raiz (root). Cada registro tem um 
único “pai”, mas pode ter vários “filhos”. Um registro que não seja “pai” em nenhum 
relacionamento é denominado “folha” (leaf). Não existe uma linguagem padrão para 
o modelo hierárquico, mas uma linguagem hierárquica popular é a DL/1, que foi um 
padrão de fato na indústria por muito tempo. 
EXEMPLIFICANDO!!! 
Veja um modelo hierárquico a seguir: 
 
Nesse modelo, temos uma estrutura hierárquica, cujo elemento raiz (root) é “VOO”. 
“CIDADE”, “RESERVA” e “CLIENTE” são folhas, pois não são “pais” de nenhum 
elemento. Note que nenhum elemento é “filho” de dois “pais”, mas um mesmo elemento 
pode ser “pai” de mais de um “filho”. 
 
O esquema a seguir resume os principais modelos de dados: 
 
Esquema 13 – Modelos de dados (modelos lógicos). 
 
 
 
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 de "pais" e 
"filhos".
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
40 
 
2. 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. 
o As restrições de integridade são usadas para garantir a exatidão e a 
consistência dos dados em um banco de dados relacional, isto é, garantir 
que dados representem assertivamente a realidade modelada. As 
restrições de integridade fornecem a garantia de que mudanças feitas 
no banco de dados por usuários autorizados não resultem em perda da 
consistência dos dados. Assim, as regras de integridade protegem o 
banco de dados de danos acidentais. 
▪ 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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
41 
EXEMPLIFICANDO!!! 
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 cliente Nome do cliente CPF Endereço 
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. 
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. Uma relvar (variável relacional) é um conjunto de pares ordenados de 
domínio e nome que serve como um cabeçalho para uma relação. 
▪ Um operador de atribuição relacional para atribuição de valores de relações a essas 
RelVars. 
▪ 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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
42 
Muita informação??? Não se preocupe, veja um esquema para facilitar sua vida! 
 
Esquema 14 – Modelo relacional: conceitos básicos. 
 
 
 
Modelo 
Relacional
Conceitos
Conjuntos de relações ou tabelas que representam
dados e relacionamentos.
Relação matemática é o bloco de montagem básico.
Base teórica reside na teoria de conjunto e lógica de
predicado de primeira ordem.
Princípio da Informação
Todo o conteúdo de informação do banco de dados é
representado como valores explícitos em posições
de colunas em linhas de tabelas.
Aspectos de descrição
Aspecto estrutural: 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
derivam tabelas a partir de outras tabelas.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
43 
2.2 Doze (Treze) Regras de Codd para Bancos 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 e usadas para definir o que é 
necessário para que um sistema de gerenciamento de banco de dados para ser 
considerado relacional. 
 
DICA DO PROFESSOR!!! 
Pessoal, as questões sobre esse tema são bem literais. Logo, sugiro que não se preocupe em 
entender essas regras profundamente. Basta ter uma noção de que elas existem e de como 
funcionam. Algumas questões as cobram de maneira indireta, sem citar que são as regras 
de Codd, mas que você consegue resolver facilmente se tiver noção dessas regras. 
 
Vejamos essas regras: 
▪ Regra 0 - Regra fundamental ou regra base: um SGBD relacional deve gerenciar 
seus dados usando exclusivamente capacidades relacionais, isto é, não devem ter 
extensões para tratar conceitos e estruturas de outros modelos de dados. 
 
▪ 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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
44 
▪ 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. 
 
▪ 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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
45 
Em resumo, as regras são: 
 
Esquema 15 – Doze (treze) regras de Codd para os bancos de dados relacionais. 
 
5- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral) Em um banco 
de dados relacional, um nome da tabela, uma chave primária e um nome de coluna garantem 
o acesso a 
a) um dado. 
b) um SGBD. 
c) uma linguagem de consulta. 
d) uma partição. 
e) uma visão. 
Resolução: 
Uma das doze (treze) regras de Codd para um banco relacional é a regra do acesso 
garantido, segundo a qual 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. Esses valores nada mais são que os dados armazenados nos bancos de 
dados. 
Gabarito: Letra A. 
 
D
o
ze
 (
tr
ez
e)
 r
eg
ra
s 
d
e 
C
o
d
d
 p
ar
a 
B
an
co
s 
R
el
ac
io
n
ai
s Regra 0 - Regra fundamental ou regra base
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
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
46 
2.3 Tabelas 
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 ou registro) 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. 
Uma tabela é organizada em colunas (atributos ou campos), que servem para ajudar a 
interpretar o significado dos valores em cada linha. 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. 
 
EXEMPLIFICANDO!!! 
A tabela “Clientes” representa os dados referentes aos clientes de uma loja fictícia. “Clientes” 
é um nome único para esta tabela. 
Código do 
cliente 
Nome do cliente CPF Endereço 
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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
47 
 
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 C.J. 
Date considera que a tupla é um conjunto, também não importando os 
valores). 
Em resumo, 
o A ordem das linhas não é relevante. 
o A 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. 
 
Tabela (relação) – representa dados e relacionamentos. 
Coluna (atributo ou campo) - ajuda a 
interpretar o significado dos valores 
das linhas. 
Linha (tupla ou registro) - 
coleção de valores de dados 
relacionados. 
Grau (aridade) - número 
de colunas de uma 
relação. 
Domínio - tipo de dado que descreve 
os tipos de valores que podem 
aparecer em cada coluna. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
48 
ATENÇÃO!!! 
Sobre a questão da ordenação das colunas, temos uma polêmica. Quanto a ordenação das 
linhas, está tudo tranquilo, pois não há preocupação com a ordem. Contudo,quando estamos 
tratando das colunas, temos duas possibilidades: 
▪ Para a maioria dos autores, uma tupla é uma lista ordenada de valores, logo a ordem 
dos valores é importante. 
▪ C.J. Date, contudo, diverge desse raciocínio ao definir uma tupla como um conjunto 
de valores. Sendo assim, a ordem dos valores também não é importante. 
E agora professor, o que faço? Primeiro vamos entender a visão geral da importância da 
ordenação das colunas. 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. 
Logo, percebemos que a ordem é importante, pois precisamos segui-la ou declará-la. Esse 
seria o raciocínio para levar para a prova. Contudo, se a questão cobrar a visão do Date e 
não tiver outra opção mais correta ou menos errada, então marque a que afirma que a ordem 
das colunas não importa. 
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. (Quanto às linhas não há dúvida, a ordem não importa). 
(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. (Visão da maioria dos autores sobre a ordenação das colunas ser 
relevante) 
(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. (Visão de Date, dando como errada a importância da ordenação) 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
49 
2.4 Operações com relações (álgebra relacional) 
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. 
EXEMPLIFICANDO!!! 
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. 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
50 
❖ Projeção (П): seleciona os atributos especificados de todas as linhas da relação 
de entrada, removendo as tuplas duplicadas da saída. 
EXEMPLIFICANDO!!! 
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. 
EXEMPLIFICANDO!!! 
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. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
51 
❖ 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. 
EXEMPLIFICANDO!!! 
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 Fernandes 5.519,61 Auditor de Contas Públicas 13.002,03 
251218 Maria Concursada Fernandes 5.519,61 Agente de Documentação 5.519,61 
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 Agentede 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. 
EXEMPLIFICANDO!!! 
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 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
52 
❖ 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. 
EXEMPLIFICANDO!!! 
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 
 
ATENÇÃO!!! 
Dentre essas operações, vale ressaltar que são consideradas primitivas, as operações de 
seleção, projeção, produto cartesiano, união e diferença. 
 
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. (PRIMITIVA) 
Projeção (П) Retorna os atributos especificados de todas as linhas da relação de entrada, 
removendo as tuplas duplicadas da saída. (PRIMITIVA) 
Junção ( ) Retorna pares de linhas das duas relações de entrada que têm o mesmo valor 
em todos os atributos que possuem o mesmo nome. 
Produto cartesiano 
(X) 
Retorna todos os pares de linhas das duas relações de entrada 
(independentemente de ter ou não os mesmos valores em atributos comuns). 
(PRIMITIVA) 
União (Ս) Retorna as tuplas que estão na primeira relação, na segunda relação, ou em 
ambas. (PRIMITIVA) 
Intersecção (Ո) Retorna as tuplas que aparecem tanto na primeira relação quanto na segunda. 
Diferença (-) Retorna tuplas que aparecem na primeira relação, mas não estão na segunda. 
(PRIMITIVA) 
Esquema 17 – Operações com relações (álgebra relacional). 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
53 
6- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de 
Banco de dados) No contexto da otimização de consultas para bancos de dados, a Álgebra 
Relacional tem um papel importante, especialmente na construção das query trees para a 
representação de planos de execução. As operações primitivas da AR são definidas como as 
operações que não podem ser expressas por meio das demais operações. Assinale a opção 
que apresenta a lista que contém as cinco operações primitivas da AR. 
a) Diferença, divisão, projeção, seleção e união. 
b) Diferença, produto, projeção, seleção e união. 
c) Interseção, produto, projeção, seleção e união. 
d) Divisão, interseção, junção, seleção e união. 
e) Junção, produto, projeção, seleção e união. 
Resolução: 
As cinco operações primitivas da álgebra relacional são: 
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado. 
Projeção (П) Retorna os atributos especificados de todas as linhas da relação de entrada, 
removendo as tuplas duplicadas da saída. 
Produto cartesiano 
(X) 
Retorna todos os pares de linhas das duas relações de entrada 
(independentemente de ter ou não os mesmos valores em atributos comuns). 
União (Ս) Retorna as tuplas que estão na primeira relação, na segunda relação, ou em 
ambas. 
Diferença (-) Retorna tuplas que aparecem na primeira relação, mas não estão na segunda. 
Gabarito: Letra B. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
54 
2.5 Visões (views) 
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 predefinida 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. Por isso, em 
regra, as visões são não atualizáveis. 
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. Em regra, essas visões são atualizáveis. 
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 umesquema! 
 
Esquema 18 – Visão (view). 
• Tabela derivada de outras tabelas (tabelas base ou outras visões).
• Maneira alternativa de visualização dos dados de uma ou mais tabelas.
• Consulta pré-definida ou armazenada.
• Tabela virtual: não necessariamente existe em forma física.
• Em regra, não atualizáveis.
Visão (view)
• Visão armazenada.
• Em regra, atualizáveis.
Visão materializada (materialized view).
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
55 
ESCLARECENDO!!! 
Como uma View pode aumentar a velocidade de acesso às 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. 
 
EXEMPLIFICANDO!!! 
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 
Perceba que essa tabela informa o salário dos servidores. Suponha que o pessoal do setor 
de comunicação desse órgão utilize informações básicas sobre os servidores. Se, por algum 
motivo, não for interessante que o pessoal desse setor possua acesso ao salário, pode então 
ser criada uma visão somente com as informações do interesse desse grupo de usuários. 
Dessa forma, pode ser criada uma visão (view) que apresenta somente a matrícula e nome 
dos funcionários. A partir daí, o acesso a esta visão pode ser fornecido ao pessoal da 
comunicação e a o acesso direto a tabela Servidor pode ser retirado. 
O fato é que agora, o pessoal da comunicação pode ter acesso à visão ao invés da tabela, 
somente visualizando as informações que necessitam. Ao selecionar essa visão, será 
apresentado: 
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 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
56 
7- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) O conceito de 
visão é muito útil e empregado na implementação de banco de dados. 
O emprego do conceito visão tem as seguintes finalidades ou vantagens: 
a) ocultar dados e fornecer o controle de redundâncias. 
b) ocultar dados e fornecer independência de dados lógica. 
c) fornecer controle de redundância e a restrição de integridade. 
d) fornecer controle de redundância e independência de dados lógica. 
e) fornecer a restrição de integridade e independência de dados lógica. 
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. Tecnicamente, uma visão é uma consulta predefinida 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. 
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. (vantagem descrita no item b) 
❖ Simplificar o gerenciamento de permissões de usuários. 
❖ Organizar dados a serem exportados para outros aplicativos. 
Gabarito: Letra B. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
57 
2.6 Índice (index) 
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. 
 
▪ 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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
58 
▪ 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 administrador de 
banco de dados 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. 
APROFUNDANDO!!! 
Vamos entender como funciona uma consulta em uma tabela sem e com o uso de índice: 
Quando temos uma tabela e executamos uma consulta sobre ela (operação SELECT em 
SQL), o SGBD chama a ação “TABLE SCAN”. Essa ação consiste em percorrer toda a 
tabela, avaliando cada registro. Caso o registro atenda às condições definidas no filtro, ele 
é incluído no conjunto de retorno, senão, é apenas desconsiderado. 
A figura a seguir ilustra uma pesquisa desse tipo, filtrando pelo campo “Codigo”, onde seu 
valor seja “3”. 
 
Imagina realizar essa busca em uma tabela com milhares ou milhões de linhas, será muito 
dispendioso! 
Para melhorar essas consultas, utilizamos ÍNDICES, objetos do banco de dados que 
facilitam a organização e consulta de uma tabela, “indexando-a” por uma de suas colunas. 
Quando criamos um índice em uma coluna, o gerenciador do banco ordena a tabela por essa 
coluna e a partir de então os filtros (sobre essa coluna) são feitos através de uma busca 
binária. 
Na busca binária, a tabela sofre divisões sucessivas até que o registro desejado seja 
localizado. Inicialmente a tabela é “dividida” na metade, onde os registros com os menores 
valores no campo indexado ficam na parte superior, e os registros com os maiores valores 
ficam na parte inferior. O gerenciador verifica então em que parte está contido o valor 
pesquisado, se na primeira metade ou na segunda. Isso é facilmente feito comparando o 
valor pesquisado com o do registro intermediário. Se o valor pesquisado for maior que o do 
registro intermediário, o registro desejado encontra-se na segunda metade, caso contrário, 
encontra-se na primeira metade. 
CONTINUA... 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
59 
CONTINUAÇÃO... 
Na figura a seguir temos uma ilustração desse processo: 
 
Por exemplo, se pesquisássemos pelo registro de Codigo = 3, seria avaliado se esse valor é 
maior ou menor que 5. Como o valor é menor, indica que o registro procurado se encontra 
na primeira metade. 
Em seguida, o processo é repetido apenas na metade em que se encontra o registro 
pesquisado, dividindo-a na metade e avaliando novamente em que parte se encontra o que 
se deseja. 
Note que na operação sem o índice, todos os registros seriam lidos e com a utilização de 
índices, na primeira divisão já se descarta metade dos registros da tabela. É aí onde está o 
segredo da otimização e da agilidade na consulta. 
 
Para fixar o que é o índice!!! 
 
Esquema 19 – Índices. 
 
 
 
 
Ín
d
ic
e
Estrutura de acesso auxiliar.
Utilizados para agilizar a recuperação de registros 
Oferecem caminhos de acesso secundários
Uso de ponteiros para a localização dos dados.
Não devem ser criados de maneira ilimitada e sem cuidados.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
60 
2.7 Chaves 
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. 
ESCLARECENDO!!! 
Pessoal, chamo a atenção para o fato de que todos esses conceitos de chaves que foram 
apresentados possuem a propriedade em comum de distinguir as tuplas de uma tabela. 
Sendo assim, se a questão fizer a seguinte afirmação: 
Uma _________ é um atributo ou conjunto de atributos que permite identificar uma tupla. 
O espaço pode ser preenchido por superchave, chave, chave primária, chave candidata, 
chave secundária ou chave única. Em qualquer das hipóteses, essa afirmação será correta. 
Elas diferem por outras características e não pela capacidade de distinguir uma tupla. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
61 
EXEMPLIFICANDO!!! 
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 chave estrangeira (ou externa) é 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. Logo, é através 
da chave estrangeira que é feita a associação entre as tabelas. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
62 
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. 
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. 
EXEMPLIFICANDO!!! 
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!!! 
 
Esquema 20 – Chaves. 
 
 
C
h
a
v
e
 c
a
n
d
id
a
ta
 
Superchave 
Conjunto de um ou 
mais atributos que, 
coletivamente, permitem 
identificar de forma 
exclusiva uma tupla. 
Chave 
Superchave com a 
propriedade adicional de 
que a remoção de 
qualquer dos atributos 
a faz deixar de ser 
chave. 
Chave primária 
Chave candidata que 
é escolhida pelo 
designer de banco de 
dados como o principal 
meio de identificar 
tuplas. 
Cada uma das chaves 
possíveis em uma 
relação. 
 Chave estrangeira 
Atributo (s) que são chave 
primária ou candidata de 
outra relação. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
63 
ATENÇÃO!!! 
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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
64 
8- (FGV - 2017 - SEPOG - RO - Analista em Tecnologia da Informação e 
Comunicação) A figura a seguir mostra a estrutura das tabelas Produto, Venda e Cliente 
pertencentes a um banco de dados de uma empresa comercial. 
 
A tabela Venda contém um registro para cada venda efetuada pela companhia. A fim de 
preservar a integridade referencial do banco de dados, assinale a opção que indica a coluna 
ou colunas dessa tabela que deveria(m) ser chaves estrangeiras. 
a) id_produto. 
b) imposto e quantidade. 
c) quantidade. 
d) id_produto e quantidade. 
e) id_cliente e id_produto. 
Resolução: 
A chave estrangeira de uma tabela é um atributo ou conjunto de atributos que se ligam 
logicamente à chave primária (ou candidata) de outra tabela. 
Sendo assim, a tabela Vendas possui duas chaves estrangeiras: 
id_cliente que a associa com a tabela Cliente. 
id_produto que a associa com a tabela Produto. 
Gabarito: Letra E. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
65 
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 achave 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. 
 
EXEMPLIFICANDO!!! 
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. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
66 
❖ 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. 
 
EXEMPLIFICANDO!!! 
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. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
67 
❖ 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. 
 
EXEMPLIFICANDO!!! 
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. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
68 
Vamos fixar os tipos e características dos relacionamentos com um esquema!!! 
 
Esquema 21 – Relacionamentos. 
 
 
 
 
 
R
e
la
c
io
n
a
m
e
n
to
s
(a
ss
o
c
ia
ç
ã
o
 e
n
tr
e
 a
s 
ta
b
e
la
s)
(e
x
is
te
m
 a
p
en
as
 l
o
g
ic
am
en
te
, m
a
s 
n
ã
o
 f
is
ic
a
m
e
n
te
)
Um para Um 
(1:1)
Cada elemento de uma tabela se relaciona 
a um único elemento de outra tabela.
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.
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. 
Em bancos relacionais, a tabela do lado N 
da relação possui a chave estrangeira.
Muitos para 
Muitos
(N:M)
Para cada valor do campo de uma tabela, 
pode haver N valores no campo da outra 
tabela e vice-versa. 
Os dados estão diretamente relacionados 
ao fato (ou ao relacionamento), e não as 
entidades (ou tabelas).
Em bancos relacionais, esta relação consuma-
se através de uma tabela de ligação que 
pode possuir atributos próprios.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
69 
9- (FGV - 2018 - Prefeitura de Niterói - RJ - Analista de Políticas Públicas e 
Gestão Governamental - Gestão de Tecnologia) Considere duas tabelas: T1, com 
atributos A e B, e T2, com atributos C e D. Nas duas tabelas as chaves primárias foram 
definidas pelos atributos A e C, respectivamente. Não há outras chaves nessas tabelas além 
das chaves primárias. 
Na tabela T2, o atributo D é uma chave estrangeira que referencia a tabela T1. Não há 
outras chaves estrangeiras nessas tabelas. As tabelas T1 e T2 estão perfeitamente 
normalizadas. 
Sabe-se que agora deve haver um relacionamento 1:1 entre essas duas tabelas. 
Assinale a opção que apresenta a providência necessária para que esse requisito seja 
atendido, de forma que o grau de normalização da tabela seja mantido. 
a) Criar uma terceira tabela, com atributos A e C como chaves estrangeiras para T1 e T2, 
sem alterar T1 e T2. 
b) Definir o atributo B como unique em T1. 
c) Alterar T2, definindo o atributo D como chave primária no lugar de C. 
d) Definir o atributo D como unique em T2. 
e) Incluir o atributo D na chave primária de T2. 
Resolução: 
Vamos analisar as tabelas construídas: 
T1 possui os atributos A e B, sendo A sua chave primária. Logo T1 {A, B}. 
T2 possui os atributos C e D, sendo A sua chave primária. Logo T2 {C, D}. 
Como o atributo D de T2 referencia a tabela T1, logo irá referenciar A que é a chave desta 
tabela. 
A grande questão é que se deseja um relacionamento 1:1 entre essas tabelas. Por isso, é 
necessário garantir que não haverá valores iguais para o atributo D em mais de um registro 
da tabela T2. Para isso, é possível definir o atributo D como único (UNIQUE). 
Se o atributo D permitisse a repetição, não haveria nenhum problema lógico no modelo, 
mas não se implementaria um relacionamento 1:1, mas sim 1:N. 
Suponha uma tabela T1, com os seguintes valores {(1, 10), (2, 20), (3, 30)}. E uma tabela 
T2 com os valores {(11, 1), (12, 2), (13, 3)}. Nesse caso, cada registro da tabela T2 só estaria 
relacionado a um único registro da tabela T1 e, portanto, relacionamento 1:1. Por sua vez, 
se existissem dois registros em T2 com valores iguais para D como em {(11, 1), (12, 2), (13, 
2)}, teríamosum relacionamento 1:N, pois neste exemplo, os registros 12 e 13 da tabela t2 
estariam sendo associados a um único registro da tabela T1 (aquele de chave 2). 
Gabarito: Letra D. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
70 
2.9 Normalização 
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. 
 
2.9.1 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. 
Uma das consequências de um modelo não estar na 1FN é a existência de tabelas 
aninhadas. Como uma tabela que não está na 1FN pode conter atributos compostos e 
multivalorados, então esses atributos podem ser considerados verdadeiras tabelas dentro 
da tabela principal. Por exemplo, um atributo composto endereço formado por cidade, 
bairro, rua, número e cep pode ser facilmente compreendido como uma tabela aninhada 
formada por vários atributos atômicos. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
71 
EXEMPLIFICANDO!!! 
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. 
 
Um conceito relevante para o entendimento das próximas formas normais é o de 
dependência funcional, que é um relacionamento entre dois ou mais atributos de forma 
que o valor de um atributo identifique o valor para cada um dos outros atributos, ou seja, 
um atributo está relacionado a outro. A dependência funcional pode ser ilustrada por →. 
Assim, em A → B, temos que “A determina B” ou “B é dependente (funcionalmente) de 
A”, isto é, o valor de B pode ser descoberto sabendo o valor de A. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
72 
2.9.2 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. 
EXEMPLIFICANDO!!! 
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). 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
73 
2.9.3 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. 
 
EXEMPLIFICANDO!!! 
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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
74 
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. 
 
2.9.4 Forma Normal de Boyce-Codd (FNBC) 
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. 
 
EXEMPLIFICANDO!!! 
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 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
75 
2.9.5 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. 
 
EXEMPLIFICANDO!!! 
Vamos ver o seguinte exemplo de passagem para quarta forma normal. Veja a tabela 
Revendas a seguir preenchida com dados de representantes, clientes e produtos: 
 
Conforme a figura acima, temos uma tabela relacionando representante, cliente e produto. 
Um representante pode vender para vários clientes e vários produtos. Isso gera uma 
grande redundância nas informações. Para evitar essa repetição de informações, devemos 
dividir a tabela: 
 
Agora, não há dependências entre conjuntos de atributos. Logo, as duas tabelas estão na 
quarta forma normal. 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
76 
2.9.6 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. 
 
EXEMPLIFICANDO!!! 
Suponha que houve uma divisão de uma tabela em duas tabelas menores, da seguinte forma: 
 
Se, por algum motivo, eu tiver que reconstruir a tabela Revendas sem ter todos os seus 
dados, isso não será possível somente com os dados das tabelas menores, pois não há 
representação de que vendas foram realizados a que clientes. Logo, há uma dependência de 
junção. 
Para resolver esse problema, eu preciso de uma terceira tabela para conseguir reconstruir 
a tabela maior. Assim, eu precisarei de uma tabela auxiliar que me apresente que produtos 
foram vendidos a que clientes. 
 
Agora sim, como base nessas três tabelas menores, eu consigo reconstruir a tabela maior. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
77 
2.9.7 Identificando as formas normais 
Pessoal, muitas são as questões literais acerca das características das formas normais. 
Contudo, algumas questões pedem para que você identifique a forma normal de uma tabela. 
Para auxiliar nesse processo, vou apresentar a seguir alguns exemplos de como realizar 
essa identificação. 
 
EXEMPLIFICANDO!!! 
Dada a tabela a seguir e sabendo que sua chave primária é composta por OAB_Advogado e 
ID_Cliente, vamos avaliar sua forma normal: 
 
Para avaliar em que forma normal essa tabela está, vamos analisar uma a uma das formas 
normais, isto é, da primeira à quinta para verificar se ela descumpre alguma. Se ela 
descumprir uma específica, então, a tabela está na forma normal imediatamente anterior. 
Vamos lá então: 
1ª Forma Normal: a tabela possui somente atributos atômicos, isto é, não possui nenhum 
atributo multivalorado ou composto. Logo, está na 1FN. 
2ª Forma Normal: dada a chave composta {OAB_Advogado, ID_Cliente}, nenhum dos 
atributos não chave depende de apenas parte dessa chave, isto é, não há dependência parcial. 
O valor da causa, o percentual de honorário e o valor total do honorário dependem de ambos 
os atributos da chave, não sendo relacionado a somente um deles. Isto é, eles não são 
atributos que dependem apenas do advogado e nem apenas do cliente, mas da junção desses 
dois em um processo. 
3ª Forma Normal: o fato de possuir um campo de cálculo fere a 3FN, pois teremos a 
existência de um atributo que não depende exclusivamente da chave primária da tabela. 
Nesse caso, Valor_Total_Honorário depende dos atributos Valor_da_Causa e 
Percentual_do_Honorário, que não são chaves. 
Dessa forma, ficamos com, no máximo, a Segunda Forma Normal para esta relação. 
 
 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
78 
 
EXEMPLIFICANDO!!! 
Dada a tabela a seguir e sabendo que sua chave primária é composta por Aluno e Disciplina, 
vamos avaliar sua forma normal: 
 
Vamos analisar cada uma das formas normais: 
1ª Forma Normal: a tabela possui somente atributos atômicos, isto é, não possui nenhum 
atributo multivalorado ou composto. Logo, está na 1FN. 
2ª Forma Normal: somente existe um atributo não chave: o atributo Professor. Este 
atributo depende de todos os atributos da chave, isto é, de Aluno e de Disciplina. Logo, eu 
não tenho dependência parcial e, portanto, a tabela está na 2FN. 
3ª Forma Normal: se eu só tenho um atributo não chave, não é possível ter uma 
dependência transitiva. O atributo Professor depende diretamente da chave {Aluno, 
Disciplina}. Logo, a tabela está na 3FN. 
FNBC: todo determinante deve ser chave, então vejamos quem são os determinantes da 
tabela: 
{Aluno, Disciplina} -> Professor 
Professor -> Disciplina. 
Logo, há um determinante que não é chave da tabela, pois Professor determina a Disciplina. 
Logo, esta tabela não está na FNBC. 
Dessa forma, ficamos com, no máximo, a Terceira Forma Normal para esta relação. 
 
 
EXEMPLIFICANDO!!! 
A tabela a seguir não está nem na primeira forma normal, pois possui atributos compostos 
e multivalorados. Observe-a: 
 
Perceba que “Telefone” é multivalorado, pois aceita mais de um valor. Além disso, Endereço 
é composto, sendo claramente representando como um conjunto de vários componentes 
menores (Rua, número, cidadee CEP). 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
79 
2.9.8 Resumo das formas normais 
 
Esquema 22 – Formas normais. 
10- (FGV - 2021 - IMBEL - Supervisor - Tecnologia de Informação) Na teoria de 
projetos de bancos de dados, o processo de normalização de uma tabela é feito a partir da 
identificação 
a) das chaves estrangeiras. 
b) das dependências funcionais. 
c) das junções que serão necessárias. 
d) dos tipos de dados em cada coluna. 
e) dos relacionamentos entre as tabelas. 
Resolução: 
Um conceito relevante para o entendimento formas normais é o de dependência funcional, 
que é um relacionamento entre dois ou mais atributos de forma que o valor de um atributo 
identifique o valor para cada um dos outros atributos, ou seja, um atributo está relacionado 
a outro. A dependência funcional pode ser ilustrada por →. Assim, em A → B, temos que 
“A determina B” ou “B é dependente (funcionalmente) de A”, isto é, o valor de B pode 
ser descoberto sabendo o valor de A. 
Gabarito: Letra B. 
•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)
•Cada atributo não-chave não pode ser dependente de apenas parte da chave.
2FN
•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave 
candidata. 
•Todos os atributos dependem exclusivamente da chave primária da tabela.
3FN
•Está na 3FN (variação forte da 3FN).
•Todo determinante é chave candidata.
•Não há dependências entre atributos não chave.
FNBC
•Está na 3FN.
•Não possui dependência multivalorada.
4FN
•Está na 4FN.
•Não possui dependência de junção.
5FN
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
80 
11- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Uma empresa possui informações sobre suas vendas em uma tabela, contendo 
as seguintes colunas: 
cliente, vendedor, produto 
Para cada produto, cada cliente tem contato apenas com um vendedor. Cada vendedor 
vende apenas um produto. Um produto pode ser vendido por vários vendedores. 
A chave primária é o conjunto (cliente, vendedor). Em termos de normalização de dados, e 
considerando-se a maior normalização possível, é correto dizer que essa tabela encontra-se 
na: 
a) primeira forma normal; 
b) segunda forma normal; 
c) terceira forma normal; 
d) forma normal de Boyce-Codd; 
e) quarta forma normal. 
Resolução: 
Vamos analisar as formas normais para esta tabela: 
1ª Forma Normal: a tabela não possui atributos compostos ou multivalorados. Ao menos, 
não nos foi informado isso. 
2ª Forma Normal: a chave primária é formada pelos atributos cliente e vendedor, contudo 
produto depende apenas de vendedor. Sendo, assim temos uma dependência parcial e, logo, 
a tabela não se encontra na 2FN. 
Gabarito: Letra A. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
81 
2.9.9 TEMA AVANÇADO: análise de dependências e formas normais 
Pessoal, um tema um pouco menos comum em provas, mas que é abordado vez por outra é 
o de análise de dependências funcionais, bem como a repercussão dessa análise na definição 
de uma forma normal. 
 
DICA DO PROFESSOR!!! 
A Fundação Getúlio Vargas é, principalmente, a banca que costuma trazer questões sobre 
esses temas. Sendo assim, vou trazer uma discussão sobre isso, mas se você não estiver 
estudando para concurso dessa banca, sugiro deixar esse tópico de lado. 
 
Uma dependência funcional é um relacionamento entre dois ou mais atributos de forma 
que o valor de um atributo identifique o valor para cada um dos outros atributos, ou seja, 
um atributo está relacionado a outro. A dependência funcional pode ser ilustrada por →. 
Assim, em A → B, temos que “A determina B” ou “B é dependente (funcionalmente) de 
A”, isto é, o valor de B pode ser descoberto sabendo o valor de A. 
 
EXEMPLIFICANDO!!! 
Em uma tabela com os atributos CPF, nome e salário, temos as seguintes dependências 
funcionais: 
CPF → nome; (a partir do CPF podemos facilmente descobrir o nome). 
CPF → salário; (a partir do CPF podemos facilmente descobrir o salário). 
CPF → nome, salário; (a partir do CPF podemos facilmente descobrir o nome e o salário). 
Por outro lado: 
salario → nome não é uma dependência válida. (não podemos descobrir o nome apenas com 
o valor do salário, pois inclusive podemos ter vários nomes para um mesmo salário). 
 
 
Sabendo-se o que é uma dependência funcional, temos que saber como identificar suas 
influências nas principais formas normais, isto é, da 1FN a FNBC. Vejamos então: 
▪ Primeira Forma Normal (1FN): não é baseada em dependência funcional. Essa 
forma normal é baseada na presença somente de atributos atômicos, então devem 
ser analisados os atributos em separado e não a relação entre eles. 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
82 
▪ Segunda Forma Normal (2FN): não podemos ter dependências parciais. Se A, 
B forem a chave composta de uma tabela, então não podemos ter nenhum atributo 
não chave que dependa somente de A ou somente de B. 
 
EXEMPLIFICANDO!!! 
Dada a seguinte estrutura de tabela, cuja chave seja {nro-pedido, nro-peça}: 
pedido (nro-pedido, data, nro-peça, descrição, qtdade_comprada, preço_cotado) 
 
E as seguintes dependências funcionais: 
nro-pedido → data 
nro-peça → descrição 
{nro-pedido, nro-peça} → {qtdade_comprada, preço_cotado} 
 
Perceba que, nesse exemplo, temos atributos que dependem apenas de parte da 
chave. Data depende apenas do nro-pedido e descrição apenas do nro-peça. Assim, 
essa relação não está na 2FN. 
 
A solução para resolver isso é separar as partes da chave em tabelas diferentes: 
pedido (nro-pedido, data) 
peça (nro_peça, descrição) 
pedido_peça (nro_pedido, nro_peça, qtdade_comprada, preço_cotado) 
 
▪ Terceira Forma Normal (3FN): não podemos ter dependências transitivas. Não 
podemos então ter A → B, B → C e A → C, desde que C não seja chave candidata 
ou subconjunto de qualquer chave. 
EXEMPLIFICANDO!!! 
Dada a seguinte estrutura de tabelas, que tem como chave primária SSN (Social 
Security Number): 
emp_dept (enome, ssn, datanasc, endereco, dnumero, dnome, degerssn 
 
E as seguintes dependências funcionais: 
ssn → {enome, datanasc, endereco, dnumero} 
dnumero → {dnome, dgerssn} 
CONTINUA... 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
83 
CONTINUAÇÃO... 
Perceba que temos uma dependência transitiva, pois dnumero não é chave, mas 
determina dnome e dgerssn. Como dnumero depende de ssn, então dnome e dgerssn 
também dependem de ssn, mas indiretamente. 
 
A solução para resolver isso é remover da tabela os atributos que dependem de um 
determinante não chave. Assim: 
ED1 (enome, ssn, datanasc, endereco, dnumero) 
ED2 (dnumero, dnome, dgerssn) 
 
▪ Forma Normal de Boyce-Codd: todo determinante deve ser chave. Para cada 
dependência funcional X → A, X é uma superchave. 
EXEMPLIFICANDO!!! 
Dada a estrutura de tabela, sendo num_propriedade a chave primária e 
{municipio_nome, num_lote} uma chave candidata. 
LOTES1A (num_propriedade, município_nome, num_lote, area) 
 
Supondo que há milhares de lotes, mas apenas nos municípios de Uberlândia e 
Araguari, sendo que: 
– em Uberlândia só existem lotes com 100, 200 e 300 m2 
– em Araguari só existem lotes com150, 250 e 350 m2 
 
Nesse caso, temos uma dependência em que area → municipio_nome, pois sabendo a 
área, podemos descobrir do município. Temos um determinante que não é chave. 
 
Para resolver isso, precisamos colocar esse determinante como chave, logo, 
desmembrar a tabela: 
LOTES1AX (num_propriedade, area, num_lote) 
LOTES1AY (area, municipio_nome) 
 
 
DICA DO PROFESSOR!!! 
A questão costuma listar um conjunto de dependências funcionais e perguntar se essas 
dependências estão respeitando determinada forma normal ou pedir para você definir uma 
estrutura de tabela que respeite uma forma normal, então fique atento as regras que define 
cada das FNs. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
84 
12- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) Considere uma 
tabela relacional R com atributos A, B, C, D, e as seguintes dependências funcionais. 
A → B 
B → C 
A → D 
B → A 
Estabelecendo-se que os atributos sublinhados identificam chaves, primárias ou candidatas, 
o esquema correto para que se obtenha um projeto normalizado até a forma normal Boyce-
Codd, é 
a) R (A, B, C, D) 
b) R (A, B, C, D) 
c) R (A, B, C, D) 
d) R1 (A, C, D) 
 R2 (A, B) 
e) R1 (A, B, D) 
 R2 (B, C) 
Resolução: 
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. 
Logo, dadas as dependências funcionais: 
A → B 
B → C 
A → D 
B → A 
Temos que A e B são determinantes e, portanto, devem ser chaves da tabela. Logo, 
a) Correto: R (A, B, C, D) A e B são determinantes e chaves. 
b) Incorreto: R (A, B, C, D) B é um determinante e, portanto, deveria ser chave. 
c) Incorreto: (A, B, C, D) A é um determinante e, portanto, deveria ser chave. 
d) Incorreto: R1 (A, C, D) 
 R2 (A, B) B é um determinante e, portanto, deveria ser chave. 
e) Incorreto: R1 (A, B, D) 
 R2 (B, C) B é determinante de C e A e não somente de C. 
Gabarito: Letra A. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
85 
13- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - 
Desenvolvimento de Aplicações) Em projetos de Banco de Dados Relacional, a 
dependência funcional representada por 
A→B e B→C, então A→C 
é a base para caracterizar que uma relação está na: 
a) primeira, mas não na segunda forma normal; 
b) primeira e na segunda forma normal; 
c) segunda e na terceira forma normal; 
d) terceira forma normal, mas não na forma normal de Boyce/Codd; 
e) terceira forma normal e na forma normal de Boyce/Codd. 
Resolução: 
Vamos avaliar quais as formas normais são cumpridas: 
1ª Forma Normal: não temos nenhuma informação sobre a presença de atributos 
multivalorados ou compostos, então partimos do pressuposto que cumpre a 1FN, pois esta 
faz parte da própria definição do modelo relacional. 
2ª Forma Normal: A determina todos os outros atributos e, portanto, é a nossa chave 
primária. Sendo assim, não há dependência parcial, pois a chave é formada por um único 
atributo. B e C dependem da totalidade da chave (A). 
3ª Forma Normal: a representação é justamente de uma dependência transitiva, o que fere 
a 3FN. Logo, a tabela não está na 3FN. 
Gabarito: Letra B. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
86 
2.9.10 TEMA AVANÇADO: axiomas das dependências funcionais 
Um assunto que costuma ser cobrado pouco, mas que pode aparecer na sua prova, é o de 
axiomas ou regras de inferência das dependências funcionais. 
 
DICA DO PROFESSOR!!! 
A Fundação Getúlio Vargas é, principalmente, a banca que costuma trazer questões sobre 
esses temas. Sendo assim, vou trazer uma discussão sobre isso, mas se você não estiver 
estudando para concurso dessa banca, sugiro deixar esse tópico de lado. 
 
Vamos verificar quais são as regras de inferência ou axiomas das dependências funcionais. 
 
As três regras básicas, chamadas Axiomas de Armstrong, são: 
▪ Reflexibilidade: se X contém Y, então X → Y. (dependência funcional trivial) 
o Exemplo: 
Se X é tipo_embarcacao, modelo e Y é tipo_embarcacao, 
Então tipo_embarcacao, modelo → tipo_embarcacao. 
 
▪ Expansibilidade ou aumentativa: se X → Y, então XZ → YZ para qualquer Z. 
o Exemplo: 
Se CPF → endereço, 
Então CPF, nome → endereço, nome. 
 
▪ Transitividade: se X → Y, e Y → Z então X → Z. 
o Exemplo: 
Se CPF → código-cidade e código-cidade → nome-cidade 
Então CPF → nome-cidade. 
 
Como consequências desses axiomas, temos as seguintes regras adicionais: 
▪ União ao aditiva: se X → Y, X → Z então X → YZ. 
o Exemplo: 
Se CPF → nome e CPF → endereco 
Então CPF → nome, endereco 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
87 
▪ Decomposição ou separação: Se X → YZ, então X → Y e X → Z. 
o Exemplo: 
Se CPF → nome, endereço 
Então CPF → nome e CPF → endereço 
 
Podemos citar ainda outras regras básicas ou axiomas: 
▪ Pseudo-Transitividade: se X → Y e YZ → W, então XZ → W. 
o Exemplo: 
Se CPF → código-funcionário e código-funcionário, mês → salário-
funcionário 
Então CPF, mês → salário-funcionário. 
 
▪ Acumulação: Se X → Y, então XZ → Y. 
o Exemplo: 
Se CPF → endereco, 
Então CPF, nome → endereco. 
 
▪ Unicidade: Se a: X → Y e b: X →Y; a=b. 
 
Em resumo: 
Axioma Descrição 
Reflexibilidade Se X contém Y, então X → Y. 
Expansibilidade ou aumentativa Se X → Y, então XZ → YZ para qualquer Z. 
Transitividade Se X → Y, e Y → Z então X → Z. 
União ao aditiva Se X → Y, X → Z então X → YZ. 
Decomposição ou separação Se X → YZ, então X → Y e X → Z. 
Pseudo-Transitividade X → Y e YZ → W, então XZ → W 
Acumulação Se X → Y, então XZ → Y 
Unicidade Se a: X → Y e b: X →Y; a=b 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
88 
14- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) No âmbito da 
teoria de projeto de bancos de dados relacionais, considere as seguintes dependências 
funcionais para os atributos A, B, C, D. 
A → B 
B → C 
C → D 
Nesse caso, a dependência A → C poderia ser deduzida pelo axioma da 
a) aumentabilidade. 
b) completude. 
c) reflexividade. 
d) transitividade. 
e) união. 
Resolução: 
A regra descrita é o axioma da transitividade. 
Os axiomas ou regras de inferência de dependências funcionais são: 
Axioma Descrição 
Reflexibilidade Se X contém Y, então X → Y. 
Expansibilidade ou aumentativa Se X → Y, então XZ → YZ para qualquer Z. 
Transitividade Se X → Y, e Y → Z então X → Z. 
União ao aditiva Se X → Y, X → Z então X → YZ. 
Decomposição ou separação Se X → YZ, então X → Y e X → Z. 
Pseudo-Transitividade X → Y e YZ → W, então XZ → W 
Acumulação Se X → Y, então XZ → Y 
Unicidade Se a: X → Y e b: X →Y; a=b 
Gabarito: Letra D. 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
89 
15- (FGV - 2014 - TJ-GO - Analista Judiciário - Análise de Sistemas - 
Desenvolvimento) No âmbito do projeto de bancos de dados, os Axiomas de Armstrong 
têm um importante papel porque permitem a derivação de dependências funcionais. Uma 
derivação que NÃO é válida é: 
a) se X → Y e Y → Z então X→Z 
b) se X → Y então XZ →YZ 
c) se Y⊆ X então X → Y 
d) se X→Y e X→Z então X →YZ 
e) se X → Y e Z → Y então X →YZResolução: 
Vejamos a qual axioma se referem os itens: 
a) Correto: axioma da transitividade. 
b) Correto: axioma da expansibilidade. 
c) Correto: axioma da reflexibilidade. 
d) Correto: axioma da união. 
e) Incorreto: não há regra nesse sentido. 
Os axiomas ou regras de inferência de dependências funcionais são: 
Axioma Descrição 
Reflexibilidade Se X contém Y, então X → Y. 
Expansibilidade ou aumentativa Se X → Y, então XZ → YZ para qualquer Z. 
Transitividade Se X → Y, e Y → Z então X → Z. 
União ao aditiva Se X → Y, X → Z então X → YZ. 
Decomposição ou separação Se X → YZ, então X → Y e X → Z. 
Pseudo-Transitividade X → Y e YZ → W, então XZ → W 
Acumulação Se X → Y, então XZ → Y 
Unicidade Se a: X → Y e b: X →Y; a=b 
Gabarito: Letra E. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
90 
2.9.11 TEMA AVANÇADO: modelos matemáticos para as formas normais 
Galera, um tema avançado em provas, mas que pode cair em algumas questões é o que trata 
dos modelos ou descrições matemáticas para as formas normais. 
 
DICA DO PROFESSOR!!! 
A Fundação Getúlio Vargas é, principalmente, a banca que costuma trazer questões sobre 
esses temas. Nesse caso, eu sugiro que se você for fazer prova dessa banca, então dê uma 
olhada nas descrições matemáticas. Eu não vou explicar o seu funcionamento, pois isso é 
totalmente improdutivo e isso não cai nesse nível, mas vou citar as descrições. 
 
A seguir apresento as descrições matemáticas ou formais para as formas normais: 
▪ Primeira Forma Normal (1FN): não possui uma definição formal ou matemática 
específica. Sabemos que o domínio dos atributos deve incluir apenas valores atômicos. 
▪ Segunda Forma Normal (2FN): um esquema de relação R está na segunda forma 
normal (2FN) se cada atributo não principal A em R não for parcialmente dependente 
de qualquer chave de R. 
▪ Terceira Forma Normal (3FN): um esquema de relação R está na terceira forma 
normal (3FN) se toda vez que uma dependência funcional não trivial X → A se 
mantiver em R, ou (a) X for uma superchave de R ou (b) A for um atributo principal 
de R. 
▪ Forma Normal de Boyce Codd (FNBC): um esquema de relação R está na FNBC se 
toda vez que uma dependência funcional não trivial X → A se mantiver em R, então 
X é uma superchave de R. 
▪ Quarta Forma Normal (4FN): Um esquema de relação R está na 4FN com relação 
a um conjunto de dependências F (que inclui dependências funcionais e dependências 
multivaloradas) se, para cada dependência multivalorada não trivial X --> Y em F, X 
é uma superchave para R. 
▪ Quinta Forma Normal (5FN): Um esquema de relação R está na quinta forma 
normal (5FN) com relação a um conjunto F de dependências funcionais, 
multivaloradas e de junção se, para cada, dependência de junção não trivial DJ (R1, 
R2, ..., Rn) em F (ou seja, implicada por F), cada Ri é uma superchave de R. 
 
 
ATENÇÃO!!! 
Coisa de louco né? Pois é. Por isso falo que não vale a pena entender isso. Seriam páginas 
para explicar isso e, bem provável, que ainda assim você não entendesse. O bom é que não 
precisa entender, nas poucas vezes que isso cai, é de forma literal. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
91 
16- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) Dependências 
funcionais podem ser combinadas de modo que novas dependências sejam derivadas a partir 
de um conjunto inicial de dependências. Essas regras de derivação são conhecidas como 
Axiomas de Armstrong. Assim, a partir das dependências funcionais 
Leia o fragmento a seguir: 
“Um esquema de relação S está na _____ forma normal com relação a um conjunto de 
dependências F (que inclui dependências funcionais e dependências multivaloradas) se, para 
cada dependência multivalorada não trivial X -> -> Y em F, X é uma superchave para R.” 
Assinale a alternativa cujo item completa corretamente a lacuna do fragmento acima. 
a) primeira 
b) segunda 
c) terceira 
d) quarta 
e) Quinta 
Resolução: 
A definição é da quarta forma normal. 
A seguir apresento as descrições matemáticas ou formais para as formas normais: 
▪ Primeira Forma Normal (1FN): não possui uma definição formal ou matemática 
específica. Sabemos que o domínio dos atributos deve incluir apenas valores atômicos. 
▪ Segunda Forma Normal (2FN): um esquema de relação R está na segunda forma 
normal (2FN) se cada atributo não principal A em R não for parcialmente dependente 
de qualquer chave de R. 
▪ Terceira Forma Normal (3FN): um esquema de relação R está na terceira forma 
normal (3FN) se toda vez que uma dependência funcional não trivial X → A se 
mantiver em R, ou (a) X for uma superchave de R ou (b) A for um atributo principal 
de R. 
▪ Forma Normal de Boyce Codd (FNBC): um esquema de relação R está na FNBC se 
toda vez que uma dependência funcional não trivial X → A se mantiver em R, então 
X é uma superchave de R. 
▪ Quarta Forma Normal (4FN): Um esquema de relação R está na 4FN com relação 
a um conjunto de dependências F (que inclui dependências funcionais e dependências 
multivaloradas) se, para cada dependência multivalorada não trivial X --> Y em F, X 
é uma superchave para R. 
▪ Quinta Forma Normal (5FN): Um esquema de relação R está na quinta forma 
normal (5FN) com relação a um conjunto F de dependências funcionais, 
multivaloradas e de junção se, para cada, dependência de junção não trivial DJ (R1, 
R2, ..., Rn) em F (ou seja, implicada por F), cada Ri é uma superchave de R. 
Gabarito: Letra D. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
92 
 
3. ESQUEMAS DE AULA 
 
 
Banco de Dados (BD) 
 
 
Sistema Gerenciador de Banco de Dados (SGBD) 
 
 
Sistema de Banco de Dados (SBD) 
 
 
 
 
Banco de Dados
(repositório, depósito ou base)
Representa algum aspecto 
do mundo real
Coleção logicamente 
coerente de dados com 
algum significado inerente
Projetado, construído e 
populado com dados para 
uma finalidade específica
Pode ter qualquer tamanho 
e complexidade
Pode ser manual ou 
computadorizado
SGBD 
(coleção de programas)
•Permite criar e manter um banco de
dados.
•Auxilia na:
▪Definição
▪Construção
▪Manipulação
▪Compartilhamento
▪Proteção
▪Manutenção
BD SGBD SBD
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
93 
Características dos Banco de Dados 
 
 
 
 
 
 
•Natureza de autodescrição dos dados.
•Isolamento entre programas e dados; abstração de dados.
•Suporte a múltiplas visões.
•Compartilhamento de dados e processamento de transação multiusuário.
Elsmari e Navathe 
(quatro principais características dos bancos de dados)
▪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.
Elsmari e Navathe 
(vantagens de usar a abordagem SGBD)
▪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.
Date
(benefícios da abordagemde BD)
▪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.
Sylberchatz, Korth e Sudarshan 
(desvantagens de usar sistema de arquivo)
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
94 
Desvantagens da abordagem de SGBD 
 
 
Propriedades das transações 
 
 
Catálogo ou dicionário de dados 
 
Custos adicionais
Alto investimento inicial 
em hardware, software e 
treinamento
Generalidade para 
definição e processamento 
de dados 
Esforço adicional para 
funções de segurança, 
concorrência, recuperação e 
integridade
A
to
m
ic
id
ad
e
Conceito: 
unidade de 
processamento 
atômica. 
Transação deve 
ser realizada em 
sua totalidade 
ou não deve ser 
realizada de 
forma alguma.
Responsável
Subsistema de 
recuperação.
C
o
n
si
st
ên
ci
a
Conceito: 
transação deve 
levar o banco de 
um estado 
consistente 
para outro. 
Regras e 
restrições 
respeitadas.
Responsável
Programador 
ou módulo de 
restrições de 
integridade.
Is
o
la
m
en
to
Conceito: 
transação deve 
parecer 
executar 
isolada das 
demais.
Não 
interferência 
entre transações 
paralelas.
Responsável
Subsistema de 
controle de 
concorrência.
D
u
ra
b
il
id
ad
e
Conceito: 
mudanças
realizadas 
devem ser 
persistidas no 
banco de 
dados.
Mudanças não 
devem ser 
perdidas por 
falhas 
posteriores.
Responsável
Subsistema de 
recuperação.
Catálogo ou 
dicionário de dados
Metadados ou 
informações de 
descritor
Estrutura de cada 
tipo de arquivo
Tipo
Formato de 
armazenamento
Restrições sobre os 
dados
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
95 
Modelo de bancos de dados 
 
 
Esquema x Instância 
 
 
C
o
n
ce
it
u
al Facilmente comprendido.
Registra os dados.
Independente de
hardware e software 
(SGBD).
Elaborados na 
Modelagem Conceitual.
Ex.: Modelo Entidade 
Relacionamento.
L
ó
g
ic
o Compreensão 
intermediária.
Representação das 
estruturas de BD.
Dependem do tipo de 
SGBD (relacional, 
objetos, etc).
Elaborados no Projeto 
Lógico.
Ex.: Modelo Relacional.
F
ís
ic
o Difícil compreensão.
Descreve o 
armazenamento dos 
dados.
Dependentes do SGBD 
específico (Oracle, 
MySQL, etc.)
Elaborados no Projeto 
Físico.
Esquema ou intenção
Estrutura do banco, sem os dados
Instância, estado ou extensão
Dados armazenados em um instante
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
96 
Arquitetura de 3 esquemas 
 
Independência lógica e física de dados 
 
Modelos de Dados x Arquitetura de três esquemas 
 
Independênci
a
Lógica
Capacidade de alterar o esquema
conceitual sem ter de alterar os
esquemas externos ou de programas
de aplicação.
Física
Capacidade de alterar o esquema
interno sem ter de alterar o esquema
conceitual e, por consequência, sem
ter que alterar os esquemas externos.
Modelos de 
dados
Representar os conceitos usados para descrever a 
estruturas dos bancos de dados.
Modelo conceitual ou de alto nível
(dados)
Dados
Modelo lógico, representativo ou de implementação
Estruturas de banco de dados
Modelo físico
Armazenamento
Arquitetura 
de 3 esquemas
Representar as camadas de interação do usuário com o 
banco de dados. 
Nível externo ou de visão
Parte do banco de dados
(geralmente usa modelo lógico baseado em modelo 
conceitual)
Nível conceitual
Banco de dados inteiro
(geralmente usa modelo lógico baseado em modelo 
conceitual)
Nível interno
Estruturas de armazenamento
(usa modelo físico)
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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
97 
Modelos de dados (modelos lógicos) 
 
 
Modelos relacional: conceitos básicos 
 
 
 
 
 
 
 
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 de "pais" e 
"filhos".
Modelo 
Relacional
Conceitos
Conjuntos de relações ou tabelas que representam
dados e relacionamentos.
Relação matemática é o bloco de montagem básico.
Base teórica reside na teoria de conjunto e lógica de
predicado de primeira ordem.
Princípio da Informação
Todo o conteúdo de informação do banco de dados é
representado como valores explícitos em posições
de colunas em linhas de tabelas.
Aspectos de descrição
Aspecto estrutural: 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
derivam tabelas a partir de outras tabelas.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
98 
Doze (treze) regras de Codd para os bancos de dados relacionais 
 
 
Conceitos do modelo relacional 
 
 
 
 
 
 
 
D
o
ze
 (
tr
ez
e)
 r
eg
ra
s 
d
e 
C
o
d
d
 p
ar
a 
B
an
co
s 
R
el
ac
io
n
ai
s Regra 0 - Regra fundamental ou regra base
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
Tabela (relação) – representa dados e relacionamentos. 
Coluna (atributo ou campo) - ajuda a 
interpretar o significado dos valores 
das linhas. 
Linha (tupla ou registro) - 
coleção de valores de dados 
relacionados. 
Grau (aridade) - número 
de colunas de uma 
relação. 
Domínio - tipo de dado que descreve 
os tipos de valores que podem 
aparecer em cada coluna. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
99 
Operações da álgebra relacional 
Operações da álgebra relacional 
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado. (PRIMITIVA) 
Projeção (П) Retorna os atributos especificados de todas as linhas da relação de entrada, 
removendo as tuplas duplicadas da saída. (PRIMITIVA) 
Junção ( ) Retorna pares de linhas das duas relações de entrada que têm o mesmo valor 
em todos os atributos que possuem o mesmo nome. 
Produto cartesiano 
(X) 
Retorna todos os pares de linhas das duas relações de entrada 
(independentemente de ter ou não os mesmos valores em atributos comuns). 
(PRIMITIVA) 
União (Ս) Retorna as tuplas que estão na primeira relação, na segunda relação, ou em 
ambas. (PRIMITIVA) 
Intersecção (Ո) Retorna as tuplas que aparecem tanto na primeira relação quanto na segunda. 
Diferença (-) Retorna tuplas que aparecem na primeira relação, mas não estão na segunda. 
(PRIMITIVA) 
 
Visão(view) 
 
 
Índice 
 
 
• Tabela derivada de outras tabelas (tabelas base ou outras visões).
• Maneira alternativa de visualização dos dados de uma ou mais tabelas.
• Consulta pré-definida ou armazenada.
• Tabela virtual: não necessariamente existe em forma física.
• Em regra, não atualizáveis.
Visão (view)
• Visão armazenada.
• Em regra, atualizáveis.
Visão materializada (materialized view).
Ín
d
ic
e
Estrutura de acesso auxiliar.
Utilizados para agilizar a recuperação de registros 
Oferecem caminhos de acesso secundários
Uso de ponteiros para a localização dos dados.
Não devem ser criados de maneira ilimitada e sem cuidados.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
100 
Chaves 
 
Relacionamentos 
 
R
e
la
c
io
n
a
m
e
n
to
s
(a
ss
o
c
ia
çã
o
 e
n
tr
e
 a
s 
ta
b
e
la
s)
(e
x
is
te
m
 a
p
en
as
 l
o
g
ic
am
en
te
, m
a
s 
n
ã
o
 f
is
ic
a
m
e
n
te
)
Um para Um 
(1:1)
Cada elemento de uma tabela se 
relaciona a um único elemento de 
outra tabela.
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.
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. 
Em bancos relacionais, a tabela do lado 
N da relação possui a chave 
estrangeira.
Muitos para 
Muitos
(N:M)
Para cada valor do campo de uma 
tabela, pode haver N valores no campo 
da outra tabela e vice-versa. 
Os dados estão diretamente 
relacionados ao fato (ou ao 
relacionamento), e não as entidades (ou 
tabelas).
Em bancos relacionais, esta relação 
consuma-se através de uma tabela de 
ligação que pode possuir atributos 
próprios.
C
h
a
v
e
 c
a
n
d
id
a
ta
 
Superchave 
Conjunto de um ou 
mais atributos que, 
coletivamente, permitem 
identificar de forma 
exclusiva uma tupla. 
Chave 
Superchave com a 
propriedade adicional de 
que a remoção de 
qualquer dos atributos 
a faz deixar de ser 
chave. 
Chave primária 
Chave candidata que 
é escolhida pelo 
designer de banco de 
dados como o principal 
meio de identificar 
tuplas. 
Cada uma das chaves 
possíveis em uma 
relação. 
 Chave estrangeira 
Atributo (s) que são chave 
primária ou candidata de 
outra relação. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
101 
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)
•Cada atributo não-chave não pode ser dependente de apenas parte da chave.
2FN
•Está na 2FN.
•Cada atributo não chave não possui dependência transitiva, para cada chave 
candidata. 
•Todos os atributos dependem exclusivamente da chave primária da tabela.
3FN
•Está na 3FN (variação forte da 3FN).
•Todo determinante é chave candidata.
•Não há dependências entre atributos não chave.
FNBC
•Está na 3FN.
•Não possui dependência multivalorada.
4FN
•Está na 4FN.
•Não possui dependência de junção.
5FN
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
102 
 
4. 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. 
LINHA DE CÓDIGO. Índices MySQL: Otimização de consultas. Disponível em: 
<http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-de-
consultas.aspx>. Acesso em: 09 nov. 2020. 
OLIVEIRA, Leornado; SENNA, Carlos. Refinamento de Esquemas e Formas Normais. 
Disponível em: <https://www.ic.unicamp.br/~geovane/mo410-091/Ch19-Resumo.pdf>. 
Acesso em: 29 out. 2021. 
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+BA
SICO+AO+AVANCADO+ON+LINE+BD03+GRATIS>. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
https://juliobattisti.com.br/artigos/office/modelorelacional_p2.asp
http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-de-consultas.aspx
http://www.linhadecodigo.com.br/artigo/3620/indices-mysql-otimizacao-de-consultas.aspx
https://www.ic.unicamp.br/~geovane/mo410-091/Ch19-Resumo.pdf
https://www.softblue.com.br/site/curso/id/3/CURSO+DE+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03+GRATIS
https://www.softblue.com.br/site/curso/id/3/CURSO+DE+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03+GRATIS
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
103 
 
5. QUESTÕES COMENTADAS 
 
1- (FGV - 2021 - IMBEL - Supervisor - Tecnologia de Informação) Na teoria de 
projetos de bancos de dados, o processo de normalização de uma tabela é feito a partir da 
identificação 
a) das chaves estrangeiras. 
b) das dependências funcionais. 
c) das junções que serão necessárias. 
d) dos tipos de dados em cada coluna. 
e) dos relacionamentos entre as tabelas. 
Resolução: 
Um conceito relevante para o entendimento formas normais é o de dependência funcional, 
que é um relacionamento entre dois ou mais atributos de forma que o valor de um atributo 
identifique o valor para cada um dos outros atributos, ou seja, um atributo está relacionado 
a outro. A dependência funcional pode ser ilustrada por →. Assim, em A → B, temos que 
“A determina B” ou “B é dependente (funcionalmente) de A”, isto é, o valor de B pode 
ser descoberto sabendo o valor de A. 
Gabarito: Letra B. 
 
2- (FGV - 2018 - Prefeitura de Niterói - RJ - Analista de Políticas Públicas e 
Gestão Governamental - Gestão de Tecnologia) Considere duas tabelas: T1, com 
atributos A e B, e T2, com atributos C e D. Nas duas tabelas as chaves primárias foram 
definidas pelos atributos A e C, respectivamente. Não há outras chaves nessas tabelas além 
das chaves primárias. 
Na tabela T2, o atributo D é uma chave estrangeira que referencia a tabela T1. Não há 
outras chaves estrangeiras nessas tabelas. As tabelas T1 e T2 estão perfeitamente 
normalizadas. 
Sabe-se que agora deve haver um relacionamento 1:1 entre essas duas tabelas. 
Assinale a opção que apresenta a providência necessária para que esse requisito seja 
atendido, de forma que o grau de normalização da tabela seja mantido. 
a) Criar uma terceira tabela, com atributos A e C como chaves estrangeiras para T1 e T2, 
sem alterar T1 e T2. 
b) Definir o atributo B como unique em T1. 
c) Alterar T2, definindo o atributo D como chave primária no lugar de C. 
d) Definir o atributo D como unique em T2. 
e) Incluir o atributo D na chave primária de T2. 
Resolução: 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
104 
Vamos analisar as tabelas construídas: 
T1 possui os atributos A e B, sendo A sua chave primária. Logo T1 {A, B}. 
T2 possui os atributos C e D, sendo A sua chave primária. Logo T2 {C, D}. 
Como o atributo D de T2 referencia a tabela T1, logo irá referenciar A que é a chave desta 
tabela. 
A grande questão é que se deseja um relacionamento 1:1 entre essas tabelas. Por isso,é 
necessário garantir que não haverá valores iguais para o atributo D em mais de um registro 
da tabela T2. Para isso, é possível definir o atributo D como único (UNIQUE). 
Se o atributo D permitisse a repetição, não haveria nenhum problema lógico no modelo, 
mas não se implementaria um relacionamento 1:1, mas sim 1:N. 
Suponha uma tabela T1, com os seguintes valores {(1, 10), (2, 20), (3, 30)}. E uma tabela 
T2 com os valores {(11, 1), (12, 2), (13, 3)}. Nesse caso, cada registro da tabela T2 só estaria 
relacionado a um único registro da tabela T1 e, portanto, relacionamento 1:1. Por sua vez, 
se existissem dois registros em T2 com valores iguais para D como em {(11, 1), (12, 2), (13, 
2)}, teríamos um relacionamento 1:N, pois neste exemplo, os registros 12 e 13 da tabela t2 
estariam sendo associados a um único registro da tabela T1 (aquele de chave 2). 
Gabarito: Letra D. 
 
3- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) Considere uma 
tabela relacional R com atributos A, B, C, D, e as seguintes dependências funcionais. 
A → B 
B → C 
A → D 
B → A 
Estabelecendo-se que os atributos sublinhados identificam chaves, primárias ou candidatas, 
o esquema correto para que se obtenha um projeto normalizado até a forma normal Boyce-
Codd, é 
a) R (A, B, C, D) 
b) R (A, B, C, D) 
c) R (A, B, C, D) 
d) R1 (A, C, D) 
 R2 (A, B) 
e) R1 (A, B, D) 
 R2 (B, C) 
Resolução: 
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. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
105 
Logo, dadas as dependências funcionais: 
A → B 
B → C 
A → D 
B → A 
Temos que A e B são determinantes e, portanto, devem ser chaves da tabela. Logo, 
a) Correto: R (A, B, C, D) A e B são determinantes e chaves. 
b) Incorreto: R (A, B, C, D) B é um determinante e, portanto, deveria ser chave. 
c) Incorreto: (A, B, C, D) A é um determinante e, portanto, deveria ser chave. 
d) Incorreto: R1 (A, C, D) 
 R2 (A, B) B é um determinante e, portanto, deveria ser chave. 
e) Incorreto: R1 (A, B, D) 
 R2 (B, C) B é determinante de C e A e não somente de C. 
Gabarito: Letra A. 
 
4- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) No âmbito da 
teoria de projeto de bancos de dados relacionais, considere as seguintes dependências 
funcionais para os atributos A, B, C, D. 
A → B 
B → C 
C → D 
Nesse caso, a dependência A → C poderia ser deduzida pelo axioma da 
a) aumentabilidade. 
b) completude. 
c) reflexividade. 
d) transitividade. 
e) união. 
Resolução: 
As dependências funcionais podem ser encontradas com base em algumas regras: 
1. Separação: se A -> BC, então A -> B e A -> C. 
• Exemplo: CPF -> nome, endereço então CPF -> nome e CPF -> endereço 
2. Acumulação: se A -> B, então AC -> B. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
106 
• Exemplo: CPF -> endereço então CPF, idade -> endereço 
3. Transitividade: se A -> B e B -> C, então A -> C. 
• Exemplo: CPF -> código-cidade e código-cidade -> nome-cidade então CPF -> 
nome-cidade 
4. Pseudo-Transitividade: se A -> B e BC -> D, então AC -> D. 
• Exemplo: CPF -> código-funcionário e código-funcionário, mês -> salário-
funcionário então CPF, mês -> salário-funcionário 
Gabarito: Letra D. 
 
5- (FGV - 2018 - AL-RO - Analista Legislativo - Análise e Desenvolvimento de 
Sistemas) No contexto das propriedades desejadas para transações executadas em banco 
de dados relacionais, é possível que, eventualmente, seja permitida ou forçada a leitura de 
dados que foram modificados em operações ainda não confirmadas (comitted). 
Assinale a principal propriedade que é flexibilizada na ocorrência de um dirty read. 
a) Atomicidade. 
b) Consistência. 
c) Durabilidade. 
d) Integridade referencial. 
e) Isolamento. 
Resolução: 
Segundo a propriedade do 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: 
▪ Nível 0: não grava sobre as leituras sujas das transações de nível mais alto. Leitura 
suja (dirty read) ocorre quando a transação lê dados escritos por uma transação 
simultânea não efetivada. 
▪ Nível 1: não tem atualizações perdidas. 
▪ Nível 2: não tem atualizações perdidas ou leituras sujas. 
▪ Nível 3: isolamento verdadeiro, permite leituras repetitivas. 
Gabarito: Letra E. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
107 
6- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de 
Banco de dados) No contexto da otimização de consultas para bancos de dados, a Álgebra 
Relacional tem um papel importante, especialmente na construção das query trees para a 
representação de planos de execução. As operações primitivas da AR são definidas como as 
operações que não podem ser expressas por meio das demais operações. Assinale a opção 
que apresenta a lista que contém as cinco operações primitivas da AR. 
a) Diferença, divisão, projeção, seleção e união. 
b) Diferença, produto, projeção, seleção e união. 
c) Interseção, produto, projeção, seleção e união. 
d) Divisão, interseção, junção, seleção e união. 
e) Junção, produto, projeção, seleção e união. 
Resolução: 
As cinco operações primitivas da álgebra relacional são: 
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado. 
Projeção (П) Retorna os atributos especificados de todas as linhas da relação de entrada, 
removendo as tuplas duplicadas da saída. 
Produto cartesiano 
(X) 
Retorna todos os pares de linhas das duas relações de entrada 
(independentemente de ter ou não os mesmos valores em atributos comuns). 
União (Ս) Retorna as tuplas que estão na primeira relação, na segunda relação, ou em 
ambas. 
Diferença (-) Retorna tuplas que aparecem na primeira relação, mas não estão na segunda. 
Gabarito: Letra B. 
 
7- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de 
Banco de dados) Considere uma tabela relacional T, com atributos A, B, C, D, E, na qual 
as seguintes dependências funcionais se verificam: 
A → B 
B → C 
C → D 
D → E 
E → A 
Para que essa tabela esteja normalizada até a forma Boyce-Codd, 
a) T deve possuir apenas um identificador, composto pela justaposição dos atributos A, B, 
C, D e E. 
b) T deve possuir apenas um identificador, composto pela justaposição dos atributos A e E. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
108 
c) T deve possuir três identificadores, cada um composto por um dos atributos A, D e E 
individualmente. 
d) T deve possuir cinco identificadores, cada um composto por um dos atributos A, B, C, D 
e E individualmente. 
e) nenhum identificador poderá ser estabelecido para T. 
Resolução: 
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. 
Assim, como temos os atributos A, B, C, D e E sendo determinantes na tabela T, então cada 
um deles deve ser uma chave da tabela. Logo, item D. 
Vale mencionar não cabe ter apenas uma chave com todos eles, pois as dependências não 
representam isso. Por exemplo, A -> B, significa que A determina B e não que ABCDE 
determinam B. Por isso, o item A não é válido como resposta. 
Gabarito: Letra D. 
 
8- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Num banco de dados relacional, considere uma tabela T, não normalizada 
contendo os atributos CPF, Matrícula, Nome, Endereço, Telefone. Sobre esses atributos, 
foram apuradas as seguintes dependências funcionais: 
Matrícula → CPF 
CPF → Nome 
Matrícula → Endereço 
Telefone → Matrícula 
Assinale o esquema (com as chaves primárias sublinhadas) que está normalizado e 
produzido com decomposição sem perda. 
a) T1 (CPF, Nome) 
 T2 (Matrícula, CPF) 
 T3 (Telefone, Matrícula, Endereço) 
b) T1 (CPF, Matrícula, Nome, Endereço) 
 T2 (Telefone, Matrícula) 
c) T1 (CPF, Nome) 
 T2 (Matrícula, CPF, Endereço) 
 T3 (Telefone, Matrícula) 
d) T1 (CPF, Nome) 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
109 
 T2 (Matrícula, CPF, Endereço) 
 T3 (Telefone, Matrícula) 
e) T1 (CPF, Nome) 
 T2 (Matrícula, CPF) 
 T3 (Nome, Endereço) 
 T4 (Telefone, Matrícula) 
Resolução: 
Primeiramente, ressalto que para resolver esse tipo de questão, deve-se ater as regras 
informadas e não tentar fazer qualquer associação ao mundo real ou a outros modelos. 
Assim, a questão apresentou uma tabela com 5 atributos e as dependências entre esses 
atributos e nos pediu para normalizar a tabela. 
Sendo assim, vamos analisar cada um dos itens: 
a) Incorreto: problemas na tabela T3: 
T1 (CPF, Nome): nenhum problema nesta tabela, pois CPF -> Nome. 
T2 (Matrícula, CPF): nenhum problema nesta tabela, pois Matrícula -> CPF. 
T3 (Telefone, Matrícula, Endereço): aqui temos um problema, pois telefone determina 
apenas Matrícula. Essa tabela fere a 3FN, pois atributo endereço depende de um atributo 
não chave e, portanto, temos uma dependência transitiva. 
b) Incorreto: problemas na tabela T2. 
T1 (CPF, Matrícula, Nome, Endereço): descumprimento da 
T2 (Telefone, Matrícula): nenhum problema nesta tabela, pois Telefone -> Matrícula. 
c) Incorreto: problemas na tabela T3. 
T1 (CPF, Nome): nenhum problema nesta tabela, pois CPF -> Nome. 
T2 (Matrícula, CPF, Endereço): nenhum problema nesta tabela, pois Matrícula -> Nome e 
Matrícula -> Endereço. 
T3 (Telefone, Matrícula): como Telefone é um determinante, deveria ser chave desta tabela. 
d) Correto: 
T1 (CPF, Nome): nenhum problema nesta tabela, pois CPF -> Nome. 
T2 (Matrícula, CPF, Endereço): nenhum problema nesta tabela, pois Matrícula -> Nome e 
Matrícula -> Endereço. 
T3 (Telefone, Matrícula): nenhum problema nesta tabela, pois Telefone -> Matrícula. 
e) Incorreto: problema na tabela T3. 
T1 (CPF, Nome): nenhum problema nesta tabela, pois CPF -> Nome. 
T2 (Matrícula, CPF): nenhum problema nesta tabela, pois Matrícula -> CPF. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
110 
T3 (Nome, Endereço): nome não determina endereço. 
T4 (Telefone, Matrícula): nenhum problema nesta tabela, pois Telefone -> Matrícula. 
Gabarito: Letra D. 
 
9- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Teoricamente, um banco de dados relacional poderia ser construído em uma 
única tabela, chamada universal, na qual estariam presentes todos os atributos. Na prática, 
porém, isso causaria enormes transtornos. Uma técnica de projeto de bancos é a de 
decomposição sucessiva das tabelas, à luz das dependências entre atributos, até que se 
chegue a um projeto normalizado com um nível de decomposição aceitável. Nesse processo, 
deve haver uma preocupação especial para que essa decomposição seja sem perda. Assinale 
a opção que apresenta o significado técnico da “decomposição sem perda”, no presente 
contexto. 
a) Cada atributo deve aparecer em uma ou mais tabelas, após a decomposição. 
b) Cada atributo deve aparecer em apenas uma das tabelas obtidas pela decomposição. 
c) Todos os estados representáveis na tabela universal deveriam ser alcançáveis por meio 
da combinação das tabelas obtidas pela decomposição. 
d) Todos os valores dos atributos que compõem a tabela universal podem estar presentes 
em um ou mais dos atributos que compõem as tabelas obtidas pela decomposição. 
e) O número de atributos da tabela universal deve ser igual ao somatório do número de 
atributos em cada uma das tabelas obtidas pela decomposição. 
Resolução: 
Vamos analisar cada um dos itens: 
a) Incorreto: esta não é a definição de decomposição sem perdas. 
b) Incorreto: um atributo pode aparecer em mais de uma tabela. 
c) Correto: Uma decomposição é sem perdas se for sempre possível reconstruir a 
instância da tabela original efetuando a junção das instâncias correspondentes das tabelas 
decompostas. 
d) Incorreto: esta não é a definição de decomposição sem perdas. 
e) Incorreto: não há qualquer obrigação de o somatório de atributos das tabelas 
decompostas ser igual ao da tabela original. Na verdade, provavelmente haverá um número 
maior de atributos nas tabelas decompostas, pois serão necessários atributos para as chaves 
estrangeiras. 
Gabarito: Letra C. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
111 
10- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Considere uma tabela de banco de dados contendo informações de contato dos 
clientes de uma empresa. Sabe-se que cada cliente pode ter um número variado de contatos, 
da mesma natureza ou não. A seguir, um extrato da instância dessa tabela contendo os 
dados completos de cinco clientes. 
 
Sobre as dependências funcionais e multivaloradas para essa tabela, assinale a afirmativa 
correta. 
a) CódigoCliente → Natureza, Contato 
b) CódigoCliente, Natureza → Contato 
c) CódigoCliente →→ Natureza 
d) Conta, Natureza → CódigoCliente 
e) Além das dependências triviais, nenhuma outra dependência pode ser deduzida. 
Resolução: 
Vamos analisar cada um dos itens: 
a) Incorreto: CódigoCliente não é capaz de determinar Natureza e Contato. Observe, por 
exemplo, que o mesmo CódigoCliente 123 está em dois registros com naturezas e contatos 
diferentes. 
b) Incorreto: Os atributos CódigoCliente e Natureza não determinam Contato. Observe 
que a combinação CódigoCliente 234 e Natureza e-mail estão associadas a contatos 
diferentes (az@yyy.br e az@www.br). 
c) Incorreto: CódigoCliente não é capaz de determinar Natureza. Observe que temos 
naturezas diferentes para o mesmo CódigoCliente. Exemplo: CódigoCliente 123 está 
associado a dois registros com naturezas diferentes (e-mail e celular). 
d) Incorreto: não existe atributo Conta na tabela. Ainda que fosse Contato, os atributos 
Contato e Natureza não determinam CódigoCliente. Observe que temos combinações de 
Contato e Natureza diferentes para o mesmo código do cliente. Exemplo: tanto e-mail e 
jo@xxx.br quanto celular e 987654321 apontam para um registro de CódigoCliente 123. 
e) Correto: por eliminação chegamos a este item. Com as informações trazidas na questão, 
não é possível deduzir dependências. 
Gabarito: Letra E. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
112 
11- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral)Em um banco 
de dados relacional, um nome da tabela, uma chave primária e um nome de coluna garantem 
o acesso a 
a) um dado. 
b) um SGBD. 
c) uma linguagem de consulta. 
d) uma partição. 
e) uma visão. 
Resolução: 
Uma das doze (treze) regras de Codd para um banco relacional é a regra do acesso 
garantido, segundo a qual 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. Esses valores nada mais são que os dados armazenados nos bancos de 
dados. 
Gabarito: Letra A. 
 
12- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral) O conjunto de 
programas responsável pelo gerenciamento de uma base de dados e que, entre outras 
funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface 
para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de 
a) Banco de Dados Relacional (BDR). 
b) Dicionário de Dados (DD). 
c) Modelo Entidade Relacionamento (MER). 
d) Sistema de Suporte à Decisão (SSD). 
e) Sistema Gerenciador de Bancos 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: Letra E. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
113 
13- (FGV - 2018 - Banestes - Analista em Tecnologia da Informação - Suporte e 
Infraestrutura) As propriedades usualmente requeridas para transações em bancos de 
dados são identificadas pela sigla ACID. 
Essas propriedades são: 
a) assincronia, concorrência, integridade, durabilidade; 
b) assincronia, consistência, isolamento, distribuição; 
c) atomicidade, concorrência, integridade, durabilidade; 
d) atomicidade, conformidade, independência, distribuição; 
e) atomicidade, consistência, isolamento, durabilidade. 
Resolução: 
As propriedades das transações ou ACID são: 
 
Gabarito: Letra E. 
 
14- (FGV - 2018 - Banestes - Analista em Tecnologia da Informação - 
Desenvolvimento de Sistemas) Considere as seguintes regras de derivação de 
dependências funcionais no âmbito do projeto de banco de dados 
I. Se X → Y então XY → Y 
II. Se X → Y e X → Z então Y → Z 
III. Se XY → Z então X → Z 
Sobre essas afirmativas, conclui-se que: 
a) nenhuma está correta; 
b) somente I está correta; 
c) somente II está correta; 
d) somente III está correta; 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
114 
e) todas estão corretas. 
Resolução: 
As dependências funcionais podem ser encontradas com base em algumas regras: 
1. Separação: se A -> BC, então A -> B e A -> C. 
• Exemplo: CPF -> nome, endereço então CPF -> nome e CPF -> endereço 
2. Acumulação: se A -> B, então AC -> B. 
• Exemplo: CPF -> endereço então CPF, idade -> endereço 
3. Transitividade: se A -> B e B -> C, então A -> C. 
• Exemplo: CPF -> código-cidade e código-cidade -> nome-cidade então CPF -> 
nome-cidade 
4. Pseudo-Transitividade: se A -> B e BC -> D, então AC -> D. 
• Exemplo: CPF -> código-funcionário e código-funcionário, mês -> salário-
funcionário então CPF, mês -> salário-funcionário 
Sendo assim, vejamos os itens: 
I. Correto: Se X → Y então XY → Y (regra da Acumulação) 
II. Incorreto: Se X → Y e X → Z então Y → Z (o correto seria X -> Z, daí teríamos a 
regra da transitividade) 
III. Incorreto: Se XY → Z então X → Z (não há garantia de que somente parte de um 
grupo de atributos continue sendo capaz manter uma dependência) 
Gabarito: Letra B. 
 
15- (FGV - 2017 - SEPOG - RO - Analista em Tecnologia da Informação e 
Comunicação) A figura a seguir mostra a estrutura das tabelas Produto, Venda e Cliente 
pertencentes a um banco de dados de uma empresa comercial. 
 
A tabela Venda contém um registro para cada venda efetuada pela companhia. A fim de 
preservar a integridade referencial do banco de dados, assinale a opção que indica a coluna 
ou colunas dessa tabela que deveria(m) ser chaves estrangeiras. 
a) id_produto. 
b) imposto e quantidade. 
c) quantidade. 
d) id_produto e quantidade. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
115 
e) id_cliente e id_produto. 
Resolução: 
A chave estrangeira de uma tabela é um atributo ou conjunto de atributos que se ligam 
logicamente à chave primária (ou candidata) de outra tabela. 
Sendo assim, a tabela Vendas possui duas chaves estrangeiras: 
id_cliente que a associa com a tabela Cliente. 
id_produto que a associa com a tabela Produto. 
Gabarito: Letra E. 
 
16- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Em relação a banco de dados relacionais, analise as afirmativas abaixo: 
I. Uma chave primária identifica um registro de forma única, não podendo eventualmente 
assumir valor nulo. 
II. Uma chave estrangeira não pode apontar para uma chave primária da mesma tabela. 
III. Uma chave candidata é aquela que define uma combinação de atributos entre tabelas, 
mas não pode ser uma chave primária. 
Está correto o que se afirma em: 
a) I; 
b) II; 
c) III; 
d) I e II; 
e) I, II e III. 
Resolução: 
Vamos analisar cada um dos itens: 
I. Correto: Uma chave primária identifica um registro de forma única, não podendo 
eventualmente assumir valor nulo. 
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. 
II. Incorreto: Uma chave estrangeira não pode apontar para uma chave primária da mesma 
tabela. Nesse caso, teremos um autorrelacionamento. 
III. Incorreto: Uma chave candidata é aquela que define uma combinação de atributos entre 
tabelas, mas não pode ser uma das chaves candidatas será escolhida como uma chave 
primária. 
Gabarito: Letra A. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
116 
17- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Uma empresa possui informações sobre suas vendas em uma tabela, contendo 
as seguintes colunas: 
cliente, vendedor, produto 
Para cada produto, cada cliente tem contato apenas com um vendedor. Cada vendedor 
vende apenas um produto. Um produto pode ser vendido por vários vendedores. 
A chave primária é o conjunto (cliente, vendedor). Em termos de normalização de dados, e 
considerando-se a maior normalização possível, é correto dizer que essa tabela encontra-se 
na: 
a) primeira forma normal; 
b) segunda forma normal; 
c) terceira forma normal; 
d) forma normal de Boyce-Codd; 
e) quarta forma normal. 
Resolução: 
Vamos analisar as formas normais para esta tabela: 
1ª Forma Normal: a tabela não possui atributos compostos ou multivalorados. Ao menos, 
não nos foi informado isso. 
2ª Forma Normal: a chave primária é formada pelos atributos cliente e vendedor, contudo 
produto depende apenas de vendedor. Sendo, assim temos uma dependência parcial e, logo, 
a tabela não se encontra na 2FN. 
Gabarito: Letra A.18- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Na década de 80, Edgar Frank Codd definiu um conjunto de regras para definir 
o que são bancos de dados relacionais. 
A opção que NÃO faz parte dessas regras, é: 
a) qualquer visualização que teoricamente possa ser atualizada deve ser realizada através 
do próprio sistema; 
b) aplicativos e recursos ad hoc não devem ser afetados logicamente quando os métodos de 
acesso ou as estruturas de armazenamento físico forem alterados; 
c) restrições de integridade necessitam ser especificadas dentro dos programas de aplicação, 
de modo que mudanças nessas restrições sejam observadas por essas aplicações; 
d) todas as informações no banco devem ser representadas logicamente como valores de 
coluna em linhas dentro das tabelas; 
e) os usuários finais e aplicativos não devem conhecer nem serem afetados pela localização 
dos dados. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
117 
Resolução: 
Vejamos quais são as doze (treze) regras de Codd: 
▪ 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. (alternativa d) 
 
▪ 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. 
 
▪ 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. (alternativa a) 
 
▪ 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. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
118 
▪ 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. 
(alternativa b) 
 
▪ 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. (alternativa c, as restrições 
devem ser implementadas fora dos programas e não dentro deles) 
 
▪ 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. (alternativa e) 
 
▪ 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. 
Gabarito: Letra C. 
 
19- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - 
Desenvolvimento de Aplicações) Em projetos de Banco de Dados Relacional, a 
dependência funcional representada por 
A→B e B→C, então A→C 
é a base para caracterizar que uma relação está na: 
a) primeira, mas não na segunda forma normal; 
b) primeira e na segunda forma normal; 
c) segunda e na terceira forma normal; 
d) terceira forma normal, mas não na forma normal de Boyce/Codd; 
e) terceira forma normal e na forma normal de Boyce/Codd. 
Resolução: 
Vamos avaliar quais as formas normais são cumpridas: 
1ª Forma Normal: não temos nenhuma informação sobre a presença de atributos 
multivalorados ou compostos, então partimos do pressuposto que cumpre a 1FN, pois esta 
faz parte da própria definição do modelo relacional. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
119 
2ª Forma Normal: A determina todos os outros atributos e, portanto, é a nossa chave 
primária. Sendo assim, não há dependência parcial, pois a chave é formada por um único 
atributo. B e C dependem da totalidade da chave (A). 
3ª Forma Normal: a representação é justamente de uma dependência transitiva, o que fere 
a 3FN. Logo, a tabela não está na 3FN. 
Gabarito: Letra B. 
 
20- (FGV - 2016 - Prefeitura de Paulínia - SP - Analista de Sistemas) A execução de 
transações de bancos de dados deve observar um conjunto de propriedades, cuja finalidade 
é a manutenção da integridade dos dados armazenados nas tabelas. 
Assinale a opção que apresenta as propriedades usualmente implementadas nos sistemas 
gerenciadores de bancos de dados. 
a) Independência de dados e integridade referencial. 
b) Manutenção de logs e extração de backups. 
c) Segurança, criptografia e sigilo. 
d) Atomicidade, durabilidade, consistência e isolamento. 
e) Performance, segurança e escalabilidade. 
Resolução: 
As propriedades das transações ou ACID são: 
 
Gabarito: Letra D. 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
120 
21- (FGV - 2016 - COMPESA - Analista de Gestão - Administrador de Banco de 
Dados) No contexto do projeto de bancos de dados, é possível derivar novas dependências 
a partir de um conjunto inicial de dependências funcionais, o que é feito por meio da 
aplicação de axiomas de derivação. Os axiomas que estabelecem essas regras de derivação 
são 
a) se X → Y e Y → Z então X→ Z se X contém Y então X →Y se X → Y então XW → 
YW 
b) se X → Y e Y → Z então X → Z se X contém Y então X →Y se X → Y então X → YW 
c) se X → Y e W → Y então X → W se X contém Y então Y →X se X → Y então XW → 
YW 
d) se X → Y e Y → Zentão X → Z se Y contém X então X →Y se X → YW então Y → 
XW 
e) se X→ Y e Z → Y então X → Z se X contém Y então Y → X se X → Y então XW → 
YW 
Resolução: 
As quatro propriedades básicas das dependências funcionais são: 
 - Unicidade: se a: X → Y e b: X →Y; a=b 
 
 - Reflexibilidade: Se X contém Y, então X → Y; 
 
 - Transitividade: se X → Y, e Y → Z então X → Z 
 
 - União: se X → Y, X → Z então X → YZ 
Gabarito: Letra A. 
 
22- (FGV - 2016 - COMPESA - Analista de Gestão - Administrador de Banco de 
Dados) A teoria de consultas para bancos de dados relacionais supõe cinco operações 
primitivas para a álgebra relacional, o que significa que o efeito de nenhuma dessas cinco 
operações pode ser obtido pela combinação das demais. Assinale a opção que indica a lista 
dessas operações. 
a) Seleção, projeção, produto, união e junção. 
b) Junção, projeção, produto, união e divisão. 
c) Seleção, projeção, produto, junção e diferença. 
d) Seleção, projeção, junção, interseção e diferença. 
e) Seleção, projeção, produto, união e diferença. 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
121 
Resolução: 
As cinco operações primitivas da álgebra relacional são: 
Seleção (σ) Retorna as tuplas da relação que satisfazem um predicado. 
Projeção (П) Retorna os atributos especificados de todas as linhas da relação de 
entrada, removendo as tuplas duplicadas da saída. 
Produto cartesiano 
(X) 
Retorna todos os pares de linhas das duas relações de entrada 
(independentemente de ter ou não os mesmos valores em atributos 
comuns). 
União (Ս) Retorna as tuplas que estão na primeira relação, na segunda relação, ou 
em ambas. 
Diferença (-) Retorna tuplas que aparecem na primeira relação, mas não estão na 
segunda. 
Gabarito: Letra E. 
 
23- (FGV - 2016 - IBGE - Analista - Análise de Sistemas - Desenvolvimento de 
Aplicações - Web Mobile) Na derivação de dependências funcionais num projeto 
relacional, está correto afirmar que se A,B → X,Y 
então é certo que: 
a) A → X 
b) A → X,Y 
c) X,Y → A 
d) A,B → X 
e) X,Y → A,B 
Resolução: 
As dependências funcionais podem ser encontradas com base em algumas regras: 
1. Separação: se A -> BC, então A -> B e A -> C. 
• Exemplo: CPF -> nome, endereço então CPF -> nome e CPF -> endereço 
2. Acumulação: se A -> B, então AC -> B. 
• Exemplo: CPF -> endereço então CPF, idade -> endereço 
3. Transitividade: se A -> B e B -> C, então A -> C. 
• Exemplo: CPF -> código-cidade e código-cidade -> nome-cidade então CPF -> 
nome-cidade 
4. Pseudo-Transitividade: se A -> B e BC -> D, então AC -> D. 
• Exemplo: CPF -> código-funcionário e código-funcionário, mês -> salário-
funcionário então CPF, mês -> salário-funcionário 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
122 
Com base no afirmado na questão, temos a presença da separação, pois se A,B → X,Y, então 
A,B -> X e A,B -> Y. 
Gabarito: Letra D. 
 
24- (FGV - 2016 - IBGE - Analista - Análise de Sistemas - Desenvolvimento de 
Aplicações - Web Mobile) Considere uma tabela relacional R(A1, A2, ... , An) que, depois 
de normalizada, foi decomposta num esquema com três tabelas, R1, R2 e R3. Nesse caso, 
diz-se que a decomposição ocorreu sem perda quando: 
a) todas as dependências funcionais existentes para os atributos de R1, R2, R3 são 
preservadas em R; 
b) qualquer instância de R pode ser recuperada a partir de junções de R1, R2 e R3; 
c) nenhuma das tabelas R1, R2 e R3 contém todos os atributos de R; 
d) todas as tabelas R1, R2 e R3 possuem chaves primárias; 
e) a soma do número de atributos de cada tabela R1, R2 e R3 é maior que o número de 
atributos de R. 
Resolução: 
Uma decomposição é sem perdas se for sempre possível reconstruir a instância da tabela 
original efetuando a junção das instâncias correspondentes das tabelas decompostas. 
Gabarito: Letra B. 
 
25- (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista 
Programador) Observe a instância de uma tabela relacional R, mostrada a seguir. 
 
A dependência funcional que certamente NÃO pode ser depreendida dessa instância é: 
a) A1 → A2 
b) A1,A2 → A2 
c) A2 → A3 
d) A1 → A3 
e) A3 → A2 
Resolução: 
Analisando a tabela e seus dados temos: 
a) Correto: A1 → A2, para cada valor de A1, não há mais de um valor em A2. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
123 
b) Correto: A1,A2 → A2, para cada combinação de valores de A1 e A2, não há mais de um 
valor em A3. 
c) Correto: A2 → A3, para cada valor de A2, não há mais de um valor em A3. 
d) Correto: A1 → A3, para cada valor de A1, não há mais de um valor em A3. 
e) Incorreto: A3 → A2 não é válido, pois para dois valores iguais de A3, podemos encontrar 
dois valores diferentes em A2. Exemplo: valor 3 de A3 nos leva a valores 6 e 4 de A2. 
Gabarito: Letra E. 
 
26- (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista 
Programador) Considere um projeto de bancos de dados relacional onde as seguintes 
dependências funcionais se verificam. 
C1 → C2 
C1 → C3 
C3 → C4 
Uma tabela T de atributos C1, C2, C3, C4, na qual C1 é um identificador, verifica a terceira 
forma normal somente se: 
a) C1 e C2 forem definidos como identificadores para T; 
b) C4 determinar C3; 
c) C3 determinar C1; 
d) C1 e C3 forem definidos como identificadores para T; 
e) C3 for definido como o único identificador para T. 
Resolução: 
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. 
No caso da questão, temos que C1 é determinante de todos os demais atributos. Contudo, 
há uma dependência transitiva, pois C1 → C3 e C3 → C4, então C1 → C4. 
A banca deu como gabarito o item C, definindo C3 como determinante de C1. Contudo, 
somente com isso, teríamos a seguinte situação: 
▪ C3 → C1 (gabarito dado) 
▪ C3 → C2 (dependência transitiva, pois C3 → C1 e C1 → C2, então C3 → C2) 
▪ C3 → C4 (já determina) 
Assim, eliminaríamos uma dependência transitiva e criaríamos outra. 
Gabarito: Letra C. Gabarito do Professor: ANULADA. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
124 
27- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / Banco de 
Dados) Das propriedades desejadas nas implementações de bancos de dados, designadas 
pelo acrônimo ACID, o “D” de durabilidade é extremamente importante porque trata da 
persistência dos dados mesmo no caso de falhas graves. Usualmente, a técnica empregada 
para garantir essa propriedade baseia-se na utilização de: 
a) algoritmos de controle de concorrência; 
b) comandos de commit e rollback; 
c) chaves estrangeiras e outras cláusulas que possam prevenir os erros mais comuns; 
d) redundância de dados; 
e) sistemas distribuídos. 
Resolução: 
Vamos verificar a qual propriedade os itens estão relacionados: 
a) Isolamento: algoritmos de controle de concorrência; 
b) Atomicidade: comandos de commit e rollback; 
c) Consistência: chaves estrangeiras e outras cláusulas que possam prevenir os erros mais 
comuns; 
d) Durabilidade: redundância de dados; 
e) Não tem relação com propriedades ACID: sistemas distribuídos. 
Gabarito: Letra D. 
 
28- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / Banco de 
Dados) Considere uma tabela relacional T definida para osatributos A, B, C e D, todos 
com valores atômicos. Considere também que o atributo A foi definido como chave primária 
dessa tabela. 
R (A, B, C, D) 
As dependências funcionais definidas para os atributos dessa tabela são: 
A → B 
B → C 
A → D 
A → C 
Como definida acima, a tabela T viola a forma normal conhecida como 
a) 1FN; 
b) 2FN; 
c) 3FN; 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
125 
d) FN Boyce-Codd; 
e) 4FN. 
Resolução: 
Podemos notar rapidamente que há uma dependência transitiva na tabela, pois 
A → B, B → C e A → C 
Logo, há violação da 3ª Forma Normal. 
Gabarito: Letra C. 
 
29- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / 
Desenvolvimento) No Brasil, cada pessoa possui apenas um CPF e cada pessoa pode 
possuir apenas um nome. Quando numa tabela de um banco relacional há uma coluna com 
o CPF de uma pessoa e seu respectivo nome, a coluna CPF deve ser uma chave, primária 
ou candidata. 
Essa exigência faz parte do processo de normalização do banco de dados, e é decorrente do 
enunciado da: 
a) primeira forma normal; 
b) segunda forma normal; 
c) terceira forma normal; 
d) forma normal Boyce-Codd; 
e) quarta forma normal. 
Resolução: 
Como a questão afirma que a coluna CPF que é determinante deve ser chave, então está se 
referindo a forma normal de Boyce-Codd. 
Gabarito: Letra D. 
 
30- (FGV - 2014 - PROCEMPA - Analista em TI e Comunicação - Analista em 
Infraestrutura e Redes Computacionais) Na implementação do controle de concorrência 
na execução de transações concomitantes de bancos, o dirty read é um dos fenômenos a 
evitar. 
Essa situação caracteriza-se sempre que 
a) uma transação lê dados gravados num dispositivo de armazenamento com defeito. 
b) uma transação grava dados gravados por outra transação que já foi confirmada 
(committed). 
c) uma transação lê dados gravados por outra transação que ainda não foi confirmada 
(committed). 
d) uma operação de leitura falha porque a tabela ao qual pertence está bloqueada. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
126 
e) uma operação de leitura falha por falta de permissão. 
Resolução: 
Leitura suja ocorre quando a transação lê dados escritos por uma transação simultânea não 
efetivada. 
Gabarito: Letra C. 
 
31- (FGV - 2014 - PROCEMPA - Analista em TI e Comunicação - Analista em 
Infraestrutura e Redes Computacionais) Considere uma transação de banco de dados que 
transfere uma quantia X de uma conta A para outra, B. A transação consiste de uma leitura 
e gravação de A, seguida da leitura e gravação de B. Admita que o programador construiu 
seu programa corretamente. 
Caso ocorra algum tipo de erro nas operações sobre B, interrompendo o curso normal da 
transação, o sistema gerenciador do banco de dados deve agir para corrigir a situação e 
garantir que as propriedades da transação sejam respeitadas. 
A propriedade resguardada, nesse caso, é conhecida como 
a) atomicidade. 
b) consistência. 
c) durabilidade. 
d) isolamento. 
e) independência de dados 
Resolução: 
A propriedade descrita é a da Atomicidade. 
As propriedades das transações ou ACID são: 
 
Gabarito: Letra A. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
127 
32- (FGV - 2014 - Câmara Municipal do Recife-PE - Analista de Sistemas) Considere 
uma tabela T num banco de dados relacional cujos atributos são C, D, E, N e as seguintes 
dependências: 
C → D 
D → C 
C → N 
C → E 
Para que a tabela T esteja normalizada na forma normal Boyce-Codd, é preciso que: 
a) C seja definido como o único identificador; 
b) D seja definido como o único identificador; 
c) C e D, separadamente, sejam definidos como os dois únicos identificadores; 
d) não haja identificadores; 
e) C e D, em conjunto, sejam definidos como o único identificador. 
Resolução: 
Para cumprir a forma normal de Boyce-Codd, todo atributo determinante deve ser chave. 
Logo, das dependências trazidas na questão, C e D devem ser chaves. Dito isto, vejamos os 
itens: 
a) Incorreto: D também é um identificador ou chave. 
b) Incorreto: C também é um identificador ou chave. 
c) Correto: perfeitamente. Perceba que C é determinante para os atributos D, N e E. Da 
mesma forma, D é determinante para C. Logo, eles devem ser chave. 
d) Incorreto: os identificadores serão C e D. 
e) Incorreto: C e D serão identificadores separados. Eles não determinam o mesmo 
conjunto de atributos, mas sim atributos diferentes: C determina D, N e E; D determina C. 
Gabarito: Letra C. 
 
 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
128 
33- (FGV - 2014 - Câmara Municipal do Recife-PE - Analista de Sistemas) Observe 
a instância da tabela de um banco de dados relacional mostrada a seguir. 
 
A dependência funcional que NÃO é válida nessa tabela é: 
a) Y → Z 
b) UV → V 
c) W → X 
d) UX → YX 
e) Z → U 
Resolução: 
Um conceito relevante para o entendimento das próximas formas normais é o de 
dependência funcional, que é um relacionamento entre dois ou mais atributos de forma 
que o valor de um atributo identifique o valor para cada um dos outros atributos, ou seja, 
um atributo está relacionado a outro. A dependência funcional pode ser ilustrada por →. 
Assim, em A → B, temos que “A determina B” ou “B é dependente (funcionalmente) de 
A”, isto é, o valor de B pode ser descoberto sabendo o valor de A. 
Vamos verificar os itens: 
a) Incorreto: Y → Z não é válida. Note que para um mesmo valor de Y = 1, temos valores 
diferentes de Z, isto é, não é possível descobrir o valor de Z, a partir do valor de Y. 
b) Correto: UV → V é válida. Para uma mesma combinação de valores U e V, não temos 
mais de um valor V. Exemplo: (1,23) -> 23; (2;25) -> 25. Isto é, não existem dois valores 
possíveis de V para uma mesma combinação de valores UV. 
c) Correto: W → X é válida. Para cada valor de W, não temos valores diferentes em X. 
Exemplo: (A) -> (PP); (B) -> (DF). 
d) Correto: UX → YX é válida. Observe que nenhum valor diferente da combinação YX é 
obtido a partir da mesma combinação UX. 
e) Correto: Z → U é válida. Não há dois valores de U que decorrem de um mesmo valor 
em Z. 
Gabarito: Letra A. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
129 
34- (FGV - 2014 - TJ-GO - Analista Judiciário - Análise de Sistemas - 
Desenvolvimento) Considere a tabela de um banco de dados relacional 
R(A, B, C, D) 
onde os atributos A e B, separadamente, são identificadores. Nesse caso, o processo de 
normalização da tabela R requer que, entre outras, seja preservada a dependência funcional: 
a) B→ A 
b) C→ D 
c) D → A 
d) C → A 
e) C → B 
Resolução: 
C e D não devem ser determinantes, pois não são identificadores, logo, eliminamos os itens 
b), c), d) e e). 
Se A e B são identificadores, eles devem ser determinantes. Sendo assim, a única opção 
válida é B -> A. 
Gabarito: Letra A. 
 
35- (FGV - 2014 - TJ-GO - Analista Judiciário - Análise de Sistemas - 
Desenvolvimento) No âmbito do projeto de bancos de dados, os Axiomas de Armstrong 
têm um importante papel porque permitem a derivação de dependências funcionais. Uma 
derivação que NÃO é válida é: 
a) se X → Y e Y → Z então X→Z 
b) se X → Y então XZ →YZ 
c) se Y⊆ X então X → Y 
d) se X→Y e X→Z então X →YZ 
e) se X → Y e Z → Y então X →YZ 
Resolução: 
Vejamos a qual axioma se referem os itens: 
a) Correto: axioma da transitividade.b) Correto: axioma da expansibilidade. 
c) Correto: axioma da reflexibilidade. 
d) Correto: axioma da união. 
e) Incorreto: não há regra nesse sentido. 
Gabarito: Letra E. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
130 
36- (FGV - 2014 - DPE-RJ - Técnico Superior Especializado - Administração de 
Dados) Dependências funcionais podem ser combinadas de modo que novas dependências 
sejam derivadas a partir de um conjunto inicial de dependências. Essas regras de derivação 
são conhecidas como Axiomas de Armstrong. Assim, a partir das dependências funcionais 
F -> G 
G -> H 
I -> J 
é possível, por meio desses axiomas, derivar 
a) G,H -> F 
b) H -> J 
c) H -> F 
d) F,G -> H,J 
e) F -> H 
Resolução: 
Galera, percebam que temos aqui uma transitividade, pois: 
Como F -> G e G -> H, então F -> H. 
Gabarito: Letra E. 
 
37- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) Dependências 
funcionais podem ser combinadas de modo que novas dependências sejam derivadas a partir 
de um conjunto inicial de dependências. Essas regras de derivação são conhecidas como 
Axiomas de Armstrong. Assim, a partir das dependências funcionais 
Leia o fragmento a seguir: 
“Um esquema de relação S está na _____ forma normal com relação a um conjunto de 
dependências F (que inclui dependências funcionais e dependências multivaloradas) se, para 
cada dependência multivalorada não trivial X -> -> Y em F, X é uma superchave para R.” 
Assinale a alternativa cujo item completa corretamente a lacuna do fragmento acima. 
a) primeira 
b) segunda 
c) terceira 
d) quarta 
e) Quinta 
Resolução: 
A definição é da quarta forma normal. Uma tabela está na Quarta Forma Normal (4FN) 
se, e somente se, está na 3FN e não possui dependência multivalorada. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
131 
 
Gabarito: Letra D. 
 
38- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) Com relação às 
definições dos diferentes tipos de chaves em um projeto de Banco de Dados, analise as 
afirmativas a seguir. 
I. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para 
distinguir uma linha das demais. Se uma das colunas (ou combinação de colunas) é escolhida 
como chave primária, as demais são denominadas chaves estrangeiras. 
II. Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores 
aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é o 
mecanismo que permite a implementação de relacionamentos em um banco de dados 
relacional. 
III. Uma chave primária é uma coluna ou uma combinação de colunas cujos valores não 
distinguem uma linha das demais dentro de uma tabela. 
Assinale: 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa III estiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
• 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)
• Cada atributo não-chave não pode ser dependente de apenas parte da chave.
2FN
• Está na 2FN.
• Cada atributo não chave não possui dependência transitiva, para cada chave candidata. 
• Todos os atributos dependem exclusivamente da chave primária da tabela.
3FN
• Está na 3FN (variação forte da 3FN).
• Todo determinante é chave candidata.
• Não há dependências entre atributos não chave.
BCFN
• Está na 3FN.
• Não possui dependência multivalorada.
4FN
• Está na 4FN.
• Não possui dependência de junção.
5FN
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
132 
Resolução: 
Vamos analisar cada um dos itens: 
I. Incorreto: Em alguns casos, mais de uma coluna ou combinações de colunas podem servir 
para distinguir uma linha das demais. Se uma das colunas (ou combinação de colunas) é 
escolhida como chave primária, as demais são denominadas chaves estrangeiras 
secundárias. 
II. Correto: Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos 
valores aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é 
o mecanismo que permite a implementação de relacionamentos em um banco de dados 
relacional. 
III. Incorreto: Uma chave primária é uma coluna ou uma combinação de colunas cujos 
valores não distinguem uma linha das demais dentro de uma tabela. 
Gabarito: Letra B. 
 
39- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) A capacidade de 
alterar o esquema conceitual, sem que seja necessário alterar os esquemas externos ou os 
programas de aplicação, é denominada 
a) independência lógica de dados. 
b) independência física de dados. 
c) independência interna de dados. 
d) fragmentação de dados. 
e) transparência de dados. 
Resolução: 
Temos dois tipos de independência de dados: 
 
Gabarito: Letra A. 
 
 
 
 
Independência
Lógica
Capacidade de alterar o esquema conceitual
sem ter de alterar os esquemas externos ou
de programas de aplicação.
Física
Capacidade de alterar o esquema interno sem
ter de alterar o esquema conceitual e, por
consequência, sem ter que alterar os esquemas
externos.
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
133 
40- (FGV - 2013 - AL-MT - Analista de Sistemas - Programador) Sobre o uso do 
valor null em relações em um SGBD relacional, analise as afirmativas a seguir. 
I. Sua representação interna é igual a zero em campos numéricos ou espaço em branco em 
campos do tipo varchar2. 
II. São usados para representar valores de atributos que podem ser desconhecidos ou não 
aplicáveis a uma tupla em particular. 
III. São normalmente utilizados para representar valores desconhecidos em chaves-
primárias. 
Assinale: 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa III estiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
Resolução: 
Vamos analisar cada um dos itens: 
I. Incorreto: NULL não é igual a zero nem a espaço em branco. 
II. Correto: 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. 
III. Incorreto: chaves-primárias não podem ser NULL. 
Gabarito: Letra B. 
 
41- (FGV - 2012 - Senado Federal - Analista Legislativo - Análise de Suporte de 
Sistemas - Reaplicação) Fabricantes de armas são obrigados a imprimir um número de 
série em cada uma de suas armas, identificando assim, unicamente, cada arma produzida. 
No modelo de dados para um certo fabricante de armas, existe uma entidade chamada 
"arma" com um atributo chamado "num_serie". 
Com referência a este cenário, para a entidade "arma", "num_serie" é um atributo do tipo: 
a) Chave alternativa (alternate key). 
b) Chave composta (composite key). 
c) Chave primária (primary key). 
d) Chave estrangeira (foreign key). 
e) Chave migrada (migrated key). 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
134 
Resolução: 
Se o atributo identifica unicamente cada uma das armas, então ele é chave primária. 
Lembrando que chave primária é uma escolha dentre várias chaves candidatas possíveis, 
mas como na questão não temos outrasopções, então ficamos com chave primária sem 
nenhuma dúvida. 
Gabarito: Letra C. 
 
42- (FGV - 2010 - FIOCRUZ - Tecnologista em Saúde - Geoprocessamento) Sobre 
banco de dados orientado a objeto, pode-se dizer que: 
a) é um banco de dados no qual os dados são guardados como propriedades de objetos, e os 
objetos são valores definidos segundo classes, ou tipos de dados complexos. 
b) é formado por tabelas e registros de dados inseridos nas tabelas que estão diretamente 
vinculados ao dado primário. 
c) é um banco de dados que opera em rede e permite que várias tabelas sejam usadas 
simultaneamente por meio do uso de referências. 
d) diferencia-se de outros modelos de bancos de dados no sentido em que especifica a forma 
do resultado e não o caminho para chegar a ele. 
e) é um conjunto de bancos de dados logicamente inter-relacionados, distribuídos em rede. 
Resolução: 
O modelo de dados de objeto define um banco de dados em termos de objetos, suas 
propriedades e operações. 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 A. 
 
43- (FGV - 2010 - FIOCRUZ - Tecnologista em Saúde - Geoprocessamento) Sobre 
os Metadados, assinale a afirmativa correta. 
a) São um conjunto de informações estruturadas que descrevem os dados (bases) que 
representam, facilitando ao usuário o gerenciamento desses dados. 
b) São o conjunto total de dados que integram um projeto de geoprocessamento. 
c) São dados preliminares que necessitam de averiguação e eventuais correções para, 
posteriormente, serem utilizados. 
d) São o conjunto de dados que já passaram por todas as averiguações e já estão prontos 
para utilização. 
e) São dados que não foram utilizados e são arquivados para futuros trabalhos. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
135 
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. 
Gabarito: Letra A. 
 
44- (FGV - 2010 - DETRAN-RN - Programador de computador) Assinale a 
alternativa que corresponde ao recurso do modelo de entidade-relacionamento, cuja 
definição é “ser um conjunto de um ou mais atributos que, tomados coletivamente, permite-
se identificar de maneira unívoca uma entidade em um conjunto de entidades”: 
a) Chave primária. 
b) Superchave. 
c) Especialização. 
d) Generalização. 
e) Herança de atributo. 
Resolução: 
Pessoal, pra mim temos duas respostas corretas. 
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. 
Uma chave primária também serve para identificar unicamente os registros, constituindo-
se de um atributo ou conjunto de atributos. A diferença é que uma chave primária é uma 
escolha dentre as possíveis chaves candidatas de uma tabela. E uma chave candidata é uma 
superchave mínima. 
Ou seja, todas essas chaves servem para distinguir as entidades ou registros. 
Para fixar os conceitos de chave, trago um esquema. 
 
Portanto, considero que esta questão deveria ter sido ANULADA, mas a banca deu como 
correto o item B, talvez por ser o mais genérico dos conceitos e ter definição literal da forma 
trazida na questão. 
Gabarito: Letra B. Gabarito do Professor: ANULADA. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
136 
45- (FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de 
Dados) Sobre Bancos de Dados Relacionais, analise: 
I. A abordagem relacional está baseada no princípio de que as informações em uma base de 
dados podem ser consideradas relações matemáticas e que estão representadas de maneira 
uniforme com o uso de tabelas bidimensionais. 
II. A teoria relacional enxerga o banco de dados como um conjunto de tabelas, e as 
operações que as utilizam são feitas por linguagem que o manipula, não sendo procedurais, 
ou seja, manipulando conjuntos de uma só vez. 
III. É indispensável aos usuários saber como e onde os dados estão armazenados. Está(ão) 
correta(s) apenas a(s) afirmativa(s): 
a) I, II 
b) I, III 
c) I 
d) II 
e) II, III 
Resolução: 
Vamos analisar cada um dos itens: 
I. Correto: 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. 
II. Correto: 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. 
III. Incorreto: os usuários não precisam saber onde e como os dados estão armazenados. 
Gabarito: Letra A. 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
137 
46- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) Com relação 
à especificação e à manipulação de um atributo multivalorado pelos SGBDs, analise as 
afirmativas a seguir. 
I. O modelo de dados relacional (especificado por Codd), não aceita este tipo de atributo, 
multivalorado. O modelo de dados relacional preconiza que este atributo deve ser 
processado pela implementação de uma tabela que possa contê-lo. 
II. O modelo de dados relacional (especificado por Codd) especifica que para processar um 
atributo multivalorado deve antes normalizar a tabela onde o mesmo se encontra. 
III. O modelo de objetos determina que todos os atributos de um objeto, inclusive os 
multivalorados, sejam encapsulados no objeto, permitindo, desta forma, a sua 
implementação e processamento. 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa III estiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
Resolução: 
Vamos analisar cada um dos itens: 
I. Correto: para ser considerado relacional, um banco de dados deve possui tabelas somente 
com atributos atômicos. Não são aceitos atributos compostos ou multivalorados. 
▪ 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. 
II. Correto: exatamente. Se existe um atributo multivalorado, então deve se proceder com 
a normalização da tabela para deixá-la somente com atributos atômicos. Isto é o objetivo 
da primeira forma normal (1FN). 
III. Correto: o modelo de objetos não restringe a presença de atributos multivalorados,logo é permitido sim colocar estes atributos nos objetos deste modelo. 
Gabarito: Letra E. 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
138 
47- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) O conceito de 
visão é muito útil e empregado na implementação de banco de dados. 
O emprego do conceito visão tem as seguintes finalidades ou vantagens: 
a) ocultar dados e fornecer o controle de redundâncias. 
b) ocultar dados e fornecer independência de dados lógica. 
c) fornecer controle de redundância e a restrição de integridade. 
d) fornecer controle de redundância e independência de dados lógica. 
e) fornecer a restrição de integridade e independência de dados lógica. 
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. Tecnicamente, uma visão é uma consulta predefinida 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. 
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. (vantagem descrita no item b) 
❖ Simplificar o gerenciamento de permissões de usuários. 
❖ Organizar dados a serem exportados para outros aplicativos. 
Gabarito: Letra B. 
 
48- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) Os conceitos 
que envolvem os termos restrição de integridade de entidade e restrição de integridade 
referencial são, respectivamente: 
a) nenhum atributo pertencente à chave primária poderá receber valor NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave 
estrangeira é chave primária, quando for diferente de NULL. 
b) os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a 
chave estrangeira é chave primária, quando for diferente de NULL / nenhum atributo 
pertencente à chave primária poderá receber valor NULL. 
c) nenhum atributo pertencente à chave primária poderá receber valor NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave 
estrangeira é chave primária, somente quando for igual a NULL. 
d) os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a 
chave estrangeira é chave primária, somente quando for igual a NULL / nenhum atributo 
pertencente à chave primária poderá receber valor NULL. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
139 
e) os atributos pertencentes à chave primária deverão conter sempre valores diferentes de 
NULL / os valores dos atributos que formam a chave estrangeira deverá existir na tabela 
onde a chave estrangeira é chave primária, somente quando for igual a NULL. 
Resolução: 
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. 
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. 
Gabarito: Letra A. 
 
49- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) A propriedade 
de uma transação denominada de ACID envolve os seguintes conceitos: 
a) Atômico, Concorrente, Isolamento e Durabilidade. 
b) Atomicidade, Consistência, Isolamento e Durabilidade. 
c) Atomicidade, Concorrente, Inconsistente e Durabilidade. 
d) Atomicidade, Consistência, Integridade e Dependência de dados. 
e) Atomicidade, Consistência, Isolamento e Dependência de dados. 
Resolução: 
As propriedades das transações são: 
 
Gabarito: Letra B. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
140 
50- (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas) 
Acerca das transações realizadas em um Banco de Dados, assinale a afirmativa incorreta. 
a) As transações controlam melhor apenas a concorrência. 
b) As transações são unidades lógicas de trabalho numa aplicação. 
c) A base de dados está em um estado consistente antes e depois de uma transação. 
d) As transações de diferentes usuários que envolvem dados compartilhados são executadas 
em sequência. 
e) Um mecanismo de transação garante que toda transação iniciada termine com sucesso 
ou é desfeita. 
Resolução: 
Vamos analisar cada um dos itens: 
a) Incorreto: As transações controlam melhor apenas a concorrência, isolamento, 
atomicidade e durabilidade. 
b) Correto: 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. Dito de outro modo, uma transação é uma unidade 
lógica de trabalho que executa um conjunto de operações em um banco de dados. 
c) Correto: 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. Esta é a propriedade da consistência. 
d) Correto: sinceramente não encontrei uma referência para este item, mas como o item a) 
está incorreto, então consideremos isso como correto. 
e) Correto: 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. Esta é a 
propriedade da atomicidade. 
Gabarito: Letra A. 
 
 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
141 
51- (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas) 
Diz-se que um agrupamento está na terceira forma normal se já estiver na segunda forma 
normal e atender à seguinte condição: 
a) se todo atributo não chave depende funcionalmente diretamente da chave primária. 
b) se nenhum dos seus atributos depender funcionalmente de atributos não chave. 
c) se cada atributo não chave depender funcionalmente da totalidade da chave. 
d) se não houver a existência de grupos de valores repetidos. 
e) se não existirem dependências multivaloradas. 
Resolução: 
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. 
Gabarito: Letra B. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
142 
 
6. LISTA DE QUESTÕES 
 
1- (FGV - 2021 - IMBEL - Supervisor - Tecnologia de Informação) Na teoria de 
projetos de bancos de dados, o processo de normalização de uma tabela é feito a partir da 
identificação 
a) das chaves estrangeiras. 
b) das dependências funcionais. 
c) das junções que serão necessárias. 
d) dos tipos de dados em cada coluna. 
e) dos relacionamentosentre as tabelas. 
 
2- (FGV - 2018 - Prefeitura de Niterói - RJ - Analista de Políticas Públicas e 
Gestão Governamental - Gestão de Tecnologia) Considere duas tabelas: T1, com 
atributos A e B, e T2, com atributos C e D. Nas duas tabelas as chaves primárias foram 
definidas pelos atributos A e C, respectivamente. Não há outras chaves nessas tabelas além 
das chaves primárias. 
Na tabela T2, o atributo D é uma chave estrangeira que referencia a tabela T1. Não há 
outras chaves estrangeiras nessas tabelas. As tabelas T1 e T2 estão perfeitamente 
normalizadas. 
Sabe-se que agora deve haver um relacionamento 1:1 entre essas duas tabelas. 
Assinale a opção que apresenta a providência necessária para que esse requisito seja 
atendido, de forma que o grau de normalização da tabela seja mantido. 
a) Criar uma terceira tabela, com atributos A e C como chaves estrangeiras para T1 e T2, 
sem alterar T1 e T2. 
b) Definir o atributo B como unique em T1. 
c) Alterar T2, definindo o atributo D como chave primária no lugar de C. 
d) Definir o atributo D como unique em T2. 
e) Incluir o atributo D na chave primária de T2. 
 
3- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) Considere uma 
tabela relacional R com atributos A, B, C, D, e as seguintes dependências funcionais. 
A → B 
B → C 
A → D 
B → A 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
143 
Estabelecendo-se que os atributos sublinhados identificam chaves, primárias ou candidatas, 
o esquema correto para que se obtenha um projeto normalizado até a forma normal Boyce-
Codd, é 
a) R (A, B, C, D) 
b) R (A, B, C, D) 
c) R (A, B, C, D) 
d) R1 (A, C, D) 
 R2 (A, B) 
e) R1 (A, B, D) 
 R2 (B, C) 
 
4- (FGV - 2018 - AL-RO - Analista Legislativo - Banco de Dados) No âmbito da 
teoria de projeto de bancos de dados relacionais, considere as seguintes dependências 
funcionais para os atributos A, B, C, D. 
A → B 
B → C 
C → D 
Nesse caso, a dependência A → C poderia ser deduzida pelo axioma da 
a) aumentabilidade. 
b) completude. 
c) reflexividade. 
d) transitividade. 
e) união. 
 
5- (FGV - 2018 - AL-RO - Analista Legislativo - Análise e Desenvolvimento de 
Sistemas) No contexto das propriedades desejadas para transações executadas em banco 
de dados relacionais, é possível que, eventualmente, seja permitida ou forçada a leitura de 
dados que foram modificados em operações ainda não confirmadas (comitted). 
Assinale a principal propriedade que é flexibilizada na ocorrência de um dirty read. 
a) Atomicidade. 
b) Consistência. 
c) Durabilidade. 
d) Integridade referencial. 
e) Isolamento. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
144 
6- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de 
Banco de dados) No contexto da otimização de consultas para bancos de dados, a Álgebra 
Relacional tem um papel importante, especialmente na construção das query trees para a 
representação de planos de execução. As operações primitivas da AR são definidas como as 
operações que não podem ser expressas por meio das demais operações. Assinale a opção 
que apresenta a lista que contém as cinco operações primitivas da AR. 
a) Diferença, divisão, projeção, seleção e união. 
b) Diferença, produto, projeção, seleção e união. 
c) Interseção, produto, projeção, seleção e união. 
d) Divisão, interseção, junção, seleção e união. 
e) Junção, produto, projeção, seleção e união. 
 
7- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de 
Banco de dados) Considere uma tabela relacional T, com atributos A, B, C, D, E, na qual 
as seguintes dependências funcionais se verificam: 
A → B 
B → C 
C → D 
D → E 
E → A 
Para que essa tabela esteja normalizada até a forma Boyce-Codd, 
a) T deve possuir apenas um identificador, composto pela justaposição dos atributos A, B, 
C, D e E. 
b) T deve possuir apenas um identificador, composto pela justaposição dos atributos A e E. 
c) T deve possuir três identificadores, cada um composto por um dos atributos A, D e E 
individualmente. 
d) T deve possuir cinco identificadores, cada um composto por um dos atributos A, B, C, D 
e E individualmente. 
e) nenhum identificador poderá ser estabelecido para T. 
 
8- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Num banco de dados relacional, considere uma tabela T, não normalizada 
contendo os atributos CPF, Matrícula, Nome, Endereço, Telefone. Sobre esses atributos, 
foram apuradas as seguintes dependências funcionais: 
Matrícula → CPF 
CPF → Nome 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
145 
Matrícula → Endereço 
Telefone → Matrícula 
Assinale o esquema (com as chaves primárias sublinhadas) que está normalizado e 
produzido com decomposição sem perda. 
a) T1 (CPF, Nome) 
 T2 (Matrícula, CPF) 
 T3 (Telefone, Matrícula, Endereço) 
b) T1 (CPF, Matrícula, Nome, Endereço) 
 T2 (Telefone, Matrícula) 
c) T1 (CPF, Nome) 
 T2 (Matrícula, CPF, Endereço) 
 T3 (Telefone, Matrícula) 
d) T1 (CPF, Nome) 
 T2 (Matrícula, CPF, Endereço) 
 T3 (Telefone, Matrícula) 
e) T1 (CPF, Nome) 
 T2 (Matrícula, CPF) 
 T3 (Nome, Endereço) 
 T4 (Telefone, Matrícula) 
 
9- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Teoricamente, um banco de dados relacional poderia ser construído em uma 
única tabela, chamada universal, na qual estariam presentes todos os atributos. Na prática, 
porém, isso causaria enormes transtornos. Uma técnica de projeto de bancos é a de 
decomposição sucessiva das tabelas, à luz das dependências entre atributos, até que se 
chegue a um projeto normalizado com um nível de decomposição aceitável. Nesse processo, 
deve haver uma preocupação especial para que essa decomposição seja sem perda. Assinale 
a opção que apresenta o significado técnico da “decomposição sem perda”, no presente 
contexto. 
a) Cada atributo deve aparecer em uma ou mais tabelas, após a decomposição. 
b) Cada atributo deve aparecer em apenas uma das tabelas obtidas pela decomposição. 
c) Todos os estados representáveis na tabela universal deveriam ser alcançáveis por meio 
da combinação das tabelas obtidas pela decomposição. 
d) Todos os valores dos atributos que compõem a tabela universal podem estar presentes 
em um ou mais dos atributos que compõem as tabelas obtidas pela decomposição. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
146 
e) O número de atributos da tabela universal deve ser igual ao somatório do número de 
atributos em cada uma das tabelas obtidas pela decomposição. 
 
10- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Desenvolvimento de 
Sistemas) Considere uma tabela de banco de dados contendo informações de contato dos 
clientes de uma empresa. Sabe-se que cada cliente pode ter um número variado de contatos, 
da mesma natureza ou não. A seguir, um extrato da instância dessa tabela contendo os 
dados completos de cinco clientes. 
 
Sobre as dependências funcionais e multivaloradas para essa tabela, assinale a afirmativa 
correta. 
a) CódigoCliente → Natureza, Contato 
b) CódigoCliente, Natureza → Contato 
c) CódigoCliente →→ Natureza 
d) Conta, Natureza → CódigoCliente 
e) Além das dependências triviais, nenhuma outra dependência pode ser deduzida. 
 
11- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral) Em um banco 
de dados relacional, um nome da tabela, uma chave primária e um nome de coluna garantem 
o acesso aa) um dado. 
b) um SGBD. 
c) uma linguagem de consulta. 
d) uma partição. 
e) uma visão. 
 
12- (FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral) O conjunto de 
programas responsável pelo gerenciamento de uma base de dados e que, entre outras 
funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface 
para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de 
a) Banco de Dados Relacional (BDR). 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
147 
b) Dicionário de Dados (DD). 
c) Modelo Entidade Relacionamento (MER). 
d) Sistema de Suporte à Decisão (SSD). 
e) Sistema Gerenciador de Bancos de Dados (SGBD). 
 
13- (FGV - 2018 - Banestes - Analista em Tecnologia da Informação - Suporte e 
Infraestrutura) As propriedades usualmente requeridas para transações em bancos de 
dados são identificadas pela sigla ACID. 
Essas propriedades são: 
a) assincronia, concorrência, integridade, durabilidade; 
b) assincronia, consistência, isolamento, distribuição; 
c) atomicidade, concorrência, integridade, durabilidade; 
d) atomicidade, conformidade, independência, distribuição; 
e) atomicidade, consistência, isolamento, durabilidade. 
 
14- (FGV - 2018 - Banestes - Analista em Tecnologia da Informação - 
Desenvolvimento de Sistemas) Considere as seguintes regras de derivação de 
dependências funcionais no âmbito do projeto de banco de dados 
I. Se X → Y então XY → Y 
II. Se X → Y e X → Z então Y → Z 
III. Se XY → Z então X → Z 
Sobre essas afirmativas, conclui-se que: 
a) nenhuma está correta; 
b) somente I está correta; 
c) somente II está correta; 
d) somente III está correta; 
e) todas estão corretas. 
 
 
 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
148 
15- (FGV - 2017 - SEPOG - RO - Analista em Tecnologia da Informação e 
Comunicação) A figura a seguir mostra a estrutura das tabelas Produto, Venda e Cliente 
pertencentes a um banco de dados de uma empresa comercial. 
 
A tabela Venda contém um registro para cada venda efetuada pela companhia. A fim de 
preservar a integridade referencial do banco de dados, assinale a opção que indica a coluna 
ou colunas dessa tabela que deveria(m) ser chaves estrangeiras. 
a) id_produto. 
b) imposto e quantidade. 
c) quantidade. 
d) id_produto e quantidade. 
e) id_cliente e id_produto. 
 
16- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Em relação a banco de dados relacionais, analise as afirmativas abaixo: 
I. Uma chave primária identifica um registro de forma única, não podendo eventualmente 
assumir valor nulo. 
II. Uma chave estrangeira não pode apontar para uma chave primária da mesma tabela. 
III. Uma chave candidata é aquela que define uma combinação de atributos entre tabelas, 
mas não pode ser uma chave primária. 
Está correto o que se afirma em: 
a) I; 
b) II; 
c) III; 
d) I e II; 
e) I, II e III. 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
149 
17- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Uma empresa possui informações sobre suas vendas em uma tabela, contendo 
as seguintes colunas: 
cliente, vendedor, produto 
Para cada produto, cada cliente tem contato apenas com um vendedor. Cada vendedor 
vende apenas um produto. Um produto pode ser vendido por vários vendedores. 
A chave primária é o conjunto (cliente, vendedor). Em termos de normalização de dados, e 
considerando-se a maior normalização possível, é correto dizer que essa tabela encontra-se 
na: 
a) primeira forma normal; 
b) segunda forma normal; 
c) terceira forma normal; 
d) forma normal de Boyce-Codd; 
e) quarta forma normal. 
 
18- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - Suporte à 
Produção) Na década de 80, Edgar Frank Codd definiu um conjunto de regras para definir 
o que são bancos de dados relacionais. 
A opção que NÃO faz parte dessas regras, é: 
a) qualquer visualização que teoricamente possa ser atualizada deve ser realizada através 
do próprio sistema; 
b) aplicativos e recursos ad hoc não devem ser afetados logicamente quando os métodos de 
acesso ou as estruturas de armazenamento físico forem alterados; 
c) restrições de integridade necessitam ser especificadas dentro dos programas de aplicação, 
de modo que mudanças nessas restrições sejam observadas por essas aplicações; 
d) todas as informações no banco devem ser representadas logicamente como valores de 
coluna em linhas dentro das tabelas; 
e) os usuários finais e aplicativos não devem conhecer nem serem afetados pela localização 
dos dados. 
 
19- (FGV - 2017 - IBGE - Analista Censitário - Análise de Sistemas - 
Desenvolvimento de Aplicações) Em projetos de Banco de Dados Relacional, a 
dependência funcional representada por 
A→B e B→C, então A→C 
é a base para caracterizar que uma relação está na: 
a) primeira, mas não na segunda forma normal; 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
150 
b) primeira e na segunda forma normal; 
c) segunda e na terceira forma normal; 
d) terceira forma normal, mas não na forma normal de Boyce/Codd; 
e) terceira forma normal e na forma normal de Boyce/Codd. 
 
20- (FGV - 2016 - Prefeitura de Paulínia - SP - Analista de Sistemas) A execução de 
transações de bancos de dados deve observar um conjunto de propriedades, cuja finalidade 
é a manutenção da integridade dos dados armazenados nas tabelas. 
Assinale a opção que apresenta as propriedades usualmente implementadas nos sistemas 
gerenciadores de bancos de dados. 
a) Independência de dados e integridade referencial. 
b) Manutenção de logs e extração de backups. 
c) Segurança, criptografia e sigilo. 
d) Atomicidade, durabilidade, consistência e isolamento. 
e) Performance, segurança e escalabilidade. 
 
21- (FGV - 2016 - COMPESA - Analista de Gestão - Administrador de Banco de 
Dados) No contexto do projeto de bancos de dados, é possível derivar novas dependências 
a partir de um conjunto inicial de dependências funcionais, o que é feito por meio da 
aplicação de axiomas de derivação. Os axiomas que estabelecem essas regras de derivação 
são 
a) se X → Y e Y → Z então X→ Z se X contém Y então X →Y se X → Y então XW → 
YW 
b) se X → Y e Y → Z então X → Z se X contém Y então X →Y se X → Y então X → YW 
c) se X → Y e W → Y então X → W se X contém Y então Y →X se X → Y então XW → 
YW 
d) se X → Y e Y → Z então X → Z se Y contém X então X →Y se X → YW então Y → 
XW 
e) se X→ Y e Z → Y então X → Z se X contém Y então Y → X se X → Y então XW → 
YW 
 
22- (FGV - 2016 - COMPESA - Analista de Gestão - Administrador de Banco de 
Dados) A teoria de consultas para bancos de dados relacionais supõe cinco operações 
primitivas para a álgebra relacional, o que significa que o efeito de nenhuma dessas cinco 
operações pode ser obtido pela combinação das demais. Assinale a opção que indica a lista 
dessas operações. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
151 
a) Seleção, projeção, produto, união e junção. 
b) Junção, projeção, produto, união e divisão. 
c) Seleção, projeção, produto, junção e diferença. 
d) Seleção, projeção, junção, interseção e diferença. 
e) Seleção, projeção, produto, união e diferença. 
 
23- (FGV - 2016 - IBGE - Analista - Análise de Sistemas - Desenvolvimento de 
Aplicações - Web Mobile) Na derivaçãode dependências funcionais num projeto 
relacional, está correto afirmar que se A,B → X,Y 
então é certo que: 
a) A → X 
b) A → X,Y 
c) X,Y → A 
d) A,B → X 
e) X,Y → A,B 
 
24- (FGV - 2016 - IBGE - Analista - Análise de Sistemas - Desenvolvimento de 
Aplicações - Web Mobile) Considere uma tabela relacional R(A1, A2, ... , An) que, depois 
de normalizada, foi decomposta num esquema com três tabelas, R1, R2 e R3. Nesse caso, 
diz-se que a decomposição ocorreu sem perda quando: 
a) todas as dependências funcionais existentes para os atributos de R1, R2, R3 são 
preservadas em R; 
b) qualquer instância de R pode ser recuperada a partir de junções de R1, R2 e R3; 
c) nenhuma das tabelas R1, R2 e R3 contém todos os atributos de R; 
d) todas as tabelas R1, R2 e R3 possuem chaves primárias; 
e) a soma do número de atributos de cada tabela R1, R2 e R3 é maior que o número de 
atributos de R. 
 
25- (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista 
Programador) Observe a instância de uma tabela relacional R, mostrada a seguir. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
152 
A dependência funcional que certamente NÃO pode ser depreendida dessa instância é: 
a) A1 → A2 
b) A1,A2 → A2 
c) A2 → A3 
d) A1 → A3 
e) A3 → A2 
 
26- (FGV - 2015 - DPE-RO - Analista da Defensoria Pública - Analista 
Programador) Considere um projeto de bancos de dados relacional onde as seguintes 
dependências funcionais se verificam. 
C1 → C2 
C1 → C3 
C3 → C4 
Uma tabela T de atributos C1, C2, C3, C4, na qual C1 é um identificador, verifica a terceira 
forma normal somente se: 
a) C1 e C2 forem definidos como identificadores para T; 
b) C4 determinar C3; 
c) C3 determinar C1; 
d) C1 e C3 forem definidos como identificadores para T; 
e) C3 for definido como o único identificador para T. 
 
27- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / Banco de 
Dados) Das propriedades desejadas nas implementações de bancos de dados, designadas 
pelo acrônimo ACID, o “D” de durabilidade é extremamente importante porque trata da 
persistência dos dados mesmo no caso de falhas graves. Usualmente, a técnica empregada 
para garantir essa propriedade baseia-se na utilização de: 
a) algoritmos de controle de concorrência; 
b) comandos de commit e rollback; 
c) chaves estrangeiras e outras cláusulas que possam prevenir os erros mais comuns; 
d) redundância de dados; 
e) sistemas distribuídos. 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
153 
28- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / Banco de 
Dados) Considere uma tabela relacional T definida para os atributos A, B, C e D, todos 
com valores atômicos. Considere também que o atributo A foi definido como chave primária 
dessa tabela. 
R (A, B, C, D) 
As dependências funcionais definidas para os atributos dessa tabela são: 
A → B 
B → C 
A → D 
A → C 
Como definida acima, a tabela T viola a forma normal conhecida como 
a) 1FN; 
b) 2FN; 
c) 3FN; 
d) FN Boyce-Codd; 
e) 4FN. 
 
29- (FGV - 2015 - TJ-PI - Analista Judiciário - Analista de Sistemas / 
Desenvolvimento) No Brasil, cada pessoa possui apenas um CPF e cada pessoa pode 
possuir apenas um nome. Quando numa tabela de um banco relacional há uma coluna com 
o CPF de uma pessoa e seu respectivo nome, a coluna CPF deve ser uma chave, primária 
ou candidata. 
Essa exigência faz parte do processo de normalização do banco de dados, e é decorrente do 
enunciado da: 
a) primeira forma normal; 
b) segunda forma normal; 
c) terceira forma normal; 
d) forma normal Boyce-Codd; 
e) quarta forma normal. 
 
30- (FGV - 2014 - PROCEMPA - Analista em TI e Comunicação - Analista em 
Infraestrutura e Redes Computacionais) Na implementação do controle de concorrência 
na execução de transações concomitantes de bancos, o dirty read é um dos fenômenos a 
evitar. 
Essa situação caracteriza-se sempre que 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
154 
a) uma transação lê dados gravados num dispositivo de armazenamento com defeito. 
b) uma transação grava dados gravados por outra transação que já foi confirmada 
(committed). 
c) uma transação lê dados gravados por outra transação que ainda não foi confirmada 
(committed). 
d) uma operação de leitura falha porque a tabela ao qual pertence está bloqueada. 
e) uma operação de leitura falha por falta de permissão. 
 
31- (FGV - 2014 - PROCEMPA - Analista em TI e Comunicação - Analista em 
Infraestrutura e Redes Computacionais) Considere uma transação de banco de dados que 
transfere uma quantia X de uma conta A para outra, B. A transação consiste de uma leitura 
e gravação de A, seguida da leitura e gravação de B. Admita que o programador construiu 
seu programa corretamente. 
Caso ocorra algum tipo de erro nas operações sobre B, interrompendo o curso normal da 
transação, o sistema gerenciador do banco de dados deve agir para corrigir a situação e 
garantir que as propriedades da transação sejam respeitadas. 
A propriedade resguardada, nesse caso, é conhecida como 
a) atomicidade. b) consistência. c) durabilidade. 
d) isolamento. e) independência de dados. 
 
32- (FGV - 2014 - Câmara Municipal do Recife-PE - Analista de Sistemas) Considere 
uma tabela T num banco de dados relacional cujos atributos são C, D, E, N e as seguintes 
dependências: 
C → D 
D → C 
C → N 
C → E 
Para que a tabela T esteja normalizada na forma normal Boyce-Codd, é preciso que: 
a) C seja definido como o único identificador; 
b) D seja definido como o único identificador; 
c) C e D, separadamente, sejam definidos como os dois únicos identificadores; 
d) não haja identificadores; 
e) C e D, em conjunto, sejam definidos como o único identificador. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
155 
33- (FGV - 2014 - Câmara Municipal do Recife-PE - Analista de Sistemas) Observe 
a instância da tabela de um banco de dados relacional mostrada a seguir. 
 
A dependência funcional que NÃO é válida nessa tabela é: 
a) Y → Z 
b) UV → V 
c) W → X 
d) UX → YX 
e) Z → U 
 
34- (FGV - 2014 - TJ-GO - Analista Judiciário - Análise de Sistemas - 
Desenvolvimento) Considere a tabela de um banco de dados relacional 
R(A, B, C, D) 
onde os atributos A e B, separadamente, são identificadores. Nesse caso, o processo de 
normalização da tabela R requer que, entre outras, seja preservada a dependência funcional: 
a) B→ A 
b) C→ D 
c) D → A 
d) C → A 
e) C → B 
 
35- (FGV - 2014 - TJ-GO - Analista Judiciário - Análise de Sistemas - 
Desenvolvimento) No âmbito do projeto de bancos de dados, os Axiomas de Armstrong 
têm um importante papel porque permitem a derivação de dependências funcionais. Uma 
derivação que NÃO é válida é: 
a) se X → Y e Y → Z então X→Z 
b) se X → Y então XZ →YZ 
c) se Y⊆ X então X → Y 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
156 
d) se X→Y e X→Z então X →YZ 
e) se X → Y e Z → Y então X →YZ 
 
36- (FGV - 2014 - DPE-RJ - Técnico Superior Especializado - Administração de 
Dados) Dependências funcionais podem ser combinadas de modo que novas dependências 
sejam derivadas a partir de um conjunto inicial de dependências. Essas regras de derivação 
são conhecidas como Axiomas de Armstrong. Assim, a partir das dependências funcionais 
F -> G 
G -> H 
I -> J 
é possível, por meio desses axiomas, derivar 
a) G,H -> F 
b) H -> Jc) H -> F 
d) F,G -> H,J 
e) F -> H 
 
37- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) Dependências 
funcionais podem ser combinadas de modo que novas dependências sejam derivadas a partir 
de um conjunto inicial de dependências. Essas regras de derivação são conhecidas como 
Axiomas de Armstrong. Assim, a partir das dependências funcionais 
Leia o fragmento a seguir: 
“Um esquema de relação S está na _____ forma normal com relação a um conjunto de 
dependências F (que inclui dependências funcionais e dependências multivaloradas) se, para 
cada dependência multivalorada não trivial X -> -> Y em F, X é uma superchave para R.” 
Assinale a alternativa cujo item completa corretamente a lacuna do fragmento acima. 
a) primeira 
b) segunda 
c) terceira 
d) quarta 
e) Quinta 
 
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
157 
38- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) Com relação às 
definições dos diferentes tipos de chaves em um projeto de Banco de Dados, analise as 
afirmativas a seguir. 
I. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para 
distinguir uma linha das demais. Se uma das colunas (ou combinação de colunas) é escolhida 
como chave primária, as demais são denominadas chaves estrangeiras. 
II. Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores 
aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é o 
mecanismo que permite a implementação de relacionamentos em um banco de dados 
relacional. 
III. Uma chave primária é uma coluna ou uma combinação de colunas cujos valores não 
distinguem uma linha das demais dentro de uma tabela. 
Assinale: 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa III estiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
 
39- (FGV - 2013 - AL-MT - Analista de Sistemas - Banco de Dados) A capacidade de 
alterar o esquema conceitual, sem que seja necessário alterar os esquemas externos ou os 
programas de aplicação, é denominada 
a) independência lógica de dados. 
b) independência física de dados. 
c) independência interna de dados. 
d) fragmentação de dados. 
e) transparência de dados. 
 
40- (FGV - 2013 - AL-MT - Analista de Sistemas - Programador) Sobre o uso do 
valor null em relações em um SGBD relacional, analise as afirmativas a seguir. 
I. Sua representação interna é igual a zero em campos numéricos ou espaço em branco em 
campos do tipo varchar2. 
II. São usados para representar valores de atributos que podem ser desconhecidos ou não 
aplicáveis a uma tupla em particular. 
III. São normalmente utilizados para representar valores desconhecidos em chaves-
primárias. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
158 
Assinale: 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa III estiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
 
41- (FGV - 2012 - Senado Federal - Analista Legislativo - Análise de Suporte de 
Sistemas - Reaplicação) Fabricantes de armas são obrigados a imprimir um número de 
série em cada uma de suas armas, identificando assim, unicamente, cada arma produzida. 
No modelo de dados para um certo fabricante de armas, existe uma entidade chamada 
"arma" com um atributo chamado "num_serie". 
Com referência a este cenário, para a entidade "arma", "num_serie" é um atributo do tipo: 
a) Chave alternativa (alternate key). 
b) Chave composta (composite key). 
c) Chave primária (primary key). 
d) Chave estrangeira (foreign key). 
e) Chave migrada (migrated key). 
 
42- (FGV - 2010 - FIOCRUZ - Tecnologista em Saúde - Geoprocessamento) Sobre 
banco de dados orientado a objeto, pode-se dizer que: 
a) é um banco de dados no qual os dados são guardados como propriedades de objetos, e os 
objetos são valores definidos segundo classes, ou tipos de dados complexos. 
b) é formado por tabelas e registros de dados inseridos nas tabelas que estão diretamente 
vinculados ao dado primário. 
c) é um banco de dados que opera em rede e permite que várias tabelas sejam usadas 
simultaneamente por meio do uso de referências. 
d) diferencia-se de outros modelos de bancos de dados no sentido em que especifica a forma 
do resultado e não o caminho para chegar a ele. 
e) é um conjunto de bancos de dados logicamente inter-relacionados, distribuídos em rede. 
 
43- (FGV - 2010 - FIOCRUZ - Tecnologista em Saúde - Geoprocessamento) Sobre 
os Metadados, assinale a afirmativa correta. 
a) São um conjunto de informações estruturadas que descrevem os dados (bases) que 
representam, facilitando ao usuário o gerenciamento desses dados. 
b) São o conjunto total de dados que integram um projeto de geoprocessamento. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
159 
c) São dados preliminares que necessitam de averiguação e eventuais correções para, 
posteriormente, serem utilizados. 
d) São o conjunto de dados que já passaram por todas as averiguações e já estão prontos 
para utilização. 
e) São dados que não foram utilizados e são arquivados para futuros trabalhos. 
 
44- (FGV - 2010 - DETRAN-RN - Programador de computador) Assinale a 
alternativa que corresponde ao recurso do modelo de entidade-relacionamento, cuja 
definição é “ser um conjunto de um ou mais atributos que, tomados coletivamente, permite-
se identificar de maneira unívoca uma entidade em um conjunto de entidades”: 
a) Chave primária. 
b) Superchave. 
c) Especialização. 
d) Generalização. 
e) Herança de atributo. 
 
45- (FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de 
Dados) Sobre Bancos de Dados Relacionais, analise: 
I. A abordagem relacional está baseada no princípio de que as informações em uma base de 
dados podem ser consideradas relações matemáticas e que estão representadas de maneira 
uniforme com o uso de tabelas bidimensionais. 
II. A teoria relacional enxerga o banco de dados como um conjunto de tabelas, e as 
operações que as utilizam são feitas por linguagem que o manipula, não sendo procedurais, 
ou seja, manipulando conjuntos de uma só vez. 
III. É indispensável aos usuários saber como e onde os dados estão armazenados. Está(ão) 
correta(s) apenas a(s) afirmativa(s): 
a) I, II 
b) I, III 
c) I 
d) II 
e) II, III 
 
46- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) Com relação 
à especificação e à manipulação de um atributo multivalorado pelos SGBDs, analise as 
afirmativas a seguir. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
160 
I. O modelo de dados relacional (especificado por Codd), não aceita este tipo de atributo, 
multivalorado. O modelo de dados relacional preconiza que este atributo deve ser 
processado pela implementação de uma tabela que possa contê-lo. 
II. O modelo de dados relacional (especificado por Codd) especifica que para processar um 
atributo multivalorado deve antes normalizar a tabela onde o mesmo se encontra. 
III. O modelo de objetos determina que todos os atributos de um objeto, inclusive os 
multivalorados, sejam encapsulados no objeto, permitindo, desta forma, a sua 
implementação e processamento. 
a) se somente a afirmativa I estiver correta. 
b) se somente a afirmativa II estiver correta. 
c) se somente a afirmativa IIIestiver correta. 
d) se somente as afirmativas I e II estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
 
47- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) O conceito de 
visão é muito útil e empregado na implementação de banco de dados. 
O emprego do conceito visão tem as seguintes finalidades ou vantagens: 
a) ocultar dados e fornecer o controle de redundâncias. 
b) ocultar dados e fornecer independência de dados lógica. 
c) fornecer controle de redundância e a restrição de integridade. 
d) fornecer controle de redundância e independência de dados lógica. 
e) fornecer a restrição de integridade e independência de dados lógica. 
 
48- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) Os conceitos 
que envolvem os termos restrição de integridade de entidade e restrição de integridade 
referencial são, respectivamente: 
a) nenhum atributo pertencente à chave primária poderá receber valor NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave 
estrangeira é chave primária, quando for diferente de NULL. 
b) os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a 
chave estrangeira é chave primária, quando for diferente de NULL / nenhum atributo 
pertencente à chave primária poderá receber valor NULL. 
c) nenhum atributo pertencente à chave primária poderá receber valor NULL / os valores 
dos atributos que formam a chave estrangeira deverá existir na tabela onde a chave 
estrangeira é chave primária, somente quando for igual a NULL. 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
161 
d) os valores dos atributos que formam a chave estrangeira deverá existir na tabela onde a 
chave estrangeira é chave primária, somente quando for igual a NULL / nenhum atributo 
pertencente à chave primária poderá receber valor NULL. 
e) os atributos pertencentes à chave primária deverão conter sempre valores diferentes de 
NULL / os valores dos atributos que formam a chave estrangeira deverá existir na tabela 
onde a chave estrangeira é chave primária, somente quando for igual a NULL. 
 
49- (FGV - 2010 - BADESC - Analista de Sistemas - Banco de Dados) A propriedade 
de uma transação denominada de ACID envolve os seguintes conceitos: 
a) Atômico, Concorrente, Isolamento e Durabilidade. 
b) Atomicidade, Consistência, Isolamento e Durabilidade. 
c) Atomicidade, Concorrente, Inconsistente e Durabilidade. 
d) Atomicidade, Consistência, Integridade e Dependência de dados. 
e) Atomicidade, Consistência, Isolamento e Dependência de dados. 
 
50- (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas) 
Acerca das transações realizadas em um Banco de Dados, assinale a afirmativa incorreta. 
a) As transações controlam melhor apenas a concorrência. 
b) As transações são unidades lógicas de trabalho numa aplicação. 
c) A base de dados está em um estado consistente antes e depois de uma transação. 
d) As transações de diferentes usuários que envolvem dados compartilhados são executadas 
em sequência. 
e) Um mecanismo de transação garante que toda transação iniciada termine com sucesso 
ou é desfeita. 
 
51- (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas) 
Diz-se que um agrupamento está na terceira forma normal se já estiver na segunda forma 
normal e atender à seguinte condição: 
a) se todo atributo não chave depende funcionalmente diretamente da chave primária. 
b) se nenhum dos seus atributos depender funcionalmente de atributos não chave. 
c) se cada atributo não chave depender funcionalmente da totalidade da chave. 
d) se não houver a existência de grupos de valores repetidos. 
e) se não existirem dependências multivaloradas. 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29
 ____________________________________ 
 
Análise de Dados para o TCU 
Professor Ramon Souza 
162 
 
7. GABARITO 
 
1- B 
2- D 
3- A 
4- D 
5- E 
6- B 
7- D 
8- D 
9- C 
10- E 
11- A 
12- E 
13- E 
14- B 
15- E 
16- A 
17- A 
18- C 
19- B 
20- D 
21- A 
22- E 
23- D 
24- B 
25- E 
26- C* 
27- D 
28- C 
29- D 
30- C 
31- A 
32- C 
33- A 
34- A 
35- E 
36- E 
37- D 
38- B 
39- A 
40- B 
41- C 
42- A 
43- A 
44- B* 
45- A 
46- E 
47- B 
48- A 
49- B 
50- A 
51- B
 
 
Licensed to kelton choma - kelton_kk@hotmail.com - 015.110.662-29

Mais conteúdos dessa disciplina