Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
2. Regras de integridade.
3. Operadores relacionais.
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.
R A1 A2 ... AN
R A1 A2 A3 A4
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.
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
As bancas focam suas questões sobre esse assunto nos seguintes tipos de
restrições:
Vamos agora fazer mais uma questão de provas passadas, desta vez a
banca é a FCC.
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:
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:
notação especifica definida pela álgebra relacional para fazer essa consulta. Essa
notação pode ser vista abaixo:
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.
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.
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
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)
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.
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
Notação:
Notação:
Notação:
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:
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))
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.
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
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.
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
(a) X é superchave de R;
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.
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.
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.
A DMV pode ser classificada como trivial ou não trivial. Numa relação R,
a DMV A B é dita trivial se:
(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.
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:
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.
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.
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.
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.
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.
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.
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:
Gabarito: A.
Cespe
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
Gabarito: C C.
Cesgranrio
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
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 XYZ, então XY e XZ
RI5 (Aditiva) Se XY e XZ, então XYZ
RI6 (Pseudotransitiva) Se XY e WYZ, então WXZ
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 XY. Como YZ,
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 XY.
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
36. Ano: 2017 Banca: FCC Órgão: TRT-11 Cargo: Analista Judiciário de
TI – Q. 44
Considere o modelo de dados abaixo.
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.
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.
Vunesp
FGV
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 BC. 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.
Outras bancas
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.
B III e IV.
C I, II e III.
D II e IV.
E I, II e IV.
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.
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.
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.
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.
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.
E) Chave Pública.
Cespe
Cesgranrio
FCC
(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.
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
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.
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.
Vunesp
FGV
Outras bancas
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
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
Considerações Finais
Até a próxima!
Thiago Cavalcanti