Você está na página 1de 88

Aula 02

Banco de Dados e BI p/ TST (Analista Judiciário - Análise de Sistemas)

Professor: Thiago Rodrigues Cavalcanti


Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

AULA 02: Modelo relacional

Sumário
Modelo Relacional ............................................................................................................................. 1
1. Modelo relacional .............................................................................................................. 1
1.1. Restrições de Integridade ......................................................................................... 5
2. Álgebra relacional ............................................................................................................. 8
2.1. Seleção ............................................................................................................................. 9
2.2. Projeção ......................................................................................................................... 10
2.3. Rename (renomeação)............................................................................................. 11
2.4. União ............................................................................................................................... 12
2.5. Intersecção ................................................................................................................... 12
2.6. Diferença........................................................................................................................ 12
2.7. Produto Cartesiano .................................................................................................... 13
2.8. Junção ............................................................................................................................. 13
2.9. Divisão ............................................................................................................................ 15
3. Regras de Codd ............................................................................................................... 16
4. Normalização.................................................................................................................... 18
4.1. Quarta e quinta formas normais .......................................................................... 25
5. Mapeando o modelo ER em relacional ................................................................... 29
Questões comentadas .............................................................................................................. 35
Questões sem comentários .................................................................................................... 65
Gabarito ............................................................................................................................................. 86
Considerações Finais ..................................................................................................................... 87

Modelo Relacional

1. Modelo relacional
Nossa aula de hoje trata de um modelo de dados
definido em 1970 por Codd. Edgar Frank Codd foi um
matemático britânico que desenvolveu o modelo de banco de
dados relacional quando era pesquisador da IBM em San
José. É interessante que a IBM não quis implementar as
ideias de Codd inicialmente. Eles tinham uma linha produtos,
em especial o IMS/DB, e não queriam perder faturamento.

Mesmo assim, Codd insistiu na utilização do modelo,


ele conversou com um grupo de clientes e apresentou as
vantagens e peculiaridades da sua solução. A IBM acabou implementando o
System R. Deste projeto surge a linguagem SQL (SEQUEL). Veremos na próxima
aula um pouco mais sobre SQL, nesta aula apresentaremos os conceitos do
modelo relacional. Vamos juntos?

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 1 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

O modelo relacional é um modelo de dado representativo (ou de


implementação). Como um modelo, ele procura organizar os dados em um
banco de dados. Para isso, ele define um conjunto de conceitos para
representação dos dados. O modelo tem uma base formal sólida que está
estruturada na teoria dos conjuntos.

C. J. DATE apresenta o modelo relacional com as seguintes características


fundamentais, que o distingue dos demais modelos:

1. Estrutura de dados tabular.

2. Regras de integridade.

3. Operadores relacionais.

4. Utilização do SQL (Structured Query Language).

Vejam que a primeira característica definida acima trata da estrutura de


dados tabular. A base deste modelo é o conceito de relação. Um banco de
dados seria, portanto, um conjunto de relações. Cada relação pode ser vista
como uma tabela. Assim, os SGBD relacionais devem representam os dados
sob a forma de tabelas bidimensionais organizadas em linhas e colunas.

Cada linha dessas tabelas é conhecida como uma tupla, ou uma coleção
de valores relacionados. Cada coluna é vista como um atributo, que possui um
determinado conjunto de valores possíveis: o domínio. Um domínio é um
conjunto de valores atômicos. A figura abaixo resume os conceitos vistos por
meio da representação da tabela Alunos.

Percebam que a tabela é uma relação dentro do modelo. Cada uma das
colunas (Nome, Número e Turma), representam um atributo que deve ser
associado a cada uma da tuplas desta tabela. Cada linha descreve um aluno
desta tabela, a primeira linha apresenta os dados de Francisco com seus
respectivos número e turma.

Outra constatação que podemos fazer na figura acima é a presença de um


conjunto de valores possíveis para cada uma das colunas. Não está explícito.
Não sabemos a definição formal da tabela. Contudo, podemos observar que as
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 2 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

tuplas desta relação apresentam apenas valores numérico associados a coluna


Número e caracteres associados a coluna Nome. É importante perceber que cada
coluna possui um tipo de dados.

Quando especificamos um domínio, geralmente definimos um tipo de dado


do qual são retirados os valores possíveis para um atributo. Além do tipo de
dado, um domínio pode ser descrito por meio de um nome, um formato e outras
informações adicionais a respeito dos dados. Apenas para exemplificar um
atributo salário pode ser definido como um decimal com 10 dígitos e seu valor
ser definido em reais (R$).

Outra característica relevante associada ao domínio é o fato dele ser


atômico. Isso faz parte da definição do modelo relacional. Não se esqueça
disso! Usaremos esse conceito quando formos estudar normalização mais a
frente. Outro ponto importante, está relacionado à integridade dos dados. O
modelo apresenta um conjunto de restrições básicas para dados e
relacionamentos, conhecidas como restrições de integridade.

Ok! Temos as nossas relações! Conseguimos definir, pelo menos de forma


gráfica um conjunto de tabelas com seus atributos. Se quisermos, podemos
povoar essas tabelas com dados. Agora, se eu quiser associar ou operar uma
tabela com outras, ou ainda, fazer uma consulta que me retorne apenas as
tuplas que possuam uma certa restrição, o que devo fazer?

Neste momento chegamos a terceira característica definida por Date, que


vimos na página anterior. Os operadores relacionais são usados para
manipular as informações pertencentes a cada uma das relações do nosso
modelo. Esse conjunto de operações é conhecido como álgebra relacional. Ela
vai nos auxiliar a trabalhar com os dados em nossos esquemas relacionais.

Formalmente, um esquema relacional R, pode ser definido por R (A1, A2,


..., An) é composto por um nome de relação R e uma lista de atributos A1, A2, ...,
An. Cada atributo Ai é o nome de um papel desempenhado por algum domínio D
no esquema de relação R. Veja que aqui estamos falando do esquema, modelo,
desenho ou intenção de uma relação.

Se você não conseguiu observar de forma clara a definição acima, vamos


tentar apresentar a mesma em forma de figura. Veja que eu mantive o nome
das colunas e da relação com os termos usados na definição. Os valores em
cada coluna são definidos de acordo com um domínio especifico, veja a coluna
An pode receber os valores Aprovado ou Reprovado, por exemplo.

R A1 A2 ... AN

BACEN 8.8 Aprovado

SENADO 9.2 Aprovado

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 3 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Vejamos agora outras definições presentes no modelo. Percebam que são


definições simples. O entendimento destes conceitos facilita a leitura do
conteúdo quando estudamos e também na hora da prova!

O grau (ou aridade) de uma relação é o número de atributos ‘n’ desse


esquema de relação. Em outras palavras, a aridade de uma relação é o número
‘n’ de elementos que compõem as n-uplas ordenadas pertencentes à relação.
Uma relação de grau cinco teria, logicamente, cinco atributos. Se pensarmos em
uma tabela, teríamos cinco colunas. Considere o exemplo de uma relação
esquema de grau 7, que descreve estudantes universitários:

ESTUDANTE (Nome, Matricula, Telefone, Endereço, Celular, Idade, MPA)

Existe outra característica, que é o estado ou a extensão de uma relação,


representado formalmente por um r (minúsculo) ou r (R). Esse ‘r’ é um conjunto
de ‘m’ tuplas, onde r = {t1, t2, …, tm}. Cada uma das tuplas ti é uma lista
ordenada de n valores ti = <v1, v2, ..., vn> em que cada valor vi, 1<=i<=n, é
um elemento de dom(Ai) ou um valor especial NULL. Lembre-se que ‘Ai‘ é um
atributo da relação.

Mais uma vez apresentamos uma definição um pouco matemática do


conceito. E, mais uma vez, podemos, ao visualizar essa definição em uma
tabela, verificarmos a simplicidade visual do que está sendo descrito acima.

R A1 A2 A3 A4

T1 v11 v12 v13 v14

T2 v21 v22 v23 v24

T3 v31 v32 v33 v34

Neste caso, podemos definir r = {t1, t2, t3} e cada uma das tuplas são
ordenadas pelos valores <v1, v2, v3, v4>. Perceba a existência de uma ordenação
entre os valores dos atributos de uma relação. Lembra quando você cria uma
tabela em SQL, geralmente a ordem que você define para os atributos é a
mesma que os campos são criados fisicamente na base.

Agora que entendemos todos os conceitos iniciais vamos tratar de outras


características das relações. A primeira delas seria a ordenação de tuplas em
uma relação. Vejam que estamos falando das linhas. Imagine uma consulta ao
banco de dados que retorna um conjunto de tuplas, será que existe algum
critério predefinido para a ordenação deste resultado?

A ideia é que, por ser definida como um conjunto de tuplas dentro de cada
relação, as tuplas não são ordenadas. Em outras palavras, a ordenação da
tupla não faz parte da definição da relação. Se você pensar em SQL, é
basicamente estabelecer o fato de que se você fizer uma consulta e não

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 4 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

especificar uma ordenação para o resultado na cláusula order by o SGBD pode


retornar os valores ou tuplas em qualquer ordem.

E a ordenação dos valores dentro de uma tupla? Essa sim é


importante, pois cada valor representa um significado específico dentro de um
domínio. Ou seja, ao inserir uma tupla em uma relação é importante que os
valores estejam associados aos seus respectivos atributos. Para exemplificar,
pense em uma tabela, os valores associados a cada coluna têm um significado,
sendo assim, a inserção de linhas deve ser feita respeitando o contexto de cada
coluna.

Vamos fazer uma questão para entender um pouco mais do assunto.

1. BANCA: CESPE ANO: 2015 ÓRGÃO: TJDFT PROVA: PROGRAMAÇÃO DE


SISTEMAS
Julgue os itens seguintes a respeito de banco de dados.
[61] Em uma tabela de um banco de dados relacional, se uma restrição de chave
primária for definida como composta de mais de uma coluna, os seus valores
poderão ser duplicados em uma coluna; no entanto, cada combinação de valores
de todas as colunas na definição da restrição de chave primária deve ser
exclusiva.
Comentário: Questão interessante, pois nos permite fazer um rápido
comentário sobre chaves. Uma chave identifica unicamente uma linha de uma
relação. Toda relação pode ter vários conjuntos de atributos que podem ser
escolhidos como chave primária. Cada uma dessas opções que se caracterizam
por ser uma superchave mínima, ou seja, não é possível retirar nenhum
atributo sem que o conjunto perca a propriedade de ser chave da relação, é
denominada chave candidata. A chave escolhida para ser a chave da relação é
denominada chave primária. Ela pode ser composta por um ou mais
atributos.
A questão pede para analisarmos uma característica de chaves compostas por
mais de um atributo. Percebam que a unicidade dos valores deve considerar o
conjunto dos atributos e não um atributo individualmente. Sendo assim a
alternativa encontra-se correta.
Gabarito: C.

1.1. Restrições de Integridade


Na primeira parte da aula definimos a estrutura tabular presente no
modelo relacional. Agora vamos falar das restrições de integridade. Essas
restrições visam manter a consistência dos dados dentro do seu banco. As
regras de integridade podem ser vistas como um conjunto de parâmetros ou
regras do negócio, previamente estabelecidos e criados no banco de dados, aos

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 5 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

quais os dados são submetidos, para garantir que de um processo de atualização


não resulte em dados inconsistentes.

Uma das características mais fortes dos bancos de dados relacionais,


quando comparado com seus antecessores (em Rede e Hierárquico), está em
oferecer mecanismos para a criação de regras de integridade diretamente no
banco de dados. As regras de integridade de dados podem ser implementadas
nos SGBDR de forma declarativa ou procedural.

A integridade declarativa é implementada através de parâmetros


opcionais da linguagem de definição de dados (DDL). Os tipos mais comuns de
integridade declarativa são: chave primária (PK), domínio e integridade
referencial.

A integridade procedural se apresenta sob a forma de um programa,


cuja lógica é escrita pelo programador, na linguagem procedural nativa do
SGBD. Esse tipo de integridade supre as necessidades não cobertas pelos
parâmetros de integridade declarativa e pode ser criada através de triggers,
stored procedures ou assertions.

As bancas focam suas questões sobre esse assunto nos seguintes tipos de
restrições:

• Integridade de Domínio (dom(A)) – restringe os valores válidos que


podem ser associados a um determinado atributo. É a mais elementar
forma de restrição de integridade. Ajudam, não somente a garantir os
valores inseridos no banco de dados, mas também a testar consultas para
garantir que as comparações feitas fazem sentido. Na linguagem SQL é
implementada pelo comando CHECK.

• Integridade de Chave (Unicidade) – Garante a unicidade do valor da


chave primária em cada uma das tuplas de uma relação. Implementado
pela palavra-chave UNIQUE.

• Integridade de Vazio (def if(x!=null?x==null)) – Basicamente verifica


se um valor de um determinado atributo pode ou não ter o valor nulo
associado a suas instâncias. Podemos definir uma coluna como NULL ou
NOT NULL em SQL.

• Integridade de Entidade (PK != null) – Garante que a chave primária


de uma entidade não receba o valor nulo.

• Integridade Referencial (FK == PK (Chave Candidata) || FK == null) -


Garante que o valor que aparece em uma relação para um dado conjunto
de atributos também apareça para um conjunto de atributos em outra
relação. Em SQL é implementada por meio de uma referência da chave
estrangeira (FK) de uma relação à chave primaria ou atributo UNIQUE da
outra tabela. Esse valor de chave estrangeira, sempre que existir, deve

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 6 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

estar associado a um valor da chave primária da outra relação. Caso


contrário pode assumir apenas o valor nulo.

• Integridade Semântica (assertions ou triggers) – Uma asserção é um


predicado que expressa uma condição que desejamos que seja sempre
satisfeita no banco de dados. Um gatilho (triggers) é um comando que é
executado pelo sistema automaticamente, em consequência de uma
modificação no banco de dados. Toda vez que um evento acontece, uma
condição (caso exista) é verificada e uma ação é disparada.

Ao lado da explicação de cada uma das regras de integridade existe, entre


parênteses, uma palavra, fórmula ou expressão. Elas não existem em nenhuma
fonte oficial de estudos. São estruturas criadas por mim para facilitar a
memorização das restrições de integridade. Quando formos estudar SQL,
falaremos um pouco mais sobre esse assunto com uma visão mais prática dos
conceitos apresentados.

Vamos agora fazer mais uma questão de provas passadas, desta vez a
banca é a FCC.

2. BANCA: FCC ANO: 2015 ÓRGÃO: CNMP PROVA: ANALISTA DO CNMP -


DESENVOLVIMENTO DE SISTEMAS
Considere a tabela funcionario a seguir, cuja chave primária é FuncCPF, em um
banco de dados relacional.

A manipulação de dados nesta tabela pode levar a problemas conhecidos como


anomalias. Sobre elas, considere:
I. Para incluir uma nova tupla na tabela será necessário incluir ou os valores de
atributo do departamento para o qual o funcionário trabalha ou valores NULL, se
o funcionário ainda não trabalha para nenhum departamento. Este é um
exemplo de anomalia de inserção.
II. A única maneira de inserir um novo departamento que ainda não tenha
funcionários é colocar valores NULL nos atributos para funcionário, já que este
procedimento não viola a integridade de entidade. Este é um exemplo de
anomalia de inserção.
III. Se o funcionário Antônio for excluído e este for o último funcionário
trabalhando no departamento RH, a informação referente a este departamento
se perde do banco de dados. Este é um exemplo de anomalia de exclusão.
IV. Se o valor de um dos atributos de determinado departamento for mudado
(do departamento 5, por exemplo) será necessário atualizar as tuplas de todos

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 7 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

os funcionários que trabalham neste departamento, caso contrário, o banco de


dados ficará incoerente. Este é um exemplo de anomalia de modificação.
Está correto o que se afirma APENAS em
A I, III e IV.
B III e IV.
C I, II e III.
D II e IV.
E I, II e IV.
Comentário: Quando tratamos do assunto de normalização é costume falar que
ao normalizar uma relação você vai reduzir anomalias de atualização. Contudo,
nem sempre nos lembramos de mostrar exemplos práticos de como isso
acontece, essa questão nos ajuda neste aspecto.
A assertiva I trata da inserção de um novo funcionário ainda não alocado em
nenhum departamento. Neste caso os valores referentes a departamento ficarão
vazios na tupla até que venham a ser inseridos. Além de não ser bom para
saúde do banco de dados esse exemplo é considerado um exemplo de anomalia
de inserção, sendo assim, temos uma alternativa correta.
Veja que não temos condições de inserir um departamento sem funcionário
associado, pois a chave da relação é o CPF do funcionário. Sabemos que a chave
primária não pode assumir valores nulos. Desta forma, podemos afirmar que a
alternativa II está errada.
A alternativa III descreve um caso concreto da anomalia de exclusão em tabelas
não normalizadas, vejam que é possível que você perca as informações sobre
um departamento ao excluir o último funcionário que está cadastro. A
alternativa está correta.
Por fim, a alternativa IV apresenta um exemplo concreto e correto de uma
anomalia de modificação.
Gabarito: A.

2. Álgebra relacional
Falaremos agora sobre a álgebra relacional, um assunto bastante
explorado pelas bancas de concurso. Esse tema possui algumas características
matemáticas que são baseadas principalmente na teoria de conjuntos. O
conjunto básico de operações utilizadas no modelo relacional é conhecido como
álgebra relacional. Navathe apresenta três motivos para considerarmos essas
operações importantes:

1. Fornece alicerce formal para o modelo relacional.

2. É usado como base para implementação e otimização de consultas.

3. Alguns dos seus conceitos são incorporados na linguagem SQL


padrão.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 8 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Historicamente, a álgebra e o cálculo relacional foram desenvolvidos antes


da linguagem SQL. O conjunto básico de operações para o modelo relacional é a
álgebra relacional. Essas operações permitem que um usuário especifique as
solicitações de recuperação básicas como expressões da álgebra relacional. O
resultado de uma recuperação ou consulta é uma nova relação.

Embora a álgebra defina um conjunto de operações para o modelo


relacional, o cálculo relacional oferece uma linguagem declarativa de nível
mais alto para especificar consultas relacionais. A álgebra relacional
normalmente é considerada uma parte do modelo de dados relacional. Suas
operações podem ser divididas em dois grupos. Um grupo inclui conjunto de
operações da teoria de conjuntos da matemática; e outro grupo
desenvolvidas especificamente para bancos de dados relacionais: as operações
relacionais.

Vamos apresentar cada uma das operações, e em seguida,


apresentaremos as taxonomias ou formas de classificação das operações.
Tenham em mente que todas as operações são executadas sobre uma ou duas
tabelas e o retorno delas é sempre outra relação. Essa característica é conhecida
como fechamento.

2.1. Seleção
O objetivo dessa operação, que recebe como entrada uma única tabela ou
relação, é selecionar um conjunto de tuplas que satisfaçam um predicado (uma
condição lógica) nos valores dos atributos. Em outras palavras vamos extrair de
uma relação um conjunto de linhas que possuem algumas restrições, por
exemplo, funcionário que o salário seja maior que 10 mil reais. Vamos procurar
entender melhor o que a operação faz exatamente com outro exemplo, vejam a
tabela abaixo:

Queremos executar uma operação se seleção sobre está tabela. Vamos


então fazer uma consulta de quais grupos de países ou parte do mundo
apresentam mais de 10% da distribuição de petróleo. Olhando para a tabela já
poderíamos trazer os valores América Latina e Oriente Médio. Mas existe uma

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 9 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

notação especifica definida pela álgebra relacional para fazer essa consulta. Essa
notação pode ser vista abaixo:

A letra grega (sigma) representa a operação de seleção, que é feita


sobre a relação R, restringindo as linhas de acordo com as restrições descritas
pelo predicado. Sobre esse predicado é preciso tecer alguns comentários.
Primeiramente é perfeitamente possível que ele seja uma composição de
restrições sobre diferentes colunas da tabela.

Cada restrição é conhecida como termo. Os termos podem ser ligados por
conectivos (e), (ou), ¬ (não). Cada termo pode ser composto por um
<atributo> operador <atributo> ou <atributo> operador <constante>. Por fim a
lista de operadores é formada por =, ≠, >, ≥, < ou ≤. Percebam que você pode
compor diferentes predicados com essas estruturas.

Vamos agora, que conhecemos a sintaxe e a consulta sugerida, escrever a


mesma na notação correta. (Para facilitar nossa escrita, vamos chama as
colunas de REGIAO, DISTRIBUICAODEPETROLEO, DISTRIBICAODEGAS e a
relação de PETROLEOREGIAO):

<DISTRIBUICAODEPETROLEO >= 10>(PETROLEOREGIAO)

Observe na consulta acima que o predicado < DISTRIBUICAODEPETROLEO >= 10> é


definido sobre um atributo da tabela PETROLEOREGIAO.

2.2. Projeção
Agora vamos passar para a projeção. Essa operação, também, recebe
como entrada uma relação. Contudo, suas restrições são feitas sobre as colunas
da tabela. Essa operação deixa algumas colunas de fora do resultado, reduzindo,
portanto, a quantidade de dados a serem analisados. Usando o mesmo exemplo
anterior vamos supor que queremos as informações apenas da distribuição de
petróleo no mundo e das regiões. Bastaria recortar a tabela excluindo a coluna
que informa a distribuição de gás.

Da mesma maneira que a operação anterior, apresentaremos agora a


representação formal da projeção:

A letra grega (pi) representa a operação. A1, A2, ..., Ak são a lista de
atributos da relação R que queremos trazer como resultado. Para fazermos a

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 10 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

consulta utilizando a nomenclatura correta podemos escrevê-la da seguinte


forma:

< REGIAO, DISTRIBUICAODEPETROLEO >(PETROLEOREGIAO)

Ainda sobre a essa operação consideramos relevante saber que os


resultados duplicados são removidos.

2.3. Rename (renomeação)


Para entender a definição da função rename, podemos começar
entendendo a sua funcionalidade. A primeira seria unificar em um único
conjunto duas listas diferentes. Imaginem duas tabelas, uma com a lista de
escolas e outra das universidades. Se quiséssemos juntar os nomes das
instituições de ensino poderíamos fazer uma união (falaremos sobre a operação
nas próximas linhas) dos nomes das escolas com os nomes das universidades.
Contudo, se precisarmos usar esse resultado mais adiante, qual o nome da nova
relação e dos atributos? Temos, portanto, que renomear o resultset.

O segundo uso do rename seria para reduzir ambiguidade em


“selfjoin´s”. Quando fazemos um join da tabela com ela mesma e queremos
comparar os atributos do resultado, temos que renomear as tabelas para que
essa comparação possa ser feita. Se você se lembrar de SQL, a linguagem
implementa alias sobre as tabelas, e uma das funções desse alias é justamente
resolver essa ambiguidade. Em suma, o alias é uma implementação do conceito
de rename.

A representação formal da operação de rename é feita da pela letra grega


(rho) e é aplicada sobre uma relação. Veja abaixo:

x<A1, A2, ... ,An >(E)

O x representa o novo nome dado para a relação (E) e A1, A2, ..., An
representam os novos nomes dados para os atributos da relação. A1 se refere
ao primeiro atributo da relação, A2 ao segundo e assim sucessivamente.
Suponha uma relação STUDENT (NAME, PHONE). Podemos usar o comando de
rename da seguinte forma:

estudante<nome, telefone>(STUDENT)

Você poderia ainda atribuir o resultado acima a outra relação usando o


comando de assignment (). Assim poderíamos atribuir o resultado anterior a
uma variável, por exemplo:

temp  estudante<nome, telefone>(STUDENT)

As próximas quatro operações são conhecidas como operações de


conjuntos. Vamos analisar cada uma delas.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 11 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

2.4. União
A operação é caracterizada por R S, onde R e S são duas relações com a
mesma quantidade de atributos e cujos atributos operam sobre o mesmo
domínio. O resultado contém as tuplas que estão em R, S ou ambas,
matematicamente pode ser vista assim:

2.5. Intersecção
A intersecção representada por R S, trás como resultado a Relação que
contém as tuplas que estão em ambas R e S.

2.6. Diferença
R - S: Relação que contém as tuplas que estão em R e que não estão em
S.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 12 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

2.7. Produto Cartesiano


Permite combinar informações de duas relações fazendo uma junção de
todas as linhas a primeira com todas as linhas da segunda. O produto cartesiano
entre duas tabelas ou relações gera uma nova relação com a quantidade de
tuplas igual ao produto da quantidade de tuplas de cada uma das relações. A
nova relação possui todos os atributos que compõe cada uma das tabelas que
fazem parte da operação da seguinte forma:

2.8. Junção
A junção é uma conexão entre duas tabelas na qual elas são mescladas de
acordo com um campo em comum. Essa junção pode ser considerada um
produto cartesiano seguido por uma seleção. O símbolo representa uma
junção. Ao executar uma junção ela deve satisfazer a um predicado e existir
pelo menos um campo nas duas tabelas que operem sobre o mesmo domínio.
Esse campo é usado para decidir quais linhas da primeira tabela devem se
relacionar com cada uma das linhas da segunda tabela. Geralmente exige-se que
os valores dos atributos sejam iguais. Mas existem variações da junção
conforme veremos abaixo.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 13 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Theta-Join: O primeiro tipo de junção é definido sobre alguma


comparação entre os atributos de junção. Essa comparação é conhecida como
predicado. Caso esse predicado seja uma igualdade entre valores essa junção é
conhecida como Equijoin. Vejamos um exemplo:

Natural join ( ): Junção na qual é uma igualdade predefinida entre


todos os atributos de mesmo nome presentes em duas relações R1 e R2
(atributos de junção). Estes atributos só aparecem uma vez no resultado.

Junções externas ou outer joins. Junção na qual as tuplas de uma ou


ambas as relações que não são combinadas mesmo assim são preservadas no
resultado, possui basicamente três variações. Logo em seguida apresentamos
um exemplo.

Left outer Join: tuplas da relação à esquerda são preservadas.

Notação:

Right outer join: tuplas da relação à direita são preservadas

Notação:

Full outer join: tuplas da relação à direita e à esquerda são preservadas

Notação:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 14 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Antijoin: Representada pelo seguinte símbolo: . A operação retorna os


valores da relação que não satisfazem a condição de junção. Vejam o exemplo
abaixo:

2.9. Divisão
A operação de divisão é usada nas consultas nas quais se emprega a
frase: “para todos”. Seu resultado será composto basicamente pelos elementos
da primeira tabela que se relacionem com todos os elementos da segunda
tabela. Vejam o exemplo abaixo:

Sobre a taxonomia é importante saber que temos um conjunto de


operações conhecidas como fundamentais que são a seleção, projeção, união,
interseção, diferença, produto cartesiano e rename. Essas operações possuem
esse nome, pois a partir delas é possível obter o resultado das demais
operações.

Outra classificação importante é a classificação das operações em binárias


e unárias (ou primárias). Esse parâmetro está baseado na quantidade de
relações que são utilizadas nas operações. As operações de projeção, seleção e
rename são unárias. As operações de união, interseção, subtração, produto
cartesiano, junção e divisão são binárias.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 15 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

3. BANCA: FCC ANO: 2012 ÓRGÃO: TJ-RJ PROVA: ANALISTA JUDICIÁRIO


- ANALISTA DE SISTEMAS
Considere a seguinte tabela de um banco de dados.
TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL}
Uma expressão da álgebra relacional representando a tabela formada pelos
códigos (COD_FUNC) e nomes (NOME) dos funcionários que ganham salário
(SAL) entre 1000 e 3000 reais e trabalham no departamento de código
(COD_DEP) 3 é

Comentário: Para resolver essa questão vamos começar fazendo o código SQL
da consulta: SELECT COD_FUNC, NOME FROM TAB_FUNC WHERE SAL >= 1000
AND SAL <= 3000 AND COD_DEP = 3;
Agora vamos transformar essa consulta para a álgebra relacional. Vamos fazer
uma projeção sobre os atributos COD_FUNC e NOME sobre o resultado de uma
seleção com as restrições iguais as do select. Assim temos como resultado:
<COD_FUN, NOME >( < SAL >= 1000 ^ SAL <= 3000 ^ COD_DEP = 3>(TAB_FUN))

Vejam que esse resultado está presente na alternativa A com algumas


modificações na ordem das restrições impostas pelo comando de seleção.
Gabarito: A.

3. Regras de Codd
Para que um banco de dados seja considerado relacional ele deve seguir
as 13 regras definidas por E.F.Cood, apresentamos abaixo as referências a cada
uma das regras. É muito comum encontrar publicações falando das 12 regras. O
que acontece é que são 13 regras, numeradas de 0 até 12.

0. Todas as regras se baseiam na noção de que para um banco de dados


ser qualificado como relacional, ele dever utilizar recursos exclusivamente
relacionais para seu gerenciamento.

1. Informação: Todas as informações em um banco de dados são


representadas de forma explícita no nível lógico e são estruturadas
exatamente, em apenas uma forma, por valores em tabelas.

2. Acesso Garantido: Todos os dados precisam ser acessíveis. Cada valor


atômico (datum) em um banco de dados relacional possui a garantia de ser

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 16 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

logicamente acessado pela combinação de nome de tabela, do valor da chave


primária e do nome da coluna.

3. Tratamento sistemático de valores nulos: Valores nulos devem ser


suportados de forma sistemática, independente do tipo de dado, para
representar informações inexistentes e informações inaplicáveis. É também
implícito que tais representações devem ser manipuladas pelo SGBD de maneira
sistemática.

4. Catálogo on-line dinâmico: A descrição ou metadados do banco de


dados é representada no nível lógico da mesma forma que os dados ordinários,
permitindo que os usuários autorizados utilizem a mesma linguagem relacional
aplicada aos dados regulares. É possível usar a linguagem SQL para conhecer as
descrições das tabelas do banco, por exemplo.

5. Sublinguagem ampla dos dados: Um sistema relacional pode suportar


várias linguagens e várias formas de recuperação de informações. Entretanto,
deve haver pelo menos uma linguagem, com uma sintaxe bem definida e
expressa por um conjunto de caracteres, que suporte de forma compreensiva
todos os seguintes itens: definição de dados, definição de "views",
manipulação de dados (interativa e embutida em programas), restrições de
integridade, autorizações/segurança de acesso, e transações (begin, commit e
rollback).

6. Atualização de visualizações: Todas as "views" ou visões dos dados


que são teoricamente atualizáveis devem também ser atualizáveis pelo sistema.

7. Inserção, atualização e exclusão de alto nível: A capacidade de


manipular um conjunto de dados (em uma relação) através de um simples
comando deve-se estender às operações de inclusão, alteração ou exclusão de
dados.

8. Independência física de dados: Programas de aplicação e recursos ad


hoc permanecem logicamente inalterados quando ocorrem mudanças no método
de acesso ou na forma de armazenamento físico.

9. Independência lógica de dados: Mudanças nas relações e nas views


provocam pouco ou nenhum impacto nas aplicações. Ou seja, as alterações nas
tabelas que preservam os valores originais não devem afetar os aplicativos e
recursos ad hoc.

10. Independência de integridade: As aplicações não são afetadas


quando ocorrem mudanças nas regras de restrições de integridade. Deve ser
possível que todas as regras de integridade sejam definidas na linguagem
relacional e armazenadas no catálogo de sistema, não no nível de aplicação.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 17 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

11. Independência de distribuição: As aplicações não são logicamente


afetadas quando ocorrem mudanças geográficas dos dados. Ou seja, os usuários
finais não devem perceber o fato do BD ser distribuído ou local.

12. Não transposição das regras: Se um sistema possui uma linguagem


de baixo nível, essa linguagem não pode ser usada para subverter as regras de
integridades e restrições definidas no nível mais alto.

4. BANCA: FCC ANO: 2012 ÓRGÃO: TRT - 11ª REGIÃO (AM) PROVA:
ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Considere:
I. Regra 1 − Todas as informações são representadas de forma explícita no nível
lógico e exatamente em apenas uma forma, por valores em tabelas.
II. Regra 2 − Cada um e qualquer valor atômico (datum) possui a garantia de
ser logicamente acessado pela combinação do nome da tabela, do valor da
chave primária e do nome da coluna.
III. Regra 3 − Valores nulos não devem ser utilizados de forma sistemática,
independente do tipo de dado ainda que para representar informações
inexistentes e informações inaplicáveis.
Das regras de Codd para bancos de dados relacionais, está correto o que consta
em
A I, apenas.
B II, apenas.
C I e II, apenas.
D II e III, apenas.
E I, II e III.
Comentário: Vejam que a questão tratou das três primeiras regras da lista,
mas modificou o texto da regra 3 para torná-la incorreta. Vejamos novamente
as 3 primeiras regras:
Regra 1: Informação – Todas as informações de um BDR devem ser
representadas logicamente como valores de coluna em linhas dentro das
tabelas.
Regra 2: Garantia de Acesso – 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 Nulos – Os nulos devem ser representados
e tratados de modo sistemático, independentemente do tipo de dados.
Gabarito: C

4. Normalização
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 18 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

O Processo de normalização, como foi inicialmente proposto por Codd


(1972), sujeita um esquema de relação a uma série de testes para certifica-se
de que ele satisfaça certa forma normal.

A normalização de dados é uma técnica de decomposição utilizada no


projeto de banco de dados com objetivo de prover um armazenamento
consistente, evitando redundância de dados e anomalias de atualização.

Inicialmente, Codd propôs três formas normais: 1ª, 2ª e 3ª. Todas


baseadas nas dependências funcionais entre os atributos de uma relação. Uma
nova forma normal foi proposta por Boyce-Codd, que é mais forte do que 3ª FN.

Para entender as formas normais é preciso antes de qualquer coisa,


entender alguns conceitos. Para facilitar o seu entendimento vamos defini-lo e
explicá-los em uma linguagem simples e objetiva.

Vamos começar falando sobre chave. Como sabemos, existem alguns


conceitos relacionados a chave. O primeiro deles é o de superchave, uma
superchave de um esquema de relação R = {A1, A2, ..., An} é um conjunto de
atributos S C R (S está contido em R) que contenha a propriedade na qual não
haverá duas tuplas t1 e t2, em qualquer estado válido da relação r de R, cuja
t1[S] = t2[S]. Em outras palavras uma superchave é um conjunto de atributos
que tem a característica de restringir o conjunto de tuplas de uma relação a
apenas uma linha.

Antes de continuar nosso estudo sobre chaves, vejamos uma questão de


uma prova recente.

5. Ano: 2017 Banca: IADES Órgão: Hemocentro Cargo: Analista de


Tecnologia da Informação Q. 34
QUESTÃO 34 Considere uma tabela relacional “R” e seus atributos definidos por
R (F1, F2, F3, F4, F5) com dependências funcionais F1, F2, F3 F4, F5 e F5
F1, F2. Com base nessas informações, assinale a alternativa que contém o
número total de superchaves distintas para essa tabela.
(A) 2
(B) 7
(C) 8
(D) 10
(E) 12
Comentário: Para responder a essa questão temos que ter em mente a
definição de superchave:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 19 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Uma superchave é um conjunto de um ou mais atributos que, tomando


coletivamente, permite-nos identificar unicamente uma entidade no conjunto de
entidades.
De posse desta informação podemos montar conjuntos distintos de atributos que
possuem essa característica. Para simplificar vamos começar pelo conjunto dos 5
atributos e, em seguinte, vamos compondo os demais conjuntos. A grande
sacada é partir das dependências funcionais e perceber que F5 determina F1, F2,
logo F5 pode ser superchave em conjunto com F3. Vamos lá:
• (F1, F2, F3, F4, F5) --- superchave com 5 atributos
• (F1, F2, F3, F4), (F1, F2, F3, F5), (F5, F3, F2, F4), (F5, F3, F1, F4) --- super
chave com 4 atributos
• (F1, F2, F3), (F5, F3, F1), (F5, F3, F2), (F5, F3, F4) - super chave com 3
atributos
• (F5, F3) - superchave com 2 atributos
Vejam que no total temos 10 possíveis superchaves para a relação em questão.
Gabarito: D.

Essa superchave pode ser considerada apenas uma chave. Neste caso, a
chave é defendida como uma superchave mínima (K), qualquer remoção de
atributo de K fará com que K deixe de ser superchave da relação. Se um
esquema tiver mais de uma chave, cada uma delas é chamada de chave
candidata. Entre as chaves uma delas é escolhida para ser a chave da relação e
é denominada de chave primária. As demais são renegadas e são denominadas
chaves secundárias.

Entender o conceito de chave é o primeiro passo para o entendimento das


formas normais. De posse deste conhecimento, é possível definir agora um
atributo primário, que é membro de alguma chave candidata de R. Por sua
vez, de forma bem intuitiva, um atributo não primário é todo aquele que não
for um atributo primário!

Outro conceito que temos que ter conhecimento é o de dependências


funcional (DF). Já sabemos que ele faz parte da definição de algumas formas
normais. Mas, ainda não sabemos exatamente o que ele significa.

Dependência funcional é, basicamente, uma restrição entre dois conjuntos


de atributos do banco de dados. Formalmente, uma dependência funcional,
denotada por X  Y entre dois conjuntos de atributos X e Y, que são
subconjunto de R, especifica uma restrição nas possíveis tuplas que formam um
estado da relação r de R. A restrição é que, para quaisquer duas tuplas t1 e t2
em r que tenha t1[X] = t2[X], elas também têm de ter t1[Y] = t2[Y].

Mais uma vez podemos simplificar: a questão aqui é perceber que se você
escolher um determinado valor para o atributo X da relação (sabendo que X 
Y) é possível saber o valor do atributo Y. Na definição formal é dito que se duas
tuplas tiverem o mesmo valor para X, então elas também terão o mesmo valor
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 20 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

de Y. É importante saber também que quando X  Y (X determina Y), X é


chamando de determinante e Y de determinado.

Uma dependência funcional pode ser considerada trivial, neste caso se X


 Y e X contém ( ) Y. Para entender isso basta supor um conjunto de atributos
(A, B, C, D, E) e o fato de A, B, C  C faz desta DF uma dependência trivial. Por
outro lado, temos a possibilidade da DF ser não trivial se X  Y e X não contém
Y. Usando os mesmos atributos acima, uma DF A, B  D pode ser considerada
um exemplo de DF não trivial.

Com esses conceitos já é possível definir as três primeiras formas


normais, bem como a forma normal de Boyce-Codd.

Primeira forma normal (1FN) – Essa é considerada uma parte da


definição de relação no modelo relacional básico. Sua definição prevê que todos
os atributos de uma relação devem ter seus valores definidos sobre domínios
atômicos ou indivisíveis. Em outras palavras, os campos de uma tabela não
devem ser compostos ou multivalorados. Vejam abaixo uma figura que
demonstra a normalização de uma tabela que não está na 1FN para duas
relações.

Segunda forma normal (2FN) – A definição mais rigorosa descreve que


um esquema de relação R está na 2FN se todo atributo não primário A em R
tem dependência funcional total da chave primária. Podemos dizer também
que não existe dependência parcial. De uma forma mais simples, a ideia aqui
é que cada atributo não chave seja definido por todos os atributos pertencentes
à chave primária da relação. Veja abaixo uma relação que não se adequa a
segunda forma normal, sendo evoluída para duas que estão de acordo com a
definição apresentada.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 21 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Terceira forma normal (3FN) - Uma relação está na Terceira Forma


Normal (3NF) se ela está na 2FN e nenhum atributo não chave (não primário) é
transitivamente dependente da chave primária. Enfim, na 3FN não se aceita
dependência transitiva. O Navathe[1] descreve uma definição mais geral da
terceira forma normal que diz basicamente o seguinte:

Um esquema de relação R está na terceira forma normal (3FN) sempre


que uma dependência funcional não trivial X  A for determinada em R,
qualquer

(a) X é superchave de R;

(b) A é atributo primário de R;

Segundo o próprio autor, violar a condição (a) significa que X não é um


super conjunto de nenhuma chave de R; consequentemente, X pode ser não
primário ou pode ser um dado subconjunto de uma chave de R. O autor fala
também que a violação de (b) significa que A é um atributo não primário. Enfim,
são condições para a terceira forma normal (1) ter dependência funcional total
para todas as chaves de R e (2) não ser transitivamente dependente de
nenhuma chave de R.

Antes de apresentarmos as outras formas normais vamos fazer uma


questão sobre os conceitos vistos até aqui:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 22 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

6. Ano: 2017 Banca: FGV Órgão: Alerj Cargo: Analista de Tecnologia da


Informação Q. 48
Em banco de dados, a finalidade do processo de normalização é evitar
redundâncias e, portanto, evitar certas anomalias de atualização de dados.
Considere as dependências funcionais entre os atributos das seguintes
entidades:
PACIENTE(ID_PACIENTE determina NOME_PACIENTE);
MEDICO(ID_MEDICO determina CRM_MEDICO, NOME_MEDICO);
CONSULTA(ID_PACIENTE, ID_MEDICO determinam DATA_ATEND,
HORA_ATEND);
Sabendo-se que o atributo sublinhado é a chave primária, a alternativa que
apresenta as entidades e seus atributos na Terceira Forma Normal (3FN) é:
(A) PACIENTE (ID_PACIENTE, NOME_PACIENTE, ID_MEDICO, DATA_ATEND,
HORA_ATEND)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (CRM_MEDICO, DATA_ATEND, HORA_ATEND)
(B) PACIENTE (ID_PACIENTE, NOME_PACIENTE)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, NOME_MEDICO, DATA_ATEND, HORA_ATEND)
(C) PACIENTE (ID_PACIENTE, NOME_PACIENTE, ID_MEDICO)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, DATA_ATEND, HORA_ATEND)
(D) PACIENTE (ID_PACIENTE, NOME_PACIENTE)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, ID_MEDICO, DATA_ATEND, HORA_ATEND)
(E) PACIENTE (ID_PACIENTE, NOME_PACIENTE)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, CRM_MEDICO, NOME_MEDICO,
DATA_ATEND, HORA_ATEND)
Comentário: Para chegarmos até a terceira forma normal temos que cumprir
alguns requisitos. As relações do modelo não podem ter atributos compostos ou
multivalorasdos (1FN), não pode existir em cada uma das relações dependência
parcial (2FN) nem dependência transitiva (3FN). Ao ajustar o modelo podemos
encontra nossa resposta na alternativa D.
Gabarito: D
Forma normal de Boyce-Codd (FNBC) – Uma coisa interessante é que
ela foi proposta como uma forma mais simples que 3FN, porém mais rígida.
Devido ao fato de a 3FN não tratar satisfatoriamente casos onde uma relação
tem mais de uma chave candidata, estas chaves são compostas e possuem
atributos em comum.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 23 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Se uma relação está na FNBC, também está na 3FN. Sua definição diz o
seguinte: uma relação está na FNBC se todo determinante é chave candidata.
Abaixo segue uma figura que demonstra uma normalização de uma relação para
a FNBC.

7. BANCA: FCC ANO: 2015 ÓRGÃO: TRE-RR PROVA: ANALISTA


JUDICIÁRIO - ANÁLISE DE SISTEMAS
Considere a entidade a seguir, retirada de um diagrama de entidade-
relacionamento, que possui como chave primária os atributos employee_id e
start_date.

Pode-se afirmar que para esta entidade estar na Segunda Forma Normal (2FN),
ela precisa estar na Primeira Forma Normal (1FN) e
A os atributos employee_id, job_id e department_id precisam ser chave
estrangeira nesta entidade.
B a chave primária precisa ser formada pelos atributos employee_id, job_id e
department_id, que são provenientes de tabelas relacionadas a esta.
C o atributo employee_id, que é parte da chave primária, precisa ser
proveniente de uma das tabelas relacionadas a esta.
D os atributos end_date, job_id e department_id precisam ser dependentes da
chave primária composta inteira, não apenas de parte dela.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 24 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

E todos os atributos precisam permitir apenas valores exclusivos, de forma que


não haja redundância e, consequentemente, desperdício de espaço em disco.
Comentário: Vejam que pelo diagrama sabemos que JOB_HISTORY se relaciona
com outras 3 entidades, possivelmente, EMPLOYEE, JOB e DEPARTMENT. Se
lembrarmos da definição da segunda forma normal que diz para eliminarmos
dependência parcial, podemos observar que a alternativa D está correta, pois é
uma implicação da 2FN.
Gabarito: D.

4.1. Quarta e quinta formas normais


As formas normais vistas até o momento são apoiadas em dependências
funcionais (2FN, 3FN e BCNF) e podem ser consideradas para cada relação. Uma
base de dados será considerada normalizada para uma dessas formas quanto
todas as suas relações se apresentarem nessa forma.

Tratamos das formas normais mais “simples” e relacionadas à DF, espero


que você tenha entendido. Qualquer dúvida ou comentário pode ser enviado
para mim aqui mesmo, no fórum do Estratégia Concursos ou por e-mail. Mas, o
objetivo desta aula é: ensinar todas as formas normais. Precisamos, então,
desmistificar a quarta e a quinta forma normal. Então, prepare sua mente, pois
as próximas linhas deixarão todo assunto bem claro. Vem comigo!

Primeira informação que devemos ter que faz parte da base do


conhecimento das próximas formas normais é a ideia de decomposição sem
perdas na junção. A decomposição deve ser feita de maneira que, quando se
recompõe a relação original, apenas e exatamente as tuplas existentes na
relação original são reobtidas. A decomposição baseada nas dependências
funcionais (2FN, 3FN e FNBC) não causam perdas de junção, portanto a
normalização para as formas normais baseadas em dependências funcionais está
livre desse problema.

Contudo, a normalização de relações através de dependências funcionais


é apenas uma das maneiras, embora a mais importante, de evitar
inconsistências em relações. Outra maneira advém de uma variação das
dependências funcionais, chamadas dependência multivalorada (DMV), multi-
dependência funcional (MDF), ou ainda, dependência multivalor.

E o que seria essa tal dependência multivalorada? A dependência


multivalorada caracteriza o fato de que, embora um conjunto de atributos não
possa determinar o valor de outro atributo, ainda assim, esse conjunto consegue
restringir os valores possíveis para aquele atributo.

Vamos a um exemplo simples. Uma pessoa pode ter vários números de


telefones e um número de telefone pode ser compartilhado por várias pessoas.
Nesse relacionamento N para M não é possível encontrar uma DF entre esses
dois atributos, porém podemos visualizar o que chamamos de dependência

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 25 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

multivalorada entre o Id_pessoa e Num_telefone que pode ser representada por


Id_pessoa Num_telefone. Diz-se que Id_pessoa multidetermina
Num_telefone, ou, que Num_telefone é funcionalmente multidependete de
Id_pessoa.

Aqui cabe uma observação a respeito das DMV. Elas são consequência da
1FN que não permite que um atributo tenha um conjunto de valores. Veja um
exemplo entre Funcionário, Projeto e Dependente.

Veja que na tabela acima podemos encontrar duas DMV. Funcionário


multidetermina Projeto e Funcionário multidetermina Dependente.

Sempre que houver a ocorrência de um atributo multivalorado ocorrerá a


multi-dependência funcional. Entretanto, se houver duas ou mais dependências
multivaloradas independentes entre si na mesma relação então pode ocorrer
anomalias de atualização na relação. Tente inserir na tabela a informação que
Thiago participará do projeto 03(proj 03). Para mantermos a DMV, teremos que
adicionar 3 linhas, uma para cada dependente de Thiago, caso contrário ao
procurarmos os dependentes dos funcionários que participam do projeto 03
retornaremos uma informação incorreta.

Se tivermos um ou mais atributos multivalorados independentes na


mesma relação, temos de repetir, gerando todas as combinações entre os
atributos para manter a consistência entre as instancias.

Observe a relação (Funcionario, Projeto e Dependente). Veja que, ainda


que esteja na FBNC, a mesma ainda apresenta redundância. Observe também
que a decomposição não pode se basear em DF, pois não existem DF na relação.
É necessário, portanto uma regra para o tratamento dessas situações, que possa
ser usada para decompor a relação sem perdas.

Numa relação R {A, B, C} se existe uma DMV A B também existe A


C (ou seja, A R –AB). Nestes casos, as DMV surgem sempre aos pares
e representam-se por: A B|C. Apenas reforçando, se A B|C, então a
relação deve conter todas as combinações possíveis dos conjuntos de valores de
B e de C, associados ao mesmo valor de A.

Formalmente podemos pensar da seguinte forma: dada uma relação R


com atributos A, B, C, existe uma dependência multivalorada do atributo A no
atributo B (A B) se, um valor de A é associado a uma coleção específica de
valores de B, independente de quaisquer valores de C.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 26 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Quarta forma normal (4FN) – Começamos com uma definição informal:


Uma relação está na 4FN se para qualquer DMV X Y a relação não tem
outros atributos além dos que fazem parte de X e de Y. Esse tipo de DMV é
conhecido como trivial.

Outra definição, desta vez, de acordo com o Navathe. "Um esquema de


relação R está na 4FN com relação a um conjunto de dependências funcionais ou
multivaloradas F se, para toda dependência multivalorada não trivial X Y
em F+, X for uma superchave de R."

Formalmente, o conjunto de todas as dependências de F, bem como todas


as dependências que podem ser inferidas para F, é chamado de clausura de F,
que é denotada por F+.

A DMV pode ser classificada como trivial ou não trivial. Numa relação R,
a DMV A B é dita trivial se:

(a) B for subconjunto de A ou

(b) A U B = R.

Uma DMV que não satisfaz nem a (a) nem a (b) é dita não trivial. Em
outras palavras, de uma maneira mais intuitiva, pode-se dizer que uma DMV não
trivial ocorre sempre que houver mais do que um atributo multivalorado na
mesma relação. Assim, o que se procura é a chamada DMV não trivial. Observe
que as relações que contêm DMVs tendem a ser all-key (tudo é chave) – ou
seja, sua chave é formada por todos os seus atributos tomados em conjunto.

O processo de normalização de uma relação envolvendo DMVs não


triviais, que não está na 4FN, consiste em decompô-la de modo que cada DMV
seja representada por uma relação separada, onde se torna uma DMV trivial.
Veja o nosso exemplo para a relação (Funcionario, Projeto, Dependente), que
será decomposta em duas relações (Funcionario, Dependente) e (Funcionario,
Projeto).

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 27 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Vimos que a propriedade sem perda na junção é uma das diversas


propriedades para o projeto de banco de dados. De fato, essa propriedade é
essencial: sem ela, há perdas de informação. Quando restringimos o conjunto de
relações válidas entre as que satisfazem um conjunto de dependências
funcionais e multivaloradas, podemos usar essas dependências para mostras
que certas decomposições são decomposições sem perda na junção.

A próxima e última forma normal tem relação direta com Dependência de


Junção (DJ), por isso, ela também é conhecida como Forma Normal Projeção
Junção.

Quando é possível restringir um conjunto de relações válidas sobre um


esquema R para aquelas relações para as quais uma dada decomposição é uma
decomposição sem perdas, podemos definir essa restrição como uma
dependência de junção.

Em outras palavras, uma dependência de junção (DJ), denotada por DJ


(R1, R2, ... , Rn), em um esquema de relação R, especifica uma restrição nos
estados r de R. Essa restrição diz que todo estado legal r de R deveria ter uma
decomposição de junção não aditiva para R1, R2, ... , Rn, ou seja, para todo r
tenham

▪ *( R1(r), R2(r), ..., Rn(r)) = r ( é uma projeção sobre a relação R)

Quinta forma normal (5FN) – A aplicação da 5FN consiste em


encontrar a DJ * [R1, R2, … Rn] que permite decompor uma relação sem
perdas.

Advém das dependências multivaloradas que ocorrem entre os atributos


de uma relação. A verificação da 5ª FN somente precisa ser empreendida em
relações que tenham três ou mais atributos como parte da chave.

A 5ª FN trata da situação em que a informação permite ser reconstruída a


partir de componentes menores que possam ser mantidos com uma redundância
menor. Ela generaliza os casos não cobertos pela segunda, terceira e quarta
formas normais.

Definição: Um esquema de relação R está na quinta forma normal (5ª


FN) em 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) de
F+ (ou seja, implicada por F), todo Ri for uma superchave de R.

Abaixo segue o exemplo da relação Fornece, que não pode ser


decomposta em duas relações, pois a junção entre elas geraria tuplas espúrias.
Assim, usamos a 5FN para decompor a relação em três (r1, r2, r3), de modo
que uma junção feita sobre essa relação mantém a propriedade de junção sem
perdas.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 28 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

8. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA


JUDICIÁRIO BANCO DE DADOS
Julgue os seguintes itens, acerca de projetos, administração de usuários e
acessos de bancos de dados relacionais.
[1] Se uma variável de relação estiver na quinta forma normal, não será possível
realizar nenhuma decomposição sem haver perda de informação.
Comentário: Acabamos de explicar essa característica da 5FN que deve ser
capaz de dividir a relação em um conjunto de outras relações de forma que a
junção desse conjunto consiga reconstruir a relação original sem perdas ou
tuplas espúrias.
Gabarito E.

5. Mapeando o modelo ER em relacional


Quando estudamos os conceitos introdutórios de banco de dados sempre
falamos do modelo conceitual entidade-relacionamento (ER) e do modelo lógico
relacional. Explicamos que durante um projeto de banco de dados a evolução
natural leva você a construir os dois modelos a partir dos requisitos do cliente.

Legal, então você começou pelo minimundo, juntou os requisitos e


construiu seu modelo ER! Agora, se você tinha dificuldade de passar esse
modelo para o modelo relacional, seus problemas acabaram! Nas próximas
linhas vamos explicar o passo a passo da transformação do seu diagrama ER em
tabelas.

O livro do Navathe sugere um algoritmo que nos ajuda no processo de


transformar um esquema ER e um esquema relacional. Vamos utilizar o
esquema abaixo para ilustrar o passo-a-passo deste mapeamento.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 29 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Passo 01: O mapeamento começa com as entidades regulares do modelo


ER. Para casa tipo de entidade forte ‘E’ presente no diagrama, criamos uma
relação ‘R’ que incluí todos os atributos simples da entidade E. Escolha os
atributos chaves da entidade para ser chave primária da relação. Se a chave da
entidade for composta, o mesmo conjunto de atributos que formam a chave de E
vão fazer parte da chave primária de R.

Vejamos no exemplo temos as entidades fortes EMPLOYEE, DEPARTAMENT


e PROJECT serão transformados em relações. Os atributos SSN, DNUMBER e
PNUMBER serão as chaves primárias das respectivas tabelas. Assim temos:

Passo 02: A segunda etapa se concentra em mapear as entidades fracas.


Para cada entidade fraca W no modelo ER com uma entidade pai ou proprietária
E, você deve criar uma relação R e incluir todos os atributos simples (ou os
componentes simples de atributos compostos) de W como atributos de R. É
necessário ainda incluir como chave estrangeira os atributos que fazem parte da
chave primária da entidade proprietária E. Assim a chave primária será formada

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 30 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

pela combinação da chave primária da entidade pai mais a chave parcial da


entidade fraca, caso exista.

Vamos mais uma vez para o nosso diagrama ER. A entidade fraca
DEPENDENT deve dar origem a uma relação. Essa relação terá os atributos da
entidade, além da chave estrangeira que vem da entidade pai. Vejam, então,
que o Ssn fará parte da relação. Desta forma podemos construir a relação
dependente conforme descrito abaixo:

Passo 03: Vamos agora começar a mapear os relacionamentos binários


1:1 entre as entidades. Para cada relacionamento binário 1:1 R no esquema ER,
identificamos as relações que correspondem as entidades S e T que participam
do relacionamento R. A partir deste momento temos três ações possíveis.

A primeira seria usar chave estrangeira para efetivar o relacionamento.


Neste caso você escolhe uma das chaves primárias de S ou de T. Vamos supor
que escolhemos a chave de S. Você vai usar a chave primária de S e incluir ela
como chave estrangeira da relação T.

A melhor opção é escolher a entidade que tenha participação total no


relacionamento. Em outras palavras, você deve escolher a entidade que para
cada instância existente da entidade ela tenha uma instância no relacionamento
e incluir a chave primária da outra entidade nela. Vejam que neste caso
evitamos o uso valores nulos.

Um exemplo desta opção é colocar na relação DEPARTAMENT a chave do


funcionário que gerencia (MANAGES) o departamento. Vejam que todo
departamento deve ter um funcionário como gerente. Agora nossa tabela de
DEPARTAMENT aparece com os novos atributos: o id do gerente e a data de
início da gerência.

A segunda opção seria fazer um merge ou fusão das relações. Vejam que
se temos um relacionamento 1:1 podemos combinar os atributos das duas
relações e do relacionamento em uma única relação. Essa opção é adequada
quando a participação das duas entidades no relacionamento é total.

A terceira opção seria por cross-reference ou criação de uma relação para o


relacionamento. Essa alternativa basicamente cria uma nova relação com a
chave primária das duas relações participantes para prover o relacionamento
entre elas. Conhecida como tabela de ligação.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 31 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Passo 04: Neste momento vamos nos preocupar com os relacionamentos


binários 1:N. Para cada relacionamento binário 1:N, vamos identificar a relação
S que representa a participação da entidade no lado N do relacionamento. Em
seguida, devemos incluir a chave estrangeira da relação T em S. Os atributos da
relação 1:N também devem aparecer na relação S.

Vejamos um exemplo, os relacionamentos WORKS_FOR, CONTROLS e


SUPERVISION no diagrama ER acima. Para WORKS_FOR vamos incluir o número
do departamento como chave estrangeira na relação EMPLOYEE, vamos chama-
lo de DNO.

Da mesma forma vamos incluir SUPER_SSN para implementar o


relacionamento SUPERVION e o número do departamento na tabela de projeto
para implementar o relacionamento CONTROLS. Vejam como ficaram as relações
EMPLOYEE e PROJECT com essas mudanças.

Passo 05: O próximo mapeamento deve tomar conta dos relacionamentos


M:N. Para cada relacionamento M:N criar uma nova relação para representar o
relacionamento. Inclua como chaves estrangeiras da nova relação as chaves
primárias das entidades participantes. Inclua ainda os atributos simples do
relacionamento na nova tabela.

Observe o relacionamento WORKS_ON no diagrama ER. Ele é mapeado


pela criação da entidade WORKS_ON no esquema relacional. A chave primária é
formada pelas chaves estrangeiras de projeto e empregado, renomeadas
respectivamente para PNO e ESSN, respectivamente. O atributo HOURS é
representado na relação.

Passo 06: Vamos agora fazer o mapeamento dos atributos multivalorados.


Para cada atributo multivalorado A, crie uma tabela R. Essa relação R vai incluir
qualquer atributo pertencente ao conjunto A, além da chave primária da
entidade K que tem A como atributo multivalorado sendo chave estrangeira em
R. A chave primária da relação é uma combinação de A e K.

No nosso modelo temos o exemplo de DEPT_LOCATIONS que deve ser


criado. O atributo DLOCATION representa um atributo multivalorado de
departamento, que tem como chave primária DNUMBER. A relação
DEPT_LOCATIONS fica com a seguinte configuração:
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 32 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Antes de passar para o passo 07, vamos apresentar o esquema relacional


completo derivado do diagrama ER apresentado acima. As setas indicam a
existência de uma chave estrangeira que garante a integridade referencial.

Modelo relacional
Passo 07: A última etapa é o mapeamento de relacionamentos N-ários.
Devemos criar uma nova relação que inclua as chaves primárias de todas as
entidades participantes do relacionamento quanto n>2. Adicione também os
atributos simples. Observe o diagrama abaixo o resultado do mapeamento do
relacionamento SUPPLY em uma relação.

Digrama ER de um relacionamento ternário

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 33 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Modelo relacional derivado de um relacionamento ternário.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 34 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Questões comentadas
Aproveitamos este espaço para complementar seu entendimento sobre o
assunto, sempre colocando pinceladas extras de conteúdo. Na lista abaixo
resolvemos dividir as questões por banca que abordam os assuntos vistos na
nossa aula: álgebra relacional e formas normais. A minha sugestão é que, antes
de tentar fazer as questões você assista aos vídeos sobre o assunto associados a
essa aula.

Quadrix

9. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB) Cargo:
Analista - Programador
Considere uma tabela de Alunos com uma chave primária matrícula-aluno e,
entre outros, os atributos nome-aluno, nome-curso e unidade-ensino. A tabela
Alunos está:
A) na 1FN, apenas
B) na 2FN, apenas.
C) na 3FN, apenas.
D) na 1FN e 2FN.
E) não normalizada.
Comentário: Percebam que temos uma relação (ALUNO) com os seguintes
atributos: matrícula-aluno, nome-aluno, nome-curso e unidade-ensino.
Percebam que, pela definição de relação, não temos nenhum atributo
composto ou multivalorado, logo podemos afirmar que a relação está na 1FN.
Esse é o primeiro requisito para verificarmos a especificidade da 2FN.
Agora começa os nossos problemas, não temos como verificar as outras
formas normais. Veja que existem outros atributos que na relação, esses
atributos podemos ferir alguma das formas normais subsequentes. Desta forma,
nosso gabarito está na alternativa A.
Gabarito: A

10. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
A integridade entre as informações armazenadas nas tabelas, com o vínculo
entre a chave primária de uma tabela com a chave estrangeira de outra tabela,
é implementada pelos SGDB pelo mecanismo de:
A) asserção.
B) gatilho.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 35 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

C) integridade referencial.
D) restrição de domínio.
E) dependência funcional.
Comentário: Percebam que estamos falando de um dos tipos de restrições e
integridade dentro o banco de dados relacional. Neste caso específico o texto
descreve a integridade referencial.
A integridade referencial visa evitar a corrupção dos dados, de modo a não
existir um registro "filho" sem um registro "pai". A tentativa de exclusão (ou
alteração da chave primária) de um registo "pai" que possui registros "filhos"
associados a ele causam uma violação de chave estrangeira e devem ser
devidamente tratados.
Gabarito: C

11. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
Duas entidades que se relacionam numa associação N:N fazem parte de um
modelo lógico que será implementado fisicamente num modelo relacional por
meio de:
A) uma tabela.
B) duas tabelas.
C) três tabelas.
D) quatro tabelas.
E) cinco tabelas.
Comentário: Essa situação específica de uma associação N:N no modelo ER
necessita de uma tabela, conhecida como tabela de ligação, que vai fazer a
união entre as chaves primárias e os atributos presentes no relacionamento.
Teremos ainda uma tabela para representar cara uma das entidades presentes
no relacionamento. Desta forma, precisamos de 3 tabelas para representar
essa associação.
Gabarito: C.

12. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
Um modelo relacional é derivado a partir do modelo lógico, entre outras regras,
observando que:
A) um autorrelacionamento, com associação 1:N, exige que a chave secundária
da entidade A seja, na entidade B, chave primária.
B) o mapeamento dos relacionamentos pode ser por navegação disjunta, para
trabalhar com as modificações das definições dos registros existentes.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 36 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

C) uma tabela á acessível por qualquer atributo, desde que este seja declarado
como chave primária.
D) toda entidade torna-se uma tabela, carregando todos os atributos definidos
para ela.
E) o relacionamento entre conjunto de dados (tabelas) deve existir fisicamente,
através de chave estrangeira.
Comentário: Essa é uma questão interessante para pensarmos na criação do
modelo relacional a partir de um modelo conceitual ou lógico. Vamos comentar
cada uma das alternativas.
Na alternativa A temos um erro ao afirmar que em um autorelacionamento 1:N
precisamos de um chave secundária. O que necessitamos na realidade é de uma
coluna que tem uma referência para a chave primária. Seria como uma chave
estrangeira que aponta para a própria tabela.
A alternativa B apresente um texto desconexo com os termos que utilizamos
para o estudo do assunto, não vamos comentar nada sobre ele.
Na alternativa C temos um absurdo. Uma tabela pode ser acessível por qualquer
atributo, se o acesso for feito por um atributo que seja diferente da chave e não
exista um índice sobre ele, será necessário fazer uma varredura completa da
tabela. Perceba que mesmo utilizando um full scan é possível que o acesso seja
feito por esse atributo. Você pode usar qualquer comparação na clausula where
do comando select, contudo a performance da consulta pode ficar muito lenta a
depender dos atributos utilizados.
A alternativa D está correta. Quando estamos passando do modelo ER para o
relacional, para cada entidade será criada uma tabela ou relação que a
represente.
Por fim a alternativa E apresenta um erro ao apresentar uma característica
incorreta do modelo relacional. Vejamos algumas características do modelo
listadas no livro Projeto de Banco de Dados do Felipe Machado:
1 - Uma tabela é acessível por qualquer campo (atributo) independente se este
é declarado como chave ou não;
2 - O relacionamento entre conjunto de dados (tabelas) não existe fisicamente,
pois este relacionamento é apenas lógico e representado através das chaves
estrangeiras;
3 - Utilização de linguagens auto-contidas e não procedurais;
4 - Os ambientes relacionais possuem um otimizador estratégico para escolher o
melhor caminho para recuperação dos dados.
Desta forma, após analisar todas as alternativas, podemos marcar nosso
gabarito na alternativa D.
Gabarito: D.

13. Ano: 2012 Banca: Quadrix Órgão: CFP Cargo: Analista de


Tecnologia da Informação - Desenvolvimento
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 37 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Sobre normalização de banco de dados, é incorreto a firmar que:


A) uma tabela que está na 1ª FN e que possui apenas uma coluna como chave
primária não contém dependências parciais.
B) uma tabela encontra-se na 2ª FN, quando, além de estar na FN, contém
dependências parciais.
C) uma tabela encontra-se na terceira forma normal, quando, além de estar na
2ª FN, não contém dependências transitivas.
D) uma dependência funcional transitiva ou indireta acontece quando uma
coluna não chave primária depende funcionalmente de outra coluna ou
combinação de colunas não chave primária.
E) toda tabela que está na 1ª FN e que possui apenas uma coluna como chave
primária já está na 2ª FN.
Comentário: Primeira informação importante para nossa análise da questão é
que procuramos a alternativa INCORRETA! Por favor, não vacile numa questão
deste tipo! Quando ver o termo incorreta no enunciado grife!
Analisando cada uma das alternativas podemos perceber que a alternativa 2
define de forma errada a 2FN. Segundo o Segundo Date, a 2FN é baseada no
conceito de dependência funcional total. Além de estar na 1FN, um esquema de
relação R está em 2FN se cada atributo não principal A em R for total e
funcionalmente dependente da CHAVE PRIMÁRIA de R.
Em outras palavras, não contém dependência parciais de colunas não chave
em relação à chave primária, incluindo-se nessa chave atributos e
relacionamentos identificadores. Assim, as colunas que não sejam chave
primária não dependem funcionalmente de outra coluna ou combinação de
colunas que sejam parte da chave primária.
Gabarito: B.

14. Ano: 2015 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista de Operações
Analisando uma tabela de um banco de dados, verificamos a seguinte situação:
Nome da Tabela:
Venda
Chave Primária Composta:
Código da Venda + Código do Produto + Código de Vendedor.
Campos não Chave:
Quantidade Vendida
Data da Venda
Nome do Vendedor
O que podemos afirmar sobre tal situação?
A) A tabela está em desacordo apenas com a primeira forma normal.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 38 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

B) A tabela está em desacordo com a primeira e segunda formas normais.


C) A tabela está em desacordo apenas com a segunda forma normal.
D) A tabela está em desacordo apenas com a primeira e terceira formas
normais.
E) A tabela está em acordo apenas com a primeira e terceira formas normais.
Comentário: Essa questão é no mínimo estranha. Temos que descobrir ou
adivinhar que algum dos atributos descritos no enunciado é composto ou
multivalorado para adequarmos a resposta. Na minha concepção essa é uma
questão passível de recurso.
Mas para entendermos a questão temos que voltar a definição da primeira forma
normal: “Uma relação estará na primeira forma normal 1FN se não houver grupo
de dados repetidos, isto é, se todos os valores forem únicos. Em outras palavras
podemos definir que a primeira forma normal não admite repetições ou campos
que tenha mais que um valor”.
Agora podemos pensar que o nome do vendedor é composto polo primeiro
nome, nome do meio e último nome. Desta forma temos um atributo composto.
Ao mesmo tempo, o nome do vendedor depende apenas do código do vendedor
que uma parte da chave. Assim ferimos ainda a segunda forma normal ou seja.
O modelo fere a primeira e a segunda forma normal.
Gabarito: B.

15. Ano: 2015 Banca: Quadrix Órgão: CFA Cargo: Analista de Sistemas
Assinale a alternativa que faz uma afirmação correta sobre um banco de dados
relacional.
A) Toda chave secundária é, necessariamente, uma superchave.
B) Toda chave estrangeira é, necessariamente, uma superchave.
C) Toda chave primária é, necessariamente, uma superchave.
D) Toda superchave é, necessariamente, uma chave primária.
E) Toda chave candidata é, necessariamente, uma chave secundária.
Comentário: Vamos apresentar essas pertinências entre os conceitos de chaves
em forma de diagrama:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 39 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Analisando o diagrama e as alternativas podemos perceber que apenas a


alternativa C está correta.
Gabarito: C.

16. Ano: 2014 Banca: Quadrix Órgão: DATAPREV Cargo: Analista -


Tecnologia da Informação
Em uma determinada tabela de um banco de dados, há a necessidade de se
determinar que um campo identifique o registro inserido na tabela. Essa
identificação deve ser única, ou seja, sem repetição, exclusiva e não nula. Qual
das alternativas a seguir corresponde à descrição acima?
A) Chave Primária.
B) Chave Estrangeira.
C) UML.
D) Registro.
E) Chave Pública.
Comentário: Essa questão apresenta um conceito extremamente importante
dentro de banco de dados relacional que é conceito de chave primária. Chaves
primárias, sob o ponto de vista de um banco de dados relacional, referem-se
aos conjuntos de um ou mais campos, cujos valores, considerando a combinação
de valores em caso de mais de uma chave primária, nunca se repetem na
mesma tabela e, desta forma, podem ser usadas como um índice de referência
para criar relacionamentos com as demais tabelas do banco de dados (daí vem o
nome banco de dados relacional). Portanto, uma chave primária nunca pode ter
valor nulo, nem repetição.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 40 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Gabarito: A.

17. Ano: 2014 Banca: Quadrix Órgão: SERPRO Cargo: Analista -


Desenvolvimento de Sistemas
Considere os itens a seguir, referentes aos bancos de dados relacionais.
I. A tabela não contém dependências parciais.
II. A tabela não contém tabelas aninhadas.
III. A tabela não contém dependências transitivas.
Os itens I, II e III estão relacionados, direta e respectivamente, a
A) 1FN,2FN e 3FN
B) 3FN, 1FN e 2FN.
C) 2FN, 1FN e 3FN.
D) 1FN,3FN e 4FN
E) 3FN, 2FN e 4FN.
Comentário: Vejam que essa questão é para relembramos as definições das
formas normais. Vejam que a alternativa I apresenta o conceito presente na
2FN, qual seja: não existe dependência parcial. Na segunda afirmação temos
uma ideia presente na primeira forma normal, precisamos eliminar atributos
compostos ou multivalorados, isso vai eliminar a existência de tabelas
aninhadas. Por fim, a afirmação III descreve a terceira forma normal.
Desta forma, podemos marcar sem medo o gabarito na alternativa C.
Gabarito: C.

Cespe

18. BANCA: CESPE ANO: 2015 ÓRGÃO: CGE-PI PROVA: AUDITOR


GOVERNAMENTAL - TECNOLOGIA DA INFORMAÇÃO
A respeito de banco de dados, julgue os itens subsequentes.
Para normalizar, conforme primeira forma, uma tabela em um banco de dados, é
preciso criar chaves estrangeiras que representem a ligação entre elas.
Comentário: A primeira forma normal deve eliminar atributos compostos e
multivalorados. Vejam que no caso dos atributos compostos não é necessário
criar outra relação, basta fracionar as partes em atributos atômicos. Quando
estamos removendo atributos multivalorados podemos utilizar outra tabela para
listar os diversos valores e associa-los por meio da chave. Ou seja, nem sempre
é necessário usar chaves estrangeiras quando normalizamos para a 1FN.
Gabarito: E.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 41 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

19. BANCA: CESPE ANO: 2013 ÓRGÃO: CRPM PROVA: ANALISTA EM


GEOCIÊNCIAS - SISTEMAS DE INFORMAÇÃO
No que concerne a mapeamento de dados lógico e físico e a elaboração e
implantação de projeto de banco de dados, julgue os seguintes itens.
No processo de implantação de um projeto de banco de dados, devem ser
utilizadas as operações de álgebra relacional de dados para estabelecer as
restrições de cardinalidade e relacionamento entre o conjunto de entidades.
Comentário: As operações da álgebra relacional fornecem subsídio matemático
para execução de operações no modelo relacional. Elas são utilizadas pelos
desenvolvedores de SGBDs para estruturar as operações sobre as tabelas em
bancos de dados relacionais.
A cardinalidade entre os relacionamentos e os relacionamentos em si são
implementados por meio das restrições de integridade e da organização ou
estruturação dos dados nas diversas tabelas do modelo. Um relacionamento N
para N precisa de uma tabela de ligação que é formada pelas chaves de cada
uma das tabelas que participam do relacionamento.
Gabarito: E

20. BANCA: CESPE ANO: 2013 ÓRGÃO: ANTT PROVA: ANALISTA


ADMINISTRATIVO - DESENVOLVIMENTO DE SISTEMAS
Julgue os itens subsequentes, relativos a banco de dados.
A linguagem padrão de consulta SQL (structured query language) utiliza uma
combinação de construtores em álgebra e cálculo relacional.
Comentário: O cálculo relacional é considerado a base para linguagem SQL, e a
álgebra relacional é usada nos detalhes internos de muitas implementações de
banco de dados para processamento e otimização de consulta. Alternativa
correta!
Gabarito: C.

21. BANCA: CESPE ANO: 2013 ÓRGÃO: TCE-ES PROVA: ANALISTA


ADMINISTRATIVO - INFORMÁTICA
O conjunto de operações cujo resultado seja uma nova relação e que envolve
seleção, projeção, união e produto cartesiano é denominado
A mapeamento de cardinalidades.
B álgebra relacional.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 42 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

C generalização.
D chave primária.
E herança.
Comentário: Essa questão você deve fazer rapidamente e ganhar tempo na
hora da prova para outras questões mais complexas. Vejam que ela basicamente
quer saber se você conhece as operações da álgebra relacional.
Gabarito B

22. Ano: 2016 Banca: CESPE Órgão: TCE-SC Cargo: Auditor de TI


Com relação aos bancos de dados relacionais, julgue os próximos itens.
94 O catálogo de um sistema de gerenciamento de banco de dados relacional
armazena a descrição da estrutura do banco de dados e contém informações a
respeito de cada arquivo, do tipo e formato de armazenamento de cada item de
dado e das restrições relativas aos dados.
95 Denomina-se visão uma tabela única derivada de uma ou mais tabelas
básicas do banco. Essa tabela existe em forma física e viabiliza operações
ilimitadas de atualização e consulta.
96 Em bancos de dados relacionais, as tabelas que compartilham um elemento
de dado em comum podem ser combinadas para apresentar dados solicitados
pelos usuários.
Comentário: O dicionário de dados ou catálogo de dados contém as descrições
das estruturas dos objetos presentes na base de dados. Presente em todos os
SGBDs relacionais ele guarda os metadados ou informações a respeitos dos
objetos armazenados. Podemos marcar como correta a assertiva 94.
A definição de visão presente no padrão SQL/ANSI é de uma estrutura
temporária que armazena informações advinda de uma ou mais tabelas. A visão
não é armazenada fisicamente em disco e é removida ou apagada ao final da
sua utilização. Sendo assim, a alternativa 95 encontra-se incorreta.
Dentro do contexto de bancos de dados relacionais, é possível usar as operações
de junção. Essas operações utilizam atributos que operam sobre o mesmo
domínio presentes em cada uma das tabelas. Esses atributos são utilizados para
juntar ou relacionar uma tabela com a outra, sempre que tivermos os mesmos
valores em ambas as tabelas. Vejam que temos mais uma vez uma alternativa
correta.
Gabarito: C E C

23. Ano: 2015 Banca: CESPE Órgão: TRE-PI – Questão 56


Acerca da aplicação dos princípios de normalização (Formas Normais), assinale a
opção correta.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 43 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

A A aplicação da 1FN se dá se e somente se, para todo modelo, for aplicada a


Forma Normal de Boyce-Codd (ou BCNF).
B A 2FN é baseada no conceito de dependência funcional total, isto é, todo
atributo não primário de uma entidade tem dependência funcional total da chave
primária.
C A Terceira Forma Normal (3FN) requer que não haja dependências
intransitivas de atributos que não sejam com toda chave candidata.
D A aplicação da Primeira Forma Normal (1FN) requer que, ao fim da sua
aplicação, todos os atributos de uma relação sejam multivalorados ou estejam
em tabelas aninhadas, o que garante grupos repetidos de dados, reduzindo o
tamanho físico do banco de dados.
E A Segunda Forma Normal (2FN) requer que, ao fim da sua aplicação, não haja
dependências transitivas de atributos que não sejam com toda chave candidata.
Comentários: Vamos comentar cada uma das alternativas acima.
A. Vimos durante a aula que a 1FN está relacionada a eliminação de atributos
compostos ou multivalorados, e que a forma normal de Boyce-Codd é aplicada
após a 3FN. Desta forma, a alternativa A se encontra incorreta.
B. Sabemos que a caraterística que nos leva a considerar a existência de um
problema com a segunda forma normal é a presença de chave composta na
relação. Se parte dessa chave determinar algum outro atributo da tabela temos
uma dependência funcional parcial, o que fere a segunda forma normal. Temos
que fazer com que todo atributo nesta condição seja decomposto de forma a
evitar problemas com a 2FN. A alternativa está correta, essa é nossa resposta!
C. A terceira forma normal trata da eliminação das dependências transitivas.
Desta forma a alternativa está incorreta, pois fala em dependências
intransitivas.
D. A primeira forma normal, como falamos na alternativa A, visa eliminar
atributos atômicos, a alternativa D, portanto, encontra-se incorreta.
E. A presença de dependências transitivas é eliminada pela terceira forma
normal e não pela segunda como sugere a questão.
Gabarito: B

24. BANCA: CESPE ANO: 2014 ÓRGÃO: TC-DF PROVA: ANALISTA DE


ADMINISTRAÇÃO PÚBLICA - SISTEMAS DE TECNOLOGIA DA
INFORMAÇÃO
Com relação a projetos de bancos de dados, modelo entidade relacionamento e
linguagens utilizadas em bancos de dados, julgue os próximos itens.
Durante o projeto de um banco de dados, transformando-se as relações na
quinta forma normal, garante-se que elas não terão anomalias que possam ser
eliminadas usando-se projeções.
Comentário: Justamente! Comentamos isso quando tercemos os comentários
teóricos a respeito da 5FN, as projeções sobre a relação, que são as partes da

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 44 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

decomposição da relação original, devem ser capazes de reconstruir a relação


sem perdas ou anomalias.
Gabarito: C.

25. BANCA: CESPE ANO: 2015 ÓRGÃO: MPOG PROVA: ANALISTA -


ANALISTA EM TECNOLOGIA DA INFORMAÇÃO
A respeito de modelo entidade-relacionamento e normalização, julgue os itens
subsequentes.
113 Em relações normalizadas, na primeira forma normal, toda tupla em toda
relação contém apenas um único valor, do tipo apropriado, em cada posição de
atributo.
114 Sabendo que, nos relacionamentos ternários, a cardinalidade refere-se a
pares de entidades, em um relacionamento ternário R entre três entidades A, B
e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de
C podem estar associadas a um par de ocorrências de A e B.
Comentário: A primeira forma normal diz que todo atributo deve ser atômico.
Ou de outra forma, nenhum atributo pode ser composto ou multivalorado. A
partir dessa definição podemos dizer que em toda tupla cada um dos seus
atributos deve ter apenas um valor de um tipo apropriado. A alternativa 113
está correta. Aproveitando para dizer que a primeira forma normal é parte da
definição do modelo relacional. Ou seja, se eu disser que uma tabela do modelo
relacional ela está automaticamente na primeira forma normal.
Uma propriedade importante de um relacionamento é de quantas ocorrências de
uma entidade podem estar associadas a uma determinada ocorrência através do
relacionamento. Esta propriedade é chamada de Cardinalidade. Num
relacionamento ternário a cardinalidade é definida pelo relacionamento de uma
entidade com as demais conjuntamente. Vejam a figura abaixo:

Gabarito: C C.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 45 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

26. BANCA: CESPE ANO: 2015 ÓRGÃO: CGE-PI PROVA: AUDITOR


GOVERNAMENTAL - TECNOLOGIA DA INFORMAÇÃO
A respeito de banco de dados, julgue os itens subsequentes.
96 Um modelo de dados pode ser usado para representar os tipos de dados
existentes em um banco de dados de um sistema online de reservas.
97 Em banco de dados relacional, os atributos representam as entidades do
mundo real.
98 Em um relacionamento de tabelas de um banco de dados relacional, a chave
estrangeira serve para referenciar uma entidade dentro de outra tabela,
facilitando, assim, a busca e o agrupamento dessas entidades.
99 Para normalizar, conforme primeira forma, uma tabela em um banco de
dados, é preciso criar chaves estrangeiras que representem a ligação entre elas.
100 Em um sistema gerenciador de banco de dados, a linguagem de definição de
dados possibilita a criação das tabelas bem como a autorização de acesso aos
dados para determinados usuários do banco de dados.
Comentário: Vamos analisar cada uma das alternativas acima.
Comentário 96. Um modelo de banco de dados pode representar diferentes tipos
de negócios, um deles, definido inclusive no livro do Silberchatz é o sistema de
reservas on-line. Alternativa correta.
Comentário 97. Os atributos representam as características de uma entidade e
não a entidade em si. Logo, alternativa incorreta.
Comentário 98. A assertiva define com perfeição o motivo da existência das
chaves estrangeira.
Comentário 99. A normalização para primeira forma normal é feita eliminando os
atributos compostos ou multivalorados. Veremos mais sobre normalização na
próxima aula.
Comentário 100. Segundo o livro do Navathe: “Quando o projeto de um banco
de dados é finalizado e um SGBD é escolhido para implementá-lo, o primeiro
passo é especificar esquemas conceituais e internos para o banco de dados e
quaisquer mapeamentos entre os dois. Em muitos SGBDs, onde não é mantida
nenhuma separação estrita de níveis, uma linguagem, chamada linguagem de
definição de dados (DDL) é usada pelo DBA e pelos projetistas de banco de
dados para definir os dois esquemas". A DDL SQL inclui comandos para
especificar direitos de acesso para relações e views.
Gabarito: C E C E C.

Cesgranrio

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 46 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

27. BANCA: CESGRANRIO ANO: 2013 ÓRGÃO: LIQUIGÁS PROVA:


ANALISTA DE SISTEMAS - TECNOLOGIA DA INFORMAÇÃO
Seja a seguinte sequência de operações da Álgebra Relacional:

Considerando-se essa sequência da esquerda para a direita, que operações


foram empregadas?
A Junção, projeção e seleção
B Junção, seleção e projeção
C Projeção, junção e seleção
D Projeção, seleção e junção
E Seleção, projeção e junção
Comentário: As operações são Projeção, Seleção e junção. A junção é do tipo
equijoin! Questão bem tranquila! Vamos em frente!
Gabarito: D

28. BANCA: CESGRANRIO ANO: 2013 ÓRGÃO: BNDES PROVA:


ANALISTA DE SISTEMAS - ANALISTA DE SISTEMAS –
DESENVOLVIMENTO

A relação R a seguir foi obtida pela aplicação de uma sequência de operações da


Álgebra Relacional sobre as relações T e V.

Que sequência é essa?

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 47 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Comentário: Vou comentar apenas a sequência da resposta. Primeiramente é


feito um produto cartesiano entre as relações T e V. Sobre esse resultado é
aplicado uma projeção sobre os atributos T1 e V1. Veja que neste resultado
intermediário teremos todas as tuplas possíveis entre T1 e V1{(10, 5), (10,6)
(10, 7), (10, 8), (15, 5), (15,6) (15, 7), (15, 8), (20, 5), (20,6), (20, 7), (20,
8), (30, 5), (30,6), (30, 7), (30, 8)}. Deste resultado intermediário faremos uma
interseção com V3, V1 de V, vejam que a ordem dos atributos está invertida,
teremos então {(15, 6), (20,6), (10,7), (20,8)}. Este será o valor retornado pela
interseção também e será atribuído a uma variável P(R1,R2).
A próxima operação vai fazer uma seleção sobre os valores de P, selecionando
apenas os valores onde R1 é maior que 15. Restando, portanto, {(20,6), (20,8)}
que é o resultado que queremos.
Gabarito: C.

29. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: CEFET-RJ PROVA:


TECNÓLOGO WEB
O mundo assistiu em março de 2013 à eleição de um novo Papa. Para facilitar
seu trabalho na cobertura do evento, um jornal decidiu construir uma base de
dados com todos os cardeais. Para isso, foram criadas as seguintes tabelas:
CARDEAL(Nome,Cidade)
CIDADEPAIS(Cidade,Pais)
Que consulta da álgebra relacional lista exclusivamente o nome e o país de todos
os cardeais?

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 48 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Comentário: A dica para resolver esta questão é lembrar da operação de


Natural Join. Vejam que nas duas tabelas existe o atributo cidade. A junção é,
portanto, feita por meio deste atributo. Em seguida precisamos selecionar
exclusivamente o nome e o país de todos os cardeais. Para tanto basta fazer
uma projeção sobre esses atributos no resultado retornado pela junção. Lembre-
se da propriedade de fechamento da álgebra relacional. O resultado de uma
operação é sempre outra relação. Vejam que a alternativa que trás essa
sequência de passos é a letra B. As outras opções fazem uso errado das
operações ou não vão obter o resultado desejado. Tentem fazer um exercício
para descobrir se as outras alternativas estão erradas sintaticamente ou se
produzem um resultado equivocado.
Gabarito B.

30. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: PETROBRAS PROVA:


TÉCNICO TÉCNICO DE INFORMÁTICA
Considere o esquema relacional abaixo, no qual placa é a chave primária.

Qual é a expressão em álgebra relacional a ser aplicada sobre esse esquema, de


forma a obter as Placas dos VEICULOS com Ano igual a 2011 e Valor menor que
9000?

Comentário: Veja que precisaremos de uma projeção sobre o atributo placa,


mas antes devemos selecionar as tuplas que satisfaçam as duas condições
solicitadas. Montamos, portanto, dois predicados uma para verificar se o ano é
igual a 2011 e outra para filtrar se o preço é menor que 9000. Utilizaremos o
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 49 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

conectivo AND para interligar os dois predicados. Toda essa consulta é feita
sobre a relação VEICULO. A resposta desta questão está na alternativa D, é a
única alternativa que segue a sintaxe correta da álgebra relacional e retorna o
resultado correto.
Gabarito D

31. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: FINEP PROVA:


ANALISTA DA FINEP - INFORMÁTICA - DESENVOLVIMENTO DE
SISTEMAS
Qual forma normal se baseia no conceito de dependência multivalorada?
A Forma Normal de Boyce-Codd
B Primeira Forma Normal
C Segunda Forma Normal
D Terceira Forma Normal
E Quarta Forma Normal
Comentário: Já vimos que a questão das dependências multivaloradas está
relacionada a 4FN.
Gabarito: E.

32. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: PETROBRAS PROVA:


TÉCNICO TÉCNICO DE INFORMÁTICA
A álgebra relacional fornece um alicerce formal para as operações do modelo
relacional. Um técnico de informática reconhece que essas operações permitem
que um usuário especifique solicitações como expressões da álgebra relacional,
nas quais a(o)
A operação PROJEÇÃO é usada para escolher um subconjunto das tuplas de uma
relação que satisfaça uma condição de seleção.
B operação de PROJEÇÃO mantém quaisquer tuplas duplicadas, de modo que o
resultado dessa operação é um conjunto de tuplas que pode conter tuplas
repetidas.
C operação PROJEÇÃO pode selecionar certas colunas da tabela e descartar
outras.
D operação SELEÇÃO é usada para incluir todas as tuplas de duas relações em
uma única relação, sendo que as tuplas duplicadas são eliminadas.
E resultado da operação SELEÇÃO pode ser visualizado como uma partição
vertical da relação original em duas relações: uma tem as colunas (atributos)
necessárias e contém o resultado da operação, e a outra contém as colunas
descartadas.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 50 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Comentário: A operação de PROJEÇÃO permite selecionar um conjunto de


colunas de uma relação. Essa operação elimina as tuplas duplicadas do
resultado. A operação de SELEÇÃO permite fazer filtros sobre os atributos
restringindo os valores de determinados atributos. As tuplas retornadas por uma
SELEÇÃO devem satisfazer ao predicado. Observem que o gabarito que contem
um texto correto do ponto de vista teórico está presente na alternativa C.
Comentando a alternativa D, ela está incorreta por atribuir a operação de
SELEÇÃO, que é uma operação unária, o trabalho realizado pela operação de
UNIÃO, que é uma operação binária.
A alternativa E criou uma nova operação no modelo relacional ☺, ela não existe.
Uma operação unária que retorne duas relações. Lembre-se de propriedade de
fechamento!
Gabarito C

33. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: BANCO DA AMAZÔNIA


PROVA: TÉCNICO CIENTÍFICO - BANCO DE DADOS
Considere que K,X,Y e Z são conjuntos de atributos de uma relação R.
Sabendo que:

NÃO é possível garantir que


AX YZ
BX Y
C XK ZK
DY K
EY ZX
Comentário: Existe um conjunto de propriedades relacionadas a dependências
funcionais. Basicamente a questão procura verificar seu entendimento a respeito
delas. Essas propriedades são conhecidas como regras de inferência.
Apresentamos abaixo um conjunto de três regras que são conhecidas como
regras de Armstrong: Reflexiva, Aumentativa e Transitiva.
RI1. (Reflexiva) Se Y é subconjunto de X, então XY (Isso também é válido
quando X=Y)
RI2. (Aumentativa) Se XY, então XZYZ (Notação: XZ significa X U Z)
RI3. (Transitiva) Se X  Y e Y  Z, então X  Z
RI1, RI2 e RI3 formam um conjunto completo de regras de inferência, sendo,
portanto sólida e completa.
Por sólida queremos dizer que, dado um conjunto de dependências funcionais F
especificado para um esquema da relação R, toda dependência que pudermos
deduzir para F usando RI1 a RI3 será assegurada para qualquer estado de
relação r de R que satisfizer as dependências de F.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 51 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Por completa queremos dizer que, se usarmos RI1 a RI3 sucessivamente para
deduzir outras dependências funcionais, até que mais nenhuma dependência
possa ser deduzida, resultará no conjunto completo de todas as dependências
possíveis que podem ser inferidas para F.
Podemos citar ainda outras regras, são elas:
RI4 (Decomposição) Se XYZ, então XY e XZ
RI5 (Aditiva) Se XY e XZ, então XYZ
RI6 (Pseudotransitiva) Se XY e WYZ, então WXZ
Agora que temos conhecimento do conjunto de regras de inferência, vamos
analisar cada uma das alternativas baseada nas dependências funcionais
iniciais:
A X YZ – Se Y é subconjunto de X podemos garantir que XY. Como YZ,
pela transitividade podemos garantir que X  Z. Desta forma podemos inferir
pelas regras aditivas que X  YZ. Logo essa inferência é possível.
BX Y – Se Y é subconjunto de X podemos garantir que XY.
C XK ZK – Já vimos acima que X  Z, pela aumentativa podemos concluir que
XK  ZK
DY K – Usando a transitividade se Y  Z e Z K, então Y  K
E Y ZX – Podemos resolver a questão por eliminação, mas veja que não tem
nenhuma regra que consiga, por meio de inferência, definir que Y  ZK. A
alternativa E é nossa resposta, por não conseguimos inferi-la por nenhuma das
regras apresentadas.
Gabarito E.

FCC

34. Ano: 2017 Banca: FCC Órgão: ARTESP Cargo: Especialista em


Regulação de Transporte - Tecnologia da Informação Questão: 73.
73. Na modelagem de um banco de dados relacional há diversos aspectos a
serem considerados. Dentre tais aspectos, é correto afirmar que
(A) a função exercida por um conjunto de entidades ligado a um conjunto de
relacionamentos denomina-se gatilho.
(B) uma modelagem de um banco de dados relacional suporta um número
máximo teórico de conjuntos de entidades, não superior a 30.
(C) as propriedades descritivas de um conjunto de entidades são denominadas
de atributos.
(D) conjuntos de relacionamentos não admitem atributos do tipo descritivo.
(E) um conjunto de relacionamentos recursivo liga dois ou mais conjuntos de
entidades.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 52 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Comentário: O modelo relacional pode ser visto como um conjunto de entidade


denominadas relações. Cada relação possui um conjunto de linhas ou tuplas.
Cada tupla é uma instância do tipo ou entidade e possui nos seus atributos
características descritivas da entidade.
Uma relação se associa com outro por meio de chave estrangeira, que liga uma
ou várias tuplas de uma relação à uma ou várias tuplas de outra relação. Não
existe número máximo teórico para a quantidade de tuplas em uma relação nem
para a quantidade de relações dentro de um esquema. Veja que o Oracle não
possui limitações para quantidade de tabelas em um banco de dados, nem de
colunas em uma tabela.
Os conjuntos de relacionamento são as conhecidas tabelas de ligação que,
geralmente, fazem o relacionamento N:N entre duas entidades. Se você lembrar
do modelo ER, deve ter em mente que os relacionamentos possuem atributos.
Esses atributos vão aparece no conjunto de relacionamento. Relacionamento
recurso não é um termo usado na teoria de banco de dados relacional. Existe um
auto relacionamento quando a chave estrangeira referenciada está na própria
tabela. É o caso do atributo gerente da tabela empregado.
Gabarito: C

35. Ano: 2017 Banca: FCC Órgão: ARTESP Cargo: Especialista em


Regulação de Transporte - Tecnologia da Informação Questão: 74.
74. Com o intuito de verificar se uma determinada relação R de um banco de
dados relacional atende a segunda forma normal, deve-se verificar se
(A) atributos que não façam parte de qualquer chave candidata de R são total e
funcionalmente dependentes da chave primária de R.
(B) o domínio de todos os atributos de R comportam valores considerados
múltiplos.
(C) todos os atributos de R são do tipo literal ou numérico.
(D) a relação R tem uma chave primária composta por dois ou mais atributos.
(E) o número de atributos da relação R é múltiplo de 2.
Comentário: Sabemos que a segunda forma norma procura eliminar
dependências parciais de atributos primários. Em outras palavras, precisamos
procurar por atributos que façam parte de uma chave candidata composta e
verificar se individualmente algum deles consegue determinar algum outro
atributo, não chave da relação.
Veja que o acabamos de falar acima pode ser reescrito de outra forma. Os
atributos que não façam parte de qualquer chave candidata de R são total e
funcionalmente dependentes da chave primária de R. Assim, nossa resposta
encontra-se na alternativa A.
Gabarito: A.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 53 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

36. Ano: 2017 Banca: FCC Órgão: TRT-11 Cargo: Analista Judiciário de
TI – Q. 44
Considere o modelo de dados abaixo.

Na relação entre as entidades Advogado e Processo um advogado poderá atuar


em diversos processos, tanto como advogado de defesa como de acusação.
Assim, cada processo terá, pelo menos, dois advogados. Com base nesse
modelo, na implementação das tabelas do banco de dados em um Sistema de
Gerenciamento de Banco de Dados relacional,
(A) será necessária a criação de uma tabela entre Advogado e Processo e o
relacionamento N:N dará lugar a dois relacionamentos 1:N.
(B) a chave primária da tabela Processo deverá ser chave estrangeira na tabela
Advogado.
(C) a chave primária da tabela Advogado deverá ser chave estrangeira na tabela
Processo.
(D) ambas as tabelas (Processo e Advogado) deverão ter chave primária
composta.
(E) a tabela Advogado deverá ter um campo para especificar o tipo de atuação
do advogado em cada processo (defesa ou acusação).
Comentário: Já falamos algumas vezes sobre esse tipo de questão. Ela
pergunta como vamos fazer a passagem do modelo entidade-relacionamento
para o modelo relacional. Quais relações precisam ser criadas. Dado a existência
de um relacionamento N:M, precisamos criar uma tabela auxiliar para
representar os relacionamentos entre as entidades advogado e processo. Essa
relação terá como chave primária os atributos chave das duas entidades. Ela
poderá ainda ter outros atributos que fazem sentido apenas para o
relacionamento.
Veja, portanto, que será necessária a criação de uma tabela entre
Advogado e Processo e o relacionamento N:N dará lugar a dois
relacionamentos 1:N. Tal texto está presente na alternativa A, que é a
resposta da nossa questão.
Gabarito: A.

37. Ano: 2017 Banca: FCC Órgão: TRE-SP Cargo: Técnico Judiciário de
TI – Q. 57
Considere as entidades abaixo que são integrantes de um modelo de banco de
dados relacional.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 54 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Candidato Candidato_Concurso Concurso


idCandidato(pk) idCandidato (pk, fk) idConcurso(pk)
nomeCandidato idConcurso (pk, fk) nomeConcurso
Analisando-se as entidades, tem-se que
(A) estas entidades estabelecem dois relacionamentos n:m não-identificados
(non-Identifying).
(B) se for incluído um atributo pontuacao, ele terá que ser incluído na entidade
Candidato.
(C) se for incluído o atributo dataInscricaoCandidato, ele terá que ser incluído na
entidade Candidato_Concurso.
(D) para que a entidade Candidato esteja na 1a forma normal, a entidade
Candidato_Concurso precisa estar normalizada.
(E) a entidade Candidato_Concurso nunca estará na 2a forma normal porque ela
possui chave primária composta
Comentário: Vamos comentar cada uma das alternativas.
Para respondermos com certeza a alternativa A precisamos ter o conhecimento
de relacionamento identificado e não-identificado. Percebam que a tabela
Candidato_concursos recebeu os atributos chaves das outras tabelas do modelo.
Se esses atributos fizerem parte da chave da relação, no caso,
Candidado_Concurso, temos um relacionamento identificado, caso contrário, se
eles forem apenas atributos não chaves teríamos um relacionamento não
identificado. Desta forma, não podemos falar de relacionando não identificado,
pois os atributos são considerados chave primária da relação
Candidato_Concurso.
Já na alternativa B temos uma suposição, se formos incluir um novo atributo no
modelo denominado pontuação, em qual relação ele deveria ser incluído.
Perceba que a inclusão deve ser feita na tabela que representa o relacionamento
Candidato_concurso, na mais razoável, visto que, você recebe uma pontuação
quando participa de um concurso.
Perceba que na alternativa C temos outra suposição, só que desta vez, o novo
atributo, dataInscriçãoCandidato, está inserido na relação correta. Desta forma
essa é a nossa resposta!
A normalização de uma entidade ou relação não depende da normalização da
outra. Desta forma a alternativa D está incorreta.
A alternativa E apresenta um conceito incorreto. O fato de ter um atributo (veja
que é atributo e não chave) composto fere a primeira forma normal. A 1FN exige
que todos os atributos sejam atómicos. A segunda forma norma trata de
eliminar as dependências parciais. Vejam que a alternativa apresente um texto
totalmente desconexo.
Gabarito: C.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 55 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

38. Ano: 2016 Banca: FCC Órgão: TRE-SP Cargo: Analista Judiciário de
TI – Q. 59.
Considere as informações abaixo.
PROCESSO (Num_Processo, [Titulo_Eleitor, Nome_Eleitor,
Zona_Eleitoral_Eleitor, Secao_Eleitoral_Eleitor, Status_Eleitor_no_Processo],
Data_Criacao_Processo, Data_Solucao_Processo).
Sabe-se que os seguintes requisitos se aplicam:
− Um Eleitor pode ser citado em um ou mais processos.
− Um Processo pode citar um ou mais eleitores, portanto, os dados de Eleitor,
entre chaves na tabela (ou relação) acima, podem ser integrantes de um grupo
de repetição.
− Os atributos grifados são chaves-primárias de seus respectivos grupos de
atributos, ou seja, Num_Processo é chave dos dados de processo e Titulo_Eleitor
é chave dos atributos de eleitor.
− O Status_Eleitor_no_Processo (ex. Ativo, Inativo, Desistente) pode ser
diferente nos processos nos quais é citado, ou seja, o mesmo eleitor pode ter,
por exemplo, o status de Desistente em um processo, mas Ativo em outro).
Após a aplicação da 3FN, a situação ficou como segue:
− PROCESSO (Num_Processo, Data_Criacao_Processo, Data_Solucao_Processo)
− ELEITOR (Titulo_Eleitor, Nome_Eleitor, Zona_Eleitoral_Eleitor,
Secao_Eleitoral_Eleitor)
− CITAÇÃO (Num_Processo, Titulo_Eleitor, Zona_Eleitoral_Eleitor,
Status_Eleitor_no_Processo)
Os atributos em negrito são as chaves identificadoras das tabelas (ou relações).
Um experiente Analista de Sistemas analisou a situação e concluiu,
corretamente, que a normalização
(A) deve manter o atributo Num Processo em ELEITOR, para ficar integralmente
correta.
(B) deve incluir o atributo Data_Solucao_Processo na CITAÇÃO, para ficar
integralmente correta.
(C) está integralmente correta.
(D) deve retirar o atributo Zona_Eleitoral_Eleitor da CITAÇÃO, para ficar
integralmente correta.
(E) deve incluir o atributo Status_Eleitor_no_Processo em PROCESSO, para ficar
integralmente correta.
Comentário: Percebam que o processo de normalização foi feito de forma
parcialmente correta. Primeiramente foram separados os atributos que
descrevem cada uma das entidades do modelo. Desta forma, o atributo
composto ELEITOR que inicialmente fazia parte da tabela de PROCESSO passou
a ser uma entidade própria. A tabela de PROCESSO também ficou apenas com
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 56 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

seus atributos. E uma nova tabela CITACAO foi criada para associar um processo
a uma pessoa. O atributo status_eleitor_no_processo foi devidamente associado
a citação, o que faz todo sentido.
Contudo, perceba que o atributo zona_eleitoral_eleitor aparece de forma
incorreta na tabela CITAÇÂO. Ele pode ser obtido por meio do título de eleitor, o
que gera uma dependência parcial no modelo e fere a segunda forma normal.
Assim, nossa resposta aparece na alternativa D: “deve retirar o atributo
Zona_Eleitoral_Eleitor da CITAÇÃO, para ficar integralmente correta.”
Gabarito: D

39. Ano: 2017 Banca: FCC Órgão: TRE-SP Cargo: Técnico Judiciário de
TI – Operação de computadores - Q. 57
57. Um Técnico do TRE-SP deparou-se, hipoteticamente, com o seguinte
problema:
Um banco de dados relacional, modificado por outro profissional, começou a
apresentar anomalias. As entidades conceituais que embasaram o banco,
originalmente, eram Processo e Cidadão. Os requisitos especificavam que o
relacionamento entre tais entidades atendesse ao fato de que um processo
poderia relacionar-se com um único cidadão e um cidadão, claramente, poderia
relacionar-se com mais de um processo. Isto para o caso do relacionamento
denominado Autoria. Já, em outro relacionamento entre as mesmas entidades,
denominado Participação, o processo poderia ter a participação de mais de um
cidadão e cada um deles também poderia participar de mais de um processo.
Ora, após a modificação do banco, quando os usuários tentaram entrar com
mais de um cidadão na atualização de participação de um determinado processo,
apesar de na tela ter o espaço para tal, o programa apresentava erro de
consistência, não aceitando mais de um cidadão participante. Nesse caso,
especificamente, ocorreu a implementação do relacionamento
(A) Participação (Processo Participação de Cidadão, nesta ordem) como n:m.
(B) Participação (Processo Participação de Cidadão, nesta ordem) como n:1.
(C) Autoria (Processo Autoria de Cidadão, nesta ordem) como n:m.
(D) Participação (Processo Participação de Cidadão, nesta ordem) como 1:n.
(E) Autoria (Processo Autoria de Cidadão, nesta ordem) como n:1.
Comentário: Depois de ler toda a histórica contada pelo enunciado podemos
verificar que o relacionamento Participação deve permitir que 1 Cidadão
participe de vários processos. Desta forma, temos que ter um relacionamento
1:n entre cidadão e processo. Neste caso, a nossa resposta está na alternativa
B.
Gabarito: B.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 57 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

40. BANCA: FCC ANO: 2014 ÓRGÃO: TJ-AP PROVA: ANALISTA


JUDICIÁRIO - DESENVOLVIMENTO DE SISTEMAS
Uma Forma Normal (FN) é uma regra que deve ser obedecida por uma tabela
para ser considerada bem projetada. As descrições a seguir são de tabelas em
Formas Normais.
I. A tabela não contém dependências transitivas, ou seja, as colunas que não
sejam chave primária não dependem funcionalmente de outras colunas ou
combinação de colunas que não sejam chave primária.
II. A tabela não contém dependências parciais, ou seja, cada coluna não chave
depende da chave primária completa e não apenas de parte dela.
Os itens I e II descrevem, respectivamente, regras referentes à
A 4FN e 2FN.
B 2FN e 3FN.
C 3FN e 2FN.
D 1FN e 3FN.
E 3FN e 4FN.
Comentário: Pelas definições, que já tratamos na aula e em questões
anteriores, as alternativas I e II estão associadas respetivamente a 3FN e 2FN.
Vejam que a sequência da associação tenta levar você a confundir entre as
alternativas B e C. Prestem bastante atenção para não cair nestas pegadinhas na
hora da prova.
Gabarito: C.

41. BANCA: FCC ANO: 2013 ÓRGÃO: MPE-MA PROVA: ANALISTA


JUDICIÁRIO - BANCO DE DADOS
Em um banco de dados relacional, a atividade de normalizar suas tabelas tem
como objetivo
A gerar os triggers especificados para o banco de dados.
B eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias
nessas tabelas.
C impedir o acesso ao banco de dados, por parte de usuários desconhecidos.
D compilar todas as funções inseridas no banco de dados.
E preparar todas as tabelas do banco de dados para um backup completo.
Comentário. Vejam que a reposta bate completamente com a definição de
normalização. Seus principais objetivos são reduzir a redundância do banco de
dados e as anomalias de atualização. Falaremos mais sobre normalização na
aula de modelo relacional.
Gabarito B

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 58 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Vunesp

42. BANCA: VUNESP ANO: 2013 ÓRGÃO: MPE-ES PROVA: AGENTE


ESPECIALIZADO - ANALISTA DE BANCO DE DADOS
Quando é necessário efetuar operações de consulta em, por exemplo, duas
tabelas de um banco de dados relacional que tenham uma chave em comum
(chave primária/chave estrangeira), a operação a ser realizada é a
A canalização.
B identação.
C junção natural.
D materialização.
E nomeação.
Comentário: Essa questão está presente aqui para que você possa fixar bem a
operação de Junção natural. Já comentamos sobre ela em uma das questões
acima. A junção natural ou NATURAL JOIN é uma operação binária que opera
sobre duas relações. O atributo ou os atributos de junção são escolhidos entre
os atributos das duas relações que tem o mesmo nome. É esperado também que
o domínio deles seja o mesmo.
No resultado desta operação irão constar basicamente as tuplas que possuem os
mesmos valores dos atributos de junção nas duas relações com seus respectivos
atributos.
Gabarito C.

FGV

43. BANCA: FGV ANO: 2015 ÓRGÃO: TJ-BA PROVA: ANALISTA


JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Considere as seguintes dependências funcionais sobre os atributos A, B, C e D
de uma tabela relacional, listadas a seguir.
A->B
A->C
C->D
A dependência funcional que NÃO pode ser derivada das dependências acima é:
A) B->C
B) A->D
C) A->B,C
D) A,B,C->A,B
E) C,B->D,B
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 59 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Comentário: Voltamos para uma questão das regras de inferências. Vejam que
o fato de A  B e A  C não garante que BC. Conseguimos concluir que A é a
chave da relação porque a define B, C e D. Sendo assim, toda vez que temos A
do lado esquerdo da dependência funcional ela pode ser derivada por uma das
regras de inferência. Por fim se C  D, pela regra aumentativa C,B  D,B.
Gabarito: A.

44. BANCA: FGV ANO: 2015 ÓRGÃO: TJ-BA PROVA: ANALISTA


JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO V2
Considere as dependências funcionais apresentadas a seguir.

Sabendo-se que todos os atributos são atômicos, o esquema relacional que


satisfaz as formas normais 1ª, 2ª, 3ª e Boyce-Codd é:
A R (D, C, N, E) onde D é a chave primária e C é uma chave candidata;
B R1 (D, C, N, E) onde D é a chave primária;
C R1 (C, N, E) onde C é a chave primária, e R2 (C, D) onde C é a chave
primária;
D R1 (C, N, E) onde C é a chave primária, e R2 (C, D) onde D é a chave
primária;
E R (D, C, N, E) onde D e C, concatenados, formam a chave primária.
Comentário: Vamos lembrar da ordem e do conceito das formas normais,
vejam a tabela abaixo:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 60 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Partindo da FNBC precisamos necessariamente que os determinantes que não


são chave primária sejam chaves candidatas. Logo, C é uma chave candidata.
Por transitividade D é chave primária e determina todos os outros atributos da
relação. Sendo assim podemos garantir que a relação está nas formas normais
anteriores. Você deve estar perguntando se DCN não seria uma DF transitiva
e pode ferir a 3FN, neste caso não! Basicamente porque C é chave candidata.
Com base nestes fatos podemos encontrar nossa resposta na alternativa A.
Gabarito: A.

45. BANCA: FGV ANO: 2013 ÓRGÃO: AL-MT PROVA: ANALISTA DE


SISTEMAS BANCO DE DADOS
Leia o fragmento a seguir:

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 61 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Assinale a alternativa cujo item completa corretamente a lacuna do fragmento


acima.
A primeira
B segunda
C terceira
D quarta
E quinta
Comentário: Vejam que a definição é quase a mesma descrita no livro do
Navathe para a 4FN. "Um esquema de relação R está na 4FN com relação a um
conjunto de dependências funcionais ou multivaloradas F se, para toda
dependência multivalorada não-trivial X Y em F+, X for uma superchave de
R." Algumas características importantes da 4FN:
1. Uma relação não pode conter um atributo multivalorado que não é
superchave, pois para uma mesma chave, deveria haver diversas tuplas para
contemplar os diversos valores desse atributo.
2. Assim, todos os atributos que sejam multivalorados devem fazer parte da
chave.
3. Portanto, somente tem sentido verificar-se a multidependência funcional em
relações que tenham 3 ou mais atributos como parte da chave.
Gabarito: D.

Outras bancas

46. BANCA: NUCEPE ANO: 2015 ÓRGÃO: SEFAZ - PI PROVA: ANALISTA


- SISTEMAS PLENO
O conceito de normalização foi introduzido por E.F. Codd em 1970. Sobre esta
técnica de modelagem de banco de dados relacionais, é INCORRETO afirmar que
A a 1FN diz que cada ocorrência da chave primária deve corresponder a uma e
somente uma informação de cada atributo.
B uma entidade para estar na 2FN deve estar em 1FN e não pode ter atributos
com dependência parcial em relação à chave primária.
C uma entidade está na 3FN se estiver em 2FN e se nenhum de seus atributos
possui dependência transitiva em relação a outro atributo de entidade que não
participe da chave primária.
D uma entidade está na BCNF se e somente se estiver na 3FN e todo atributo
não chave não depender funcionalmente diretamente da chave primária.
E uma entidade está na 4FN, se e somente se, estiver na 3FN e não existirem
dependências multivaloradas.
Comentário: Veja que a única alternativa errada é a letra D. A forma normal de
Boyce Codd elimina determinantes que não são chave candidata. Outra definição

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 62 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

seria: ” um esquema de relação R está na BCNF sempre que uma dependência


funcional não trivial X  A for mantida em R, então X será uma superchave de
R.”
O enunciado da alternativa D diz um absurdo: atributo não chave não depender
da chave primária? É latente que isso não pode acontecer!
Gabarito: D.

47. BANCA: BIO RIO ANO: 2014 ÓRGÃO: EMGEPRON PROVA:


ANALISTA DE SISTEMAS - BANCO DE DADOS
Uma tabela com anomalia de atualização deverá ser normalizada. Nos conceitos
das Formas Normais, aquela que necessariamente deverá ser aplicada em uma
tabela com chave primária composta é:
A Primeira
B Segunda
C Terceira
D Quinta
Comentário: Vejam que dentre as formas normais aquela que tem a restrição
associadas a chave primária composta é justamente a segunda, pois, não deve
existir uma dependência parcial da chave primária.
Gabarito: B.

48. BANCA: FEPESE ANO: 2014 ÓRGÃO: MPE-SC PROVA: ANALISTA


JUDICIÁRIO - ANALISTA DE TECNOLOGIA DA INFORMAÇÃO
São todas características de uma relação que está na 4a forma normal – 4FN:
1. Não possuir atributos multivalorados
2. Cada atributo não chave depender da chave primária inteira
3. Não existirem dependências multivaloradas
Assinale a alternativa que indica todas as afirmativas corretas.
A É correta apenas a afirmativa 1.
B São corretas apenas as afirmativas 1 e 2.
C São corretas apenas as afirmativas 1 e 3.
D São corretas apenas as afirmativas 2 e 3.
E São corretas as afirmativas 1, 2 e 3.
Comentário: Lembre-se que para estar na 4FN devemos ter a relação
normalizada nas formas anteriores. Ou seja, se estamos com a relação na
quarta forma na primeira forma normal (não possuir atributos multivalorados),

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 63 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

na segunda forma normal (cada atributo não chave depende da chave primária
inteira) e na 4FN (não existem dependências multivaloradas). Assim nossa
resposta está na alternativa E.
Gabarito: E.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 64 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Questões sem comentários

1. BANCA: CESPE ANO: 2015 ÓRGÃO: TJDFT PROVA: PROGRAMAÇÃO DE


SISTEMAS
Julgue os itens seguintes a respeito de banco de dados.
[61] Em uma tabela de um banco de dados relacional, se uma restrição de chave
primária for definida como composta de mais de uma coluna, os seus valores
poderão ser duplicados em uma coluna; no entanto, cada combinação de valores
de todas as colunas na definição da restrição de chave primária deve ser
exclusiva.

2. BANCA: FCC ANO: 2015 ÓRGÃO: CNMP PROVA: ANALISTA DO CNMP -


DESENVOLVIMENTO DE SISTEMAS
Considere a tabela funcionario a seguir, cuja chave primária é FuncCPF, em um
banco de dados relacional.

A manipulação de dados nesta tabela pode levar a problemas conhecidos como


anomalias. Sobre elas, considere:
I. Para incluir uma nova tupla na tabela será necessário incluir ou os valores de
atributo do departamento para o qual o funcionário trabalha ou valores NULL, se
o funcionário ainda não trabalha para nenhum departamento. Este é um
exemplo de anomalia de inserção.
II. A única maneira de inserir um novo departamento que ainda não tenha
funcionários é colocar valores NULL nos atributos para funcionário, já que este
procedimento não viola a integridade de entidade. Este é um exemplo de
anomalia de inserção.
III. Se o funcionário Antônio for excluído e este for o último funcionário
trabalhando no departamento RH, a informação referente a este departamento
se perde do banco de dados. Este é um exemplo de anomalia de exclusão.
IV. Se o valor de um dos atributos de determinado departamento for mudado
(do departamento 5, por exemplo) será necessário atualizar as tuplas de todos
os funcionários que trabalham neste departamento, caso contrário, o banco de
dados ficará incoerente. Este é um exemplo de anomalia de modificação.
Está correto o que se afirma APENAS em
A I, III e IV.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 65 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

B III e IV.
C I, II e III.
D II e IV.
E I, II e IV.

3. BANCA: FCC ANO: 2012 ÓRGÃO: TJ-RJ PROVA: ANALISTA JUDICIÁRIO


- ANALISTA DE SISTEMAS
Considere a seguinte tabela de um banco de dados.
TAB_FUNC = {COD_FUNC, NOME, COD_DEP, SAL}
Uma expressão da álgebra relacional representando a tabela formada pelos
códigos (COD_FUNC) e nomes (NOME) dos funcionários que ganham salário
(SAL) entre 1000 e 3000 reais e trabalham no departamento de código
(COD_DEP) 3 é

4. BANCA: FCC ANO: 2012 ÓRGÃO: TRT - 11ª REGIÃO (AM) PROVA:
ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Considere:
I. Regra 1 − Todas as informações são representadas de forma explícita no nível
lógico e exatamente em apenas uma forma, por valores em tabelas.
II. Regra 2 − Cada um e qualquer valor atômico (datum) possui a garantia de
ser logicamente acessado pela combinação do nome da tabela, do valor da
chave primária e do nome da coluna.
III. Regra 3 − Valores nulos não devem ser utilizados de forma sistemática,
independente do tipo de dado ainda que para representar informações
inexistentes e informações inaplicáveis.
Das regras de Codd para bancos de dados relacionais, está correto o que consta
em
A I, apenas.
B II, apenas.
C I e II, apenas.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 66 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

D II e III, apenas.
E I, II e III.

5. Ano: 2017 Banca: IADES Órgão: Hemocentro Cargo: Analista de


Tecnologia da Informação Q. 34
QUESTÃO 34 Considere uma tabela relacional “R” e seus atributos definidos por
R (F1, F2, F3, F4, F5) com dependências funcionais F1, F2, F3 F4, F5 e F5
F1, F2. Com base nessas informações, assinale a alternativa que contém o
número total de superchaves distintas para essa tabela.
(A) 2
(B) 7
(C) 8
(D) 10
(E) 12

6. Ano: 2017 Banca: FGV Órgão: Alerj Cargo: Analista de Tecnologia da


Informação Q. 48
Em banco de dados, a finalidade do processo de normalização é evitar
redundâncias e, portanto, evitar certas anomalias de atualização de dados.
Considere as dependências funcionais entre os atributos das seguintes
entidades:
PACIENTE(ID_PACIENTE determina NOME_PACIENTE);
MEDICO(ID_MEDICO determina CRM_MEDICO, NOME_MEDICO);
CONSULTA(ID_PACIENTE, ID_MEDICO determinam DATA_ATEND,
HORA_ATEND);
Sabendo-se que o atributo sublinhado é a chave primária, a alternativa que
apresenta as entidades e seus atributos na Terceira Forma Normal (3FN) é:
(A) PACIENTE (ID_PACIENTE, NOME_PACIENTE, ID_MEDICO, DATA_ATEND,
HORA_ATEND)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (CRM_MEDICO, DATA_ATEND, HORA_ATEND)
(B) PACIENTE (ID_PACIENTE, NOME_PACIENTE)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, NOME_MEDICO, DATA_ATEND, HORA_ATEND)
(C) PACIENTE (ID_PACIENTE, NOME_PACIENTE, ID_MEDICO)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, DATA_ATEND, HORA_ATEND)
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 67 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

(D) PACIENTE (ID_PACIENTE, NOME_PACIENTE)


MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, ID_MEDICO, DATA_ATEND, HORA_ATEND)
(E) PACIENTE (ID_PACIENTE, NOME_PACIENTE)
MEDICO (ID_MEDICO, CRM_MEDICO, NOME_MEDICO)
CONSULTA (ID_PACIENTE, CRM_MEDICO, NOME_MEDICO,
DATA_ATEND, HORA_ATEND)

7. BANCA: FCC ANO: 2015 ÓRGÃO: TRE-RR PROVA: ANALISTA


JUDICIÁRIO - ANÁLISE DE SISTEMAS
Considere a entidade a seguir, retirada de um diagrama de entidade-
relacionamento, que possui como chave primária os atributos employee_id e
start_date.

Pode-se afirmar que para esta entidade estar na Segunda Forma Normal (2FN),
ela precisa estar na Primeira Forma Normal (1FN) e
A os atributos employee_id, job_id e department_id precisam ser chave
estrangeira nesta entidade.
B a chave primária precisa ser formada pelos atributos employee_id, job_id e
department_id, que são provenientes de tabelas relacionadas a esta.
C o atributo employee_id, que é parte da chave primária, precisa ser
proveniente de uma das tabelas relacionadas a esta.
D os atributos end_date, job_id e department_id precisam ser dependentes da
chave primária composta inteira, não apenas de parte dela.
E todos os atributos precisam permitir apenas valores exclusivos, de forma que
não haja redundância e, consequentemente, desperdício de espaço em disco.

8. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA


JUDICIÁRIO BANCO DE DADOS

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 68 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Julgue os seguintes itens, acerca de projetos, administração de usuários e


acessos de bancos de dados relacionais.
[1] Se uma variável de relação estiver na quinta forma normal, não será possível
realizar nenhuma decomposição sem haver perda de informação.

Quadrix

9. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB) Cargo:
Analista - Programador
Considere uma tabela de Alunos com uma chave primária matrícula-aluno e,
entre outros, os atributos nome-aluno, nome-curso e unidade-ensino. A tabela
Alunos está:
A) na 1FN, apenas
B) na 2FN, apenas.
C) na 3FN, apenas.
D) na 1FN e 2FN.
E) não normalizada.

10. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
A integridade entre as informações armazenadas nas tabelas, com o vínculo
entre a chave primária de uma tabela com a chave estrangeira de outra tabela,
é implementada pelos SGDB pelo mecanismo de:
A) asserção.
B) gatilho.
C) integridade referencial.
D) restrição de domínio.
E) dependência funcional.

11. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
Duas entidades que se relacionam numa associação N:N fazem parte de um
modelo lógico que será implementado fisicamente num modelo relacional por
meio de:
A) uma tabela.
B) duas tabelas.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 69 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

C) três tabelas.
D) quatro tabelas.
E) cinco tabelas.

12. Ano: 2014 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista - Programador
Um modelo relacional é derivado a partir do modelo lógico, entre outras regras,
observando que:
A) um autorrelacionamento, com associação 1:N, exige que a chave secundária
da entidade A seja, na entidade B, chave primária.
B) o mapeamento dos relacionamentos pode ser por navegação disjunta, para
trabalhar com as modificações das definições dos registros existentes.
C) uma tabela á acessível por qualquer atributo, desde que este seja declarado
como chave primária.
D) toda entidade torna-se uma tabela, carregando todos os atributos definidos
para ela.
E) o relacionamento entre conjunto de dados (tabelas) deve existir fisicamente,
através de chave estrangeira.

13. Ano: 2012 Banca: Quadrix Órgão: CFP Cargo: Analista de


Tecnologia da Informação - Desenvolvimento
Sobre normalização de banco de dados, é incorreto a firmar que:
A) uma tabela que está na 1ª FN e que possui apenas uma coluna como chave
primária não contém dependências parciais.
B) uma tabela encontra-se na 2ª FN, quando, além de estar na FN, contém
dependências parciais.
C) uma tabela encontra-se na terceira forma normal, quando, além de estar na
2ª FN, não contém dependências transitivas.
D) uma dependência funcional transitiva ou indireta acontece quando uma
coluna não chave primária depende funcionalmente de outra coluna ou
combinação de colunas não chave primária.
E) toda tabela que está na 1ª FN e que possui apenas uma coluna como chave
primária já está na 2ª FN.

14. Ano: 2015 Banca: Quadrix Órgão: COBRA Tecnologia S/A (BB)
Cargo: Analista de Operações
Analisando uma tabela de um banco de dados, verificamos a seguinte situação:
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 70 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Nome da Tabela:
Venda
Chave Primária Composta:
Código da Venda + Código do Produto + Código de Vendedor.
Campos não Chave:
Quantidade Vendida
Data da Venda
Nome do Vendedor
O que podemos afirmar sobre tal situação?
A) A tabela está em desacordo apenas com a primeira forma normal.
B) A tabela está em desacordo com a primeira e segunda formas normais.
C) A tabela está em desacordo apenas com a segunda forma normal.
D) A tabela está em desacordo apenas com a primeira e terceira formas
normais.
E) A tabela está em acordo apenas com a primeira e terceira formas normais.

15. Ano: 2015 Banca: Quadrix Órgão: CFA Cargo: Analista de Sistemas
Assinale a alternativa que faz uma afirmação correta sobre um banco de dados
relacional.
A) Toda chave secundária é, necessariamente, uma superchave.
B) Toda chave estrangeira é, necessariamente, uma superchave.
C) Toda chave primária é, necessariamente, uma superchave.
D) Toda superchave é, necessariamente, uma chave primária.
E) Toda chave candidata é, necessariamente, uma chave secundária.

16. Ano: 2014 Banca: Quadrix Órgão: DATAPREV Cargo: Analista -


Tecnologia da Informação
Em uma determinada tabela de um banco de dados, há a necessidade de se
determinar que um campo identifique o registro inserido na tabela. Essa
identificação deve ser única, ou seja, sem repetição, exclusiva e não nula. Qual
das alternativas a seguir corresponde à descrição acima?
A) Chave Primária.
B) Chave Estrangeira.
C) UML.
D) Registro.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 71 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

E) Chave Pública.

17. Ano: 2014 Banca: Quadrix Órgão: SERPRO Cargo: Analista -


Desenvolvimento de Sistemas
Considere os itens a seguir, referentes aos bancos de dados relacionais.
I. A tabela não contém dependências parciais.
II. A tabela não contém tabelas aninhadas.
III. A tabela não contém dependências transitivas.
Os itens I, II e III estão relacionados, direta e respectivamente, a
A) 1FN,2FN e 3FN
B) 3FN, 1FN e 2FN.
C) 2FN, 1FN e 3FN.
D) 1FN,3FN e 4FN
E) 3FN, 2FN e 4FN.

Cespe

18. BANCA: CESPE ANO: 2015 ÓRGÃO: CGE-PI PROVA: AUDITOR


GOVERNAMENTAL - TECNOLOGIA DA INFORMAÇÃO
A respeito de banco de dados, julgue os itens subsequentes.
Para normalizar, conforme primeira forma, uma tabela em um banco de dados, é
preciso criar chaves estrangeiras que representem a ligação entre elas.

19. BANCA: CESPE ANO: 2013 ÓRGÃO: CRPM PROVA: ANALISTA EM


GEOCIÊNCIAS - SISTEMAS DE INFORMAÇÃO
No que concerne a mapeamento de dados lógico e físico e a elaboração e
implantação de projeto de banco de dados, julgue os seguintes itens.
No processo de implantação de um projeto de banco de dados, devem ser
utilizadas as operações de álgebra relacional de dados para estabelecer as
restrições de cardinalidade e relacionamento entre o conjunto de entidades.

20. BANCA: CESPE ANO: 2013 ÓRGÃO: ANTT PROVA: ANALISTA


ADMINISTRATIVO - DESENVOLVIMENTO DE SISTEMAS

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 72 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Julgue os itens subsequentes, relativos a banco de dados.


A linguagem padrão de consulta SQL (structured query language) utiliza uma
combinação de construtores em álgebra e cálculo relacional.

21. BANCA: CESPE ANO: 2013 ÓRGÃO: TCE-ES PROVA: ANALISTA


ADMINISTRATIVO - INFORMÁTICA
O conjunto de operações cujo resultado seja uma nova relação e que envolve
seleção, projeção, união e produto cartesiano é denominado
A mapeamento de cardinalidades.
B álgebra relacional.
C generalização.
D chave primária.
E herança.

22. Ano: 2016 Banca: CESPE Órgão: TCE-SC Cargo: Auditor de TI


Com relação aos bancos de dados relacionais, julgue os próximos itens.
94 O catálogo de um sistema de gerenciamento de banco de dados relacional
armazena a descrição da estrutura do banco de dados e contém informações a
respeito de cada arquivo, do tipo e formato de armazenamento de cada item de
dado e das restrições relativas aos dados.
95 Denomina-se visão uma tabela única derivada de uma ou mais tabelas
básicas do banco. Essa tabela existe em forma física e viabiliza operações
ilimitadas de atualização e consulta.
96 Em bancos de dados relacionais, as tabelas que compartilham um elemento
de dado em comum podem ser combinadas para apresentar dados solicitados
pelos usuários.

23. Ano: 2015 Banca: CESPE Órgão: TRE-PI – Questão 56


Acerca da aplicação dos princípios de normalização (Formas Normais), assinale a
opção correta.
A A aplicação da 1FN se dá se e somente se, para todo modelo, for aplicada a
Forma Normal de Boyce-Codd (ou BCNF).
B A 2FN é baseada no conceito de dependência funcional total, isto é, todo
atributo não primário de uma entidade tem dependência funcional total da chave
primária.
C A Terceira Forma Normal (3FN) requer que não haja dependências
intransitivas de atributos que não sejam com toda chave candidata.
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 73 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

D A aplicação da Primeira Forma Normal (1FN) requer que, ao fim da sua


aplicação, todos os atributos de uma relação sejam multivalorados ou estejam
em tabelas aninhadas, o que garante grupos repetidos de dados, reduzindo o
tamanho físico do banco de dados.
E A Segunda Forma Normal (2FN) requer que, ao fim da sua aplicação, não haja
dependências transitivas de atributos que não sejam com toda chave candidata.

24. BANCA: CESPE ANO: 2014 ÓRGÃO: TC-DF PROVA: ANALISTA DE


ADMINISTRAÇÃO PÚBLICA - SISTEMAS DE TECNOLOGIA DA
INFORMAÇÃO
Com relação a projetos de bancos de dados, modelo entidade relacionamento e
linguagens utilizadas em bancos de dados, julgue os próximos itens.
Durante o projeto de um banco de dados, transformando-se as relações na
quinta forma normal, garante-se que elas não terão anomalias que possam ser
eliminadas usando-se projeções.

25. BANCA: CESPE ANO: 2015 ÓRGÃO: MPOG PROVA: ANALISTA -


ANALISTA EM TECNOLOGIA DA INFORMAÇÃO
A respeito de modelo entidade-relacionamento e normalização, julgue os itens
subsequentes.
113 Em relações normalizadas, na primeira forma normal, toda tupla em toda
relação contém apenas um único valor, do tipo apropriado, em cada posição de
atributo.
114 Sabendo que, nos relacionamentos ternários, a cardinalidade refere-se a
pares de entidades, em um relacionamento ternário R entre três entidades A, B
e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de
C podem estar associadas a um par de ocorrências de A e B.

26. BANCA: CESPE ANO: 2015 ÓRGÃO: CGE-PI PROVA: AUDITOR


GOVERNAMENTAL - TECNOLOGIA DA INFORMAÇÃO
A respeito de banco de dados, julgue os itens subsequentes.
96 Um modelo de dados pode ser usado para representar os tipos de dados
existentes em um banco de dados de um sistema online de reservas.
97 Em banco de dados relacional, os atributos representam as entidades do
mundo real.
98 Em um relacionamento de tabelas de um banco de dados relacional, a chave
estrangeira serve para referenciar uma entidade dentro de outra tabela,
facilitando, assim, a busca e o agrupamento dessas entidades.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 74 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

99 Para normalizar, conforme primeira forma, uma tabela em um banco de


dados, é preciso criar chaves estrangeiras que representem a ligação entre elas.
100 Em um sistema gerenciador de banco de dados, a linguagem de definição de
dados possibilita a criação das tabelas bem como a autorização de acesso aos
dados para determinados usuários do banco de dados.

Cesgranrio

27. BANCA: CESGRANRIO ANO: 2013 ÓRGÃO: LIQUIGÁS PROVA:


ANALISTA DE SISTEMAS - TECNOLOGIA DA INFORMAÇÃO
Seja a seguinte sequência de operações da Álgebra Relacional:

Considerando-se essa sequência da esquerda para a direita, que operações


foram empregadas?
A Junção, projeção e seleção
B Junção, seleção e projeção
C Projeção, junção e seleção
D Projeção, seleção e junção
E Seleção, projeção e junção

28. BANCA: CESGRANRIO ANO: 2013 ÓRGÃO: BNDES PROVA:


ANALISTA DE SISTEMAS - ANALISTA DE SISTEMAS –
DESENVOLVIMENTO

A relação R a seguir foi obtida pela aplicação de uma sequência de operações da


Álgebra Relacional sobre as relações T e V.

Que sequência é essa?

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 75 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

29. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: CEFET-RJ PROVA:


TECNÓLOGO WEB
O mundo assistiu em março de 2013 à eleição de um novo Papa. Para facilitar
seu trabalho na cobertura do evento, um jornal decidiu construir uma base de
dados com todos os cardeais. Para isso, foram criadas as seguintes tabelas:
CARDEAL(Nome,Cidade)
CIDADEPAIS(Cidade,Pais)
Que consulta da álgebra relacional lista exclusivamente o nome e o país de todos
os cardeais?

30. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: PETROBRAS PROVA:


TÉCNICO TÉCNICO DE INFORMÁTICA
Considere o esquema relacional abaixo, no qual placa é a chave primária.

Qual é a expressão em álgebra relacional a ser aplicada sobre esse esquema, de


forma a obter as Placas dos VEICULOS com Ano igual a 2011 e Valor menor que
9000?

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 76 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

31. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: FINEP PROVA:


ANALISTA DA FINEP - INFORMÁTICA - DESENVOLVIMENTO DE
SISTEMAS
Qual forma normal se baseia no conceito de dependência multivalorada?
A Forma Normal de Boyce-Codd
B Primeira Forma Normal
C Segunda Forma Normal
D Terceira Forma Normal
E Quarta Forma Normal

32. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: PETROBRAS PROVA:


TÉCNICO TÉCNICO DE INFORMÁTICA
A álgebra relacional fornece um alicerce formal para as operações do modelo
relacional. Um técnico de informática reconhece que essas operações permitem
que um usuário especifique solicitações como expressões da álgebra relacional,
nas quais a(o)
A operação PROJEÇÃO é usada para escolher um subconjunto das tuplas de uma
relação que satisfaça uma condição de seleção.
B operação de PROJEÇÃO mantém quaisquer tuplas duplicadas, de modo que o
resultado dessa operação é um conjunto de tuplas que pode conter tuplas
repetidas.
C operação PROJEÇÃO pode selecionar certas colunas da tabela e descartar
outras.
D operação SELEÇÃO é usada para incluir todas as tuplas de duas relações em
uma única relação, sendo que as tuplas duplicadas são eliminadas.
E resultado da operação SELEÇÃO pode ser visualizado como uma partição
vertical da relação original em duas relações: uma tem as colunas (atributos)

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 77 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

necessárias e contém o resultado da operação, e a outra contém as colunas


descartadas.

33. BANCA: CESGRANRIO ANO: 2014 ÓRGÃO: BANCO DA AMAZÔNIA


PROVA: TÉCNICO CIENTÍFICO - BANCO DE DADOS
Considere que K,X,Y e Z são conjuntos de atributos de uma relação R.
Sabendo que:

NÃO é possível garantir que


AX YZ
BX Y
C XK ZK
DY K
EY ZX

FCC

34. Ano: 2017 Banca: FCC Órgão: ARTESP Cargo: Especialista em


Regulação de Transporte - Tecnologia da Informação Questão: 73.
73. Na modelagem de um banco de dados relacional há diversos aspectos a
serem considerados. Dentre tais aspectos, é correto afirmar que
(A) a função exercida por um conjunto de entidades ligado a um conjunto de
relacionamentos denomina-se gatilho.
(B) uma modelagem de um banco de dados relacional suporta um número
máximo teórico de conjuntos de entidades, não superior a 30.
(C) as propriedades descritivas de um conjunto de entidades são denominadas
de atributos.
(D) conjuntos de relacionamentos não admitem atributos do tipo descritivo.
(E) um conjunto de relacionamentos recursivo liga dois ou mais conjuntos de
entidades.

35. Ano: 2017 Banca: FCC Órgão: ARTESP Cargo: Especialista em


Regulação de Transporte - Tecnologia da Informação Questão: 74.
74. Com o intuito de verificar se uma determinada relação R de um banco de
dados relacional atende a segunda forma normal, deve-se verificar se
Prof. Thiago Rodrigues Cavalcanti
www.estrategiaconcursos.com.br 78 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

(A) atributos que não façam parte de qualquer chave candidata de R são total e
funcionalmente dependentes da chave primária de R.
(B) o domínio de todos os atributos de R comportam valores considerados
múltiplos.
(C) todos os atributos de R são do tipo literal ou numérico.
(D) a relação R tem uma chave primária composta por dois ou mais atributos.
(E) o número de atributos da relação R é múltiplo de 2.

36. Ano: 2017 Banca: FCC Órgão: TRT-11 Cargo: Analista Judiciário de
TI – Q. 44
Considere o modelo de dados abaixo.

Na relação entre as entidades Advogado e Processo um advogado poderá atuar


em diversos processos, tanto como advogado de defesa como de acusação.
Assim, cada processo terá, pelo menos, dois advogados. Com base nesse
modelo, na implementação das tabelas do banco de dados em um Sistema de
Gerenciamento de Banco de Dados relacional,
(A) será necessária a criação de uma tabela entre Advogado e Processo e o
relacionamento N:N dará lugar a dois relacionamentos 1:N.
(B) a chave primária da tabela Processo deverá ser chave estrangeira na tabela
Advogado.
(C) a chave primária da tabela Advogado deverá ser chave estrangeira na tabela
Processo.
(D) ambas as tabelas (Processo e Advogado) deverão ter chave primária
composta.
(E) a tabela Advogado deverá ter um campo para especificar o tipo de atuação
do advogado em cada processo (defesa ou acusação).

37. Ano: 2017 Banca: FCC Órgão: TRE-SP Cargo: Técnico Judiciário de
TI – Q. 57.
Considere as entidades abaixo que são integrantes de um modelo de banco de
dados relacional.
Candidato Candidato_Concurso Concurso
idCandidato(pk) idCandidato (pk, fk) idConcurso(pk)
nomeCandidato idConcurso (pk, fk) nomeConcurso

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 79 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Analisando-se as entidades, tem-se que


(A) estas entidades estabelecem dois relacionamentos n:m não-identificados
(non-Identifying).
(B) se for incluído um atributo pontuacao, ele terá que ser incluído na entidade
Candidato.
(C) se for incluído o atributo dataInscricaoCandidato, ele terá que ser incluído na
entidade Candidato_Concurso.
(D) para que a entidade Candidato esteja na 1a forma normal, a entidade
Candidato_Concurso precisa estar normalizada.
(E) a entidade Candidato_Concurso nunca estará na 2a forma normal porque ela
possui chave primária composta

38. Ano: 2016 Banca: FCC Órgão: TRE-SP Cargo: Analista Judiciário de
TI – Q. 59.
Considere as informações abaixo.
PROCESSO (Num_Processo, [Titulo_Eleitor, Nome_Eleitor,
Zona_Eleitoral_Eleitor, Secao_Eleitoral_Eleitor, Status_Eleitor_no_Processo],
Data_Criacao_Processo, Data_Solucao_Processo).
Sabe-se que os seguintes requisitos se aplicam:
− Um Eleitor pode ser citado em um ou mais processos.
− Um Processo pode citar um ou mais eleitores, portanto, os dados de Eleitor,
entre chaves na tabela (ou relação) acima, podem ser integrantes de um grupo
de repetição.
− Os atributos grifados são chaves-primárias de seus respectivos grupos de
atributos, ou seja, Num_Processo é chave dos dados de processo e Titulo_Eleitor
é chave dos atributos de eleitor.
− O Status_Eleitor_no_Processo (ex. Ativo, Inativo, Desistente) pode ser
diferente nos processos nos quais é citado, ou seja, o mesmo eleitor pode ter,
por exemplo, o status de Desistente em um processo, mas Ativo em outro).
Após a aplicação da 3FN, a situação ficou como segue:
− PROCESSO (Num_Processo, Data_Criacao_Processo, Data_Solucao_Processo)
− ELEITOR (Titulo_Eleitor, Nome_Eleitor, Zona_Eleitoral_Eleitor,
Secao_Eleitoral_Eleitor)
− CITAÇÃO (Num_Processo, Titulo_Eleitor, Zona_Eleitoral_Eleitor,
Status_Eleitor_no_Processo)
Os atributos em negrito são as chaves identificadoras das tabelas (ou relações).
Um experiente Analista de Sistemas analisou a situação e concluiu,
corretamente, que a normalização

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 80 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

(A) deve manter o atributo Num Processo em ELEITOR, para ficar integralmente
correta.
(B) deve incluir o atributo Data_Solucao_Processo na CITAÇÃO, para ficar
integralmente correta.
(C) está integralmente correta.
(D) deve retirar o atributo Zona_Eleitoral_Eleitor da CITAÇÃO, para ficar
integralmente correta.
(E) deve incluir o atributo Status_Eleitor_no_Processo em PROCESSO, para ficar
integralmente correta.

39. Ano: 2017 Banca: FCC Órgão: TRE-SP Cargo: Técnico Judiciário de
TI – Operação de computadores - Q. 57
57. Um Técnico do TRE-SP deparou-se, hipoteticamente, com o seguinte
problema:
Um banco de dados relacional, modificado por outro profissional, começou a
apresentar anomalias. As entidades conceituais que embasaram o banco,
originalmente, eram Processo e Cidadão. Os requisitos especificavam que o
relacionamento entre tais entidades atendesse ao fato de que um processo
poderia relacionar-se com um único cidadão e um cidadão, claramente, poderia
relacionar-se com mais de um processo. Isto para o caso do relacionamento
denominado Autoria. Já, em outro relacionamento entre as mesmas entidades,
denominado Participação, o processo poderia ter a participação de mais de um
cidadão e cada um deles também poderia participar de mais de um processo.
Ora, após a modificação do banco, quando os usuários tentaram entrar com
mais de um cidadão na atualização de participação de um determinado processo,
apesar de na tela ter o espaço para tal, o programa apresentava erro de
consistência, não aceitando mais de um cidadão participante. Nesse caso,
especificamente, ocorreu a implementação do relacionamento
(A) Participação (Processo Participação de Cidadão, nesta ordem) como n:m.
(B) Participação (Processo Participação de Cidadão, nesta ordem) como n:1.
(C) Autoria (Processo Autoria de Cidadão, nesta ordem) como n:m.
(D) Participação (Processo Participação de Cidadão, nesta ordem) como 1:n.
(E) Autoria (Processo Autoria de Cidadão, nesta ordem) como n:1.

40. BANCA: FCC ANO: 2014 ÓRGÃO: TJ-AP PROVA: ANALISTA


JUDICIÁRIO - DESENVOLVIMENTO DE SISTEMAS
Uma Forma Normal (FN) é uma regra que deve ser obedecida por uma tabela
para ser considerada bem projetada. As descrições a seguir são de tabelas em
Formas Normais.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 81 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

I. A tabela não contém dependências transitivas, ou seja, as colunas que não


sejam chave primária não dependem funcionalmente de outras colunas ou
combinação de colunas que não sejam chave primária.
II. A tabela não contém dependências parciais, ou seja, cada coluna não chave
depende da chave primária completa e não apenas de parte dela.
Os itens I e II descrevem, respectivamente, regras referentes à
A 4FN e 2FN.
B 2FN e 3FN.
C 3FN e 2FN.
D 1FN e 3FN.
E 3FN e 4FN.

41. BANCA: FCC ANO: 2013 ÓRGÃO: MPE-MA PROVA: ANALISTA


JUDICIÁRIO - BANCO DE DADOS
Em um banco de dados relacional, a atividade de normalizar suas tabelas tem
como objetivo
A gerar os triggers especificados para o banco de dados.
B eliminar, ou pelo menos diminuir redundâncias de dados desnecessárias
nessas tabelas.
C impedir o acesso ao banco de dados, por parte de usuários desconhecidos.
D compilar todas as funções inseridas no banco de dados.
E preparar todas as tabelas do banco de dados para um backup completo.

Vunesp

42. BANCA: VUNESP ANO: 2013 ÓRGÃO: MPE-ES PROVA: AGENTE


ESPECIALIZADO - ANALISTA DE BANCO DE DADOS
Quando é necessário efetuar operações de consulta em, por exemplo, duas
tabelas de um banco de dados relacional que tenham uma chave em comum
(chave primária/chave estrangeira), a operação a ser realizada é a
A canalização.
B identação.
C junção natural.
D materialização.
E nomeação.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 82 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

FGV

43. BANCA: FGV ANO: 2015 ÓRGÃO: TJ-BA PROVA: ANALISTA


JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO
Considere as seguintes dependências funcionais sobre os atributos A, B, C e D
de uma tabela relacional, listadas a seguir.
A->B
A->C
C->D
A dependência funcional que NÃO pode ser derivada das dependências acima é:
A) B->C
B) A->D
C) A->B,C
D) A,B,C->A,B
E) C,B->D,B

44. BANCA: FGV ANO: 2015 ÓRGÃO: TJ-BA PROVA: ANALISTA


JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO V2
Considere as dependências funcionais apresentadas a seguir.

Sabendo-se que todos os atributos são atômicos, o esquema relacional que


satisfaz as formas normais 1ª, 2ª, 3ª e Boyce-Codd é:
A R (D, C, N, E) onde D é a chave primária e C é uma chave candidata;
B R1 (D, C, N, E) onde D é a chave primária;
C R1 (C, N, E) onde C é a chave primária, e R2 (C, D) onde C é a chave
primária;
D R1 (C, N, E) onde C é a chave primária, e R2 (C, D) onde D é a chave
primária;
E R (D, C, N, E) onde D e C, concatenados, formam a chave primária.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 83 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

45. BANCA: FGV ANO: 2013 ÓRGÃO: AL-MT PROVA: ANALISTA DE


SISTEMAS BANCO DE DADOS
Leia o fragmento a seguir:

Assinale a alternativa cujo item completa corretamente a lacuna do fragmento


acima.
A primeira
B segunda
C terceira
D quarta
E quinta

Outras bancas

46. BANCA: NUCEPE ANO: 2015 ÓRGÃO: SEFAZ - PI PROVA: ANALISTA


- SISTEMAS PLENO
O conceito de normalização foi introduzido por E.F. Codd em 1970. Sobre esta
técnica de modelagem de banco de dados relacionais, é INCORRETO afirmar que
A a 1FN diz que cada ocorrência da chave primária deve corresponder a uma e
somente uma informação de cada atributo.
B uma entidade para estar na 2FN deve estar em 1FN e não pode ter atributos
com dependência parcial em relação à chave primária.
C uma entidade está na 3FN se estiver em 2FN e se nenhum de seus atributos
possui dependência transitiva em relação a outro atributo de entidade que não
participe da chave primária.
D uma entidade está na BCNF se e somente se estiver na 3FN e todo atributo
não chave não depender funcionalmente diretamente da chave primária.
E uma entidade está na 4FN, se e somente se, estiver na 3FN e não existirem
dependências multivaloradas.

47. BANCA: BIO RIO ANO: 2014 ÓRGÃO: EMGEPRON PROVA:


ANALISTA DE SISTEMAS - BANCO DE DADOS

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 84 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Uma tabela com anomalia de atualização deverá ser normalizada. Nos conceitos
das Formas Normais, aquela que necessariamente deverá ser aplicada em uma
tabela com chave primária composta é:
A Primeira
B Segunda
C Terceira
D Quinta

48. BANCA: FEPESE ANO: 2014 ÓRGÃO: MPE-SC PROVA: ANALISTA


JUDICIÁRIO - ANALISTA DE TECNOLOGIA DA INFORMAÇÃO
São todas características de uma relação que está na 4a forma normal – 4FN:
1. Não possuir atributos multivalorados
2. Cada atributo não chave depender da chave primária inteira
3. Não existirem dependências multivaloradas
Assinale a alternativa que indica todas as afirmativas corretas.
A É correta apenas a afirmativa 1.
B São corretas apenas as afirmativas 1 e 2.
C São corretas apenas as afirmativas 1 e 3.
D São corretas apenas as afirmativas 2 e 3.
E São corretas as afirmativas 1, 2 e 3.

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 85 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Gabarito
1. C 25. CC
2. A 26. CECEC
3. A 27. D
4. C 28. C
5. D 29. B
6. D 30. D
7. D
8. E 31. E
9. A 32. C
10. C 33. E
34. C
11. C 35. A
12. D 36. A
13. B 37. C
14. B 38. D
15. C 39. B
16. A 40. C
17. C
18. E 41. B
19. E 42. C
20. C 43. A
44. A
21. B 45. D
22. CEC 46. D
23. B 47. B
24. C 48. E

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 86 de 87
Modelo Relacional Álgebra relacional Normalização
Prof. Thiago Rodrigues Cavalcanti Aula 02

Considerações Finais

Chegamos ao final da nossa aula sobre o modelo relacional! Considero esse


um dos assuntos mais densos do nosso curso. Tente esgotar as questões sobre o
assunto e, se possível, assistir as videoaulas com os conceitos associados ao
tema.

A continuação desse assunto encontra-se na próxima aula. Falaremos sobre


a linguagem SQL, uma implementação prática do modelo relacional. Espero
reencontrar você.

As videoaulas referentes a esse assunto já estão disponibilizadas no site do


Estratégia Concursos®, não deixe de assistir e mandar suas observações!

Até a próxima!

Thiago Cavalcanti

Prof. Thiago Rodrigues Cavalcanti


www.estrategiaconcursos.com.br 87 de 87

Você também pode gostar