Você está na página 1de 134

TI – FISCAL

Gabarito: CORRETO.

As tuplas nada mais são que as linhas/registros de uma tabela.

As tabelas abaixo, na visão do SGBD, são idênticas:

Id Nome
2930 Fábio
2931 Carol
2932 Amanda

Id Nome
2931 Carol
2930 Fábio
2932 Amanda

Id Nome
2932 Amanda
2931 Carol
2930 Fábio

Então sim, NÃO EXISTE uma ordem definida entre as tuplas. Mas por quê?

O modelo relacional se baseia na Teoria dos Conjuntos. Num conjunto ({1,2,3}


ou {3,2,1}, por exemplo), a ordem não importa. O mesmo vale para nossos
bancos de dados relacionais.

Gabarito: CORRETO.

Aproveitando para revisar,

ATRIBUTOS -> Colunas da tabela. Id e Nome são os atributos.

DOMÍNIO -> Todos os possíveis valores para cada atributo. Então cada


atributo possui seu domínio, possui seu universo de valores possíveis. No
exemplo dado, vamos supor que essa tabela contenha todas as pessoas da
minha família. Portanto, o DOMÍNIO do atributo Nome são os nomes dos meus
parentes.

CHAVE PRIMÁRIA -> As características das chaves primárias são: única (não


pode ter outra tupla, na mesma relação, com o mesmo valor de chave primária)
e não nula (not null). Ela ainda pode ser simples (ter apenas uma coluna) ou
composta (ter duas ou mais colunas). No nosso caso, ela é simples. O
atributo Id é a (primary key/pk) dessa tabela.
 Reportar erro Histórico de Alterações
 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Modelagem Relacional

No modelo relacional, não existe uma ordem definida entre as tuplas.

c) Certa

e) Errada
Você errou! A resposta é letra C.

Modelagem Relacional
Este artigo tem como objetivo introduzir os conceitos básicos sobre Modelagem

Relacional, objeto de dados, nomenclatura e dicionarização, atributo,

relacionamento, integridade, documentação e normalização.


Gabarito: ERRADO.

Quem não se repete é a Chave PRIMÁRIA. A chave estrangeira pode se


repetir quantas vezes quiser.

Vejamos um exemplo:

Temos duas tabelas: Pet e Pessoa. O relacionamento é Pessoa (1,1) --- (0,N)


Pet, ou seja, uma pessoa pode ter 0 a N pets e um Pet obrigatoriamente possui
1 pessoa como dona.

A chave estrangeira é o atributo Id_Dona. Veja como ele se repete. Ora, se a


Laís Lima quiser ter 100 animais, que ela tenha. Não há essa restrição. Por
isso, é muito errado afirmar que a chave estrangeira não pode se repetir.

Agora observe a chave primária. "Mas professor, ela se repete. Tem 80 nas
duas tabelas". A chave primária não pode se repetir NA MESMA RELAÇÃO.
Não há problema se repetir em relações diferentes.

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Conceitos de Bancos de Dados

O valor da chave estrangeira não pode se repetir numa mesma relação.


c) Certa

e) Errada
Gabarito: ERRADO.

"Os CDs encontrados contêm dados estruturados."

Dados estruturados são dados que são organizados em uma estrutura


rígida. Por exemplo, dados de uma tabela (organizados em linhas e colunas)
ou dados de um arquivo XML. Tudo o que seguir uma estrutura pré-definida é
um dado estruturado. Dado não-estruturado é todo o resto.

Mas por que são chamados assim? Ao classificar as informações, os


estudiosos vieram com essa classificação pra separar as informações que
estavam prontas para serem armazenadas sem qualquer tipo de alteração
necessária (estruturados), e as informações que precisavam de um
tratamento antes de serem armazenadas (não-estruturados).

Exemplos de dados estruturados: Arquivos XML, planilhas CSV, arquivos


JSON

Exemplos de dados não-estruturados: Aquivos de texto, imagens, músicas

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

APROFUNDANDO...

Alguns autores também usam uma terceira classificação, chamada Dados


semi-estruturados. Como o nome pode indicar, são dados que contêm parte
de sua estrutura rígida e outra parte não-rígida. Todos os exemplos que
usei anteriormente, dependendo de como forem construídos, podem ser
classificados como um dado semi-estruturado. Tem que saber o contexto da
questão para bater o martelo definitivamente sobre a classificação correta.

Exemplo de XML semi-estruturado (texto livre + XML):

"XML sobre o conteúdo do meu concurso sonho.

Autor: Emílio 

Data: Hoje

<Matéria>

    <Assunto>Atos Administrativos</Assunto>
    <Horas>3h</Horas>

    <Questões>50</Questões>

</Matéria>

<Matéria>

    <Assunto>Poderes Administrativos</Assunto>

...

"

Exemplo de Arquivo de texto semi-estruturado (texto livre + JSON):

"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Mus mauris vitae ultricies leo
integer malesuada nunc vel. Nulla aliquet porttitor lacus luctus accumsan. Dolor
morbi non arcu risus quis. Sed arcu non odio euismod lacinia at quis. Turpis
cursus in hac habitasse platea. Eget felis eget nunc lobortis. Nunc id cursus
metus aliquam eleifend mi in. Ut tortor pretium viverra suspendisse potenti. A
cras semper auctor neque vitae tempus. Turpis cursus in hac habitasse platea.
Quam id leo in vitae turpis massa sed. Phasellus vestibulum lorem sed risus
ultricies. Cras tincidunt lobortis feugiat vivamus. Lobortis mattis aliquam
faucibus purus in. Feugiat in ante metus dictum at. Sapien faucibus et molestie
ac feugiat sed lectus vestibulum. Ut tortor pretium viverra suspendisse potenti.
A cras semper auctor neque vitae tempus. Turpis cursus in hac habitasse
platea. Quam id leo in vitae turpis massa sed. Phasellus vestibulum lorem sed
risus ultricies. Cras tincidunt lobortis feugiat vivamus. Lobortis mattis aliquam
faucibus purus in. Feugiat in ante metus dictum at. Sapien faucibus et molestie
ac feugiat sed lectus vestibulum. 

    assunto: "Email aleatório",

    destinatário: "eumesmo@gmail.com"

"

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Conceitos de Bancos de Dados
Ao examinar livros, documentos e arquivos apreendidos em uma fiscalização
de rotina, o Auditor se deparou com diversos CDs que continham emails do
contribuinte com seus fornecedores. Julgue a assertiva a seguir.

Os CDs encontrados contêm dados estruturados.

c) Certa

e) Errada
Resolver questão
     

Gabarito: ERRADO.

Vamos lá, pra NUNCA MAIS ERRAR!

Atributo composto -> pode ser DECOMPOSTO em informações menores.


Exemplo: Endereço. "Rua X, casa Y, Quadra 12". Esse atributo é COMPOSTO
por muitas informações que podem ser DECOMPOSTAS em 3 atributos (Rua,
Casa e Quadra). Mas veja que é uma informação só. Só contém um valor.

Atributo multivalorado -> possui vários valores (MULTI VALORADO).


Exemplo: Telefone*. A mesma pessoa pode ter 3 telefones. Aqui sim, temos
vários valores.

*Se formos bem criteriosos, o atributo telefone também pode ser considerado
composto, pois um telefone (11 9 2222-2222) pode ser dividido em DDD, dígito
verificador, etc. O importante é você saber diferenciar e avaliar o que a questão
está pedindo.

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Conceitos de Bancos de Dados

Atributo composto é aquele que apresenta em seu conteúdo mais de um valor.

c) Certa

e) Errada
Você acertou! A resposta é letra E
Gabarito: CORRETO.

Vamos dividir a assertiva:

1) "No modelo relacional, a chave estrangeira é obrigatoriamente chave


primária..."

Isso mesmo. A chave estrangeira serve para referenciar uma tupla externa. E
o link dessa referência é feito através da chave primária da outra tupla.

2) "...da mesma..."

Existe uma propriedade dos bancos de dados relacionais chamado "Auto-


Relacionamento", onde a entidade se relaciona consigo mesma. Por exemplo,
veja essa tabela de funcionários de uma empresa X:

IdFuncionario NomeFuncionario Cargo


47 Maria Presidente
53 Heitor Diretor Financeiro
60 Fernando Diretor Operacional
65 Júlia Gerente Financeira

Esse é um perfeito exemplo de Auto-Relacionamento em bancos de dados.


Não foi necessário criar uma outra tabela para armazenar os superiores, visto
que eles também são funcionários e também possuem superiores. Perceba
que a chave estrangeira dessa tabela é o atributo IdSuperior que referencia a
própria tabela.

3) "...ou de outra tabela"

Aqui é o caso clássico de chave estrangeira.

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Modelagem Relacional

No modelo relacional, a chave estrangeira é obrigatoriamente chave primária


da mesma ou de outra tabela.

c) Certa

e) Errada
Está invertido. Calma, vamos entender.

O GRAU de um relacionamento determina a quantidade de ENTIDADES


participantes. O grau pode ser Binário (duas entidades no relacionamento, o
tipo mais comum), Ternário, Quaternário, etc.

Exemplo de grau ternário:

A CARDINALIDADE de um relacionamento especifica a quantidade de


RELACIONAMENTOS em que esta entidade participa. Por exemplo:

Numa relação Médico-Paciente, temos uma relação N:N, ou seja, um médico


pode ter vários pacientes e um paciente vários médicos. É dito que a
cardinalidade dessa relação é N:N. Assim como essa, temos outras
cardinalidades como N:1 e 1:1.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

APROFUNDANDO..

Ainda tendo como base a relação Médico-Paciente, podemos destrinchá-la um


pouco mais. Podemos dizer que um médico pode ter zero ou vários pacientes e
um paciente ter um ou vários médicos. Portanto, ela fica construída
assim: Médico (1,N) --- (0,N) Paciente. Aqui temos as cardinalidades mínimas
e máximas de cada entidade. 

Sempre que a questão falar sobre CARDINALIDADE, lembre


das cardinalidades mínimas e máximas que automaticamente você
associará à notação acima (não existe grau mínimo e máximo).

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Conceitos de Bancos de Dados
A cardinalidade de um relacionamento é o número de entidades participantes
do relacionamento. Já o grau de um relacionamento especifica a quantidade de
relacionamentos que uma entidade pode participar.

c) Certa

e) Errada
Resolver questão

Alternativa correta: C.
Gabarito: CERTO.

A linguagem SQL é divida em 5 grandes grupos de comando. São estes:

DML (Data Manipulation Language/Linguagem de Manipulação de Dados)


São comandos que interagem com os dados (diretamente nas tuplas) dentro
das tabelas.
Exemplos: SELECT*, INSERT, DELETE e UPDATE

DDL (Data Definition Language/Linguagem de Definição de Dados)


São comandos que interagem com os objetos (tabelas, visões, etc) do banco.
Exemplos: CREATE, ALTER e DROP

DTL (Data Transaction Language/Linguagem de Transação de Dados)


São comandos para controle de transação.
Exemplos: BEGIN TRANSACTION, COMMIT e ROLLBACK

DCL (Data Control Language/Linguagem de Controle de Dados)


São comandos de controle de segurança do banco de dados.
Exemplos: GRANT, REVOKE e DENY

DQL (Data Query Language/Linguagem de Consulta de dados)


Possui o comando de consulta.
Exemplo: SELECT*

*A classificação do comando SELECT difere entre alguns autores, podendo


ser DML ou DQL. Só marque DQL se o examinador explicitamente citá-lo.

 Reportar erro Histórico de Alterações


 

Fechar
 Disciplina > Tecnologia de Informação > Análise de Informações / Banco de Dados > Conceitos de Bancos de Dados
Em bancos de dados, os comandos SELECT, UPDATE e INSERT fazem parte
da estrutura de comando DML e os comandos ALTE, DROP e CREATE fazem
parte da estrutura de comando DDL.

c) Certa

e) Errada
Você acertou! A resposta é letra C.
     
Pessoal, um relacionamento do tipo N:M é aquele em que uma instância de uma entidade
pode estar associada a várias instâncias da outra, e vice-versa.

Generalização/especialização estão associados ao conceito de herança. A ideia é possibilitar a


representação de entidades que têm alguns atributos em comum além de outras
características particulares, que as distingue.

Vamos ver um exemplo:

Veículo de passeio e Veículo de carga são subtipos, ou seja, especializações da


entidade Veículo. Por outro lado, Veículo é um supertipo, ou seja, uma generalização
de veículo de passeio e veículo de carga.

Dessa forma, generalização é o processo de obter uma única entidade a partir de várias


outras.

Essa entidade mais "geral", também chamada de supertipo, contém todos os atributos em
comum dessas entidades. As outras entidades, chamadas de subtipo, contém os atributos em
comum e mais outros atributos particulares.
 

Concluímos, assim, que o gabarito é letra D.

 FECHAR

 #261275  FGV - Técnico de Fomento C (BADESC)/Analista de


Sistemas/Administração de Banco de Dados/2010
  

O processo de obter uma única entidade de várias entidades, que contenha todos os atributos
comuns de todas estas entidades, é denominado de:

  
a) agregação.
  
b) normalização.
  
c) normatização.

d) generalização.
  
e) especialização.
 

Vamos ver um exemplo prático. Imagine que temos o modelo ER abaixo:

Nesse caso, um médico pode consultar vários pacientes e um paciente pode ser consultado
por vários médicos.

Agora, imagine que temos o atributo data/hora, que representa a data e hora que um médico
consulta um paciente. Perceba que esse atributo se refere às duas entidades, de forma que é
um atributo pertence ao próprio relacionamento. O modelo ER ficará assim:

 
 

Concluímos, assim, que o gabarito é letra B.

 FECHAR

 #261263  FGV - Técnico de Fomento C (BADESC)/Analista de


Sistemas/Administração de Banco de Dados/2010
  

No intuito de determinar, entre duas entidades, se um relacionamento do tipo N:M possui um


atributo, aplica-se um teste com a descrição do referido atributo.

Esse teste deve:

  
a) conter somente a entidade que deve conter o atributo.

b) conter as duas entidades que participam do relacionamento.
  
c) conter nenhuma das entidades participantes do relacionamento.
  
d) conter somente a entidade em que o atributo não deve se encontrar.
  
e) conter apenas uma das entidades que participa do relacionamento.
Parabéns, você selecionou: B, alternativa correta.Parabéns! Você acertou! Veja
o comentário do professor

 #703219  FGV - Analista Legislativo (ALERO)/Tecnologia da


Informação/Análise e Desenvolvimento de Sistemas/2018
  

Na representação de esquemas para bancos de dados relacionais por meio da notação


IDEF1X, os relacionamentos podem ser identificadores ou não identificadores.
 
Sobre a consequência do uso de relacionamentos identificadores, assinale a afirmativa
correta.
  
a) Uma tabela não pode participar em mais de um relacionamento identificador.
  
b) A cardinalidade de um relacionamento identificador deve ser 1:1.
  
c) A tabela do lado N do relacionamento deve possuir uma chave primária que
independa da chave estrangeira decorrente do relacionamento.

d) A chave estrangeira decorrente do relacionamento deve fazer parte da chave
primária da tabela.
  
e) A chave estrangeira decorrente do relacionamento deve permitir a
preenchimento com valores nulos.
Parabéns, você selecionou: D, alternativa correta.Parabéns! Você acertou! Veja
o comentário do professor

Gabarito: Letra D.
 
Vamos dividir esse comentário em duas partes: na primeira, será feita uma
introdução teórica; na segunda, analisaremos as alternativas e responderemos a
questão.
 
1ª parte) Os relacionamentos podem ser classificados em identificadores e não-
identificadores.
 
Um relacionamento identificador é aquele em que a chave estrangeira que
aponta para a chave primária da entidade pai deve compor a chave
primária da entidade filha. Vamos ver um exemplo:
 
Autor (CPF, nome), onde a chave primária é o CPF

Livro (título, CPF-autor), onde CPF-autor é chave estrangeira que


aponta para a tabela Autor e a chave primária é composta pelos
atributos título e CPF-autor.

 
Um livro não pode existir sem que tenha sido escrito por um autor. O CPF do
autor compõe a chave primária da entidade Livro, juntamente com o
atributo título (até porque podem existir 2 livros com o mesmo nome, mas
escritos por autores diferentes).
 
Por outro lado, um relacionamento não-identificador é aquele em que a chave
estrangeira que aponta para a chave primária da entidade pai não compõe a chave
primária da entidade filha. Vamos ver um exemplo:
 
Pessoa (CPF, nome), onde a chave primária é o CPF
Carro (chassi, CPF-dono), onde CPF-dono é chave estrangeira que aponta
para a tabela Pessoa e a chave primária é composta pelo atributo
chassi.

 
Note que a chave primária da entidade Carro é composta apenas pelo chassi, pois
esse atributo é suficiente para identificar unicamente um carro.
 
Os relacionamentos não-identificadores podem ser opcionais (quando a chave
estrangeira pode receber NULL) ou obrigatórios (quando a chave estrangeira é
definida como NOT NULL). No exemplo apresentado, se um carro
obrigatoriamente tiver que pertencer a uma pessoa, o relacionamento é
obrigatório; caso contrário, será opcional.
 
2ª parte) Agora, podemos responder a questão. Vamos analisar as alternativas,
buscando a correta a respeito dos relacionamentos identificadores:
 
a) Uma tabela não pode participar em mais de um relacionamento
identificador.
ERRADA. Não há problema algum em uma mesma tabela participar de mais de
um relacionamento identificador.
 
b) A cardinalidade de um relacionamento identificador deve ser 1:1.
ERRADA. Não há restrição quanto a cardinalidade do relacionamento
identificador.
 
c) A tabela do lado N do relacionamento deve possuir uma chave primária
que independa da chave estrangeira decorrente do relacionamento.
ERRADA. A chave estrangeira irá compor a chave primária.
 
d) A chave estrangeira decorrente do relacionamento deve fazer parte da
chave primária da tabela.
CORRETA. Um relacionamento identificador é aquele em que a chave
estrangeira que aponta para a chave primária da entidade pai deve compor a
chave primária da entidade filha.
 
e) A chave estrangeira decorrente do relacionamento deve permitir a
preenchimento com valores nulos.
ERRADA. A chave estrangeira irá compor a chave primária. Como a chave
primária nunca pode receber valores nulos (mesmo quando for composta), a
chave estrangeira não poderá receber nulo.
 
Concluímos, assim, que o gabarito é letra D.
 I. A coluna A1, de E1, deve permitir valores nulos.
Errado. Os atributos que compõem a chave primária na notação IDEF1X
ficam na parte superior da entidade, acima da linha divisória. Portanto A1
é a chave primária e não pode conter valores nulos.
II. A coluna AA de E1 não pode conter repetições de valores não nulos.
Correto.  AA é uma chave estrangeira (fk) para a própria tabela E1 e cujo
relacionamento é opcional, 0 ou 1 (a bolinha e o traço nas extremidades
da linha pontilhada). Como o relacionamento é opcional, o campo AA
pode conter valores nulos. Repetições de valores nulos significa que
podem haver várias linhas com esse atributo nulo.
III. A coluna A1, de E2, deve permitir valores nulos.
Errado. E2 é uma entidade fraca (cantos arredondados na notação
IDEF1X), ou seja, ela pertence a um relacionamento identificador. Sua
chave primária é formada pelos atributos A2 e A1(oriundo da tabela E1),
portanto A1 não pode ser nulo.
 1

@AmoLeiSeca
+4919 pontos
26/02/2020 12:16
silenciar ● bloquear

III) Tenho uma dúvida na afirmativa (III):


 Eu entendo que a participação de E2 é parcial. Logo A1 deveria poder
assumir valores nulos.
 Por que esse raciocínio está incorreto ?
 2

rafaelluz
+9 pontos
23/06/2020 21:02
silenciar ● bloquear
@AmoLeiSeca é simples, A1 de E2 nunca poderá ter um valor nulo
porque ele faz parte da chave da tabela E2 e não há possibilidade de
chave de tabela com valor nulo.
ADICIONAR POST
 FECHAR

 #703908  FGV - Analista Legislativo (ALERO)/Tecnologia da


Informação/Banco de Dados/2018
  
 

Com relação ao diagrama IDEF1X, considere as afirmativas a seguir sobre um eventual


esquema relacional, com tabelas E1 e E2, que implemente aquele diagrama.

I. A coluna A1, de E1, deve permitir valores nulos.

II. A coluna AA de E1 não pode conter repetições de valores não nulos.

III. A coluna A1, de E2, deve permitir valores nulos.

Está correto o que se afirma em


a) I, somente.

b) II, somente.

c) III, somente.

d) I e  II, somente.

e) II e III, some
As regras de Codd
Regra Zero: Todas as regras baseiam-se na noção de que para que um Banco de Dados
seja considerado Relacional, ele deve utilizar os recursos relacionais exclusivamente
para seu gerenciamento. Letra D
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, independente do tipo de dados.
Regra 4: Catálogo On-Line Dinâmico com Base no Modelo Relacional  Os
metadados devem ser armazenados e gerenciados como dados comuns, ou seja, em
tabelas no interior do BD. Esses dados devem estar disponíveis aos usuários
autorizados, utilizando a linguagem relacional padrão do BD.
Regra 5: Sublinguagem Ampla de Dados  O BDR pode suportar várias linguagens. No
entanto deve suportar uma linguagem declarativa bem definida com suporte para
definição de dados, definição de visualização, manipulação de dados (interativa ou por
programa), restrições de integridade, autorização e gerenciamento de transações (iniciar,
comprometer e desfazer).
Regra 6: Atualização de Visualização  Qualquer visualização que teoricamente possa
ser atualizada deve ser por meio do sistema. Letra A
Regra 7: Inserção, atualização e exclusão de alto nível  O BD deve dar suporte à
configuração do nível de inserções, atualizações e exclusões. Ou seja, a capacidade de
manipular um conjunto de dados através de um comando, deve-se estender às operações
de Linguagem de Manipulação de Dados (DML) como insert, update e delete.
Regra 8: Independência Física de Dados  Aplicativos e recursos ad hoc não são
afetados logicamente quando os métodos de acesso ou as estruturas de armazenamento
físico são alterados. Letra B
Regra 9: Independência Lógica de Dados  Aplicativos e recursos ad hoc não são
afetados logicamente quando de alterações de estruturas de tabela que preservem os
valores originais da tabela (alteração da ordem ou inserção de colunas). Alterações nas
relações e nas views causam pouco ou nenhum impacto nas aplicações.
Regra 10: Independência de Integridade  Deve ser possível que todas as restrições de
integridade relacional sejam definidas na linguagem relacional e armazenadas no
catálogo de sistema, não no nível da aplicação. As aplicações não devem ser afetadas
quando ocorrer mudanças nas restrições de integridade.
Regra 11: Independência de Distribuição  Os usuários finais e aplicativos não
conhecem nem são afetados pela localização dos dados (BD Distribuídos VS. BD
Locais). Letra E
Regra 12: Não transposição das Regras  Se o sistema dá suporte a acesso de baixo
nível aos dados, não deve haver um modo  de negligenciar as regras de integridade do
BD.
PMBOKVamos analisar as assertivas:

I. Uma chave primária identifica um registro de forma única, não podendo eventualmente
assumir valor nulo.

CORRETA. A chave primária é responsável por identificar unicamente um registro na tabela.


Desta forma, ela não pode receber o valor nulo.

II. Uma chave estrangeira não pode apontar para uma chave primária da mesma tabela.

ERRADA. Nos chamados autorrelacionamentos, que são aqueles em que uma entidade se


relaciona com ela mesma, a chave estrangeira irá apontar para uma chave primária de uma
instância da mesma tabela.

III. Uma chave candidata é aquela que define uma combinação de atributos entre tabelas,
mas não pode ser uma chave primária.
ERRADA. Uma chave candidata é o atributo (ou menor conjunto de atributos) capaz de
identificar unicamente um registro na tabela. Dentre as chaves candidatas, apenas uma será
escolhida para ser a chave primária.

Apenas o item I está correto.

Concluímos, assim, que o gabarito é letra A.

 FECHAR

 #518660  FGV - Analista Censitário (IBGE)/Análise de Sistemas/Suporte à


Produção/2017
  

Em relação a banco de dados relacionais, analise as afirmativas abaixo:

I. Uma chave primária identifica um registro de forma única, não podendo eventualmente
assumir valor nulo.

II. Uma chave estrangeira não pode apontar para uma chave primária da mesma tabela.

III. Uma chave candidata é aquela que define uma combinação de atributos entre tabelas, mas
não pode ser uma chave primária.

Está correto o que se afirma em:


a) I;
  
b) II;
  
c) III;
  
d) I e II;
  
e) I, II e III
Gabarito: Letra E.

A questão nos trouxe as seguintes tabelas:

 
 

Pessoal, uma chave estrangeira é um atributo de uma tabela que aponta para a chave primária
de outra tabela, estabelecendo uma relação entre as duas.

No caso da tabela Venda, a coluna id_cliente é uma chave estrangeira que referencia a


coluna id_cliente da tabela Cliente, indicando qual cliente fez a compra; a
coluna id_produto também é uma chave estrangeira que referencia a coluna id_produto da
tabela Produto, indicando qual produto foi comprado.

Os demais atributos (data, quantidade e imposto) não referenciam as


tabelas Produto e Cliente. Eles são propriedades, ou seja, características intrínsecas de uma
venda. Afinal, cada venda de um produto feita a um cliente terá uma data da compra, uma
quantidade comprada e um valor de imposto pago.

Concluímos, assim, que o gabarito é letra E.

 FECHAR

 #538666  FGV - Analista em Tecnologia da Informação e Comunicação (SEPOG


RO)/2017
  

A figura a seguir mostra a estrutura das tabelas Produto, Venda e Cliente pertencentes a um


banco de dados de uma empresa comercial.

 
A tabela Venda contém um registro para cada venda efetuada pela companhia. A fim de
preservar a integridade referencial do banco de dados, assinale a opção que indica a coluna ou
colunas dessa tabela que deveria(m) ser chaves estrangeiras.

  
a) id_produto.
  
b) imposto e quantidade.
  
c) quantidade.
  
d) id_produto e quantidade.

e) id_cliente e id_produto.
Vamos ver alguns conceitos:
 
Dependência funcional é um relacionamento de dois atributos de forma que sabendo o
valor de um atributo, será possível identificar o valor de um ou mais atributos.
 
Exemplo:
 
{estado, nome_cidade} -> {receita, despesa}
 
Como o país possui  diversas cidades homônima, é preciso aqui saber do nome da
cidade e do estado para saber a receita e a despesa.
 
Vejamos algumas regras de inferências para o banco de dados :
 
Regras de inferência (X, Y e Z são conjuntos de atributos):
 
 Reflexividade: Se Y está contido em X então X -> Y.
 Aumentação: Se X -> Y, então XZ -> YZ.
 Transitividade: Se X -> Y e Y -> Z então X -> Z.
 União: Se X -> Y e X -> Z então X -> YZ.
 Decomposição: Se X -> YZ então X -> Y e X -> Z.
 
 
Vamos avaliar cada alternativa:
 
a)  A → X
 
Comentário:
 
Dado o conjunto de atributos A,B é possível chegar em X e Y.
 
Pela regra de composição, não seria possível chegar em X apenas pelo atributo A.
 
Assim, alternativa ERRADA.
 
b)  A → X,Y
 
Comentário:
 
Dado o conjunto de atributos A,B é possível chegar em X e Y.
 
Pela regra de composição, não seria possível chegar em X e Y apenas pelo atributo A.
 
Assim, alternativa ERRADA.
 
c)  X,Y → A
 
Comentário:
 
Dado o conjunto de atributos A,B é possível chegar em X e Y.
 
Pela regra de composição, não seria possível chegar em A dado X e Y.
 
Assim, alternativa ERRADA.
 
d)  A,B → X
 
Comentário:
 
Perfeito! Dado o conjunto de atributos A,B é possível chegar em X e Y.
 
Pela regra de composição, seria possível chegar em X pelo atributo A e B.
 
Assim, alternativa CORRETA.
 
e)  X,Y → A,B
 
Comentário:
 
Dado o conjunto de atributos A,B é possível chegar em X e Y.
 
Pela regra de composição, não seria possível chegar em A e B apenas pelo atributo X e
Y.
 
Assim, alternativa ERRADA.
 
 
Assim, a questão é alternativa D.
 FECHAR

 #354003  FGV - Analista (IBGE)/Análise de Sistemas/Desenvolvimento de Aplicações


- WEB Mobile/2016
  

Na derivação de dependências funcionais num projeto relacional, está correto afirmar que se

 
A,B → X,Y

então é certo que:

  
a) A → X
  
b) A → X,Y
  
c) X,Y → A

d) A,B → X
  
e) X,Y → A,B
Parabéns, você selecionou: D, alternativa correta.Parabéns! Você acertou! V

o post de hoje, daremos início ao estudo da normalização de dados, vamos


lá!

A normalização de dados é uma série de passos que se segue no projeto de


um banco de dados que permite um armazenamento consistente e um
eficiente acesso aos dados em um banco de dados relacional. Esses
passos reduzem a redundância de dados e as chances dos dados se
tornarem inconsistentes.

As primeiras formas normais foram criadas na década de 1970 por Codd, e


persistem até hoje. Elas são importantes para verificar se seu Banco de Dados
está bem projetado.

Vamos ver então as principais formas normais.

Primeira Forma Normal (1FN)

Uma relação estará na 1ª FN se não houver atributo representando


agrupamento (não atômico) e nem atributo repetitivo (multivalorado).

A 1a Forma Normal prega que todos os atributos de uma tabela devem


ser atômicos (indivisíveis), ou seja, NÃO são permitidos atributos
multivalorados, atributos compostos ou atributos multivalorados
compostos.

Leve em consideração o esquema a seguir:


CLIENTE

1. Código
2. { Telefone }
3. Endereço: ( Rua, Número, Cidade )

gerando a tabela resultante:

sendo que a mesma não está na 1a Forma Normal pois seus atributos não são
atômicos.

Para que a tabela acima fique na 1a Forma Normal temos que eliminar os


atributos não atômicos, gerando as seguintes tabelas como resultado:

Segunda Forma Normal (2FN)

Uma relação estará na 2ª FN, se e somente se, estiver na 1 a FN e os seus


atributos não chaves forem dependentes funcionais completos da chave
primária.

Em outras palavras, se algum atributo da tabela depender funcionalmente


apenas de parte da chave primária, então este atributo deverá migrar para
outra tabela. Dessa forma, eu não posso ter um atributo na chave primária que,
sozinho, define um outro atributo não chave.

A 2a Forma Normal prega o conceito da dependência funcional total. Uma


dependência funcional X à Y é total se removemos um atributo A qualquer do
componente X e desta forma, a dependência funcional deixa de existir.

A dependência funcional X à Y é uma dependência funcional parcial se


existir um atributo A qualquer do componente X que pode ser removido e a
dependência funcional X à Y não deixa de existir.
{ RG_Empregado, Número_Projeto } à Horas

é uma dependência funcional total, pois se removermos o


atributo RG_Empregado ou o atributo Número_Projeto, a dependência
funcional deixa de existir. 

Uma tabela T está na 2a Forma Normal se estiver na 1a Forma Normal e


todos os seus atributos não chaves forem totalmente funcionalmente
dependentes da chave primária C.

Se uma tabela não está na 2a Forma Normal, a mesma pode


ser normalizada gerando outras tabelas cujos atributos que não façam parte
da chave primária sejam totalmente funcionalmente dependentes da mesma,
ficando a tabela na 2FN.

Vamos, então, à aplicação do conteúdo aprendido (teste os seus


conhecimentos)!

Exemplo 1: Seja a relação FabricanteProduto abaixo não normalizada na 2FN.

Os atributos que fazem parte da chave primária, de forma isolada, determinam


um atributo não chave.  Nesse caso, Id_Fabricante determina Pais e
Id_Produto determina o ValorUnitario. E como fazer para deixar essa relação na
2FN? Simples, basta desmembrar a relação anterior em duas relações:

Exemplo 2: Seja a relação VeiculoProprietario, destacada a seguir, não


normalizada na 2FN.
Os atributos que fazem parte da chave primária, de forma isolada, determinam
um ou mais atributos não chave.

Nesse caso, Cod_Veiculo determina NomeVeiculo e Fabricante e


Cod_Proprietario determina o NomeProprietario.

E como fazer para deixar essa relação na 2FN? Simples, basta desmembrá-la em


duas relações:

Exemplo 3: (CESPE/2018/EBSERH/Analista de Tecnologia da Informação)

Com relação a banco de dados, julgue o item seguinte. Em normalização, a


primeira forma normal é caracterizada por uma tabela com a existência
obrigatória de uma chave primária e uma chave estrangeira.

Comentários:

Em um projeto de banco de dados relacional o conceito de chave primária e


chave estrangeira é um dos principais pilares para manter a integridade dos
dados e não está diretamente relacionado à primeira forma normal (1FN).

Isso quer dizer que mesmo tendo uma tabela desnormalizada ela ainda precisa
das chaves primária (identificar de maneira única o registro)
e estrangeira (realizar a relacionamento entre os registros).

Uma tabela está na 1FN se, e somente se, todos os valores das colunas


(todos os atributos) forem atômicos. Assim, a 1FN diz que um atributo não
pode conter múltiplos valores (não pode possuir atributos multivalorados
nem compostos).
Imagine o atributo ENDERECO que é composto pelo nome da rua, bairro e
cidade. Várias informações em um único campo não podem existir (viola a
1FN). Nesse contexto, o valor do atributo deve ser indivisível ou único.

Conforme visto, o item da questão está errado!

Gabarito: item errado.

MEMOREX

Normalização:  visa diminuir a redundância de dados e as chances dos


dados se tornarem inconsistentes.

1ª Forma Normal (1FN)

Uma relação estará na 1ª FN se não houver atributo representando


agrupamento (não atômico) e nem atributo repetitivo (multivalorado).

2ª Forma Normal (2FN)

Uma relação estará na 2ª FN, se e somente se, estiver na 1 a FN e os seus


atributos não chaves forem dependentes funcionais completos da chave
primária.                                                       

As formas normais são cumulativas, ou seja, para estar na 2FN um atributo


deve estar também na 1FN e assim sucessivamente.

Gostou? Então aproveitem!

Aproveito para convidá-los a se inscreverem no meu Can

Terceira Forma Normal (3FN)

Uma relação estará na 3ª FN, se e somente se, estiver na 2  a FN e todos os


seus atributos não chaves forem dependentes não transitivos da chave
primária.

Assim, a 3a Forma Normal prega o conceito de dependência transitiva. Uma


tabela está na 3a Forma Normal se estiver na 2a Forma Normal e não
houver dependência transitiva entre atributos não chave.
O que seria essa Dependência Transitiva?

Quando você terminar de normalizar a 2FN, TODOS os seus atributos serão


plenamente dependentes da chave primária. Mas, isso não impede a
dependência transitiva, pois se A -> B e B -> C, por transitividade A -> C, logo
C é plenamente dependente da chave primária. Em outras palavras se CPF ->
CARGO e o CARGO -> SALARIO, CPF também determina o salário. Esse tipo
de dependência funcional será resolvido pela 3FN.

A normalização feita a partir da regra definida pela 3FN leva a relação para


um estado específico. Neste, a relação tem que estar na 2FN e ainda todo
atributo não primário da relação não é transitivamente dependente de uma
chave da relação.

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
de uma chave candidata. Enfim, na 3FN não se aceita dependência
transitiva.

Se você achou essa definição de dependência transitiva complexa, deixa eu


tentar explicar de outra forma. Primeiro você precisa ter em mente que, para
existir a transitividade, temos que ter algumas premissas. Um atributo chave
(primário), por exemplo, CPF, determina um outro atributo (não primário), por
exemplo, telefoneResidencial; que, por sua vez, determina outro atributo (não
primário), por exemplo, Endereco.

Veja que, se você me passar um número de CPF, eu devolvo um telefone


residencial. Da mesma forma, se você me der um número de telefone, eu
devolvo um endereço único. Observe que alguns telefones aparecem mais de
uma vez na coluna, contudo, eles determinam o mesmo endereço, ou, em
outras palavras, eles têm o mesmo endereço associado. É justamente essa
replicação que desejamos evitar na 3FN.

Como exemplo, veja a relação seguinte:

A chave Vendedor e Produto determinam Quantidade e Valor_Unitario. Mas


Total não depende funcionalmente diretamente da chave. Esse atributo
depende funcionalmente de Quantidade e Valor_Unitario. Assim temos:
Vendedor,Produto -> Quantidade,Valor_Unitario -> Total

A chave Vendedor e Produto determinam Quantidade e Valor_Unitario. Mas


Total não depende funcionalmente diretamente da chave. Esse atributo
depende funcionalmente de Quantidade e Valor_Unitario. Assim temos:

Vendedor,Produto -> Quantidade,Valor_Unitario -> Total

Dessa forma, temos uma dependência transitiva, que deve ser evitada pela
3FN.

Mas trocando em miúdos, para uma relação estar em 3FN um campo não


chave não pode ser determinado por outro(s) campo(s) não chave. No
caso da 3FN, fazemos essa checagem para cada chave candidata.

Vamos, então, à aplicação do conteúdo aprendido (teste os seus


conhecimentos)!

Exemplo:  (CESPE – TCE/MG – 2018)

De acordo com a normalização de entidades em bancos de dados relacionais,


a entidade cujos atributos não chave independem de outro atributo não chave
está na

a) quinta forma normal (5FN).

b) primeira forma normal (1FN).

c) segunda forma normal (2FN).

d) terceira forma normal (3FN).

e) quarta forma normal (4FN).

Comentários
Observe a seguir as principais características das formas normais:

1FN: atributos devem ser atômicos (indivisíveis).

2FN: estar na 1FN; eliminação de dependências parciais.

3FN: estar na 2FN; eliminação de dependências transitivas.

3.5FN (BCNF): estar na 3FN; atributos não chave não podem depender uns
dos outros. Considerada uma 3FN mais forte.

4FN: estar na 3FN; eliminação das dependências multivaloradas.

5FN: estar na 4FN; uma tabela está na 5FN se não pode ser decomposta sem
perda de dados. Não possuir dependência de junção.

Conforme visto, a 3FN busca a eliminação de dependências transitivas, de


forma que todos os seus atributos não chaves são dependentes não
transitivos da chave primária.Gabarito: D.

MEMOREX

Normalização:  visa diminuir a redundância de dados e as chances dos


dados se tornarem inconsistentes.

Para um banco de dados se encontrar em cada um desses estágios ou formas


(denominadas formas normais), cada uma de suas tabelas deve atender a
alguns pré-requisitos.

Os pré-requisitos são cumulativos, isto é, para alcançar a 3ª forma normal


(3NF) por exemplo, um banco de dados precisa atender aos pré-requisitos
das 1ª e 2ª formas normais, acrescidos dos requisitos exclusivos da 3NF.

Temos as seguintes dependências funcionais:

C1 →  C2

C1 →  C3

C3 →  C4

 
O conceito de dependência funcional gira em torno do fato de que para se acessar um valor,
necessariamente você precisa informar o valor do outro. Colocando de outra forma, para
cada valor A eu terei um valor B. No caso da questão, para cada C1 eu terei um C2 e um C3, e
para cada C3, terei um C4.

Uma tabela está na terceira forma normal quando não possui nenhuma dependência
transitiva. De forma simples, podemos definir como dependência transitiva, uma dependência
entre elementos não chaves, como acontece na questão, onde C3 → C4. Assim, todos
atributos de uma tabela devem ser definidos em função de uma única coluna.

Com esses conceitos, analisemos cada alternativa:

a) C1 e C2 forem definidos como identificadores para T;

 INCORRETO. Pois ainda existiria a dependência transitiva entre C3 e C4.


 

b) C4 determinar C3;

 INCORRETO. Não muda em nada, só a ordem dos campos, em vez de C3 definir C4,


seria o contrário.
 

c) C3 determinar C1;

 CORRETO. Em vez de a C3 → C4, teríamos C3 → C1, o que seria uma dependência


mútua entre identificador C1 e o campo C3, situação que não é restringida pela
terceira forma normal.
 

d) C1 e C3 forem definidos como identificadores para T;

 INCORRETO. Já que ainda existiria a dependência transitiva entre C3 e C4.


 

e) C3 for definido como o único identificador para T.

 INCORRETO. Caso isso acontecesse, teríamos DUAS dependências transitivas em vez


de uma (C1 → C2 e C1 → C3).
 

GABARITO: C.

 FECHAR

 #285205  FGV - Analista da Defensoria Pública (DPE RO)/Analista Programador/2015


  
Considere um projeto de bancos de dados relacional onde as seguintes dependências
funcionais se verificam.

C1 →→ C2
C1 →→ C3
C3 →→ C4

Uma tabela T de atributos C1, C2, C3, C4, na qual C1 é um identificador, verifica a terceira
forma normal somente se:

  
a) C1 e C2 forem definidos como identificadores para T;
  
b) C4 determinar C3;

c) C3 determinar C1;
  
d) C1 e C3 forem definidos como identificadores para T;
  
e) C3 for definido como o único identificador para T.

 #312046  FGV - Fiscal de Tributos (Niterói)/2015


  

Nas cinco questões seguintes há referências a um banco de dados denominado banco BD, cujo
esquema relacional e respectivo preenchimento são ilustrados a seguir.

 
 

São definidas para essas tabelas chaves primárias e/ou candidatas, de acordo com o quadro a
seguir.

Sobre o banco BD, considere o seguinte conjunto de afirmativas sobre eventuais restrições no
preenchimento das tabelas.

I. Não é permitido dois ou mais produtos com o mesmo nome.

II. Cada cliente tem apenas um código de cliente associado ao seu nome.

III. É possível que o produto “Cadeira”, por exemplo, seja cadastrado mais de uma vez com
códigos e preços diferentes.
IV. Não é permitido que, num mesmo pedido, possa constar a venda de dois ou mais itens do
mesmo produto.

De acordo com as informações disponíveis, é verdadeiro somente o que se afirma em:

  
a) I;

b) I e II;
  
c) I, II e III;
  
d) II, III e IV;
  
e) III e IV.
Parabéns, você selecionou: B, alternativa correta.Parabéns! Você acertou! Veja
o comentário do professor

 Nessa questão a FGV aborda a situação de venda/clientes/produtos sob a


perspectiva do Modelo Relacional,que surge no projeto lógico da modelagem.

A tabela principal é a tabela Venda, que abriga as chaves estrangeiras "codigoC"


e "codigoP", que atuam respectivamente como chaves primárias nas tabelas
Clientes e Produtos. De forma intuitiva temos: venda de alguma coisa (produto)
para alguém (cliente).

Pra auxiliar a percepção, o enunciado nos fornece um quadro que aponta para o
tipo de chave a ser visualizado em cada tabela.

Analisando cada item:

ITEM I: Não é permitido dois ou mais produtos com o mesmo nome.


(CORRETO).

Atente para os grifos: produtos e nome.

A primeira coisa que devemos fazer é voltar a atenção para a tabela Produto,


pois é a ela que o item I está se referindo.

Veja que nessa tabela temos o nomeP, é a esse nome que o item I está se
referindo.

A pergunta é: podemos ter dois nomeP dentro da tabela produto?


R - Não

Perceba que na tabela Produtos temos como chave primária codigoP e chave


candidata nomeP.

Definições (grosso modo):


Chave primária é coluna da tabela que irá identificar com exclusividade cada
"linha" dentro de uma tabela. Por exemplo: temos inúmeros produtos: cadeira,
mesa, tapete, almofada, e cada produto será identificado vai ter
um Código específico e único (somente a cadeira terá o código 99; mesa, 88;
tapete, 77; almofada,66). Desse modo, chave primária ao mesmo tempo
identifica e individualiza a linha, fazendo com que ela seja única na tabela. Além
disso, uma tabela só pode ter uma e somente uma chave primária! Caso existam
outras colunas que possam definir de forma exclusiva a linha, a estas será dado o
nome de Chave Alternativa (ou seja: é uma "alternativa" para a chave primária)

Chave Candidata é aquela chave que possui plenas condições para definir com
exclusividade a linha, porém NÃO é chave primária.
Vamos pensar assim: a chave primária é uma chave candidata que foi escolhida
para representar a tabela. Lembrando que numa tabelam só podemos ter uma
chave primária!

Chave Alternativa é aquela chave candidata que NÃO foi escolhida para ser a
chave primária... ou seja, ela até poderia ser a chave primária, mas como só
podemos ter uma chave primária, a chave não escolhida será uma "alternativa".

Pois bem, voltemos a análise do item I.

Recapitulando, na tabela Produtos vamos ter 2 chaves: codigoP (primária)


e nomeP (candidata).

Sabemos, agora, que a chave candidata, assim como a primária, faz com que a
linha da tabela seja única, portanto não há como termos dois ou mais produtos
com o mesmo nome. É por isso que o item I está correto.

OBS.: os conceitos de chave primária, candidata e alternativa são bem próximos,


porém não são sinônimos (já vi material dizendo que são, cuidado!)

ITEM II: Cada cliente tem apenas um código de cliente associado ao seu nome.


(CORRETO)

Atente para os grifos: cliente e código de cliente.

A primeira coisa que devemos fazer é voltar a atenção para a tabela Cliente, pois
é a ela que o item II está se referindo.

Veja que nessa tabela temos o codigoC como chave primária. Assim, para cada
cliente vamos ter um único código associado. É bem intuitivo, né? Já que esse
código servirá para identificar exclusivamente cada cliente.

ITEM III: É possível que o produto Cadeira, por exemplo, seja cadastrado mais
de uma vez com códigos e preços diferentes. (ERRADO).

Opa, já sabemos que a coluna codigoP será chave primária, portanto ela não


poderá se repetir e deverá apresentar sempre o mesmo código (ou seja, NÃO
poderá vir com números diferentes - por isso o item III está errado).

Já dava pra marcar a letra B (gabarito), mas vamos analisar o item I


 26

Sérgio Furtado.
+13981 pontos
10/12/2017 10:33
silenciar ● bloquear
ITEM IV: Não é permitido que, num mesmo pedido, possa constar a venda de
dois ou mais itens do mesmo produto.

Atentemos aos grifos: pedido, itens, produtos.

Vamos voltar a atenção para a tabela Venda, que é a única que associa essas três
colunas.

Veja também que naquele quadro/legenda, fornecido no enunciado, é dito que a


tabela Venda possuirá como chave primária Pedido e Item.

E pode a chave primária ser composta por duas colunas (pedido e item)?
R- Pode!

São as chamadas Chaves Primárias Compostas, as quais serão utilizadas em


situações em que NÃO é possível utilizar uma única coluna de uma tabela para
identificar de forma EXCLUSIVA seus registros.

A chave composta é usada quando queremos criar uma chave primária, mas não
conseguimos identificar nenhum atributo que seja exclusivo. Assim, é possível
COMBINAR duas ou mais colunas para obter uma linha exclusiva.
Beleza, voltando...

O item IV afirma: Não é permitido que, num mesmo pedido, possa constar a


venda de dois ou mais itens do mesmo produto.

Veja que na formação de uma Chave Primária Composta utilizamos


a combinação de duas ou mais colunas, no caso da questão: Pedido e Itens.
Dessa forma, É PERMITIDO SIM num mesmo pedido constar a venda de dois
ou mais produtos, uma vez que a especificidade dessa chave permite que uma
coluna varie e a outra não (ou as duas variem), de forma que o fator distintivo da
chave é gerado a partir dessa combinação.

Veja, inclusive, que isso acontece na segunda linha dessa tabela, em que o
pedido 1 possui 2 itens.

É uma questão complicada, pois está dispersa pela bibliografia e muitos conceitos, mesmo
que não utilizados como técnicas de projeto, são considerados, como a concorrência ou a
independência dos dados.

a)  normalização, preservação das dependências funcionais e decomposição sem perda;

 CORRETO. São três técnicas utilizadas no projeto de banco de dados, onde:


 Normalização: utilização das formas normais para estruturação do banco de
dados;
 Decomposição sem perda: implica que, ao separar as tabelas para normalizar
o banco de dados, não se percam informações e nem sacrifique estruturas
funcionalmente necessárias;
 Preservação das dependências funcionais: está ligado com normalização e
decomposição, pois, ao estruturar o banco, utilizando as formas normais e a
decomposição de tabelas, as dependências funcionais precisam ser mantidas,
porém estruturadas conforme as normas. Por exemplo, para uma tabela
Venda, temos os campos Produto, Quantidade, CPF do Cliente e Nome do
Cliente, ao passar para a terceira forma normal, vamos decompor o Cliente em
outra tabela para evitar a redundância de dados, porém mantendo a
dependência funcional, assim teremos a tabela Cliente com os campos CPF e
Nome do Cliente, enquanto a tabela de Vendas terá um campo a menos,
contendo Produto, Quantidade e CPF do Cliente. Dessa forma, decompomos a
tabela sem perda de informações e mantivemos a dependência funcional, só
que através de uma chave estrangeira.
 

b)  normalização, independência de dados e decomposição sem perda;

 INCORRETO. Independência de dados é a capacidade de alterações no banco de


dados sem impactar quem os utiliza. Por exemplo, se uma aplicação utiliza um
determinado banco, e esse banco permite fazer diversas modificações sem afetar ou
quebrar a aplicação, dizemos que esse banco possui uma alta independência de dados.
 

c)  normalização, independência de dados e controle de concorrência;


 INCORRETO. O controle de concorrência não é uma técnica de projeto. Ele ocorre já
na administração e funcionamento do banco, normalmente quem gerencia é o SGBD
(Sistema Gerenciador de Banco de Dados, ex: Oracle e Postgres).
 

d)  atomicidade, consistência e durabilidade;

 INCORRETO. Essas são as propriedades de uma transação de banco de dados, além da


propriedade isolamento que não foi citada.
 

e)  independência de dados, controle de concorrência e normalização.

 INCORRETO. É igual à alternativa C.


 

GABARITO: A.

Fontes, acesso em 12/05/2019:

https://www.ime.usp.br/~andrers/aulas/bd2005-1/aula4.html

https://gsigma.ufsc.br/~popov/aulas/bd1/normalizacao_old.html

https://www.devmedia.com.br/arquitetura-de-um-sgbd/25007

 FECHAR

 #321503  FGV - Analista Judiciário (TJ BA)/Apoio Especializado/Tecnologia da


Informação/2015
  

As técnicas de projeto de bancos de dados visam à obtenção de três objetivos principais, quais
sejam:


a) normalização, preservação das dependências funcionais e decomposição sem
perda;

b) normalização, independência de dados e decomposição sem perda;
  
c) normalização, independência de dados e controle de concorrência;
  
d) atomicidade, consistência e durabilidade;
  
e) independência de dados, controle de concorrência e normalização.
Você selecionou: B, alternativa incorreta, a correta é: A...Alternativa incorreta! Veja
o comentário do professor
LEITUR LEITURA DO MATERIAL DITITAL
ESTRATÉGIA.. TI. .
PROPRIEDADES DE UMA TRANSAÇÃOA ATOMICIDADE
Uma transação é uma unidade de processamento atômdica que deve ser executada
integralmente até o fim ou não deve ser executada.
– Responsável: Subsistema de Recuperação.
C CONSISTÊNCIA
A execução de uma transação deve levar o banco de dados de um estado consistente a um
outro estado consistente.
– Responsável: Programador ou Módulo de Restrições de Integridade.
I ISOLAMENTO
Cada transação deve parecer executar isoladamente das demais, embora diversas
transações possam estar executando concorrentemente.
– Responsável: Subsistema de Controle de Concorrência.
D DURABILIDADE
Os efeitos de uma transação em caso de sucesso devem persistir no banco de dados mesmo
em casos de quedas de energia, travamentos ou erros.
– Responsável: Subsistema de Recuperação.

(ALGÁS – 2012) O acrônimo ACID refere-se às quatro propriedades básicas de


um SGBD.
Qual o significado desse acrônimo?
a) Atomicidade, consistência, isolamento e durabilidade.
b) Atomicidade, consistência, integridade e durabilidade.
c) Atomicidade, consistência, integridade e densidade.
d) Abstração, consistência, integridade e densidade.
e) Abstração consistência, isolamento e durabilidade.
_______________________
Comentários: conforme vimos em aula, trata-se da Atomicidade, Consistência Isolamento e Durabilidade (Letra
A).
(TRE/AM – 2014) Transação é um conjunto de procedimentos que é executado
num
banco de dados, que para o usuário é visto como uma única ação. A integridade
de uma
transação depende de quatro propriedades, conhecidas pela sigla:
a) CISC
b) ADSL
c) CMOS
d) ACID

Quando estamos falando sobre independência de dados, estamos tratando da


capacidade de
modificar a definição dos esquemas de determinado nível, sem afetar o
esquema de nível
superior. Existem dois níveis de independência de dados: a independência
física e a independência
lógica. Ressalto que se um sistema de banco de dados provê independência
física dos dados, não
se pode inferir que esse sistema também permite independência lógica de
dados.
 Independência Lógica dos Dados
A independência lógica dos dados trata da capacidade de alterar o esquema
conceitual sem
precisar modificar os esquemas externos ou programas/aplicações. O
mapeamento nível
externo para o conceitual é a chave para a independência lógica de dados.
 Independência Física dos Dados
A independência física dos dados trata da capacidade de alterar o esquema
interno sem ter de
alterar o esquema conceitual. Logo, os esquemas externos também não
precisam ser alterados.
O mapeamento nível conceitual para o interno é a chave para a independência
física de dados.
(AL/MT – 2013) A capacidade de alterar o esquema conceitual, sem que seja
necessário
alterar os esquemas externos ou os programas de aplicação, é denominada:
a) independência lógica de dados.
Diego Carvalho, Thiago Rodrigues Cavalcanti, Renato da Costa, Fernando Pedrosa Lopes
Aula 14
Curso Básico de Tecnologia da Informação p/ Concursos da Área Fiscal (Com Videoaulas) - 2020
www.estrategiaconcursos.com.br
1117733
95402080682 - Rodrigo Cançado
31
77
b) independência física de dados.
c) independência interna de dados.
d) fragmentação de dados.
e) transparência de dados.
_______________________
Comentários: conforme vimos em aula, trata-se da independência lógica dos dados (Letra A).
(MEC – 2011) Independência de dados é a capacidade de modificar a definição
dos
esquemas de determinado nível, sem afetar o esquema de nível superior.
Existem dois
níveis de independência de dados: a independência física e a independência
lógica.
_______________________
Comentários: conforme vimos em aula, a independência realmente trata da capacidade de modificar a definição
de esquemas
de determinado nível, sem afetar o esquema de nível superior. Ademais, temos dois tipos: independência física e
independência
lógica (Correto).
(Banco da Amazônia – 2010) O mapeamento do nível conceitual para o nível
interno é a
chave para a independência de dados física, assim como o mapeamento do
nível externo
para o conceitual é a chave para a independência lógica de dados.
_______________________
Comentários: conform(TCE/PA – 2012) A diferença existente entre o Modelo
Entidade-Relacionamento (MER)
do Diagrama Entidade-Relacionamento é que enquanto:
a) o MER é um conjunto de conceitos aplicados na modelagem dos dados, o
DER é a
representação gráfica do modelo.
b) o MER representa graficamente os conceitos aplicados no projeto do banco
de dados,
o DER é um conjunto de conceitos pertinentes ao projeto.
c) o MER representa graficamente os dados modelados do banco de dados, o
DER
representa o conjunto de conceitos necessários para a modelagem.
d) o MER é um conjunto de ferramentas aplicadas no projeto do banco de
dados, o DER
é o diagrama do conjunto de ferramentas.
e) o MER é um conjunto de dados do modelo, o DER representa graficamente o
conjunto
de dados do modelo.
_______________________
Comentários: conforme vimos em aula, o Modelo Entidade-Relacionamento (MER) é apenas uma das técnicas
para modelar
dados enquanto o Diagrama Entidade-Relacionamento (DER) é a representação gráfica desse modelo (Letra A).

É importante destacar que, para fins de banco de dados, consideram-se


apenas duas
cardinalidades mínimas – 0 ou 1. A cardinalidade mínima 1 é considerada uma
associação
obrigatória, já que ela indica que o relacionamento deve obrigatoriamente
associar uma ocorrência
(1,1) (0,1)
PESSOA POSSUI CPF
(0,1) (11,N)
TIME DE FUTEBOL POSSUI JOGADOR
(1,N) (1,M)
AUTOR ESCREVE LIVRO
Diego Carvalho, Thiago Rodrigues Cavalcanti, Renato da Costa, Fernando Pedrosa Lopes
Aula 15
Curso Básico de Tecnologia da Informação p/ Concursos da Área Fiscal (Com Videoaulas) - 2020
www.estrategiaconcursos.com.br
1117733
95402080682 - Rodrigo Cançado
18
101
de entidade a cada ocorrência da entidade em questão. Baseado na mesma
linha de raciocínio, a
cardinalidade mínima 0 recebe o nome de associação opcional.
Para fins práticos, não é necessário distinguir entre diferentes cardinalidades
máximas maiores que
1. Por este motivo, apenas duas cardinalidades máximas são relevantes: a
cardinalidade máxima 1
e a cardinalidade máxima N (que significa “muitos”). O Diagrama Entidade-
Relacionamento
(DER) pode não representar a cardinalidade mínima, mas é necessário
representar a
cardinalidade máxima. Vejam abaixo...
Existem algumas restrições em relacionamentos que permitem limitar as
combinações possíveis
entre as entidades que participam de um relacionamento. Vejamos as
restrições de participação:
 Restrição de Participação Total: toda instância de uma Entidade A deve
possuir uma ou mais
instâncias de uma Entidade B associada a ela. Pode possuir zero? Não, a
cardinalidade mínima
é um, isto é, trata-se de uma cardinalidade 1:1 ou 1:N. Como é obrigatório que
toda instância de
uma entidade possua uma ou mais instâncias de outra entidade associada a ela,
nós podemos
afirmar que se trata de uma restrição de participação total.
 Restrição de Participação Parcial: nem toda instância de uma Entidade A
deve possuir uma
instância de uma Entidade B associada a ela. Pode possuir zero? Sim, a
cardinalidade mínima
é zero, isto é, trata-se de uma cardinalidade 0:1 ou 0:N. Como não é obrigatório
que toda
instância de uma entidade possua uma ou mais instâncias de outra entidade
associada a ela, nós
podemos afirmar que se trata de uma restrição de participação parcial.
(Prefeitura de Teresina/PI – 2016) Um Analista de Sistemas da Prefeitura de
Teresina
necessita modelar em um diagrama E-R as consultas dos cidadãos aos
processos
públicos. O relacionamento da consulta definido é n:m. Todavia cada consulta
realizada
deve ter uma identificação própria e mais o atributo data da consulta. Este
relacionamento assim especificado relaciona-se com outras entidades do
modelo, de
acordo com o levantamento de requisitos.
Pela característica assim definida, esse relacionamento de consulta deve ser
desenhado
como:
a) atributo associativo.
b) entidade fraca.
c) relacionamento dependente.
d) entidade associativa.
e) relacionamento forte.
_______________________
Comentários: trata-se de um Relacionamento N:M entre os cidadãos e os processos, sendo que esse
relacionamento possui
uma identificação própria e um atributo data da consulta, logo só pode ser uma entidade associativa (Letra D).

Gabarito: Letra B.

A questão nos trouxe o seguinte diagrama:

Ele indica que uma ocorrência de R1 pode se relacionar com nenhuma ou várias ocorrências de
R2, enquanto uma ocorrência de R2 deve se relacionar, obrigatoriamente, com uma ocorrência
de R1.

Vamos analisar as alternativas:

 
b)  on delete set null;

CORRETA. Essa restrição não pode ser utilizada.

Uma ocorrência de R2 tem que estar associada, obrigatoriamente, a uma ocorrência de R1. Se


definirmos a restrição ON DELETE SET NULL, quando uma linha de R1 referenciada em R2 for
excluída, será atribuído automaticamente o valor NULL à chave estrangeira. Mas isso não pode
acontecer, porque não pode existir uma linha de R2 que não esteja associada a uma linha de
R1.

a)  on delete cascade;

c)  on delete restrict;

d)  on update cascade;

e)  on update restrict.

ERRADAS. As restrições do tipo CASCADE e RESTRICT podem sim ser utilizadas, sem


problemas.

Se for utilizada a restrição CASCADE, quando uma linha de R1 que for referenciada em R2 for
excluída/atualizada, a linha de R2 será excluída/atualizada automaticamente.

Por outro lado, se for utilizada a restrição RESTRICT, a exclusão/atualização de uma linha de R1
que é referenciada em R2 é rejeitada.

Note que nenhuma das duas opções viola a cardinalidade do relacionamento.

Concluímos, assim, que o gabarito é letra B.

 FECHAR

 #341925  FGV - Analista Judiciário (TJ PI)/Apoio Especializado/Analista de Sistemas


- Desenvolvimento/2015
  

Considere um banco de dados que implemente, como estão, as tabelas correspondentes às


entidades modeladas no diagrama ER IDEF1X mostrado a seguir.

 
 

Na definição da chave estrangeira entre R2 e R1, a ação referencial que NÃO deve ser usada é:

  
a) on delete cascade;

b) on delete set null;
  
c) on delete restrict;
  
d) on update cascade;
  
e) on update restrict.

Para que um banco de dados funcione de maneira adequada, é necessária a aplicação


da Integridade de Dados. Tal prática evita a duplicidade de dados: por exemplo, se num banco
de dados for usado o cpf na identificação de pessoas, não é aceito um cpf já existente no
cadastro. Em campos de datas de nascimento, não podem ser aceitas aquelas com anos
inferiores a 1900, e outras restrições afins.

Assim sendo, é de extrema relevância a definição dos valores válidos para uma determinada
coluna, onde será utilizada a Integridade de Dados, que deverá considerar a Integridade de
Entidade, Integridade de Domínio, Integridade Referencial, além da integridade definida pelo
usuário, com respeito à validação dos dados.

Os conceitos de Integridade de Dados são os seguintes:

 Integridade Referencial: consiste em definir as chaves estrangeiras, para verificar se


um dado será inserido de forma correta e, sendo uma chave estrangeira, se ele de fato
existe, preservando assim as relações definidas entre tabelas quando linhas são
digitadas ou excluídas, usando restrições CHECK e  FOREIGN KEY. A função deste
preceito é garantir que valores chave permaneçam consistentes em todas as tabelas,
impedindo referências a valores não existentes e garantindo que ao alterar um valor
chave, todas as referências serão alteradas em todo o banco de dados.
 
 Integridade de Domínio: consiste em validar entradas para uma coluna específica da
tabela, definindo se um campo deve aceitar valores Null  ou apenas valores dentro de
uma determinada faixa para o tipo de dado. Exemplo: em um campo sexo, só devem
ser aceitos dados M ou F, não aceitando outro dado.
 
 Integridade de Entidade: define uma linha como entidade exclusiva de uma tabela, ou
seja, quais campos da tabela serão usados como chaves primárias (PK) ou únicas (UK).
Analisando as afirmativas, temos que:

 Integridade Referencial  – funciona ao nível da tabela, sendo que o valor dos campos
que constituem a chave estrangeira de uma tabela deve estar também presente na
chave primária da tabela que referenciam ou, quando muito, podem ter o valor NULL.
Certa, pois a função deste preceito é garantir que valores chave permaneçam
consistentes em todas as tabelas, impedindo referências a valores não existentes. O
valor NULL é aceito para chave estrangeiras (mas não para chaves primárias).
 
 Integridade de Domínio – funciona ao nível da linha da tabela do banco de dados,
sendo que o valor de um campo deve obedecer ao tipo de dados e às restrições de
valores admitidos para essa coluna.
Errada, a integridade de domínio funciona ao nível da coluna.
 
 Integridade de Entidade – funciona ao nível da coluna da tabela do banco de dados,
sendo que cada tabela deve possuir na sua definição uma chave secundária.
Errada, a Integridade de Entidade funciona ao nível da linha já que define uma linha
como entidade exclusiva de uma tabela, ou seja, quais campos da tabela serão usados
como chaves primárias (PK) ou únicas (UK).
Assim sendo, A RESPOSTA É A LETRA C.

 FECHAR

 #199781  FGV - Auditor do Estado (CGE MA)/2014


  

As restrições de integridade são um dos principais objetivos de um sistema de gerência de


banco de dados.

Nesse contexto, analise as afirmativas a seguir e assinale V para a verdadeira e F para a falsa.

( ) Integridade Referencial  – funciona ao nível da tabela, sendo que o valor dos campos que
constituem a chave estrangeira de uma tabela deve estar também presente na chave primária
da tabela que referenciam ou, quando muito, podem ter o valor NULL.

( ) Integridade de Domínio – funciona ao nível da linha da tabela do banco de dados, sendo que
o valor de um campo deve obedecer ao tipo de dados e às restrições de valores admitidos para
essa coluna.

( ) Integridade de Entidade – funciona ao nível da coluna da tabela do banco de dados, sendo


que cada tabela deve possuir na sua definição uma chave secundária.
 

As afirmativas são, respectivamente,

 A
F, V e F.
 B
F, V e V.
 C
V, F e F.
 D
V, V e F.
 E
F, F e V.
Parabéns, você selecionou: C, alternativa correta. Você acertou! Muito bem! Ver
resolução

YES Theory
+637 pontos
05/06/2021 12:37
silenciar ● bloquear
RELACIONAMENTOS MUITOS PARA MUITOS (M:M):

Uma ocorrencia de uma entidade em A está associada a qualquer


número de ocorrencias na entidade B, e cada ocorrencia da entidade
em B está associada a qualquer número de ocorrencias na entidade
A.

Considere o caso em que itens são vendidos. Podemos identificar


imediatamente duas entidades: VENDA e ITEM. Uma venda pode
consistir em muitos itens de mercadorias e um item de mercadoria
pode aparecer em muitas vendas. Não estamos dizendo que um
mesmo item possa ser vendido muitas vezes, mas que o tipo
específico de item (por exemplo, um livro) pode ser vendido muitas
vezes; temos, portanto, um relacionamento de muitos-para-muitos
(m:m) entre VENDA e ITEM. Em um relacionamento m:m,
criamos uma terceira entidade, chamada entidade
associativa que é usada para associar as entidades por meio de dois
relacionamentos 1:m. De maneira geral, é razoavelmente fácil
nomear essa terceira entidade. Nesse exemplo, essa terceira entidade,
geralmente conhecida como entidade associativa, é chamada de
VENDA_MERCADORIA.
Fonte: Prof. Fernando De Siqueira.
ADICIONAR POST
 FECHAR

 #215477  FGV - Técnico Superior Especializado (DPE RJ)/Administração de Dados/2014


  

Observe o diagrama apresentado a seguir.

Na implementação desse modelo num banco de dados relacional, é preciso

 A
eliminar o relacionamento entre E1 e E2 e criar uma hierarquia de generalização.
 B
especificar precisamente a cardinalidade do relacionamento entre E1 e E2.
 C
migrar os atributos de E1 e E2 para uma nova entidade, haja vista a presença do
relacionamento N:M.
 D
migrar os atributos de E2 para E1, haja vista a existência do relacionamento 1:1.
 E
resolver o relacionamento N:M, por meio da criação de uma entidade intermediária.
Você selecionou: D, alternativa incorreta, a correta é: E... Você errou! Gabarito: E.

O projeto de bancos de dados relacionais baseia-se fortemente na análise das correlações


existentes entre os diversos atributos (ou colunas) que compõem uma determinada tabela.
 
Essas correlações regem as regras de normalização e são conhecidas como
 A
restrições de integridade.
 B
cláusulas check.
 C
chaves estrangeiras.
 D
dependências funcionais.
 E
formas normais.

Na teoria do banco de dados relacional, uma dependência funcional é uma


restrição entre dois conjuntos de atributos em uma relação de um banco de
dados. Em outras palavras, uma dependência funcional é uma restrição
entre duas chaves.
Exemplo: Um atributo B de um esquema de relação R é funcionalmente
dependente de outro atributo A de R, se um valor de A determina um único
valor para B em qualquer momento.
Se B é funcionalmente dependente de A, então A determina
funcionalmente B. 
Notação: A -> B
Se B é funcionalmente dependente de A, então A determina
funcionalmente B.

 
Essa questão vai ser dividida em duas partes. Primeiro, faremos uma breve explicação
da parte teórica; depois, resolveremos a questão.
 
1ª parte) Primeiro, vamos explicar bem direitinho cada um dos tipos de chave
existentes no modelo relacional.
 
Uma superchave é um atributo ou conjunto de atributos capaz de identificar
unicamente um registro de uma tabela. Uma superchave, no entanto, permite a
existência de atributos redundantes. Mas o que é um atributo redundante? É um atributo
que pode ser retirado e ainda assim a propriedade da unicidade será mantida.
 
Uma chave candidata é uma superchave mínima, ou seja, uma superchave sem
atributos redundantes. Em outras palavras: é uma superchave da qual não se pode retirar
nenhum atributo e manter a propriedade da unicidade.
 
Dentre as chaves candidatas, apenas uma é escolhida pelo projetista para identificar
unicamente um registro da tabela. Essa chave escolhida é chamada de chave primária. 
 
A chave secundária é a chave candidata que não foi escolhida pelo projetista para ser
chave primária.
 
2ª parte) Vamos completar fragmento trazido pela questão, por partes:
 
“Uma superchave de um esquema de relação R = {A1, A2,..., An} é um conjunto de
atributos M  ⊆  N que contém a propriedade na qual não haverá duas tuplas t1 e t2 em
qualquer estado válido da relação n de N, cuja t1[M] = t2[M]."
 
Pessoal, esse trecho poderia ser preenchido com chave primária (letra a), chave
candidata (letra b), chave secundária (letra d) ou superchave (letra e). Isso porque
qualquer um desses quatro tipos de chave possuem a propriedade da unicidade. Ou seja,
não existe duas tuplas diferentes com o mesmo valor de chave primária, chave
candidata, chave secundária ou superchave.
 
Chave estrangeira (letra c), entretanto, não seria uma resposta adequada. Isso porque a
chave estrangeira é um atributo (ou conjunto de atributos) de uma tabela que aponta
para a chave primária de outra tabela. A depender do relacionamento que representa,
pode permitir repetições sim.
 
Por conta do próximo trecho veremos que a única alternativa possível é a letra e), de
forma que esse primeiro trecho deve ser preenchido com o termo superchave.
 
Vamos continuar:
 
"Uma chave C possui a propriedade adicional de que a remoção de qualquer atributo
de C fará com que C não seja mais uma superchave.”
 
Como vimos, uma superchave permite a existência de atributos redundantes. A chave C
mencionada nesse trecho é a chave candidata. Ela é uma superchave da qual não se
pode retirar nenhum atributo e manter a propriedade da unicidade. Ou seja, a remoção
de qualquer atributo faz com que ela deixe de ser uma superchave.
 
A segunda parte do fragmento deve ser completada com superchave. Isso faz com que
a única alternativa certa seja a letra e)  superchave – superchave.
 
Concluímos, assim, que o gabarito é letra E.
 FECHAR

 #485866  FGV - Analista de Processos Administrativos


(CONDER)/Administrativa/Tecnologia da Informação/2013
  

Leia o fragmento a seguir.

“Uma _____ de um esquema de relação R = {A 1, A2,..., An} é um conjunto de atributos


M ⊆⊆ N que contém a propriedade na qual não haverá duas tuplas t 1 e t2 em qualquer
estado válido da relação n de N, cuja t 1[M] = t2[M]. Uma chave C possui a propriedade adicional
de que a remoção de qualquer atributo de C fará com que C não seja mais uma _____.”
Assinale a alternativa que completa corretamente as lacunas do
fragmento acima.

 A
chave primária – chave primária
 B
chave candidata – chave candidata
 C
chave estrangeira – chave estrangeira
 D
chave secundária – chave secundária.
 E
superchave – superchave
Parabéns, você selecionou: E, alternativa correta. Você acertou! Mandou bem! Ver
resolução

#538611  FGV - Analista (MPE MS)/Informática/Banco de Dados/2013


  

Com relação ao tema “modelo relacional”, analise as afirmativas a seguir.

I. Chave estrangeira é o mecanismo que permite a implementação de relacionamentos em um


banco de dados relacional.

II. Chave estrangeira é uma coluna única ou combinação de colunas cujos valores


necessariamente aparecem como chave primária em outra tabela.

III. Chave candidata é uma coluna cujos valores necessariamente aparecem como chave
secundária em tabelas que participam de auto‐relacionamentos.

Assinale:

 A
se somente a afirmativa I estiver correta.
 B
se somente a afirmativa II estiver correta.
 C
se somente a afirmativa III estiver correta.
 D
se somente as afirmativas I e II estiverem corretas.
 E
se somente as afirmativas I e III estiverem corretas.
Você selecionou: A, alternativa incorreta, a correta é: D... Você errou! Gabarito: D. Ver
resolução

Gabarito: Letra C.

Pessoal, o conceito de dependência funcional transitiva está associado à terceira forma


normal (3FN).

Dizemos que ocorre uma dependência transitiva quando temos um atributo não-chave
dependendo funcionalmente de outro atributo não-chave. Assim, pela propriedade da
transitividade, esse atributo também depende da chave primária, só que de forma transitiva.

Talvez tenha ficado um pouco confuso, mas vamos ver um exemplo para ficar mais claro.
Imagine que temos a seguinte tabela e seus atributos (a chave primária está sublinhada):

T (A, B, C)

E as seguintes dependências funcionais:

A → B

B → C

Perceba que temos o atributo não-chave C depende do atributo não-chave B. Pela propriedade
da transitividade, sabendo que A → B e B → C, podemos concluir que A → C. Ou seja, o
atributo não-chave C depende transitivamente da chave primária A.

Apenas para complementar, a alternativa b)  quando uma coluna da tabela depende


funcionalmente apenas de parte de uma chave primária composta traz o conceito de
dependência funcional parcial, que está associada à segunda forma normal (2FN).

Concluímos, assim, que o gabarito é letra C.

 FECHAR
 #538614  FGV - Analista (MPE MS)/Informática/Banco de Dados/2013
  

A dependência funcional transitiva ocorre

 A
quando uma coluna de uma tabela depende funcionalmente da chave estrangeira
da tabela e também de outros atributos da mesma tabela.
 B
quando uma coluna da tabela depende funcionalmente apenas de parte de uma
chave primária composta.
 C
quando uma coluna de uma tabela depende funcionalmente da chave primária da
tabela e também de atributos que não fazem parte da chave primária.
 D
sempre que uma coluna da tabela depende funcionalmente apenas de parte de
uma chave estrangeira composta.
 E
sempre que uma ou mais colunas de uma tabela dependem funcionalmente da
chave estrangeira da tabela e também de atributos que fazem parte da
dependência.
Parabéns, você selecionou: C, alternativa correta. Você acertou! Mandou bem! Ver
resolução

Gabarito: Letra B.

Vamos analisar as afirmativas:

I. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para
distinguir uma linha das demais. Se uma das colunas (ou combinação de colunas) é escolhida
como chave primária, as demais são denominadas chaves estrangeiras.

ERRADA. A primeira parte da afirmativa está correta: uma chave primária é uma coluna (ou
conjunto de colunas) cujo valor distingue uma linha das demais porque ele não se repete na
tabela, sendo único para cada ocorrência.

No entanto, as demais colunas não são automaticamente denominadas chaves estrangeiras.


Uma tabela, inclusive, pode não ter nenhuma chave estrangeira.

Lembrando que uma chave estrangeira é um atributo (ou conjunto de atributos) que aponta


para a chave primária de outra tabela, estabelecendo uma relação entre as duas. 
II. Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores
aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é o
mecanismo que permite a implementação de relacionamentos em um banco de dados
relacional.

CORRETA. Uma chave estrangeira é um atributo (ou conjunto de atributos) que aponta para a


chave primária de outra tabela, estabelecendo uma relação entre as duas. É a forma que se
implementa os relacionamentos entre as entidades no modelo relacional.

III. Uma chave primária é uma coluna ou uma combinação de colunas cujos valores não
distinguem uma linha das demais dentro de uma tabela.

ERRADA. Uma chave primária é uma coluna (ou combinação de colunas) cujo
valor distingue uma linha das demais porque ele não se repete na tabela, sendo único para
cada ocorrência.

Somente a afirmativa II está correta.

Concluímos, assim, que o gabarito é letra B.

 FECHAR

 #649242  FGV - Analista de Sistemas (AL MT)/Banco de Dados/2013


  

Com relação às definições dos diferentes tipos de chaves em um projeto de Banco de Dados,
analise as afirmativas a seguir.

I. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para
distinguir uma linha das demais. Se uma das colunas (ou combinação de colunas) é escolhida
como chave primária, as demais são denominadas chaves estrangeiras.

II. Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores
aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é o
mecanismo que permite a implementação de relacionamentos em um banco de dados
relacional.

III. Uma chave primária é uma coluna ou uma combinação de colunas cujos valores não
distinguem uma linha das demais dentro de uma tabela.

Assinale:

 A
se somente a afirmativa I estiver correta.
 B
se somente a afirmativa II estiver correta.
 C
se somente a afirmativa III estiver correta.
 D
se somente as afirmativas I e II estiverem corretas.
 E
se todas as afirmativas estiverem corretas.
Parabéns, você selecionou: B, alternativa correta. Você acertou! Boa! Ver resolução

Com relação às restrições de integridade em um projeto de Banco de Dados, analise as


afirmativas a seguir.

I. A restrição de integridade referencial é especificada em uma relação R, e afirma que uma


tupla t1 de R só pode referenciar outra tupla t2 de uma relação S se existir uma mesma
chave candidata nas relações S e R.

II. As restrições de integridade semântica estabelecem o relacionamento funcional entre


dois conjuntos de atributos K e L de uma mesma relação R.

III. A restrição de integridade de entidade afirma que nenhum valor de chave primária pode
ser null, pois a chave primária é utilizada para identificar univocamente qualquer tupla t de
uma relação R.

Assinale:
 A
se somente a afirmativa I estiver correta.
 B
se somente a afirmativa II estiver correta.
 C
se somente a afirmativa III estiver correta.
 D
se somente as afirmativas I e II estiverem corretas.
 E
se todas as afirmativas estiverem corretas.
Parabéns, você selecionou: C, alternativa correta. Você acertou! Continue assim!
A questão trata das restrições de integridade existentes no modelo relacional.

A restrição de integridade da entidade garante que a chave primária nunca pode receber o


valor nulo. Isso porque a chave primária é utilizada para identificar unicamente uma linha da
tabela. Se ela pudesse receber o valor nulo, mais de uma linha poderiam conter NULL e não
seria possível diferenciá-las.

A restrição de integridade da referencial, por sua vez, garante que uma chave estrangeira ou
será nula ou conterá um valor que de fato existe na tabela que referencia.

 
 

Concluímos, assim, que o gabarito é letra A.

 FECHAR

 #261272  FGV - Técnico de Fomento C (BADESC)/Analista de Sistemas/Administração


de Banco de Dados/2010
  

Os conceitos que envolvem os termos restrição de integridade de entidade e restrição de


integridade referencial são, respectivamente:

 A
nenhum atributo pertencente à chave primária poderá receber valor NULL / os
valores dos atributos que formam a chave estrangeira deverá existir na tabela
onde a chave estrangeira é chave primária, quando for diferente de NULL.
 B
os valores dos atributos que formam a chave estrangeira deverá existir na tabela
onde a chave estrangeira é chave primária, quando for diferente de NULL /
nenhum atributo pertencente à chave primária poderá receber valor NULL.
 C
nenhum atributo pertencente à chave primária poderá receber valor NULL / os
valores dos atributos que formam a chave estrangeira deverá existir na tabela
onde a chave estrangeira é chave primária, somente quando for igual a NULL.
 D
os valores dos atributos que formam a chave estrangeira deverá existir na tabela
onde a chave estrangeira é chave primária, somente quando for igual a NULL /
nenhum atributo pertencente à chave primária poderá receber valor NULL.
 E
os atributos pertencentes à chave primária deverão conter sempre valores
diferentes de NULL / os valores dos atributos que formam a chave estrangeira
deverá existir na tabela onde a chave estrangeira é chave primária, somente
quando for igual a NULL.
Parabéns, você selecionou: A, alternativa correta. Você acertou! Parabéns! Ver
resolução
       
As operações primitivas da álgebra relacional são: seleção, projeção, produto cartesiano,
união e diferença. Elas são consideradas primitivas porque são as operações mais básicas, de
forma que as outras operações podem ser expressas em termos desses operadores primitivos.

a)  Diferença, divisão, projeção, seleção e união.


ERRADA. A divisão não é considerada uma operação primitiva porque ela pode ser escrita em
termos da projeção, seleção e junção.

 
Ela funciona assim: se temos duas relações A e B, onde os atributos de B são um subconjunto
dos atributos da relação A, a operação de divisão irá retornar todos os atributos de A que não
existem em B e apenas das tuplas de A que estão associadas a todas as tuplas de B.

Meio confuso, né? Vai ficar claro com um exemplo. Imagine que as tabelas ALUNOS e CURSOS
têm os seguintes dados:

Tabela ALUNOS

nome | curso
--------+-------------
George | Programação
João | Mecânica
Almir | Programação
Almir | Mecânica

TABELA CURSOS

  curso
-------------
Programação
Mecânica

Ao fazer ALUNOS ÷ CURSOS, teremos como resultado:

nome
-------
Almir

Que corresponde ao nome do aluno que está matriculado em todos os cursos existentes.

c)  Interseção, produto, projeção, seleção e união.


ERRADA. Dadas duas relações A e B, a operação de interseção retorna as tuplas que estão
presentes nas duas relações ao mesmo tempo. A operação de interseção não é uma operação
primitiva pois pode ser realizada através das operações de união e diferença:

A ∩ B = A U B - (A - B) - (B - A)

d)  Divisão, interseção, junção, seleção e união.


e)  Junção, produto, projeção, seleção e união.

ERRADAS. A junção é uma operação que une tabelas com base em algum atributo que elas
possuem em comum (chave estrangeira). Ela não é uma operação primitiva pois pode ser
realizada através das operações produto cartesiano e seleção: primeiro fazemos um produto
cartesiano entre duas relações e depois selecionamos apenas as tuplas que têm o mesmo valor
para o atributo em comum.

Concluímos, assim, que o gabarito é letra B.

 FECHAR

 #668936  FGV - Analista do Ministério Público (MPE AL)/Administrador de Banco de


Dados/2018
  

No contexto da otimização de consultas para bancos de dados, a Álgebra Relacional tem um


papel importante, especialmente na construção das query trees    para a representação de
planos de execução. As operações primitivas da AR são definidas como as operações que não
podem ser expressas por meio das demais operações.

Assinale a opção que apresenta a lista que contém as cinco operações primitivas da AR.

 A
Diferença, divisão, projeção, seleção e união.
 B
Diferença, produto, projeção, seleção e união.
 C
Interseção, produto, projeção, seleção e união.
 D
Divisão, interseção, junção, seleção e união.
 E
Junção, produto, projeção, seleção e união.

Gabarito: Letra B.
 
As operações primitivas da álgebra relacional são: seleção, projeção, produto
cartesiano, união e diferença. Elas são consideradas primitivas porque são
as operações mais básicas, de forma que as outras operações podem ser expressas em
termos desses operadores primitivos.
 
a) Diferença, Divisão, Projeção, Produto, Seleção.
ERRADA. A divisão não é considerada uma operação primitiva porque ela pode ser
escrita em termos da projeção, seleção e junção.
 
Ela funciona assim: se temos duas relações A e B, onde os atributos de B são um
subconjunto dos atributos da relação A, a operação de divisão irá retornar todos os
atributos de A que não existem em B e apenas das tuplas de A que estão associadas a
todas as tuplas de B.
 
Meio confuso, né? Vai ficar claro com um exemplo. Imagine que as tabelas ALUNOS e
CURSOS têm os seguintes dados:
 
Tabela ALUNOS

nome | curso
--------+-------------
George | Programação
João | Mecânica
Almir | Programação
Almir | Mecânica

 
TABELA CURSOS

  curso
-------------
Programação
Mecânica

 
Ao fazer ALUNOS ÷ CURSOS, teremos como resultado:
 
nome
-------
Almir

 
Que corresponde ao nome do aluno que está matriculado em todos os cursos existentes.
 
c) Divisão, Interseção, Junção, Produto, Seleção, União.
d) Junção, Projeção, Produto, Seleção, União.
e) Junção, Produto, Projeção, Seleção, União.
ERRADAS. A junção é uma operação que une tabelas com base em algum atributo que
elas possuem em comum (chave estrangeira). Ela não é uma operação primitiva pois
pode ser realizada através das operações produto cartesiano e seleção: primeiro fazemos
um produto cartesiano entre duas relações e depois selecionamos apenas as tuplas que
têm o mesmo valor para o atributo em comum.
 
A operação de interseção também não é uma operação primitiva pois pode ser
realizada através das operações de união e diferença:
 
A ∩ B = A U B - (A - B) - (B - A)

 
 
Concluímos, assim, que o gabarito é letra B.

Gabarito: Letra A.
 
Inicialmente, precisamos entender o conceito de dependência funcional. Ele é muito
utilizado no contexto de banco de dados relacionais e está diretamente ligado ao
processo de normalização. A notação é:
 
 X → Y
 
Onde X e Y são subconjuntos dos atributos de uma relação R. Essa notação indica que X
determina funcionalmente Y. Outra forma de ler é "Y depende funcionalmente de X".
 
Vamos ver as seis regras de inferência para as dependências funcionais:
 
 Regra reflexiva: se X ⊇ Y, então X →Y;
 Regra do aumento: se X → Y, então XZ → YZ;
 Regra transitiva: se X → Y e Y → Z, então X → Z;
 Regra da decomposição (ou projetiva): se X →YZ, então X → Y;
 Regra da união, ou aditiva: se X → Y e X → Z, então X → YZ.
 Regra pseudotransitiva: se X → Y e WY → Z, então WX → Z.
 
A única alternativa que trouxe corretamente 3 regras é a letra a), observe:
 
a)  se X  → Y e Y  → Z então X  → Z
     se X contém Y então X  → Y
     se X  → Y então XW  → YW
 
Ela trouxe, respectivamente, a regra transitiva, a regra reflexiva e regra do aumento. As
demais alternativas trouxeram pelo menos uma regra errada.
 
Concluímos, assim, que o gabarito é letra A.
 FECHAR

 #438000  FGV - Analista de Gestão (COMPESA)/Administrador de Banco de Dados/2016


  

No contexto do projeto de bancos de dados, é possível derivar novas dependências a


partir de um conjunto inicial de dependências funcionais, o que é feito por meio da
aplicação de axiomas de derivação.

Os axiomas que estabelecem essas regras de derivação são


 A

se X  →→ Y e Y  →→ Z então X  →→ Z


     se X contém Y então X  →→ Y
     se X  →→ Y então XW  →→ YW
 B

se X  →→ Y e Y  →→ Z então X  →→ Z


     se X contém Y então X  →→ Y
     se X  →→ Y então X  →→ YW
 C

se X  →→ Y e W  →→ Y então X  →→ W


     se X contém Y então Y  →→ X
     se X  →→ Y então XW  →→ YW
 D

se X  →→ Y e Y  →→ Z então X  →→ Z


     se Y contém X então X  →→ Y
     se X  →→ YW então Y  →→ XW
 E

se X  →→ Y e Z  →→ Y então X  →→ Z


     se X contém Y então Y  →→ X
     se X  →→ Y então XW  →→ YW
RESOLVER QUESTÃO

 Forma Normal de Boyce-Codd (FNBC ou BCNF)


Uma tabela está na Forma Normal de Boyce-Codd (FNBC ou
BCNF) se, e somente se, estiver na 3FN e todo determinante é
chave candidata. Dessa forma, não há dependências entre atributos
não chave.
Dessa forma, a dependência C,D → F fere a FNBC, pois F depende
de atributos que não são chave candidata (C,D). Dessa forma, para
transformar em FNBC, devemos criar uma nova tabela onde C e D
sejam chaves primárias.
ADICIONAR POST
 FECHAR

 #215475  FGV - Técnico Superior Especializado (DPE RJ)/Administração


de Dados/2014
  

Considere o seguinte esquema relacional, onde os atributos sublinhados constituem a chave


primária da tabela:

R (A, B, C, D, F)

Para satisfazer as dependências funcionais A,B →→ C,D e C,D →→ F, a alternativa que


decompõe a relação R em duas relações X e Y, tal que o novo esquema esteja na Forma
Normal Boyce-Codd, é

 A
X (A, B, C, D)              Y (B, C, F)
 B
X (A, B, C , D)             Y (C, D, F)
 C
X (A, D)                      Y (A, C, D, F)
 D
X (A, D)                      Y (C, D, F)
 E
X (A, B, C, D, F)          Y(C, D, F)
Parabéns, você selecionou: B, alternativa correta. Você acertou! Mandou bem!

Considere uma tabela relacional R com atributos W, X, Y e Z, para os quais as


dependências funcionais a seguir se verificam.

W→X
W→Y
W→Z
X→X

Considere ainda que a tabela R tenha sido definida com um identificador apenas, W,
definido como chave-primária. Assinale a forma normal que é violada pela tabela R
definida desta forma.
 A
Primeira.
 B
Segunda.
 C
Terceira.
 D
Boyce-Codd.
 E
Quarta.
Você selecionou: C, alternativa incorreta, a correta é: D... Você errou! Gabarito: D.

Fala pessoal! Por favor não confundam dependência transitiva com dependência


TRIVIAL

Pegando o exemplo da mesma relação

"Considere uma tabela relacional R com atributos W, X, Y e Z, para os quais as


dependências funcionais a seguir se verificam. "

                                             W → X 

                                             W → Y 

                                             W → Z 

                                             X → X (Dependência TRIVIAL, um atributo determinando


ele mesmo, dependência TRIVIAL NÃO FERE A 3FN)

Entretanto se tivessemos...

                                            X → Y (Dependência transitiva, ferindo a 3 FN, um


atributo não chave determinando outro atributo não chave)

Por isso, ferimos somente  BOYCE-CODD, pois todo determinante é uma superchave
(chave primária ou candidata). X não é superchave da relação.

 
 

Gostei(9)Respostas(0)

Reportar abuso

Naun Belo
31 de Agosto de 2015 às 18:05

1FN = Não pode ter atributos multivalorados

2FN = Não pode haver atributos dependendo apenas de parte da tabela primária.

3FN = Não pode haver dependência transitiva.

FNBC = É a 3FN mais rígida. Não pode haver alguém dependendo de atributo não
chave (chave candidata ou primária).

Como a questão disse há apenas um atributo identificador: W. 

X não pode depender de X por não ser uma chave candidata ou primária.

Gostei(6)Respostas(0)

Reportar abuso

Joanne Lwouyse Silva Rodrigues


21 de Novembro de 2015 às 20:27

Questão cabível de recurso.

P pra qualquer atributo X de uma relação (tabela), é sempre verdade que X->X. Uma
dependência funcional desse tipo é chamada de dependência funcional trivial. E
dependências trivais são permitidas na FBNC. Mesmo que X->X não estivesse
explicitamente definida na questão, seria verdade essa dependencia, assim como Y->Y,
Z->Z, YX->Y, YX->X, assimo como outras depencias triviais, que é quando o lado
esquerdo é um subconjunto do lado direito.

Tirado do SIlberchatz

Gostei(4)Respostas(0)

Reportar abuso

Sejam X e Y conjuntos de atributos diferentes de vazio, com o conjunto X contendo

mais de um atributo. Supõe-se que exista a dependência funcional   e que há


um atributo A qualquer pertencente ao conjunto X.
Observação:
I.   significa determina;
II.   significa não-determina;
III.   significa diferença de conjuntos
Para que a dependência funcional   seja completa, é necessário que:

ResponderVocê errou!  Resposta: ETirar Dúvida

Gabarito Comentado (0)


 Aulas (0)

 Comentários (4)

 Estatísticas
 Cadernos
 Criar anotações
 Notificar Erro

Data Mais curtidos
Acompanhar comentários

T. Renegado
07 de Outubro de 2010 às 10:44

Diz-se  "dependência funcional completa", ou "não-parcial", se a remoção de qualquer


atributo em X deixar de determinar funcionalmente Y.

Gostei(45)Respostas(0)

Reportar abuso
RITA DE CASSIA DE SOUZA WERNECK
16 de Janeiro de 2012 às 19:23

Questão retirada do livro do ELMASRI e NAVATHE - Sistemas de Banco de Dados -


página 227 - Segunda forma normal.

Gostei(14)Respostas(0)

06 de Março de 2021 às 13:34

Meu Deus tenha misericórdia. rs

Gostei(1)Respostas(0)

Reportar abuso

Treadstone
09 de Julho de 2013 às 11:24

Uma depende?ncia funcional X → Y diz-se completa (ou na?o parcial) se a remoc?a?o de um qualquer


atributo de X deixar de determinar funcionalmente Y.

X → Y e? uma depende?ncia funcional completa se ∀A ∈ X: (X – A) → Y 


 #632383  FGV - Analista de Políticas Públicas e Gestão Governamental (CGM
Niterói)/Gestão de Tecnologia/2018
  

A identificação das dependências funcionais constitui um importante passo para a


normalização de tabelas de bancos de dados.
Considere uma tabela T, com atributos A, B e C, onde A foi definido como primary key, e C
como unique.
Assinale a opção que indica o mínimo conjunto de dependências funcionais que devem existir,
além das dependências triviais e das que podem ser derivadas, para que essa tabela esteja
normalizada até a forma normal Boyce-Codd.

 A
A → B; A → C; B → C.
 B
A → B; B → C.
 C
C → A; C → B.
 D
A → B; A → C.
 E
A → B; A → C; B → A.
Você selecionou: D, alternativa incorreta, a correta é: E...

Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência


funcional não trivial de atributos em algo mais do que um superconjunto de uma chave
candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave
inteira e de nada mais que uma chave (excluindo dependências triviais, como A → A);

Em outras palavras, não pode haver nenhuma dependência de algum atributo que não seja
chave primária.

Na questão em exemplo, temos três atributos A, B e C sendo que A é chave primária, ou seja,
não pode haver nenhuma dependência funcional de atributos em algo mais do que A.

Qualquer dependência de B →→ A ou  B →→  C e também de C →→ A ou


C →→ B, deixaria a alternativa errada.

Gabarito da banca LETRA E.

Meu gabarito da questão é a LETRA D, pois o gabarito da banca fere a regra pela
dependência B → A.

 Trazendo um exemplo para ver se facilita um pouco o entendimento a


quem não é da área (meu caso).
Imaginemos que a Tabela 1 seja a lista dos FUNCIONÁRIOS de uma
empresa, cujos atributos são CPF (chave primária) e nome do
funcionário. A Tabela 2, por sua vez, é a lista dos SETORES da empresa,
tendo como atributos o nome do setor (chave primária) e seu gerente,
representado pelo CPF, referenciando a PK da Tabela 1.
Vamos criar um relacionamento "GERENCIA" entre Funcionário e Setor
(funcionários gerenciam setores):

Vejam que os atributos A e D são os mesmos, só que em T1 é chave primária


e em T2 é chave estrangeira.
Precisamos que o relacionamento seja 1:1, ou seja, não pode haver
funcionário gerenciando mais de um setor.
Com o que temos até o momento, nada impediria que houvesse setores
diferentes com o mesmo gerente.
Por exemplo, ao lançar o CPF 111.222.333-44 nas três linhas do Atributo
D (Tabela 2), José da Silva se tornaria o gerente de todos os três setores da
empresa. Até o momento, apenas com os dados da questão, não havia
restrição pra que isso ocorresse.

E como estabelecer essa restrição de unicidade, para que o


relacionamento  se torne 1:1? 
Definindo o Atributo D como UNIQUE, garantindo que todos os valores na
Tabela 2 serão diferentes. Isso é o que temos na letra D.
Obs.  sobre a letra C: essa opção também resolveria o problema de
relacionamento 1:1, conforme o comentário feito pelo professor. Porém, isso
mexeria na estrutura do BD, o que pode não corresponder à realidade
específica da empresa. Nesse caso, basta imaginar um setor que não possua
gerente (um almoxarifado, por exemplo). Considerando que o CPF do
gerente seria a chave primária, esse setor não poderia ser cadastrado no BD,
devido à restrição de integridade de entidade (nenhum valor de chave
primária pode ser null) - o que torna inviável essa alternativa. Nesse sentido:
Restrições UNIQUE
Restrições são regras que o Mecanismo de Banco de Dados do SQL
Server  impõe a você. Por exemplo, você pode usar as restrições
UNIQUE para garantir que não há valores duplicados inseridos em
colunas específicas que não participam de uma chave
primária. Embora a restrição UNIQUE e a restrição PRIMARY
KEY imponham  exclusividade, use a restrição UNIQUE em vez da
restrição PRIMARY KEY quando for impor a exclusividade de uma
coluna, ou uma combinação de colunas, que não seja uma chave
primária.
Diferente das restrições PRIMARY KEY, as restrições UNIQUE
permitem o valor NULL. Porém, como com qualquer valor que
participa de uma restrição UNIQUE, só um valor nulo é permitido
por coluna.  Uma restrição UNIQUE pode ser referenciada por uma
restrição FOREIGN KEY.
Quando uma nova restrição UNIQUE é adicionada a uma coluna ou
colunas existentes em uma tabela, o  Mecanismo de Banco de Dados,
por padrão, examina os dados existentes nas colunas para certificar-
se de que todos os valores são únicos. Se uma restrição UNIQUE for
adicionada a uma coluna que tem valores duplicados, o Mecanismo
de Banco de Dados  retornará um erro e não adicionará a restrição.
https://docs.microsoft.com/pt-br/sql/relational-
databases/tables/unique-constraints-and-check-constraints?
view=sql-server-ver15

 1
Biaca
+2538 pontos
16/03/2021 05:59
silenciar ● bloquear
A letra A estaria correta se fosse um relacionamento n:n entre essas duas
tabelas, certo?
ADICIONAR POST
 FECHAR

 #632385  FGV - Analista de Políticas Públicas e Gestão Governamental (CGM


Niterói)/Gestão de Tecnologia/2018
  

Considere duas tabelas: T1, com atributos A e B, e T2, com atributos C e D. Nas duas tabelas as
chaves primárias foram definida pelos atributos A e C, respectivamente. Não há outras chaves
nessas tabelas além das chaves primárias.

Na tabela T2, o atributo D é uma chave estrangeira que referencia a tabela T1. Não há outras
chaves estrangeiras nessas tabelas. As tabelas T1 e T2 estão perfeitamente normalizadas.

Sabe-se que agora deve haver um relacionamento 1:1 entre essas duas tabelas.
Assinale a opção que apresenta a providência necessária para que esse requisito seja atendido,
de forma que o grau de normalização da tabela seja mantido.

 A
Criar uma terceira tabela, com atributos A e C como chaves estrangeiras para T1 e T2,
sem alterar T1 e T2.
 B
Definir o atributo B como unique em T1.
 C
Alterar T2, definindo o atributo D como chave primária no lugar de C.
 D
Definir o atributo D como unique em T2.
 E
Incluir o atributo D na chave primária de T2.
Para essa questão, temos que saber das propriedades das dependências funcionais:

Propriedades das Dependências Funcionais (regras de Armstrong)

Reflexividade Se Y está contido em X, então X →→  Y

Incremento Se X →→  Y, então XZ →→  YZ

Transitividade Se X →→  Y e Y →→  Z, então X →→  Z

Auto-Reflexividade X →→  X

Decomposição Se X →→  YZ, então X →→  Y e X →→  Z

União Se X →→  Y e X →→  Z então X →→  YZ

Composição Se X →→  Y e A →→  B então XA →→  YB

I. Se X →→ Y então XY →→ Y

Pelas propriedades, podemos usar a união e a decomposição para afirmar isso.

Se o conjunto X determina o conjunto Y, podemos decompor como (X,Y) →→ Y

Afirmação CORRETA!

II. Se X →→ Y e X →→ Z então Y →→ Z

Não há propriedade que justifique essa afirmativa, mesmo com a transitividade chegando


bem próximo.
Afirmação INCORRETA!

III. Se XY →→ Z então X →→ Z

Não há propriedade que justifique essa afirmativa, 

Se (X,Y) → Z, não é necessariamente verdadeiro que X →→ Z e Y →→ Z.

Afirmação INCORRETA!

Fonte: https://fenix.tecnico.ulisboa.pt/downloadFile/3...

 FECHAR

 #635756  FGV - Analista de Tecnologia da Informação


(BANESTES)/Desenvolvimento de Sistemas/2018
  

Considere as seguintes regras de derivação de dependências funcionais no âmbito do projeto


de banco de dados

I. Se X →→ Y então XY →→ Y


II. Se X →→ Y e X →→ Z então Y →→ Z
III. Se XY →→ Z então X →→ Z

Sobre essas afirmativas, conclui-se que:

 A
nenhuma está correta;
 B
somente I está correta;
 C
somente II está correta;
 D
somente III está correta;
 E
todas estão corretas.
 A dúvida aqui recai entre A ou D. Diz a A que:
T deve possuir apenas um identificador, composto pela justaposição dos
atributos A, B, C, D e E.
Seguindo esta definição, a tabela ficaria assim: T(A,B,C,D,E). aqui,
obrigatoriamente eu teria uma chave primaria composta pelos 5 atributos da
tabela. Tais atributos não são, necessariamente, candidatos.
Diz a "D" que:
T deve possuir cinco identificadores, cada um composto por um dos atributos
A, B, C, D e E individualmente.
Seguindo esta definição, a tabela ficaria assim: T(A,B,C,D,E) ou
T(A,B,C,D,E) ou T(A,B,C,D,E) etc, sendo que cada um desses atributos,
necessariamente, são atributos candidatos a chave.
Por que isso é necessário? Porque repare que, se A->B, que B->C e etc,
necessariamente cada um destes é candidato a ser chave primária da relação,
que é o que diz a FN BC: "Uma tabela está na forma normal Boyce-Codd
(BCNF) quando todo determinante existente é chave candidata".
Fonte: QConcursos  
Tipos de Formas Normais:
Primeira Forma Normal: Na 1FN todos os atributos da tabela são de valores únicos e
indivisíveis.
Segunda Forma Normal: Para que a tabela esteja na segunda forma normal ela deve
estar na 1FN e cada atributo que não for chave tem que ser total e funcionalmente
dependentes da chave primária, portanto, a tabela não contém dependências parciais.
Terceira Forma Normal: Para estar na terceira forma normal uma tabela também deve
estar necessariamente na 2FN e os atributos na tabela devem depender totalmente
apenas da chave primária, não contendo dependências transitivas.
 
Antes de analisarmos as alternativas, vamos levar em consideração que o atributo
CRM_MEDICO é único, ou seja, não existe dois CRM iguais, portanto, ele não é
dependente do atributo NOME_MEDICO.
 
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)
Errada. A entidade Paciente e Consulta violaram a segunda forma normal.

b)  PACIENTE ( ID_PACIENTE, NOME_PACIENTE) MEDICO ( ID_MEDICO,


CRM_MEDICO, NOME_MEDICO) CONSULTA ( ID_PACIENTE,
NOME_MEDICO, DATA_ATEND, HORA_ATEND
Errada. A entidade consulta não está na terceira forma normal.

c)  PACIENTE (I D_PACIENTE, NOME_PACIENTE, ID_MEDICO) MEDICO


( ID_MEDICO, CRM_MEDICO, NOME_MEDICO) CONSULTA
(ID_PACIENTE, DATA_ATEND, HORA_ATEND)
Errada. A entidade Paciente não está na terceira forma normal e a tabela Consulta não
consta chave primária.
d)  PACIENTE ( ID_PACIENTE, NOME_PACIENTE) MEDICO ( ID_MEDICO,
CRM_MEDICO, NOME_MEDICO) CONSULTA
( ID_PACIENTE, ID_MEDICO, DATA_ATEND, HORA_ATEND
Correta. Todas as entidades estão na terceira forma normal.

e)  PACIENTE ( ID_PACIENTE, NOME_PACIENTE) MEDICO


( ID_MEDICO, CRM_MEDICO, NOME_MEDICO) CONSULTA
(ID_PACIENTE, CRM_MEDICO, NOME_MEDICO, DATA_ATEND,
HORA_ATEND)
Errada. As entidades médico e consulta não estão na terceira forma normal.
 
Concluímos, assim, que a resposta correta é a Letra D.
 FECHAR

 #459260  FGV - Especialista Legislativo de Nível Superior (ALERJ)/Informática -


TI/2017
  

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 (I D_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)
Parabéns, você selecionou: D, alternativa correta.Você acertou! Muito bem! Ver resolução

Gabarito: Letra B.
 Primeira Forma Normal: Na 1FN todos os atributos da tabela são de valores únicos e
indivisíveis.
 Segunda Forma Normal: Para que a tabela esteja na segunda forma normal ela deve
estar na 1FN e cada atributo que não for chave tem que ser total e funcionalmente
dependentes da chave primária, portanto, a tabela não contém dependências
parciais.
 Terceira Forma Normal: Para estar na terceira forma normal uma tabela também deve
estar necessariamente na 2FN e os atributos na tabela devem depender totalmente
apenas da chave primária, não contendo dependências transitivas.
 Forma Normal de Boyce/Codd: Contém as mesmas características da 3FN. Sendo essa
forma utilizada nas tabelas que estão na 3FN e que contém mais de uma chave
candidata. Portanto, a tabela só estar em FNBC se as chaves candidatas forem os
únicos determinantes.
 
A questão nos trouxe as seguintes dependências funcionais:
 
A→B
B→C
A→C
 
Dessa forma, A determina B, B determina C, A determina C (Dependência Transitiva).
Portanto, A é a chave primária, pois ela determina todos os outros elementos. Sendo
A  a única chave primária, então não contém dependência parcial.
 
Note que o conjunto de dependências apresentado caracteriza uma dependência
funcional transitiva: C depende transitivamente de A. Sendo assim, a dependência
funcional citada, não estar na 3FN, pois contém dependência transitiva.
 
Olhando para as alternativas, podemos eliminar as letras C, D e E, pois a relação
apresentada contém dependência transitiva e portanto não faz parte da 3FN. Restando
apenas as alternativas A e B. Logo, a tabela estar na primeira forma normal, pois os
valores são únicos e indivisíveis; e também estar na segunda forma normal, pois
não existe nenhuma dependência funcional parcial. Assim sendo, a alternativa
correta é a letra B.
 
Concluímos, assim, que a resposta correta é a letra B.
 FECHAR
 #518553  FGV - Analista Censitário (IBGE)/Análise de Sistemas/Desenvolvimento
de Aplicações/2017
  

Em projetos de Banco de Dados Relacional, a dependência funcional representada por

A→B e B→C, então A→C

é a base para caracterizar que uma relação está na:

 A
primeira, mas não na segunda forma normal;
 B
primeira e na segunda forma normal;
 C
segunda e na terceira forma normal;
 D
terceira forma normal, mas não na forma normal de Boyce/Codd;
 E
terceira forma normal e na forma normal de Boyce/Codd.

ADICIONAR POST
 FECHAR

 #668755  FGV - Analista do Ministério Público (MPE AL)/Administrador de


Banco de Dados/2018
  

Considere uma tabela relacional T, com atributos A, B, C, D, E, na qual as seguintes


dependências funcionais se verificam:

A→B
B→C
C→D
D→E
E→A

Para que essa tabela esteja normalizada até a forma Boyce-Codd,

 A
T deve possuir apenas um identificador, composto pela justaposição dos atributos A, B,
C, D e E.
 B
T deve possuir apenas um identificador, composto pela justaposição dos atributos A e
E.
 C
T deve possuir três identificadores, cada um composto por um dos atributos A, D e E
individualmente.
 D
T deve possuir cinco identificadores, cada um composto por um dos atributos A, B, C,
D e E individualmente.
 E
nenhum identificador poderá ser estabelecido para T.
Você selecionou: A, alternativa incorreta, a correta é: D...Você errou! Gabarito: D.

       #670055  FGV - Analista do Ministério Público (MPE AL)/Desenvolvimento de


Sistemas/2018
  

Num banco de dados relacional, considere uma tabela T, não normalizada contendo os
atributos CPF, Matrícula, Nome, Endereço, Telefone.

Sobre esses atributos, foram apuradas as seguintes dependências funcionais:

Matrícula → CPF
CPF → Nome
Matrícula → Endereço
Telefone → Matrícula

Assinale o esquema (com as chaves primárias sublinhadas) que está normalizado e produzido
com decomposição sem perda.

 A
T1 (CPF, Nome)
T2 (Matrícula, CPF)
T3 (Telefone, Matrícula, Endereço)
 B
T1 (CPF, Matrícula, Nome, Endereço)
T2 (Telefone, Matrícula)
 C
T1 (CPF, Nome)
T2 (Matrícula, CPF, Endereço)
T3 (Telefone, Matrícula)
 D
T1 (CPF, Nome)
T2 (Matrícula, CPF, Endereço)
T3 (Telefone, Matrícula)
 E
T1 (CPF, Nome)
T2 (Matrícula, CPF)
T3 (Nome, Endereço)
T4 (Telefone, Matrícula)
 1ª Etapa
Matrícula CPF
CPF Nome
Matrícula Endereço
Telefone Matrícula

Resulta em:
(Matrícula, CPF, Endereço)
===

2ª Etapa:
Matrícula CPF
CPF Nome
Matrícula Endereço
Telefone Matrícula

Resulta em:
(CPF, Nome)
===
3ª Etapa:
Matrícula CPF
CPF Nome
Matrícula Endereço
Telefone Matrícula

Resulta em:
(Telefone, Matrícula)
 1
Gamito
+1877 pontos
19/02/2021 08:10
silenciar ● bloquear
Eu não sabia qual a forma normal que o exercício pedia, então fui pela forma
mais simples de enxergar a normalização, avaliar qual das alternativas não
possuía dependência transitiva (atributo não chave dependendo de atributo
não chave). A única que não possui dependência transitiva é a letra D.
 

Para estar na 2FN, a tabela deve estar na 1FN e, além disso, não podem existir colunas
não chave que dependam de parte da chave primária. Ou seja, não podem
existir dependências funcionais parciais.

A tabela possui as seguintes colunas: cliente, vendedor e produto, sendo a chave primária


composta pelo par (cliente, vendedor).

A questão nos disse que um vendedor vende apenas um produto. Ou seja, independente de
quem seja o cliente, um vendedor só vende um  determinado produto. 

 
Dessa forma, a tabela não está na 2FN porque temos uma dependência funcional parcial: o
atributo produto, não-chave, depende apenas do atributo vendedor, que é parte da chave
primária.

Concluímos, assim, que o gabarito é letra A.

 FECHAR

 #518658  FGV - Analista Censitário (IBGE)/Análise de Sistemas/Suporte à


Produção/2017
  

Uma empresa possui informações sobre suas vendas em uma tabela, contendo as seguintes
colunas:

cliente, vendedor,produto

Para cada produto, cada cliente tem contato apenas com um vendedor. Cada vendedor vende
apenas um produto. Um produto pode ser vendido por vários vendedores.

A chave primária é o conjunto (cliente, vendedor). Em termos de normalização de dados, e


considerando-se a maior normalização possível, é correto dizer que essa tabela encontra-se
na:

 A
primeira forma normal;
 B
segunda forma normal;
 C
terceira forma normal;
 D
forma normal de Boyce-Codd;
 E
quarta forma normal.
Você selecionou: C, alternativa incorreta, a correta é: A...Você errou! Gabarito: A. Ver
resolução

"A Forma Normal Boyce-Codd (FNBC) foi proposta como uma forma mais simples da 3FN, mas
descobriu-se que ela era mais rigorosa. Ou seja, cada relação em FNBC também está na 3FN.
Porém, uma relação na 3FN não necessariamente está na FNBC."

De uma forma geral, uma tabela está na FNBC se e somente se estiver na 3FN e todo atributo
não chave depender funcionalmente diretamente da chave primária, ou seja, não há
dependências entre atributos não chave.
 

Vamos avaliar cada alternativa:

Comentário:

a) 

Livrariaid, Livroid → Preco

Comentário:

Perfeito! O atributo preço depende da LivrariaId e do LivroId. Não existe dependência de


atributo não chave.

Assim, alternativa CORRETA.

b) 

Livrariaid → Preco

LivroID → Preco

Comentário:

O atributo preço depende de LivrariaId ou LivroId. Ou seja, o atributo Preco está em duas
relações diferentes.

Assim, alternativa ERRADA.

c) 

Livrariaid → Livroid, Preco

Livroid → Livrariaid, Preco

Comentário:

 
Da mesma forma temos o atributo Preco em duas relações diferentes. Ou seja, esta relação
não estaria normalizada.

Assim, alternativa ERRADA.

d) 

Livroid → Preco

Comentário:

Esta alternativa estaria correta apenas se o preço do livro fosse relacionado ao livro,
independente da livraria. No nosso caso, o preço do livro em cada livraria é diferente, ou seja,
esta relação não estaria normalizada.

Assim, alternativa ERRADA.

e) 

Livrariaid → Preco

Comentário:

O preço do livro depende do livro e da livraria. Ou seja, esta alternativa estaria correta apenas
se o preço de qualquer livro fosse o mesmo em uma determinada livraria. No nosso caso, o
preço do livro em cada livraria é diferente.

Assim, alternativa ERRADA.

Assim, o gabarito da questão é Alternativa A.

Fonte: Elmasri e Navathe,  Sistemas de Banco de dados, 6º Edição

 FECHAR
 #354059  FGV - Analista (IBGE)/Análise de Sistemas/Desenvolvimento de
Sistemas/2016
  

Atenção:

Algumas das questões seguintes fazem referência a um banco de dados relacional intitulado
BOOKS, cujas tabelas e respectivas instâncias são exibidas a seguir. Essas questões referem-se
às instâncias mostradas.

AUTOR

AutorI
AutorNome
D

1 Arthur Conan Doyle

2 Agatha Christie

3 Edgar Allan Poe


 

LIVRARIA

LivrariaI
LivrariaNome
D

1 Cultural

2 Travessia

3 Amazonas

4 Kremlin
 

LIVRO

LivroI
AutorID Titulo NumLivrarias
D

1 1 O Cão dos Baskervilles NULL

2 1 As Aventuras de Sherlock Holmes 2

3 2 Assassinato no Expresso do Oriente 2

4 2 O Mistério dos Sete Relógios 3

5 3 Assassinatos na Rua Morgue NULL


 

OFERTA
LivrariaI
LivroID Preco
D

1 1 32

1 2 28

1 3 45

1 4 38

1 5 23

2 1 56

2 2 54

2 4 43

3 3 35

3 4 38
 

No banco de dados BOOKS, a lista de todas as dependências funcionais que devem existir para
que a tabela “Oferta” esteja normalizada até a forma Boyce-Codd é:

 A
Livrariaid, Livroid → Preco
 B
Livrariaid → Preco
LivroID → Preco
 C
Livrariaid → Livroid, Preco
Livroid → Livrariaid, Preco
 D
Livroid → Preco
 E
Livrariaid → Preco
Parabéns, você selecionou: A, alternativa correta.Você acertou! Parabéns! Ver resolução

ADICIONAR POST
 FECHAR

 #391568  FGV - Analista de Sistemas (Paulínia)/2016


  

Considere uma dependência funcional X → Y que é valida para uma tabela relacional T.

Isso significa que, para qualquer instância de T, e para qualquer par de registros a e b dessa
instância,

 A
se a.X = b.X então a.Y = b.Y
 B
se a.X ≠≠ b.X então a.Y ≠≠ b.Y
 C
se a.X ≠≠ b.X então a.Y = b.Y
 D
se a.Y =  b.Y então a.X = b.X
 E
se a.X =  a.Y  então  b.X = b.Y
RESOLVER QUESTÃO
https://www.ic.unicamp.br/~rocha/teaching/2012s2/mc536/aulas/aula-08-final.pdf

Uma dependência funcional K → L é dita trivial quando L é um subconjunto de K. Uma
dependência funcional é não trivial quando L não é um subconjunto de K.
 
A questão nos trouxe a tabela R contendo os atributos A (chave primária), B, C e D e as
seguintes dependências funcionais:
 
A →  BCD
ABCD  → BCD
 
Porque essa tabela não viola a FNBC? Porque temos apenas uma dependência
funcional trivial, que é A →  BCD. Note que o determinante (ou seja, o lado esquerdo
da dependência funcional) é a chave primária e, portanto, é uma superchave. Não há
violação da FNBC.
 
A dependência ABCD  → BCD é do tipo trivial porque o lado direito (BCD) é um
subconjunto do lado esquerdo (ABCD).
 
A única alternativa que justifica corretamente a não violação da FNBC é a letra d)
ABCD → BCD é uma dependência trivial.
 
Vamos ver os erros das demais alternativas:
 
a) dependências que envolvam mais de um atributo no determinante não são
consideradas na FNBC. 
ERRADA. São as dependências triviais que não são consideradas na FNBC, não tem
nada a ver com ter mais de um atributo no determinante.
 
b) a dependência ABCD → ABC pode ser decomposta nas dependências A → B, A
→ C e A → D. 
ERRADA. A dependência ABCD → ABC não pode ser decomposta dessa forma.
 
A outra dependência, A →  BCD, é que pode ser decomposta da forma trazida pela
alternativa. Isso porque a regra da decomposição (ou projetiva) nos diz que se X  → YZ,
então então X → Y e X → Z.
 
A partir daí temos que, se A →  BCD, então A →  B, A →  C e A →  D.
 
c) a dependência ABCD → BCD é válida para R, mas a dependência ABCD →
ABCD não. 
ERRADA. A dependência funcional ABCD → ABCD é uma dependência funcional
trivial e, como tal, é sempre satisfeita. Assim, ela também é válida para R.
 
e) a FNBC refere-se apenas às dependências multivaloradas. 
ERRADA. Vimos no início do comentário a definição da FNBC. A 4ª forma normal é
que se refere às dependências multivaloradas.
 
 
Concluímos, assim, que o gabarito é letra D.
 FECHAR

 #437962  FGV - Analista de Gestão (COMPESA)/Administrador de Banco de


Dados/2016
  

Considere uma tabela relacional R, com atributos A, B, C e D. As dependências funcionais


A →→  BCD e ABCD  →→ BCD se verificam para R, e a chave primária de R foi definida
sobre o atributo A, isoladamente.

Essa tabela não viola a FNBC por que

 A
dependências que envolvam mais de um atributo no determinante não são
consideradas na FNBC.
 B
a dependência ABCD  →→ ABC pode ser decomposta nas dependências
A  →→ B, A  →→ C e A  →→ D.
 C
a dependência ABCD  →→ BCD é válida para R, mas a dependência
ABCD  →→ ABCD não.
 D
ABCD  →→ BCD é uma dependência trivial.
 E
a FNBC refere-se apenas às dependências multivaloradas.
o contexto de um projeto de banco de dados, considere os atributos A, B e C e as
dependências funcionais que a esses atributos se aplicam:

A  →→ B
B  →→ C
B  →→ A

Considere ainda uma hipotética tabela relacional R, contendo somente os atributos


A, B e C.

Assinale a opção que indica uma conclusão correta sobre essa tabela R.
 A
Sua normalização é impossível, haja vista a existência de uma transitividade
entre as dependências funcionais.
 B
Pode ser normalizada, desde que os atributos A e B sejam marcados,
independentemente, como chaves.
 C
Pode ser normalizada, desde que os atributos A e B, concatenados, sejam
marcados como uma única chave.
 D
Pode ser normalizada, desde que os atributos A, B e C sejam marcados,
independentemente, como chaves.
 E
Pode ser normalizada, desde que o atributo B seja marcado como a única
chave da tabela.
Parabéns, você selecionou: B, alternativa correta. Você acertou! Parabéns!
 

Na questão há duas dependências funcionais:

 A1 → A2: os valores de A2 dependem dos valores de A1; e


 A2 → A1: os valores de A1 dependem dos valores de A2.
A outra informação da questão é que o esquema citado deve respeitar as formas normais 3FN
e BCFN.

De forma resumida, termos a seguintes formas normais da 1FN até a BCFN:

 1FN: um esquema está na 1FN se cada atributo com valores atômicos (indivisíveis);
 2FN: um esquema está na 2FN se cada atributo não principal for total e
funcionalmente dependente da chave primária do esquema;
 3FN: um esquema está na 3FN se:
 Estiver na 2FN; e
 Nenhum atributo não principal for transitivamente dependente da chave
primária; e
 BCFN: um esquema está na BCFN se toda vez que uma dependência funcional não
trivial x → y se mantiver no esquema, então é uma superchave do esquema.
 

Voltando à questão, como os valores de A1 dependem dos valores de A2 e os valores de A2
dependem dos valores de A1, conclui-se que tanto A1 quanto A2 precisam ser chaves cada
uma delas. Então A1 e A2 devem ser:

 Não nulas (not null); e


 Únicos (unique).
Já com essa informação, eliminamos os itens:

 I: porque, o script de criação da tabela T, não é informado que os atributos A1 e A2


devam ser únicos; e
 II: porque, no script de criação da tabela T, A1 e A2 precisam ser chaves cada uma
delas e não uma chave composta.
O script de criação da tabela T do item III é o certo e mais completo, pois cita que A1 e A2 são:

 Do tipo int;
 Não nulos; e
 Únicos.
O item III também especifica que tanto A1 e A2 são chaves cada uma delas. O que faz com que
a tabela fique nas formas 3FN e BCFN, sendo a letra C nosso gabarito.

Referência:
 ELMARSRI, Ramez e NAVATHE, Shamkant B. Sistemas de Banco de Dados. 6ª Edição.
Editora Pearson Addinson Wesley, 2011
Gabarito: letra C.

 FECHAR

 #487237  FGV - Analista Portuário (CODEBA)/Analista de Tecnologia da


Informação/2016
  

Considere uma tabela T de um banco de dados relacionais, que possui dois atributos de
valores numéricos, A1 e A2. Sabe-se que as seguintes dependências funcionais que devem ser
observadas nas instâncias dessa tabela são:

A1 → A2

A2 → A1

O projetista do banco de dados pretende que seu esquema respeite as formas normais 3FN e
BCFN, e analisou três alternativas para a criação da tabela.

I. create table T (A1 int not null, A2 int not null)

II. create table T (A1 int not null, A2 int not null, unique
(A1,A2))

III. create table T (A1 int not null, A2 int not null, unique (A1),
unique (A2))

Assinale:

 A
se somente a afirmativa I for adequada.
 B
se somente a afirmativa II for adequada.
 C
se somente a afirmativa III for adequada.
 D
se somente as afirmativas II e III forem adequadas.
 E
se somente as afirmativas I e III forem adequadas.
RESOLVER QUESTÃO
A questão nos informou que a tabela T foi criada através do seguinte comando SQL:
 
create table T (
a int not null primary key,
b int not null
)

 
E que a tabela T contém as seguintes dependências funcionais:
 
a → b 
b → a
 
Vamos analisar até qual forma normal a tabela está, começando pelas formas normais
mais baixas:
 
1ª Forma Normal
Para estar na 1FN, todos os atributos devem ser atômicos (ou indivisíveis). Em outras
palavras, não podem existir atributos multivalorados ou compostos.
 
Perceba que a tabela T é composta pelos atributos a e b, ambos são atômicos e
armazenam um valor do tipo inteiro. A tabela está na 1FN.
 
2ª Forma Normal
Deve estar na 1FN e, além disso, não pode existir colunas não chave que dependam de
parte da chave primária. Ou seja, não podem existir dependências funcionais
parciais.
 
A chave primária da tabela T é formada apenas pelo atributo a. Como a chave primária
não é composta, não há que se falar em violação da 2FN. Portanto, a tabela está na
2FN.
 
3ª Forma Normal
Deve estar na 2FN e as colunas que não são chaves primárias não podem apresentar
dependência entre si, sendo dependentes apenas da chave primária. Ou seja, não podem
existir dependências funcionais transitivas.
 
O único atributo que não faz parte da chave primária é b, e ele depende sim da chave
primária (a → b). Não há dependência funcional transitiva e, consequentemente, a
tabela está na 3FN.
 
Forma Normal de Boyce-Codd (FNBC)
Dizemos que uma tabela está na FNBC se, para cada dependência funcional não trivial
X → Y, X é  uma superchave da tabela.
 
Uma dependência trivial é aquela em que Y é subconjunto de X. Perceba que nenhuma
das duas dependências trazidas no enunciado são triviais. Portanto, vamos analisá-las
para ver se conformam com a FNBC:
 
 a → b: essa dependência respeita a FNBC. Isso porque o atributo a é chave primária e,
consequentemente, é uma superchave;
 b → a: essa dependência viola a FNBC. Perceba que o atributo b não é uma
superchave. Como sabemos disso? Para ser, ele deveria ter sido definido
como UNIQUE. Como isso não aconteceu, ele pode receber valores repetidos e,
portanto, não é uma superchave.
 
A tabela T está normalizada até a 3FN, mas não está na FNBC. A forma normal
violada é a de Boyce-Codd.
 
Concluímos, assim, que o gabarito é letra E.
 FECHAR

 #307121  FGV - Analista Judiciário (TJ RO)/Analista de Sistemas -


Desenvolvimento/2015
  

Observe o comando de criação da tabela relacional T, mostrado a seguir.

create table T
(a int not null primary key,
 b int not null)

Sabendo-se que as dependências funcionais

a  →→ b
b  →→ a

verificam-se para todas as instâncias de T, a forma normal transgredida pelo esquema acima é
a:

 A
Primeira;
 B
Segunda;
 C
Terceira;
 D
Quarta;
 E
Boyce-Codd.
Você selecionou: B, alternativa incorreta, a correta é: E...Você errou! Gabarito: E. Ver
resolução
Considere as dependências funcionais apresentadas a seguir.

D→C

C→D

C→N

C→E

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.
Você selecionou: C, alternativa incorreta, a correta é: A... Você errou! Gabarito: A.
 
Vamos dividir esse comentário em duas partes: na primeira, será feita uma explicação
do assunto abordado; na segunda, resolveremos a questão.
 
1ª parte) Pessoal, o conceito de dependência funcional é muito utilizado no contexto de
banco de dados relacionais e está diretamente ligado ao processo de normalização.
 
A notação é:
 
 X → Y
 
Ela indica que X determina funcionalmente Y. Outra forma de ler é "Y depende
funcionalmente de X".
 
Mas o que isso significa? Que para cada valor de X, existe um único valor de Y. Em
outras palavras: dado o valor de X, podemos descobrir o valor de Y.
 
1ª parte) A questão nos trouxe as seguintes dependências funcionais:
 
I. CPF  → Nome
II. Nome  → CPF
III. CPF  → Endereço
IV. Endereço  → Nome
 
Agora, vamos analisar as regras:
 
R1. não pode haver dois ou mais clientes com o mesmo nome e diferentes CPFs;
CORRETA. A dependência Nome → CPF nos diz que para cada nome, existe um
único CPF. Assim, não pode haver duas pessoas com o mesmo nome e CPFs diferentes.
 
Observação: pessoal, temos que ter cuidado para não nos confundir nessa situação. Na
vida real, esse tipo de dependência não existe, afinal podemos ter pessoas com
exatamente o mesmo nome e CPF diferentes. No entanto, a nossa percepção da
realidade não deve ser levada em conta e devemos nos ater apenas ao que é dito pela
questão.

R2. não pode haver dois ou mais clientes com o mesmo CPF e diferentes nomes;
CORRETA. A dependência CPF → Nome nos diz que para cada CPF, existe um único
nome. Ou seja, não podemos ter nomes diferentes para um mesmo CPF.

R3. não pode haver dois ou mais clientes morando no mesmo endereço;
CORRETA. A dependência Endereço → Nome nos diz que, para cada endereço, existe
um único cliente (ou seja, um único nome ou CPF).

R4. não pode haver dois ou mais endereços para o mesmo cliente.
CORRETA. A dependência CPF  → Endereço nos diz que, para cada CPF, existe um
único endereço. Ou seja, um cliente não pode ter mais de um endereço.
 
 
Concluímos, assim, que o gabarito é letra E.
 FECHAR

 essoal, o conceito de dependência funcional é muito utilizado no contexto de banco de dados


relacionais e está diretamente ligado ao processo de normalização.

A notação é:

X→Y

Ela indica que X determina funcionalmente Y. Outra forma de ler é "Y depende
funcionalmente de X".

Mas o que isso significa? Que para cada valor de X, existe um único valor de Y. Em outras
palavras: dado o valor de X, podemos descobrir o valor de Y.

A questão pediu para assinalarmos a dependência funcional que não é válida. Vamos analisar
cada alternativa:
 

a)  Y → Z

CORRETA. De fato, essa dependência funcional não é válida.

U V W X Y Z
1 23 A PP 1 19
2 25 B DF 1 18
3 24 D AS 1 17
4 23 E FG 2 16
 

Veja os valores destacados em azul e verde. Para que a dependência funcional seja válida, para
cada valor em azul deve existe um único valor em verde.

Note que, para um mesmo valor de Y (valor 1), existem três valores diferentes de Z (19, 18 e
17).

b)  UV → V

ERRADA. Essa dependência funcional é válida. Para cada par (U, V), existe um único valor V.
Observe:

U V W X Y Z
1 23 A PP 1 19
2 25 B DF 1 18
3 24 D AS 1 17
4 23 E FG 2 16
 

(1, 23) → 23

(2, 25) → 25

(3, 24) → 24

(4, 23) → 23

c)  W → X
ERRADA. A dependência funcional é válida porque para cada valor de W, existe um único valor
de X. Observe:

U V W X Y Z
1 23 A PP 1 19
2 25 B DF 1 18
3 24 D AS 1 17
4 23 E FG 2 16
 

d)  UX → YX

ERRADA. A dependência funcional é válida porque para cada valor de (U, X), existe um único
valor de (Y, X). Observe:

U V W X Y Z
1 23 A PP 1 19
2 25 B DF 1 18
3 24 D AS 1 17
4 23 E FG 2 16
 

(1, PP) → (1, PP)

(2, DF) → (1, DF)

(3, AS) → (1, AS)

(4, FG) → (2, FG)

e)  Z → U

ERRADA. A dependência funcional é válida porque para cada valor de Z, existe um único valor
de U. Observe:

U V W X Y Z
1 23 A PP 1 19
2 25 B DF 1 18
3 24 D AS 1 17
4 23 E FG 2 16
 

Concluímos, assim, que o gabarito é letra A.

 FECHAR

 #335000  FGV - Analista de Sistemas (CM Recife)/2014


  

Observe a instância da tabela de um banco de dados relacional mostrada a seguir.

U V W X Y Z

1 23 A PP 1 19

2 25 B DF 1 18

3 24 D AS 1 17

4 23 E FG 2 16
 

A dependência funcional que NÃO é válida nessa tabela é:

 A
Y →→ Z
 B
UV →→ V
 C
W →→ X
 D
UX →→ YX
 E
Z →→ U

  FGV - Analista da Procuradoria (PGE RO)/Analista de Sistemas


(Desenvolvimento)/2015
  

A normalização de esquemas de bancos de dados é feita a partir da definição das


dependências funcionais.

Considere as seguintes dependências funcionais sobre CPFs, nomes e endereços num


cadastro de clientes hipotético.
 
I. CPF  →→ Nome
II. Nome  →→ CPF
III. CPF  →→ Endereço
IV. Endereço  →→ Nome

Considere ainda as seguintes regras de negócio desse sistema:

R1. não pode haver dois ou mais clientes com o mesmo nome e diferentes CPFs;
R2. não pode haver dois ou mais clientes com o mesmo CPF e diferentes nomes;
R3. não pode haver dois ou mais clientes morando no mesmo endereço;
R4. não pode haver dois ou mais endereços para o mesmo cliente.

A lista completa de regras garantidas pelas dependências é:


 A
R1 e R2;
 B
R3 e R4;
 C
R1 e R3;
 D
R2 e R4;
 E
R1, R2, R3 e R4.
Parabéns, você selecionou: E, alternativa correta.Você acertou! Continue assim! Ver resolução

Mateus_1
+1707 pontos
22/03/2021 18:17
silenciar ● bloquear
Comentário do QConcursos (usuário MAX Q):

Vejamos as dependências funcionais:


A→B
A→C
A→D
B→A
Concluímos que os determinantes são A e B, e a questão menciona
"mantém a normalização do esquema"( Uma normalização usual - 3
FN-), sendo assim:
"um esquema de relação R está na 3FN se para cada dependência
funcional X → A, X é uma superchave de R ou A é um atributo
primário de R"
Em palavras não técnicas: A ou B devem ser primary key ou unique
e ambas not null. Sabendo disto vamos as alternativas:
a) Incorreta, atributo b deveria ser unique e not null, se fosse
primary key iriamos ferir a 2ª FN;
b) Correta, observe: atributo a é not null e PK; b é not null e unique;
Ou seja, B poderia ser uma superchave da relação T, porém não
foi escolhida. Atributos C e D podem ser null, pois não irá
interferir nas dependências funcionais apresentadas;
c) Incorreta, T1 e T2 estão erradas,
em T1 falta o atributo B, para satisfazer a dependência funcional
(A → B )
em T2 falta o atributo A, para satisfazer a dependência funcional
( B → A).
Adendo, observe que as tabelas não estão relacionadas, ao meu
ver, isto não apresenta um erro, se as dependências funcionais
estivem sido cumpridas estaria tudo ok. Claro que ao meu ver!!
Se alguém souber que para cumprir a dependência elas devam
estar relacionadas, por favor, me mandem mensagem!
d) Incorreta, pelo mesmo motiva da alternativa C:
em T1, falta o atributo B, para satisfazer a dependência funcional
(A → B )
em T2, o atributo B, deveria ser not nul e unique, para estarmos
na 3º FN.
e) Incorreta,
em T1 o atributo b deveria ser not null e unique, para satisfazer a
3º FN;
T2 está correta
Obs.: Alguém pode estar se perguntando: WTF! Char como chave
primária? Usar 'texto' como chave primária?
Podemos sim usar char para ser um Primary Key, entretanto NÃO É
NADA USUAL! pois trocar um maiúsculo para um minusculo iria
causar um estrago gigantesco no banco de dados, porém na hora da
prova, podemos sim ter atributos char como PK!

ADICIONAR POST
 FECHAR

 #863927  FGV - Técnico Superior Especializado (DPE RJ)/Tecnologia da


Informação/2019
  

Considere um banco relacional construído sobre os atributos A, B, C e D, para o qual as


seguintes dependências funcionais são verdadeiras:

A →→ B

A →→ C

A →→ D

B →→ A

O comando de criação desse banco que garante a decomposição sem perda, preserva as
dependências e mantém a normalização do esquema relacional é:

 A
create table T( a char(8) not null primary key,
b int, c int, d int)
 B
create table T( a char(8) not null primary key,
b int not null unique, c int, d int)
 C
create table T1( a char(8) not null primary key,
c int, d int)
create table T2( b int not null primary key,
c int, d int)
 D
create table T1( a char(8) not null primary key,
c int, d int)
create table T2(a char(8) not null primary key,
b int)
 E
create table T1( a char(8) not null primary key,
b int, c int, d int)
create table T2(a char(8) not null primary key,
b int not null unique)
Parabéns, você selecionou: B, alternativa correta. Você acertou! Boa!

 #572497  FGV - Auditor Fiscal de Tributos Estaduais (SEFIN RO)/2018


  

Considere um banco de dados que registre informações sobre alunos, disciplinas e professores
em uma faculdade. Sabe-se que um aluno pode cursar uma ou mais disciplinas, que cada
disciplina é ministrada por um único professor e que cada disciplina aceita inscrições de um ou
mais alunos.

Nesse contexto, analise as afirmativas a seguir.

I. Alunos e professores têm relação N:M ente si.

II. Professores e disciplinas têm uma relação 1:N entre si.

III. Cada professor ministra, necessariamente, apenas uma disciplina.

Está correto o que se afirma em

 A
I, apenas.
 B
II, apenas.
 C
III, apenas.
 D
I e II, apenas.
 E
I, II e III.

 O item I está visivelmente correto.

O Item III está visivelmente errado, mas entendo que não há


informações suficientes para concluir se o item II é verdadeiro.
Afinal, se cada disciplina é ministrada por um professor, a única
coisa que eu sei é que não temos mais de um professor por
disciplina, mas não sabemos se um professor pode lecionar várias
disciplinas. Isso não foi proibido e nem autorizado. Entendo que não
se pode concluir tal informação, e o item correto é a alternativa a).

FONTE : VICTOR DALTON


 -1

vinni_pf
+1145 pontos
23/08/2018 15:32
silenciar ● bloquear
valeu cesxavier, errei por pensar assim e quando vi o gabarito fiquei
na dúvida, essas questões de BD são muito complicadas de
interpretar em sua maioria
 8
Niro
+8530 pontos
15/01/2019 20:29
silenciar ● bloquear
Questão mal formulada e que deveria ser anulada.

O enunciado, por suas omissões, deixa subentendido que a relação


professor-disciplina é 1:1, ou na pior das hipóteses 0:1;

Para a resposta estar correta, deveria informar que um professor


pode ministrar uma ou mais disciplinas;
 17
J_5
+177 pontos
29/01/2019 12:38
silenciar ● bloquear
O professor poderia explicar com um esquema( Peter Chen)
 7
Curitibano_89
+236 pontos
30/03/2019 19:56
silenciar ● bloquear
Sobre a alternativa II.
Consegui inferir somente um sentido da frase "cada disciplina é
ministrada por um único professor":
- Dois ou mais professores não ministram a mesma disciplina.  
Não tem como saber se um professor pode ministrar duas,(prof
fulano - matemática e português).Então a relação 1:N não se
encontra no enunciado.  
 3
Jão das Neves
+18385 pontos
20/11/2019 13:11
silenciar ● bloquear
O item II é uma incógnita, realmente.
Como não houve restrição no enunciado sobre professores
ministrarem mais de uma disciplina, optei por assinalar esse item
como correto.
 2
LineMV
+2346 pontos
28/02/2020 15:59
silenciar ● bloquear
A matéria já não é das mais amigáveis, e a banca ainda dá aquela
"ajuda" como nesse item II.
Mas seguimos...
 3
Lucas Pinheiro
+1249 pontos
17/08/2020 17:35
silenciar ● bloquear
Uma dúvida.
A relação M:N não significa que as incognitas poderiam ser
substituídas pelo valor "0"? E, sendo substituídas por "0", a
afirmativa não estaria errada?
Agradeço a ajuda.
 2
Zerando o TEC!!!
+4630 pontos
31/10/2020 13:17
silenciar ● bloquear
Lucas, não, pois quando falamos genericamente n:m, pode ser
(0,n:0,m) ou (n,n;n:m) sem problemas.
Eu me lasquei na I pois extrapolei o enunciado, pois mapeie certo
n:m, porém interpretei como sendo na implantação e a relção mais
adequada seria transformar 1,n:n,1 e coloquei a I como incorreta.
Na II fui como os colegas, fiquei sem ter convicção pelo enunciado
não deixar claro. 
 7
checaleboy_ APF_SEGURA A BOMBA
+107 pontos
11/11/2020 12:59
silenciar ● bloquear
A alternativa 1. diz sobre a relação aluno professor e não aluno
disciplina....eu entendi errado ou o prof respondeu errado?
 4
Tudo pela posse!
+186 pontos
09/12/2020 19:45
silenciar ● bloquear
Acho que é  isso, apenas, que podemos inferir:
 9

Raposa Azul
+60 pontos
16/12/2020 12:52
silenciar ● bloquear
Por que a 1 está certa? 

Entendi que a relação do aluno é com a disciplina, e não com o


professor.
 7
Rafael A.
+2940 pontos
26/01/2021 17:53
silenciar ● bloquear
Concordo com os colegas. Pelo enunciado não há relação direta entre
aluno e professor e também não dá pra inferir que um professor pode
lecionar N disciplinas.
Com os dados do enunciado eu modelaria assim:
 1

WILL 267
+35 pontos
16/02/2021 16:45
silenciar ● bloquear
Rafael, a única observação que faço no seu comentário e que
"cursa" seria uma tabela associativa devido o relacionamento n:m
entre aluno e disciplina.
 1

RENATOFM
+46 pontos
19/03/2021 15:56
silenciar ● bloquear
Pensei da seguinte forma:
Primeiro analisando a afirmativa III : O enunciado não falou em
nenhum momento que os professores não podem ministrar mais de
uma disciplina, então dá pra inferir que essa afirmativa está errada.
Fazendo a negativa da afirmativa, temos que os professores não
necessariamente irão apenas ministrar uma disciplina, logo, eles
poderão ministrar mais de uma.
Se a afirmativa III está errada, a afirmativa II está certa, pois, se os
professores podem ministrar mais de uma disciplina, o
relacionamento entre tais entidades vai ser 1:N
 1
youtube.com/profthiagoholanda - Aulas Gratuitas
+9127 pontos
17/04/2021 11:34
silenciar ● bloquear
A questão considerou que o item II é correto pelo senso comum.
Afinal, é realmente comum que seja assim. 
Porém, tenho que concordar com os colegas que levar em conta o
senso comum é um absurdo, precisamos da informação explícita no
enunciado para julgarmos o item de forma objetiva.
 4
F.L.N.
+6368 pontos
26/04/2021 18:20
silenciar ● bloquear
Eu não sou da área de T.I., mas eu pensei da seguinte forma:
Situação:
1) o Aluno 1 pode cursar as Disciplinas 1, 2 e 3; e, nesse caso, ele
terá 2 professores: Professor 1 e 3.
2) o Professor 3 pode ministrar a Disciplina 3; e, nesse caso, ele terá
3 alunos: Aluno 1, 2 e 3.

Conclusão: Apesar de não estar expresso no enunciado: I. Alunos e


professores têm relação N:M ente si.

Caso eu tenha viajado, comentem aí (rsrs)...


ADICIONAR POST
 FECHAR

 #572497  FGV - Auditor Fiscal de Tributos Estaduais (SEFIN RO)/2018


  

Considere um banco de dados que registre informações sobre alunos, disciplinas e professores
em uma faculdade. Sabe-se que um aluno pode cursar uma ou mais disciplinas, que cada
disciplina é ministrada por um único professor e que cada disciplina aceita inscrições de um ou
mais alunos.

Nesse contexto, analise as afirmativas a seguir.

I. Alunos e professores têm relação N:M ente si.

II. Professores e disciplinas têm uma relação 1:N entre si.

III. Cada professor ministra, necessariamente, apenas uma disciplina.

Está correto o que se afirma em

 A
I, apenas.
 B
II, apenas.
 C
III, apenas.
 D
I e II, apenas.
 E
I, II e III.

A questão nos trouxe o seguinte script de criação das tabelas:

create table tab1 (a int not null primary key,


b int)

create table tab2 (a int not null primary key,


c int)

create table tab3 (a1 int not null,


a2 int not null,
  constraint uq_a1 unique (a1),
  constraint up_a2 unique (a2),
  constraint fk_a3_a1 foreign key (a1) references
tab1,
  constraint fk_a3_a2 foreign key (a2) references
tab2
)

Notem que a tabela tab3 contém duas chaves estrangeiras: uma aponta para a chave primária
da tabela tab1 e outra aponta para a chave primária da tabela tab2.

Percebam também que as chaves estrangeiras foram definidas com a restrição UNIQUE, ou
seja, cada uma só pode aparecer uma vez na tabela tab3. A sacada para acertar a questão
está em entender o que isso significa para o relacionamento representado.

 
Como as chave estrangeiras a1 e a2 só podem aparecer uma vez na tabela, perceba que
a cardinalidade do relacionamento é 1:1. Por quê? Porque uma ocorrência da tabela tab1 só
pode estar associada a uma única ocorrência da tabela tab2 e vice-versa.

Vamos ver um exemplo prático para ficar mais claro? Vamos chamar a tabela tab1 de Homem,


a tabela tab2 de Mulher e a tabela tab3 de Casamento, apenas para dar significado às tabelas
e facilitar o entendimento. No entanto, a estrutura das tabelas é a mesma.

Percebam que Joaquim é casado com Cláudia; e Ricardo com Maria. Como Joaquim e Cláudia
são casados, eles não podem aparecer de novo na tabela (nem com eles mesmos nem com
outras pessoas). O mesmo vale para Ricardo e Maria. Por isso que
o ID_marido e ID_esposa são UNIQUE, ou seja, únicos na tabela Casamento. Já Antônio e Ana
não são casados com ninguém e, se um dia vierem a casar com alguém, podem aparecer na
tabela.

Dessa forma, fica claro que o relacionamento Casamento é do tipo 1:1, porque um homem
pode estar casado apenas com uma mulher e uma mulher pode estar casada com apenas um
homem.

A questão quis fazer uma pegadinha, porque sempre que os candidatos vêm uma tabela de
ligação, rapidamente já associam a um relacionamento do tipo muitos-para-muitos (N:M). Mas
isso só seria o caso se a definição da tabela tab3 não tivesse trazido as constraints UNIQUE
para as chaves estrangeiras.
 

Vamos analisar as alternativas:

a) A tabela tab3 estabelece um relacionamento 1:1 entre as tabelas tab1 e tab2.

CORRETA. Como explicado no início do comentário, o relacionamento representado na


tabela tab3 é do tipo 1:1 entre as tabelas tab1 e tab2.

b) A tabela tab3 estabelece um relacionamento N:M entre as tabelas  tab1 e tab2.

ERRADA. Só seria do tipo N:M se não tivéssemos as restrições UNIQUE para as chaves
estrangeiras.

c) As restrições unique não podem coexistir na tabela tab3.

ERRADA. As restrições podem coexistir sem problemas. Elas, inclusive, são necessárias para
indicar que o relacionamento tem cardinalidade 1:1.

d) Não é permitido que uma chave estrangeira possua uma restrição do tipo unique.

ERRADA. Não há problema em uma chave estrangeira ser do tipo UNIQUE. É essa restrição que
irá definir a cardinalidade do relacionamento.

e) O número de registros de tab3 deve ser sempre igual ao número de registros de tab1.

ERRADA. Não existe essa obrigatoriedade. Perceba que não há nada que obrigue que
todo registro de tab1 esteja relacionado com algum registro de tab2. Justamente por isso o
número de linhas de tab3 pode ser menor que a quantidade de linhas de tab1.

Concluímos, assim, que o gabarito é letra A.

 FECHAR

 #703793  FGV - Analista Legislativo (ALERO)/Tecnologia da


Informação/Banco de Dados/2018
  

Sobre o script de criação de tabelas mostrado a seguir,

create table tab1 (a int not null primary key,


                             b int)

create table tab2 (a int not null primary key,

                             c int)

create table tab3 (a1 int not null,

                             a2 int not null,

     constraint uq_a1 unique (a1),

     constraint up_a2 unique (a2),

     constraint fk_a3_a1

             foreign key (a1) references tab1,

     constraint fk_a3_a2

              foreign key (a2) references tab2

assinale a afirmativa correta.

A

A tabela tab3 estabelece um relacionamento 1:1 entre as tabelas tab1 e tab2.
 B
A tabela tab3 estabelece um relacionamento N:M entre as tabelas tab1 e tab2.
 C
As restrições unique não podem coexistir na tabela tab3.
 D
Não é permitido que uma chave estrangeira possua uma restrição do tipo unique.
 E
O número de registros de tab3 deve ser sempre igual ao número de registros de
tab1.
RESOLVER QUESTÃO

Vamos avaliar alguns conceitos básicos:

Uma dependência funcional é um relacionamento de dois atributos de forma que sabendo o


valor de um atributo, será possível identificar o valor dois outros atributos.

Decomposição é a eliminação de subgrupos repetidos em relação a duas ou mais relações,


como ocorre com o processo de normalização. 

A questão então busca encontrar uma melhor definição para o conceito da decomposição sem
perdas na junção.
 

Vamos avaliar cada alternativa:

a)  todas as dependências funcionais existentes para os atributos de R1, R2, R3 são


preservadas em R;

Comentário:

Uma decomposição é dita sem perdas se for sempre possível reconstruir a instância da tabela
original efetuando a junção das instâncias correspondentes das tabelas decompostas.

O fato de todas as dependências funcionais existentes para os atributos de R1, R2 e R3 serem


preservadas em R não está  relacionado à decomposição sem perdas na junção.

Assim, alternativa ERRADA.

b)  qualquer instância de R pode ser recuperada a partir de junções de R1, R2 e R3;

Comentário:

Perfeito! Uma decomposição é dita sem perdas se for sempre possível reconstruir a instância
da tabela original efetuando a junção das instâncias correspondentes das tabelas
decompostas. Assim, ao realizar uma normalização (decomposição da R em R1, R2 e R3), é
possível obter qualquer resultado obtido por R a partir das junções (join) de R1, R2 e R3.

Assim, alternativa CORRETA.

c)  nenhuma das tabelas R1, R2 e R3 contém todos os atributos de R;

Comentário:

Uma decomposição é dita sem perdas se for sempre possível reconstruir a instância da tabela
original efetuando a junção das instâncias correspondentes das tabelas decompostas.

 
Assim, alternativa ERRADA.

d)  todas as tabelas R1, R2 e R3 possuem chaves primárias;

Comentário:

Esta alternativa pode ter causado dúvida pois uma decomposição não necessariamente é uma
normalização. Se ocorrer apenas uma quebra de dados da tabela, podemos ter uma
decomposição sem adicionar chaves primárias nas tabelas.

Assim, alternativa ERRADA.

e)  a soma do número de atributos de cada tabela R1, R2 e R3 é maior que o número de
atributos de R.

Comentário:

Uma decomposição é dita sem perdas se for sempre possível reconstruir a instância da tabela
original efetuando a junção das instâncias correspondentes das tabelas decompostas.

Assim, alternativa ERRADA.

Assim, o gabarito da questão é Alternativa B.

 FECHAR

 #354002  FGV - Analista (IBGE)/Análise de Sistemas/Desenvolvimento


de Aplicações - WEB Mobile/2016
  

Considere uma tabela relacional R(A1, A2, ... , An) que, depois de normalizada, foi decomposta
num esquema com três tabelas, R1, R2 e R3.

Nesse caso, diz-se que a decomposição ocorreu sem perda quando:

 A
todas as dependências funcionais existentes para os atributos de R1, R2, R3 são
preservadas em R;
 B
qualquer instância de R pode ser recuperada a partir de junções de R1, R2 e R3;
 C
nenhuma das tabelas R1, R2 e R3 contém todos os atributos de R;
 D
todas as tabelas R1, R2 e R3 possuem chaves primárias;
 E
a soma do número de atributos de cada tabela R1, R2 e R3 é maior que o número
de atributos de R.
Você selecionou: A, alternativa incorreta, a correta é: B... Você errou! Gabarito: B. Ver
resolução
 

Primeiro, vamos ver o significado dos símbolos de cardinalidade na notação pé de galinha:

A questão nos trouxe o seguinte DER:


 

Uma ocorrência de R1 pode estar associada a uma ou nenhuma ocorrências de R2 e uma


ocorrência de R2 pode estar associada a uma ou nenhuma ocorrência de R1.

Perceba que o relacionamento entre R1 e R2 é do tipo 1:1 e ambas as entidades têm


participação parcial (ou seja, não precisam necessariamente estar em um relacionamento).

Vamos analisar as afirmativas:

I. A1 em R2 deve ter uma restrição do tipo UNIQUE.

CORRETA. A chave estrangeira A1 em R2 deve ter a restrição UNIQUE. Isso porque o


relacionamento é do tipo 1:1, ou seja, só pode existir, no máximo, uma instância de R1
associada a R2. A restrição UNIQUE impede que existe mais de uma instância de R1 associada a
R2.

II. A1 em R2 não deve permitir valores nulos.

ERRADA. A chave estrangeira A1 em R2 deve sim permitir valores nulos. Isso porque a
participação da entidade R2 é parcial, de forma que ela pode estar associada a
nenhuma ocorrência de R1. O valor nulo na chave estrangeira indicaria essa situação.

III. A1 em R1 deve constituir a chave primária.

CORRETA. O atributo A1 está na parte superior da entidade e indica que ela é a chave primária
de R1.

IV. A2 em R2 deve permitir valores nulos.

ERRADA. A2 é a chave primária de R2. Como tal, não pode receber valores repetidos nem o
valor nulo.

Concluímos, assim, que o gabarito é letra C.

 FECHAR
 #437966  FGV - Analista de Gestão (COMPESA)/Administrador de
Banco de Dados/2016
  

Analise o diagrama ER, exibido a seguir com a notação IDEF1X pé-de-galinha.

Analise, ainda, a lista de possíveis requisitos para uma implementação relacional desse
modelo.

I. A1 em R2 deve ter uma restrição do tipo UNIQUE.


II. A1 em R2 não deve permitir valores nulos.
III. A1 em R1 deve constituir a chave primária.
IV. A2 em R2 deve permitir valores nulos.

Assinale a opção que indica a quantidade de requisitos corretamente estabelecidos.

 A
Zero.
 B
Um.
 C
Dois.
 D
Três.
 E
Quatro.
Parabéns, você selecionou: C, alternativa correta.Você acertou! Continue assim! Ver resolução

Gabarito: Letra C.

Primeiro, vamos ver o significado dos símbolos de cardinalidade na notação pé de galinha:

 
 

A questão nos trouxe o seguinte modelo:

Perceba que uma instância da entidade E1 pode estar associada a nenhuma ou várias
instâncias da entidade E2, enquanto uma instância da entidade E2 deve estar associada,
obrigatoriamente, a uma instância de E1.

O relacionamento entre E1 e E2 é do tipo 1:N, onde a participação da entidade E2 é


total (deve, obrigatoriamente, estar no relacionamento).
 

Quando temos um relacionamento do tipo 1:N, a chave estrangeira deve ficar no lado N, ou
seja, na tabela que representa E2. Perceba que E2 não pode nunca estar associada a nenhuma
ocorrência de E1. É por isso que a chave estrangeira nunca pode receber NULL.

Temos que eliminar todas as alternativas que sugerem a ação SET NULL. Observe:

a)  On delete cascade; on update set null.

b)  On delete set null; on update cascade.

d)  On delete set null; on update set null.

e)  On delete restrict; on update set null.

ERRADAS. A participação de E2 no relacionamento impede que a chave estrangeira receba o


valor nulo.

c)  On delete cascade; on update cascade.

CORRETA. Essa alternativa descreve ações que podem ser utilizadas. Caso ocorra uma
remoção/atualização do valor da chave primária de E1, essa remoção/atualização é propagada
para a chave estrangeira que está em E2.

Concluímos, assim, que o gabarito é letra C.

 FECHAR

 #487312  FGV - Analista Portuário (CODEBA)/Analista de Tecnologia da


Informação/2016
  

Em geral, os gerenciadores de bancos de dados relacionais permitem que seja estabelecido o


procedimento a ser adotado quando um registro referenciado por uma chave estrangeira
(foreign key) é deletado, ou tem seu valor alterado (update).

No diagrama IDEF1X mostrado a seguir, representado com a notação pé-de-galinha, as tabelas


E1 e E2 possuem um relacionamento entre si.

 
 

Assinale a combinação que seria adequada na implementação do relacionamento da figura.

 A
On delete cascade; on update set null.
 B
On delete set null; on update cascade.
 C
On delete cascade; on update cascade.
 D
On delete set null; on update set null.
 E
 On delete restrict; on update set null.
RESOLVER QUESTÃO

Nas cinco questões seguintes há referências a um banco de dados


denominado banco BD, cujo esquema relacional e respectivo
preenchimento são ilustrados a seguir.
 

 
São definidas para essas tabelas chaves primárias e/ou candidatas, de
acordo com o quadro a seguir.
 

 
Considere que é preciso fazer uma reformulação do banco BD, e uma das
mudanças é a necessidade de identificar o número da loja na qual cada
produto foi comprado.

Sabe-se que:

I. uma loja pode vender qualquer produto;


II. um produto pode ser vendido em qualquer loja;
III. cada pedido deve conter apenas itens vendidos numa única loja;
IV. há mais de uma loja;
V. as chaves existentes devem ser mantidas.

A solução adequada nesse caso é incluir um atributo intitulado “loja”:


 A
na tabela Venda, e criar uma chave candidata constituída pelos
atributos “pedido, item, loja”;
 B
na tabela Produto, e criar uma chave candidata constituída pelos
atributos “codigoP, loja”;
 C
na tabela Venda, e criar uma chave candidata constituída pelos
atributos “pedido, loja”;
 D
numa nova tabela, constituída pelos atributos “pedido, loja” e criar
uma chave primária para essa tabela constituída pelo atributo
“pedido”;
 E
numa nova tabela com atributos “codigoC, pedido, loja” e criar uma
chave primária para essa tabela constituída por esses atributos.
Parabéns, você selecionou: D, alternativa correta.Você acertou! Parabéns!

Você também pode gostar