You are on page 1of 150

Tecnologia da Informação para ICMS/PI

Auditor Fiscal da Fazenda Estadual


Prof Victor Dalton Aula 01

Ilustração de modelagem conceitual usando o Diagrama E-R.

Posteriormente ocorre as especificações das necessidades


funcionais, depreendidas do próprio projeto conceitual. Caso exista
algum impedimento funcional para a implementação do banco, talvez seja
necessário voltar ao projeto conceitual e realizar algumas modificações.

Em seguida aparece o projeto lógico, ou mapeamento do modelo


de dados. A modelagem lógica (ou representacional, ou de
implementação), por sua vez, já realiza o mapeamento do esquema
conceitual para o modelo de dados que será usado. O modelo de dados de
implementação normalmente é o modelo de dados relacional, que
também é importantíssimo, muito cobrado em provas e será bastante
abordado nos exercícios. Tal projeto consolidará a escrita do script do
banco, com a criação do seu esquema.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 3 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Modelagem relacional: ilustração com tabelas e atributos

Por fim, temos o projeto físico, durante a qual são definidas as


estruturas de armazenamento interno, índices, caminhos de acesso e
organizações de arquivo para os arquivos do banco de dados. Já passa a
depender de regras de implementação e restrições tecnológicas.

Figura: Do modelo conceitual ao físico(MAXEY,2002)

Prof. Victor Dalton


www.estrategiaconcursos.com.br 4 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

1) (FCC – MPE/AM – Agente de Apoio – Programador - 2013) Um


sistema de banco de dados deve apresentar um projeto que visa a
organização das informações e utilização de técnicas para que o futuro
sistema obtenha boa performance e também facilite as manutenções que
venham a acontecer.

O projeto de banco de dados se dá em, pelo menos, duas fases:


Modelagem conceitual e

a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.

Após a Modelagem conceitual, temos o Projeto Lógico (ou Modelo


Lógico).

Resposta: alternativa a).

1.9 Tipos de modelos de dados

Apoiando a estrutura de um banco de dados está o modelo de


dados: uma coleção de ferramentas conceituais para descrever dados,
relações de dados, semântica de dados e restrições de consistência. Um
modelo de dados oferece uma maneira de descrever o projeto de um
banco de dados no nível físico, lógico e de visão.

Existem vários modelos de dados diferentes. Vejamos alguns:

Modelo hierárquico: O modelo hierárquico foi o primeiro a ser


reconhecido como um modelo de dados. Nele, os registros são conectados
em uma estrutura de dados em árvore, similar a uma árvore invertida (ou
às raízes de uma árvore).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 5 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Neste modelo, uma ligação é uma associação entre dois


registros. O relacionamento entre um registro-pai e vários registros-
filhos possui cardinalidade 1:N, ou 1:1, sendo N =1. Os dados
organizados segundo este modelo podem ser acessados segundo uma
sequência hierárquica com uma navegação do topo para as folhas e da
esquerda para direita. Um registro pode até estar associado a vários
registros diferentes, desde que seja replicado.

Neste exemplo, perceba que os registros da tabela empregado


possuem hierarquia direta em relação aos registros da tabela
departamento.

O modelo hierárquico possui muitas limitações. Ele pode ser útil para
modelar esquemas fortemente hierárquicos (como classificações para
espécies dos reinos animal e vegetal, corporações, hierarquias
governamentais, etc.), mas apresenta limitações quando representa
modelos não-hierárquicos. Isto provocou o surgimento do modelo em
rede.

Modelo em rede: o modelo em rede acabou eliminando a


hierarquia, pois passou a permitir que, em tese, cada registro filho
pudesse ser ligado a mais de um registro pai.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 6 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Nesse caso, a estrutura em árvore se desfaz, e passa a se


assemelhar a uma estrutura em grafo. Relacionamentos N:M também
passam a ser permitidos (lembrando que o relacionamento é estabelecido
entre registros).

Perceba que, neste modelo, é possível colocar um empregado


vinculado a mais de um departamento, o que não era possível no modelo
hierárquico.

Os modelos de dados em rede e hierárquicos precederam o modelo


de dados relacional, que é o mais utilizado atualmente. São muito pouco
utilizados nos dias de hoje, a não ser em bancos de dados antigos que
ainda estejam em vigor.

Modelo relacional: O modelo relacional usa uma coleção de tabelas


para representar os dados e as relações entre eles. Foi o modelo que eu
utilizei para explicar os conceitos básicos de banco de dados, e é o
modelo mais utilizado (e cobrado em provas). Cada tabela possui diversas
colunas, e cada coluna possui um nome único. Tabelas também são
chamadas de relações.(Deixei isso pra depois de propósito: não
confunda relação com os relacionamentos entre as tabelas). Cada tabela
contém tuplas. Cada tupla possui um número fixo de campos, ou
atributos. As colunas das tabelas correspondem aos atributos do tipo de

Prof. Victor Dalton


www.estrategiaconcursos.com.br 7 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
registro. Este modelo é o mais utilizado na fase de projeto lógico do
BD.

Modelo Entidade/Relacionamento: O modelo de Entidade-


Relacionamento (E-R) é baseado na percepção de um mundo real que
consiste em uma coleção de objetos básicos, chamados entidades, e os
relacionamentos entre esses objetos (existem autores que falam em
relação para descrever relacionamentos. Preste atenção em uma eventual
questão de prova, para saber o que a banca quer). Uma entidade é uma
“coisa” ou “objeto” no mundo real que é distinguível dos outros objetos
(como pessoa, ou carro). É um modelo mais alto nível, empregado na
fase do projeto conceitual, que é anterior à fase do projeto lógico, no
qual se utiliza o modelo relacional. Também cai em provas.

Modelo de dados orientado a objetos: É uma extensão do modelo


ER com noções de encapsulamento de identidade do objeto (isso será
visto em programação).

Modelo de dados objeto-relacional: Combina características do


modelo relacional com o modelo orientado a objetos.

P.S: Não se surpreenda em ter visto os modelos relacional e entidade


relacionamento também neste tópico. Os tipos de modelos de dados
apresentados não deixam de ter um caráter histórico, refletindo a
evolução dos modelos ao longo do tempo. Por isso, os modelos relacional
e E-R acabaram se consolidando nas categorias vistas anteriormente.

2) (FCC – SEFAZ/PE – Auditor Fiscal – 2014) Um Sistema de


Gerenciamento de Banco de Dados (SGBD) é um software com recursos
específicos para facilitar a manipulação das informações dos bancos de
dados e o desenvolvimento de programas aplicativos. A forma como os
dados serão armazenados no banco de dados é definida pelo modelo do
SGBD. Os principais modelos são: hierárquico, em rede, orientado a
objetos e

(A) funcional.
(B) procedural.
(C) orientado a serviços.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 8 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
(D) relacional.
(E) orientado a componentes.

Estudamos em detalhes o modelo relacional, um dos mais cobrados em


provas. As demais sentenças nem se aplicam a banco de dados.

Resposta certa: alternativa d).

1.10 O Modelo Entidade-Relacionamento

Aqui estamos diante de um diagrama ER, do modelo entidade-


relacionamento. Aquele mais conceitual, alto nível. Façamos uma breve
legenda:

Retângulos: são as entidades.


Losangos: representam os relacionamentos.
Elipses: representam os atributos (ausente neste diagrama).
Linhas: vinculam conjuntos de entidades a conjuntos de
relacionamentos.
Linhas duplas: indicam participação total de uma entidade em um
conjunto de relacionamentos.

Esta abordagem, como você pode perceber, consegue mostrar para


um usuário, até mesmo o leigo em banco de dados, algumas

Prof. Victor Dalton


www.estrategiaconcursos.com.br 9 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
características desse banco hipotético, ilustrado no modelo. Dele, é
possível compreender que:

Empregados gerenciam departamentos;

Empregados trabalham em projetos;e

Departamentos controlam projetos (perceba as sentenças no


estilo entidade-relacionamento-entidade, em lógica de primeira ordem).

Perceba que, com as informações apresentadas, detalhes de


implementação do banco de dados ainda não são conhecidos. Quais são
as tabelas desse banco? Você ainda não sabe.

Um primeiro destaque nesse modelo, comumente cobrado em


provas, é a indicação de participação parcial ou participação total no
relacionamento, representados, respectivamente, por linhas simples em
duplas.

Uma participação parcial indica que aquele relacionamento não é


obrigatório para aquela entidade. Preste atenção apenas nesse trecho da
figura, abaixo:

A linha simples entre Empregado e Gerencia indica que não há


obrigatoriedade de que um empregado gerencie um departamento.

Por outro lado, a linha dupla em Departamento indica que todo


Departamento deve ter um Empregado que o gerencie. Compreendeu?

Fugindo um pouco do modelo E-R, mas, com o objetivo de fazê-lo


entender melhor essa obrigação (ou não), imagine uma fotografia de
duas tabelas de banco de dados com as seguintes informações:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 10 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
EMPREGADO

CodEmpregado NomeEmpregado Gerente?

001 Marcos S

002 Paula N

003 Roberta S

004 Marcelo N

DEPARTAMENTO

CodDepartamento NomeDepartamento CodGerente

MKT Marketing 001

ADM Administração 003

Neste exemplo, materializei duas tabelas que mostram Marcos


gerenciando o Departamento de Marketing, e Roberta gerenciando o
Departamento de Administração. Do jeito que montei as tabelas, todo
departamento terá um gerente, mas nem todo empregado será gerente.
Razoável, não é mesmo?

P.S.: as fotografias das tabelas não fazem parte do modelo E-


R! Apenas estão aí para facilitar o seu entendimento!

O segundo aspecto importante, também retratado nas imagens, é a


questão da cardinalidade (1, N, M). Para tal, trataremos em tópico
específico.

3) (FCC – MPE/MA – Analista Ministerial – Banco de Dados - 2013)


Quando do projeto de um banco de dados relacional, pode haver a
indicação de que um conjunto de entidades tem participação total em um
conjunto de relacionamentos, isto significa que

a) cada entidade do conjunto de entidades participa em todos os


relacionamentos do conjunto de relacionamentos.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 11 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) há, no mínimo, metade das entidades do conjunto de entidades que
participam em pelo menos um relacionamento do conjunto de
relacionamentos.
c) as entidades do conjunto de entidades não possuem atributos do tipo
booleano ou do tipo data.
d) cada entidade do conjunto de entidades participa em pelo menos um
relacionamento do conjunto de relacionamentos.
e) todos os atributos do conjunto de entidades são indexados com a
técnica de árvores binárias.

Participação total e parcial!

A linha dupla indica participação total, e a entidade ligada por linha dupla
exige que ela se relacione com pelo menos uma entidade do outro lado do
relacionamento. Já a linha simples indica o relacionamento, mas pode ser
que nem toda entidade possua um relacionamento.

Uma coisa ruim das bancas é não diferenciar entidade de instância de


entidade. Quando se fala da entidade Projeto, em tese, me refiro à
entidade projeto de modo genérico. Quando se fala de cada entidade
Projeto, na verdade estão se referindo às instâncias de entidade, que,
na prática, correspondem ao registros que estão no Banco de Dados,
conforme expliquei para você na teoria.

A questão seria bem mais clara se ela, ao invés de falar “cada entidade”
do “conjunto de entidades”, falasse “instância das entidades” das
“entidades”.

Nossa resposta certa, alternativa d).

1.11 Cardinalidade

Podemos ver a mesma imagem novamente?

Prof. Victor Dalton


www.estrategiaconcursos.com.br 12 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

A cardinalidade serve para expressar o número de entidades que


uma entidade pode associar-se, por meio de um relacionamento.

A figura acima retrata os três tipos possíveis de cardinalidade.


Na cardinalidade (1:1), uma entidade E1 pode relacionar-se a, no
máximo, uma outra entidade E2, por meio de um relacionamento, e vice-
versa. É o caso entre Empregado e Departamento, ilustrado no tópico
anterior.

Na cardinalidade (1:N), uma entidade E1 pode relacionar-se com


várias entidades E2, porém, uma entidade E2 pode relacionar-se apenas
com uma entidade E1. É o que acontece entre Departamento e Projeto.
Preste atenção na imagem e na leitura das frases a seguir: um
Departamento pode controlar N Projetos, e um Projeto pode ser
controlado por um Departamento. Captou? Gostaria de enxergar isso em
tabelas?

DEPARTAMENTO

CodDepartamento NomeDepartamento CodGerente

MKT Marketing 001

ADM Administração 003

PROJETO

Prof. Victor Dalton


www.estrategiaconcursos.com.br 13 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
CodProjeto NomeProjeto CodDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

Captou? Do jeito que montei as tabelas, os Departamentos podem


ter vários projetos, mas cada projeto tem apenas um Departamento
responsável.

P.S.: as fotografias das tabelas não fazem parte do modelo E-


R! Apenas estão aí para facilitar o seu entendimento!

Por último, falemos da cardinalidade (N:M) ou (N:N). Nela, uma


entidade E1 pode relacionar-se com várias entidades E2, assim como uma
entidade E2 pode relacionar-se apenas com várias entidades E1. É o que
acontece entre Empregado e Projeto.

Um Empregado pode trabalhar em M Projetos, e um Projeto pode


“ser trabalhado” por N Empregados. Captou? Em tabelas, isso fica um
pouco diferente:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 14 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
PROJETO

CodProjeto NomeProjeto CodDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKY

EMPREGADO

CodEmpregado NomeEmpregado Gerente?

001 Marcos S

002 Paula N

003 Roberta S

004 Marcelo N

TRABALHA

CodEmpregado CodProjeto

001 P01

001 P02

002 P03

003 P01

Nesta estrutura, você percebe que a tabela Trabalha serve para


materializar o relacionamento entre Empregado e Projeto, e que, desta
forma, empregados podem trabalhar em vários projetos, e projetos
podem ter vários empregados, sem restrições.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 15 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Agora, reveja aquele esquema de banco de dados, do início da
apostila:

O relacionamento entre as tabela usuario e comentario indicam, do


lado usuario (1,1), e do lado comentario (0,n). Isso retrata um
relacionamento (1:N) entre essas entidades. Ou seja, Cada usuário
cadastrado na tabela usuario pode fazer de zero a muitos comentários.
Cada comentário, por sua vez, deverá ter sido feito por apenas um único
usuário, entendeu?

Mais um pouco: veja as tabelas usuario, usr ai e area interesse. A


tabela usuario possui um relacionamento de cardinalidade (1:N) com a
tabela usr_ai. Ou seja, isso implica que cada usuário pode ter zero ou
mais áreas de interesse. Por exemplo, Paulo pode se interessar por
esportes, ficção e romance.

Por sua vez, area_de_interesse possui um relacionamento de


cardinalidade (1:N) com a tabela usr_ai. Ou seja, isso implica que cada
área de interesse pode estar relacionada a zero ou mais usuários.

Captaram? Na realidade, existe um relacionamento de cardinalidade


(N:N), também chamado de (N:M), entre usuario e area_interesse. Só
que, para implementar o banco de dados de uma maneira organizada, foi
necessário fazer uma tabela de ligação entre usuario e area_interesse.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 16 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
A cardinalidade pode ser expressada de diferentes formas, de acordo
com o modelo ilustrado. Inclusive, como no esquema acima, ficaram
explícitas as cardinalidades mínimas e máximas, uma vez que o
esquema não possui linhas simples e duplas para tal. Uma cardinalidade
(1:N), por exemplo, foi retratada pelos pares (1,1) e (0,n), indicando que
uma entidade E1 pode ser relacionar com 0 a n entidades E2, ao passo
que uma entidade E2 deve se relacionar com uma, e apenas uma
entidade E1. Compreendido?

1.12 Modelo Relacional

Vamos agora tratar do modelo relacional.

Apenas relembrando, o modelo relacional está ligado ao Projeto


Lógico, aquele em um nível intermediário entre o modelo conceitual e o
modelo físico. Está lembrado?

Vamos ver aquele esquema novamente:

Creio que você já o entenda mais do que quando o viu pela primeira
vez. Mas vamos entendê-lo ainda mais, pois ele está carregado de
informações do modelo relacional.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 17 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Perceba que as tabelas (que também podem ser chamadas de


relações) são os principais elementos do banco. comentario, contato,
categoria, recado, area_interesse...

Os atributos são componentes das entidades. Na entidade


comentário, por exemplo, temos os atributos código, conteudo,
data_criacao, cod_usuario_remetente e cod_arquivo.

As informações colocadas ao lado dos atributos, conforme visualizado


neste esquema, são os metadados. Código será um inteiro de até 11
dígitos, conteúdo será um varchar com até 1000 caracteres (varchar,
basicamente, quer dizer que o número de caracteres é variável, indo até
o limite estabelecido), data_criacao será uma informação do tipo data-
hora, e assim sucessivamente.

Por fim, temos os registros da tabela, ou tuplas. Registros e tuplas


são sinônimos. A imagem acima, utilizada como exemplo, é um modelo
que mostra o que deverá conter no banco. O banco de dados,
efetivamente, são essas tabelas efetivamente preenchidas. Um exemplo
da tabela comentario preenchida com dados poderia ser:

E continuemos vendo detalhes!

1.12.1 Tipos de Atributos

Prof. Victor Dalton


www.estrategiaconcursos.com.br 18 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Os atributos, como já vimos, são os elementos que compõem as
entidades. Eles podem receber várias classificações.

Atributos Compostos versus Simples (Atômicos). Os atributos


compostos são aqueles que podem ser divididos em partes
menores, que representam a maioria dos atributos básicos com
significados independentes. Por exemplo, um atributo Endereço, em uma
tabela hipotética, pode ser subdividido em EnderecoRua, Cidade, Estado e
CEP, com os valores 'Av. Rangel Pestana, 300', 'São Paulo', 'SP' e '01017-
911'. Os atributos que não são divisíveis são chamados simples ou
atributos atômicos. E os atributos compostos podem formar uma
hierarquia; por exemplo, EnderecoRua pode ser subdividido, ainda, em
três atributos simples: Rua, Número e Apartamento. O valor de um
atributo composto é a concatenação dos valores componentes dos seus
atributos simples. Os atributos simples são indivisíveis.

Atributos Monovalorados versus Multivalorados. A maioria dos


atributos tem um valor único para uma dada tupla; esses atributos são
chamados monovalorados. Por exemplo, Idade é um atributo
monovalorado de uma pessoa. Em alguns casos, um atributo pode ter um
conjunto de valores para a mesma entidade — por exemplo, um atributo
Cor para um carro ou um atributo Titulação para uma pessoa. Os carros
com uma cor têm um valor único, enquanto aqueles com dois tons
contêm dois valores para Cor. Da mesma forma, uma pessoa pode não
ter um título acadêmico, outra pessoa pode ter um e, uma terceira
pessoa, dois ou mais títulos, portanto, pessoas diferentes podem ter
números de valores diferentes para o atributo Titulação. Esses atributos
são chamados multivalorados. Um atributo multivalorado deve ter limite
inferior e superior para restringir o número de valores permitidos a cada
entidade individual. Por exemplo, o atributo Cor de um carro pode ter
entre um e três valores, se presumirmos que um carro possa ter, no
máximo, três cores.

Atributos Armazenados versus Derivados. Em alguns casos, dois


(ou mais) valores de atributos estão relacionados — por exemplo, os
atributos Idade e DataNascimento de uma pessoa. Para uma tabela
pessoa em particular, o valor de Idade pode ser determinado pela data
corrente (hoje) e o valor de DataNascimento da pessoa. Portanto, o
atributo Idade é chamado atributo derivado, e é dito derivado do atributo
DataNascimento, que, por sua vez, é chamado atributo armazenado.
Alguns valores de atributos podem ser derivados de entidades

Prof. Victor Dalton


www.estrategiaconcursos.com.br 19 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
relacionadas; por exemplo, um atributo NumerodeEmpregados, de uma
entidade departamento, pode ser derivado da contagem do número de
empregados relacionados (que trabalham) nesse departamento.

Valores nulls (Nulos). Em alguns casos, determinada tabela pode


não ter um valor aplicável a um atributo. Por exemplo, o atributo
Apartamento de um endereço se aplica apenas a endereços que estão em
edifícios de apartamentos, e não a outros tipos de residência, como as
casas. Por analogia, um atributo Titulação só se aplica a pessoas com
titulação acadêmica. Para essas situações é criado um valor especial
chamado null (nulo). Um endereço de uma casa teria valor null para seu
atributo Apartamento, e uma pessoa sem titulação acadêmica teria valor
null para Titulação. O valor null pode ser usado também quando não
conhecemos o valor de um atributo para uma entidade em particular; por
exemplo, se não soubermos o telefone residencial de 'Joao Paulo'. O
sentido do primeiro tipo de null corresponde a não aplicável, ao passo que
o sentido do último se refere a desconhecido. A categoria 'desconhecido'
de null pode ser, ainda, classificada em dois casos. O primeiro aparece
quando se sabe que o valor do atributo existe mas está faltando — por
exemplo, se o atributo Altura de uma pessoa é dado como null. O
segundo caso surge quando não se sabe se o valor do atributo existe —
por exemplo, se o atributo FoneResidencial de uma pessoa é null.
Atributos Complexos. Observa-se que os atributos compostos e
multivalorados podem ser aninhados de uma maneira arbitrária. Podemos
representar essa organização arbitrária agrupando os componentes de um
atributo composto entre parênteses (), separando os componentes por
meio de vírgulas e mostrando os atributos multivalorados entre chaves
{}. Esses atributos são chamados atributos complexos. Por exemplo, se
uma pessoa pode ter mais de uma residência e cada uma delas pode ter
múltiplos telefones, um atributo EnderecoFone para uma pessoa pode ser
especificado contendo mais de um atributo, como por exempo contendo
os atributos Endereco e Telefone. Ex:
{EnderecoFone({Fone(CodigoArea,NumeroFone)},Endereco(EnderecoRua
(Numero, Rua, Apartamento),Cidade, Estado, CEP))}.

Não confunda!

Simples Monovalorado
indivisível um único valor na tupla

Prof. Victor Dalton


www.estrategiaconcursos.com.br 20 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Composto Multivalorado
pode ser dividido em várias partes mais de um valor dentro da mesma
tupla

Atributo composto pode ser monovalorado? SIM!

Atributo simples pode ser multivalorado? SIM! Exemplo:

Carro Cor
Gol Preto, Azul, Amarelo

Cor é um atributo simples, mas pode ter mais de um valor, dado um


único registro.

Quando o atributo é composto e multivalorado simultaneamente,


ele é complexo.

4) (FCC – TRT 2ª Região – Analista Judiciário – Tecnologia da


Informação – 2014) Em alguns casos, dois ou mais valores de atributos
em um modelo de Entidade-Relacionamento estão relacionados. Por
exemplo, os atributos Idade e Data de Nascimento de uma pessoa. Para
uma Entidade-Pessoa em particular, o valor de Idade pode ser
determinado pela data corrente e o valor de Data de Nascimento da
pessoa. Portanto, o atributo Idade é chamado atributo ...I... do atributo
Data de Nascimento, que, por sua vez, é chamado atributo ...II... .

As lacunas I e II são, correta e respectivamente, preenchidas com:

(A) armazenado - derivado


(B) derivado - armazenado
(C) multivalorado - monovalorado
(D) identificador - complexo
(E) resultante - unívoco

O atributo Idade é um atributo derivado, pois pode ser calculado com


base no atributo armazenado Data de Nascimento, tendo o dia atual
como referência.

Resposta: alternativa b).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 21 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

1.12.2 Restrições de Integridade

Pois então, um banco de dados relacional, em sua concepção,


necessita de suas tabelas, das colunas das tabelas(os seus atributos), e
de suas restrições de integridade, fundamentais para a consistência do
banco de dados. Tabelas e colunas você já conhece. Agora, falemos dessa
característica importantíssima, que são as restrições de integridade.

Por meio das restrições de integridade é que são assegurados o


correto relacionamento entre as tabelas. As restrições de integridades
podem ser de:
 Domínio – amarrando os possíveis valores de um atributo
(inteiro, string, não nulo, positivo, tipo, etc.)
 Vazio – dizer se um campo pode ou não ser null. Não deixa
de ser um subitem da integridade de domínio.
 Chave – impedindo que uma chave primária se repita, ou
seja nula;
 Referencial – assegurando que uma chave estrangeira
possua respectiva associação na tabela de origem;

As restrições de domínio e vazio são relativamente intuitivas. As de


chave e referencial são as chaves primárias e estrangeiras, as quais
veremos a seguir.

1.12.3 Chave Primária x Chave Estrangeira

Todo registro em um banco de dados precisa de um atributo, ou


vários, que possibilitem caracterizar aquele registro no banco como
único. Ex:

codigo_cliente endereco telefone cidade estado


1 Rua do Imperador 0800- Recife PE
Dom Pedro II, SN 2851244
2 Rua do Imperador 0800- Recife PE
Dom Pedro II, SN 2851244
3 Rua José Augusto (81) 3183- Olinda PE
Moreira, 1037 5941
4 Rua José Augusto (81) 3183- Olinda PE
Prof. Victor Dalton
www.estrategiaconcursos.com.br 22 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Moreira, 1037 5941

Perceba que, intencionalmente, escrevi tuplas parecidíssimas,


diferenciadas apenas pelo atributo codigo_cliente.
O por quê disso? Imagine que a tabela acima possui um
relacionamento com outra tabela, como a tabela abaixo:

codigo_cliente Nome
1 Jader
2 Afonso
3 André
4 Simone

Agora você percebe um motivo. Dois clientes diferentes, que


possuem um mesmo endereço. Logo, em um banco de dados relacional
são necessárias duas coisas: diferenciar uma tupla da outra e
relacionar as tabelas.

Neste pequeno exemplo, a diferenciação entre as tuplas se faz por


meio da chave primária. No caso, o atributo codigo_cliente.

Voltando ao esquema que eu tanto tenho repetido, perceba que ali


temos alguns atributos com chaves em “dourado”, outros com chave
“parcialmente dourada” e outros com chave “prateada”.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 23 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
A chave primária é o atributo(coluna) ou atributos(colunas),
que asseguram que cada tupla (linha) da tabela é única.

codigo é a chave primária de comentario; codigo é a chave primária


de categoria;cod_usuario e cod_usuario_contato são a chave primária de
contato; e por aí vai.

Mesmo que composta por vários atributos, a chave primária é


única e o seu papel é o de restrição de chave, ou seja, garantir que
tuplas não sejam repetidas. Nesse esquema, as chaves douradas são
chaves primárias.

Um outro conceito interessante referente às restrições de chave é o


conceito de chave candidata, ou chave alternativa. Às vezes, mais de
um atributo de uma tabela são únicos. Tenha como exemplo uma tabela
em que existam os campos CPF, TituloEleitor e Identidade. Todos esses
atributos serão únicos, e eles são chamados de chaves candidatas. Uma
dessas chaves convenientemente será escolhida como chave primária e
as demais permanecerão como chaves candidatas.

A chave estrangeira, por sua vez, exerce o papel de restrição


referencial. A chave estrangeira “amarra” os relacionamentos entre as
tabelas, e explica o porquê das tabelas possuírem linhas interligando-as,
nos modelos. Isso ainda implica que todo valor preenchido na tabela com
chave estrangeira possua uma respectiva associação na tabela onde a
chave associada é primária. No esquema, as chaves prateadas são chaves
estrangeiras.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 24 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
cod_usuario_remetente e cod_arquivo são chaves estrangeiras na
tabela comentario, pois referenciam, respectivamente, a chave primária
codigo na tabela usuário e a chave primária codigo na tabela arquivo;
cod_usuario e cod_usuario_contato, que juntos compõem a chave
primária de contato, também são chaves estrangeiras, pois referenciam,
respectivamente, a chave primária codigo na tabela usuário e a chave
primaria codigo na tabela usuário (sim, isso mesmo, a mesma chave na
mesma tabela). E assim sucessivamente. Procure enxergar todos os
demais relacionamentos nesta tabela.

Perceba que, mesmo que um mesmo atributo possa ser (ou compor)
chave primária e ser chave estrangeira, as funções da chave são bem
distintas. A primária restringe unicidade ou nulidade, enquanto a
estrangeira restringe relacionamento. No esquema, as chaves
parcialmente douradas estão fazendo o papel de chave primária, mas
funcionam ao mesmo tempo como chaves estrangeiras, na mesma tabela.

Por fim, acho interessante que você saiba que, no modelo relacional,
podemos descrever as tabelas, seus atributos e restrições da seguinte
forma abaixo, com os atributos entre parênteses e as chaves sublinhadas:

Comentario (codigo, conteudo, data_criacao, cod usuario,


cod arquivo)
Usuario (codigo, nome, email, login, senha)
Contato(cod usuario, cod usuario contato)

Há autores que sublinham “cheio” as chaves primárias e “pontilhado”


as chaves estrangeiras. Em questões de concursos, porém, nunca vi esta
diferenciação, estando as chaves sempre sublinhadas “cheias”.

1.12.4 Outras chaves

Chave substituta: A chave substituta, ou surrogate key, ou


chave artificial, é um campo, normalmente auto incremental, que pode
(não é obrigatório) ser utilizado para definir a chave primária de uma
tabela, de uma maneira genérica. É útil, particularmente, para substituir
chaves primárias compostas por muitos atributos, o que costuma
impactar negativamente a performance do banco de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 25 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
* Nome Telefone
1 Paulo (11) 99999-8888
2 Paulo (11) 99999-7777
3 Paulo (11) 3030-3131
4 Marta (11) 5678-9012
5 Marta (11) 99988-9876
6 Rita (11) 98765 4321
Chave substituta: coluna não identificada, marcada com *

Algumas características da chave substituta:

 O valor é único para a tabela, portanto nunca reutilizado (ou


seja, em caso de exclusão, o número não será reutilizado);
 O valor é gerado pelo sistema(automaticamente);
 O valor não é manipulável pelo usuário ou aplicação;
 O valor não contém nenhum significado semântico;
 O valor não é visível para o usuário ou aplicação (no caso de
modelagem relacional);
 O valor não é composto de vários valores a partir de diferentes
domínios.

Superchave: Superchave é um conjunto de um ou mais atributos


que, tomados coletivamente, nos permitem identificar de maneira unívoca
uma entidade em um conjunto de entidades. Em outras palavras, não
podem existir duas ou mais linhas da tabela com o(s) mesmo(s) valores
de uma superchave.

Perceba que a superchave é um conceito mais abrangente do que o


conceito de chave primária. A chave primária é aquele atributo ou
conjunto de atributos que garante que cada registro na tabela é único. A
superchave, por sua vez, é qualquer conjunto de atributos que consegue
a mesma coisa.

Por exemplo, na tabela Comentário:

Comentario (codigo, conteudo, data_criacao, cod usuario,


cod arquivo)

A chave primária é codigo. Isto posto, os atributos codigo e conteudo


formam uma superchave, os atributos codigo, conteudo e data_criacao

Prof. Victor Dalton


www.estrategiaconcursos.com.br 26 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
também formam uma superchave, e por aí vai. Qualquer conjunto de
atributos escolhido que inclua a chave primária formará uma superchave.

5) (FCC – SEFAZ/SP – Agente Fiscal de Rendas – 2013) No projeto


de bancos de dados relacionais, a Express tem preocupação de produzir
modelos mais adequados. A chave primária de uma relação de um banco
de dados relacional

a) só pode servir como chave estrangeira de, no máximo, uma outra


relação.
b) não pode ser indexada, quando da implementação do banco de dados.
c) não pode conter atributos do tipo Data.
d) pode ser formada por mais de um atributo.
e) não pode conter mais do que um atributo.

A chave estrangeira é um atributo, que estabelece um relacionamento


com uma chave primária em outra tabela, embora você possa ter várias
chaves estrangeiras em uma mesma tabela. A chave primária, por sua
vez, é um atributo ou conjunto de atributos que identifica um registro
de maneira única em uma tabela.

Resposta: alternativa d).

1.13 Gerenciamento de Transações

Creio que podemos voltar a este aspecto, uma vez que você
compreende um pouco mais sobre banco de dados.
Lembra que, no começo da apostila, eu falei que o SGBD precisava
gerenciar milhares de transações simultâneas, fazer controle de
redundância, dentre outros?

Acho que você compreende isso melhor agora. Basta imaginar uma
simples transação modificando múltiplas tabelas, verificando restrições de
integridade. Já não é algo simples para uma transação única. E quando as
transações tentam modificar os mesmos campos de uma tabela ao
mesmo tempo? É aí que entra o famoso controle de concorrência do
SGBD, organizando as transações, impedindo que o Banco de Dados entre
em um estado inconsistente.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 27 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Idealmente, toda transação em um banco de dados deverá ser:

Atômica: ou a transação é feita ou não é feita. Parece óbvio, mas


transações complexas em um banco, envolvendo várias tabelas, podem
sofrer interrupções inesperadas, ou não conseguirem terminar por entrar
em conflito com outra que ocorra ao mesmo tempo. Nesse caso, o SGBD
deverá ser capaz de reverter o que parcialmente foi modificado (realizar o
rollback);

Consistente: os dados deverão permanecer íntegros e obedientes


às regras do banco de dados (metadados);

Isolada: o resultado de uma transação executada


concorrentemente a outra deve ser o mesmo que o de sua execução de
forma isolada. Operações exteriores a uma dada transação jamais verão
esta transação em estados intermediários.

Durável: os efeitos de uma transação em caso de sucesso (commit)


devem persistir no banco de dados mesmo em presença de falhas. os
dados modificados devem estar disponíveis em definitivo.

Às vezes parece óbvio, mas os SGBDs de grandes corporações


trabalham com grandes bases de dados, sofrendo constantes
modificações, com dados distribuídos, inclusive, por várias partes do
mundo. Assegurar o ACID é um verdadeiro desafio.

6) (FCC – TJ/RJ – Analista Judiciário – Analista de Suporte –


2012) Considere:

I. Se uma transação é concluída com sucesso (operação commit bem


sucedida), então seus efeitos são persistentes.
II. Ou todas as ações da transação acontecem, ou nenhuma delas
acontece.

As propriedades (I) e (II) das transações em SGBDs, significam,


respectivamente,

a) durabilidade e consistência.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 28 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) persistência e automação.
c) isolação e atomicidade.
d) durabilidade e atomicidade.
e) consistência e persistência.

Idealmente, toda transação em um banco de dados deverá ser:

Atômica: ou a transação é feita ou não é feita;

Consistente: os dados deverão permanecer íntegros e obedientes às


regras do banco de;

Isolada: o resultado de uma transação executada concorrentemente a


outra deve ser o mesmo que o de sua execução de forma isolada;

Durável: os efeitos de uma transação em caso de sucesso (commit)


devem persistir no banco de dados mesmo em presença de falhas.

Portanto, alternativa d).

1.14 Catálogo do sistema (dicionário de dados)

Uma vez visto o modelo relacional, creio que seja mais simples
entender o papel do catálogo, ou dicionário de dados.

Um SGBD, ao implementar o modelo relacional, precisa armazenar


não somente os dados propriamente ditos, mas também os metadados.
Eles podem ser:
 nomes das relações (tabelas);
 nomes dos atributos das relações;
 domínios dos atributos;
 restrições de integridade;
 mapeamentos (entre níveis externos, conceitual e interno).

Além dos metadados, também podem ser armazenados:

 nomes de usuários autorizados;


 senhas;
 índices, etc.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 29 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Enfim, essa série de informações que possibilitam o correto
gerenciamento da Base de Dados fica armazenada naquilo que chamamos
de Catálogo, ou Dicionário de Dados.

Catálogo de Dados: Ilustração

Prof. Victor Dalton


www.estrategiaconcursos.com.br 30 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
1.15 Views

Conforme explicado na arquitetura três esquemas de um SGBD, o


nível externo descreve a cada usuário apenas a visão pertinente ao
mesmo. Afinal de contas, pode não ser bom que todos os usuários finais
vejam o esquema conceitual completo, seja por questões de segurança,
ou até mesmo para sua compreensão.

Para tal, um recurso muito eficiente é a utilização de visões


(views).

View é uma tabela única derivada de outras tabelas. Por não existir
fisicamente, pode ser considerada uma tabela virtual. A visão,
diferentemente das tabelas básicas, não contém suas tuplas armazenadas
no banco de dados.

Voltemos ao exemplo de Projeto e Departamento:

DEPARTAMENTO

CodDepartamento NomeDepartamento CodGerente

MKT Marketing 001

ADM Administração 003

PROJETO

CodProjeto NomeProjeto CodDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

Dadas estas tabelas, pode ser conveniente criar uma visão para o
usuário, que mostre apenas o Projeto e o nome do Departamento
Responsável. Abaixo:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 31 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
VISÃO PROJETO

Projeto Departamento
Responsável

Inovação Marketing

Reestruturação Administração

Vender Mais Marketing

Novo Produto Marketing

Compreendeu a utilidade da visão? É vantajoso utilizá-la quando o


usuário realiza consultas muito frequentes a determinadas tabelas. Ainda,
campos que não sejam muito úteis ao usuário final, como CodigoProjeto e
CodigoDepartamento, podem ficar ocultos.

Entretanto, por sua natureza virtual, as visões apresentam algumas


restrições. Vejamos a seguir.

1.15.1 Views materializadas

Certos SGBDs garantem que, em caso de modificação nas relações


utilizadas em uma view, a mesma permanecerá atualizada. Essas views
podem ser chamadas de views materializadas.

A responsabilidade pela atualização da view será sempre do SGBD, e


não do usuário.

1.15.2 Atualização de uma view

As views, por sua natureza virtual, apresentam restrições quanto à


atualização, inserção ou exclusão de informações.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 32 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Para ser atualizável, via de regra, uma view deverá:

 Influenciar apenas uma tabela do banco de dados;

 Em caso de atributos ocultos na view, ou esse atributo deve ser


gerado automaticamente (no caso de um código, por exemplo),
ou possuir valor default, ou poder ser nulo (null).

Voltemos ao nosso exemplo:

VISÃO PROJETO

Projeto Departamento
Responsável

Inovação Marketing

Reestruturação Administração

Vender Mais Marketing

Novo Produto Marketing

Esta view não permite a modificação dos dados, pois ela envolve
duas tabelas, Projeto e Departamento, lembra?

Entretanto, caso ela viesse somente da tabela Projeto, poderíamos


inserir, atualizar ou excluir algum dado da view. O atributo oculto
CodProjeto, por ser gerado automaticamente (neste exemplo), não seria
obstáculo para a modificação da view.

Quando se modifica uma view, os dados da tabela de origem são


modificados. Não existem registros em uma view, pois a tabela é
virtual!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 33 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
VDL (View Definition Language) – voltada para especificar as visões dos
usuários e seus mapeamentos para o esquema conceitual.Ex: CREATE VIEW,
DROP VIEW. Há autores que consideram a VDL como integrante da DDL.

Entendidos esses conceitos iniciais, vamos nos familiarizar com os


principais comandos da linguagem SQL.

2.2 Comandos DDL (linguagem de definição de dados)

CREATE

A criação de tabelas ocorre com o CREATE. Vamos criar algumas


tabelas?

CREATE SCHEMA EMPRESA;

CREATE TABLE EMPREGADO (


codEmpregado int NOT NULL,
nomeEmpregado varchar(80),
codGerente int,

PRIMARY KEY (codEmpregado));

CREATE TABLE DEPARTAMENTO (


codDepartamento char(3) NOT NULL,
nomeDepartamento varchar(80),
codGerente int NOT NULL,

PRIMARY KEY (codDepartamento));


FOREIGN KEY (codGerente) REFERENCES EMPREGADO
(codEmpregado));

CREATE TABLE PROJETO (


codProjeto int NOT NULL,
nomeProjeto varchar(80),
codDepResponsavel char(3) NOT NULL,

PRIMARY KEY (codProjeto));


FOREIGN KEY (codDepResponsavel) REFERENCES DEPARTAMENTO
(codDepartamento));
Prof. Victor Dalton
www.estrategiaconcursos.com.br 35 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
CREATE TABLE TRABALHA (
codEmpregado int NOT NULL,
codProjeto int NOT NULL,

PRIMARY KEY (codEmpregado, codProjeto));


FOREIGN KEY (codEmpregado) REFERENCES EMPREGADO
(codEmpregado));
FOREIGN KEY (codProjeto) REFERENCES PROJETO (codProjeto));

CREATE TABLE GERENCIA (


codGerencia int NOT NULL);

Entendeu o que aconteceu acima?

Se você ficou confuso ou inseguro, leia com calma e vamos entender


juntos.

Criamos um esquema chamado EMPRESA. Nesse esquema, na nossa


base de dados, foram criadas cinco tabelas. Confira abaixo:

EMPREGADO

codEmpregado nomeEmpregado codGerente

DEPARTAMENTO

codDepartamento nomeDepartamento codGerente

PROJETO

codProjeto nomeProjeto codDepResponsavel

Prof. Victor Dalton


www.estrategiaconcursos.com.br 36 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
TRABALHA

codEmpregado codProjeto

GERENCIA

codGerencia

Além disso, as tabelas já foram criadas com as restrições de


integridade. Para cada atributo foi definido o seu domínio (int, char,
varchar), alguns receberam suas restrições de vazio (not null), e foram
criadas restrições de chave (primary key – chave primária) e de
integridade (foreign key – chave estrangeira). Volte acima, nos
comandos, e verifique o que eu afirmei.

ALTER

O comando ALTER permite que modifiquemos as tabelas. Façamos


algumas modificações na tabela EMPREGADO.

ALTER TABLE EMPREGADO ADD salario real;

ALTER TABLE EMPREGADO ADD FOREIGN KEY (codGerente)


REFERENCES EMPREGADO (codEmpregado);

Aproveitamos para incluir um novo campo, salario, que será um


número real (não é a nossa moeda), e colocamos a restrição de
integridade no campo codGerente, criando um autorrelacionamento na
tabela Empregado.

DROP

O comando DROP permite que esquemas e tabelas sejam excluídos.


Como não vamos trabalhar com a tabela GERENCIA,

Prof. Victor Dalton


www.estrategiaconcursos.com.br 37 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
DROP TABLE GERENCIA CASCADE;

O CASCADE é uma opção que força a exclusão de referências à


tabela GERENCIA em outras tabelas, como uma eventual chave
estrangeira. Caso a opção fosse a RESTRICT, se houvesse alguma
referência em outras tabelas, a exclusão não seria permitida.

Como, intencionalmente, a tabela GERENCIA não possui referências,


ela será excluída com sucesso, seja qual for a opção escolhida .

2.2 Comandos DML (linguagem de manipulação de dados)

INSERT, UPDATE E DELETE

Criadas as nossas tabelas, vamos popular a tabela EMPREGADO com


um conjunto inicial de dados, utilizando o INSERT;

INSERT INTO EMPREGADO(codEmpregado, nomeEmpregado, codGerente,


salario) VALUES ('001', Marcos, NULL, 15000,00);

INSERT INTO EMPREGADO(codEmpregado, nomeEmpregado, codGerente,


salario) VALUES ('002', Paula, 001, 12000,00);

INSERT INTO EMPREGADO(codEmpregado, nomeEmpregado, codGerente,


salario) VALUES ('003', Roberta, 001, 9000,00);

INSERT INTO EMPREGADO(codEmpregado, nomeEmpregado, codGerente,


salario) VALUES ('004', Marcelo, 002, 7000,00);

E nossa tabela fica assim:

EMPREGADO

codEmpregado nomeEmpregado codGerente salario

001 Marcos null 15000,00

002 Paula 001 12000,00

003 Roberta 001 9000,00

004 Marcelo 002 7000,00

Prof. Victor Dalton


www.estrategiaconcursos.com.br 38 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
O comando UPDATE, por sua vez, permite a atualização dos dados
de uma tabela.

Vejamos a nossa tabela PROJETO, populada da seguinte forma:

PROJETO

codProjeto nomeProjeto codDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto ADM

P05 Projeto Inútil ADM

Façamos uma atualização?

UPDATE PROJETO SET codDepResponsavel =’MKT’ WHERE


codProjeto = ‘P04’;

E nossa tabela ficou assim:

PROJETO

codProjeto nomeProjeto codDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

P05 Projeto Inútil ADM

O comando DELETE exclui registros (quem exclui tabelas é o


DROP). Vamos excluir alguma coisa:

DELETE FROM PROJETO WHERE codProjeto = ‘P05’;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 39 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
E nossa tabela ficou:

PROJETO

codProjeto nomeProjeto codDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

Acho que você já percebeu que, dependendo do critério utilizado no


WHERE, múltiplos registros podem ser atualizados ou excluídos. Tudo
depende do critério que for escolhido após o WHERE. Vamos falar mais
dele na cláusula SELECT.

2.3 A cláusula SELECT

A cláusula SELECT também pertence à DML, entretanto, por ser o


recurso mais utilizado e vasto da linguagem SQL, merece um estudo à
parte. Sem dúvidas, o SELECT é o comando que traz a “inteligência” ao
banco de dados, pois a realização de consultas à base é o primeiro passo
para a extração de informação e conhecimento contidos nos dados brutos.

A estrutura básica de uma consulta em SQL é a

SELECT - FROM - WHERE

O SELECT indicará os campos de tabela(s) selecionado(s);

O FROM indicará a(s) tabela(s) que originam os dados;

O WHERE definirá os critérios de seleção dos dados;

Nossa base inicial de dados será:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 40 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
EMPREGADO

codEmpregado nomeEmpregado codGerente salario

001 Marcos null 15000,00

002 Paula 001 12000,00

003 Roberta 001 9000,00

004 Marcelo 002 7000,00

DEPARTAMENTO

codDepartamento nomeDepartamento codGerente

MKT Marketing 001

ADM Administração 003

PROJETO

codProjeto nomeProjeto codDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

TRABALHA

codEmpregado codProjeto

001 P01

001 P02

002 P03

003 P01

Prof. Victor Dalton


www.estrategiaconcursos.com.br 41 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Vamos exercitar nosso entendimento com algumas consultas básicas.
Sinta-se à vontade para colocar a página anterior em uma folha à parte,
para comparar o resultado das consultas com a base inicial de dados.

Consulta 1 - SELECT nomeEmpregado, salario FROM EMPREGADO


WHERE codGerente = 001;

Percebeu que a linguagem é declarativa? É possível ler “selecione os


campos nomeEmpregado e salario da tabela EMPREGADO cujo
codGerente seja o 001”.

E a consulta retorna:

nomeEmpregado salario

Paula 12000,00

Roberta 9000,00

Consulta 2 - SELECT nomeProjeto FROM PROJETO WHERE


codDepResponsavel = ‘MKT’;

nomeProjeto

Inovação

Vender Mais

Novo Produto

Entendeu? Vamos evoluir um pouco....

Consulta 3 - SELECT * FROM EMPREGADO WHERE salario >


9999,99;

codEmpregado nomeEmpregado codGerente salario

001 Marcos null 15000,00

002 Paula 001 12000,00

Prof. Victor Dalton


www.estrategiaconcursos.com.br 42 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
O asterisco (*) corresponde à seleção de todas as colunas da(s)
tabela(s).

Consulta 4 - SELECT COUNT(*) FROM EMPREGADO WHERE


salario > 8999,99;

A cláusula COUNT(*) não retorna os registros propriamente ditos,


mas sim a quantidade de registros. Como são três os empregados que
recebem acima de 8999,99 a consulta retorna apenas o valor 3.

Consulta 5 - SELECT * FROM EMPREGADO WHERE salario >


1999,99 ORDER BY salario;

EMPREGADO

codEmpregado nomeEmpregado codGerente salario

004 Marcelo 002 7000,00

003 Roberta 001 9000,00

002 Paula 001 12000,00

001 Marcos null 15000,00

A cláusula ORDER BY ordena os registros segundo algum critério.


Neste exemplo, o critério foi o salário.

Consulta 6 - SELECT avg(salario) FROM EMPREGADO WHERE


salario > 10000;

salario

13500,00

Prof. Victor Dalton


www.estrategiaconcursos.com.br 43 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
AVG é uma cláusula que pega o valor médio de um conjunto de
valores. Caso essa consulta não possuísse o WHERE salario > 10000, o
retorno da consulta seria 10750,00.

Consulta 7 - SELECT p.nomeProjeto, d.nomeDepartamento FROM


PROJETO AS p, DEPARTAMENTO as d WHERE p.codDepResponsavel =
d.codDepartamento;

nomeProjeto nomeDepartamento

Inovação Marketing

Reestruturação Administração

Vender Mais Marketing

Novo Produto Marketing

Este é um exemplo que envolve a JUNÇÃO (JOIN) entre tabelas.


Como você já sabe, a tabela PROJETO possui o campo
codDepResponsavel como uma chave estrangeira, que referencia o
campo codDepartamento na tabela DEPARTAMENTO. Ou seja, os
valores de codDepResponsavel na tabela PROJETO possuem valores que
correspondem a valores válidos na tabela DEPARTAMENTO. Assim sendo,
a junção é possível, por meio de uma restrição criada no WHERE. Captou?

Ainda, utilizei nomes alternativos para as tabelas, chamados aliases,


que diminuem o trabalho de escrita da consulta, bem como eliminam
redundâncias. Chamar DEPARTAMENTO de “d” e PROJETO de “p” evita
que a consulta seja escrita como SELECT PROJETO.nomeProjeto,
DEPARTAMENTO.nomeDepartamento FROM... . Vamos ver mais um
exemplo?

Consulta 8 - SELECT p.nomeProjeto, d.nomeDepartamento FROM


PROJETO AS p, DEPARTAMENTO as d WHERE p.codDepResponsavel =
d.codDepartamento GROUP BY nomeDepartamento;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 44 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
nomeProjeto nomeDepartamento

Inovação Marketing

Vender Mais Marketing

Novo Produto Marketing

Reestruturação Administração

A cláusula GROUP BY agrupa os registros segundo um critério. No


caso, o nomeDepartamento.

Consulta 9 - SELECT p.nomeProjeto, d.nomeDepartamento FROM


PROJETO AS p, DEPARTAMENTO as d WHERE p.codDepResponsavel =
d.codDepartamento GROUP BY nomeDepartamento HAVING count
(nomeDepartamento) >1;

nomeProjeto nomeDepartamento

Inovação Marketing

Vender Mais Marketing

Novo Produto Marketing

A cláusula HAVING é uma cláusula especial que só pode ser usada


em conjunto com GROUP BY. Ele é um critério de restrição que se aplica
ao grupo, e não aos registros.

No caso acima, o HAVING restringe a consulta a mostrar apenas os


nomeDepartamentos que aparecem mais de uma vez.

Consulta 10 - SELECT e.nomeEmpregado, p.nomeProjeto FROM


PROJETO AS p, EMPREGADO as e, TRABALHA as T WHERE
e.codEmpregado = t.codEmpregado AND p.codProjeto = t.codProjeto;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 45 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Uma consulta que envolve três tabelas. Vamos reescrever as tabelas
envolvidas abaixo:

EMPREGADO

codEmpregado nomeEmpregado codGerente salario

001 Marcos null 15000,00

002 Paula 001 12000,00

003 Roberta 001 9000,00

004 Marcelo 002 7000,00

TRABALHA

codEmpregado codProjeto

001 P01

001 P02

002 P03

003 P01

PROJETO

codProjeto nomeProjeto codDepResponsavel

P01 Inovação MKT

P02 Reestruturação ADM

P03 Vender Mais MKT

P04 Novo Produto MKT

Prof. Victor Dalton


www.estrategiaconcursos.com.br 46 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
TRABALHA é tabela chave nesse processo. Já sabemos que possui
duas chaves estrangeiras, codEmpregado e codProjeto, que
referenciam, respectivamente, as tabelas EMPREGADO e PROJETO.

Não interessa mostrar a tabela TRABALHA, pois ela só contém


códigos, mas precisamos dela para interligar EMPREGADO e PROJETO. Daí
os critérios “e.codEmpregado = t.codEmpregado AND p.codProjeto =
t.codProjeto”, e a necessidade de citá-la no FROM ... TRABALHA as T.
Tudo bem?

A resposta da consulta será:

nomeEmpregado nomeProjeto

Marcos Inovação

Marcos Reestruturação

Paula Vender Mais

Roberta Inovação

Consulta 11 - SELECT DISTINCT e.nomeEmpregado FROM


PROJETO AS p, EMPREGADO as e, TRABALHA as T WHERE
e.codEmpregado = t.codEmpregado AND p.codProjeto = t.codProjeto;

Esta consulta é muito similar à anterior, mas apenas solicita que seja
mostrada a coluna nomeEmpregado. Dessa forma, perceba que “Marcos”
seria mostrado duas vezes.

A cláusula DISTINCT elimina resultados repetidos, não permitindo


que dois registros iguais sejam mostrados. Assim, o resultado é:

nomeEmpregado

Marcos

Paula

Roberta

Prof. Victor Dalton


www.estrategiaconcursos.com.br 47 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Consulta 12 - SELECT e.nomeEmpregado, p.nomeProjeto FROM
PROJETO AS p, EMPREGADO as e, TRABALHA as T WHERE
e.codEmpregado = t.codEmpregado AND p.codProjeto = t.codProjeto
AND e.nomeEmpregado IN (SELECT nomeEmpregado FROM
EMPREGADO WHERE salario > 10000,00);

Esta consulta também é similar à consulta 10, mas acrescenta duas


novidades: a cláusula IN, que filtra o resultado da pesquisa, aceitando
qualquer resultado que seja igual ao conjunto delimitado pelo IN; e a
existência de uma subconsulta, que serve justamente para criar o
universo de comparação do IN. Vejamos:

A subconsulta irá retornar

nomeEmpregado

Marcos

Paula

Dessa forma, o resultado da consulta 10 será

nomeEmpregado nomeProjeto

Marcos Inovação

Marcos Reestruturação

Paula Vender Mais

Compreendeu? Leia novamente com calma, se ainda tiver dúvidas...

Ah, e se houvesse também o DISTINCT, algum registro sumiria?


Não, pois, apesar do nome “Marcos” aparecer duas vezes, não existe
registro repetido. Se, por algum acaso, uma consulta retornasse o nome
do Marcos associado ao nome do mesmo projeto duas vezes, e houvesse
o DISTINCT, aí sim teríamos uma exclusão de registro.

Espero que SQL não pareça mais “grego” para você. Vamos aos
exercícios, e não se surpreenda com as novidades pontuais que serão
apresentadas por lá.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 48 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
EXERCÍCIOS COMENTADOS

1ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação - 2010) Um banco de dados é um
a) conjunto de objetos da realidade sobre os quais se deseja manter
informações.
b) conjunto de operações sobre dados integrados destinados a modelar
processos.
c) software que incorpora as funções de definição, recuperação e alteração
de dados.
d) software que modela funções de definição, recuperação e alteração de
dados e programas.
e) conjunto de dados integrados destinados a atender às necessidades de
uma comunidade de usuários.

O que difere um Banco de Dados de um Bando de Dados?


relacionamento e finalidade! Um banco de dados é um conjunto de dados
relacionados com uma finalidade específica. Esta finalidade pode a produção
de informação, para determinado público alvo (uma empresa, ou um órgão
público, por exemplo), bem como suportar um negócio (como o estoque de
produtos de um fornecedor, ou um cadastro de funcionários, ou tudo isso junto).

Conhecendo esta definição, você não corre o risco de marcar a alternativa


a) ao invés da alternativa e), que é a correta.

2ª Questão) (ESAF – Analista de Finanças e controle – Fiscalização


Geral - 2012) O projeto geral do banco de dados é
a) o esquema do banco de dados.
b) o planejamento estratégico do fluxo de dados.
c) o esquema de dimensionamento físico-financeiro do banco de dados.
d) a versão inicial de instanciação dos dados a serem carregados no
sistema.
e) o esquema de atualização dos dados para manutenção de consistência.

Um esquema do banco de dados é uma coleção de objetos de um banco


de dados que estão disponíveis para um determinado usuário ou grupo. Os
objetos de um esquema são estruturas lógicas que se referem diretamente aos
dados do banco de dados. Eles incluem estruturas, tais como tabelas, visões,
seqüências, procedimentos armazenados, sinônimos, índices, agrupamentos e
links de banco de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 49 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Ou seja, ao se elaborar um sistema, seu projeto de banco de dados é


idealizado em um esquema (como a figura acima).

Resposta: letra a).

3ª Questão) (FCC – TCE/SP - Agente da Fiscalização Financeira -


Produção e Banco de Dados – 2010) No catálogo são mantidos
a) esquemas internos, conceituais e externos, mapeamentos e metadados.
b) apenas os esquemas internos e os metadados.
c) apenas o esquema conceitual e os metadados.
d) apenas os esquemas internos, externos e os metadados.
e) apenas o mapeamento conceitual.

O catálogo, também chamado de dicionário de dados, guarda os


metadados do modelo relacional, que englobam mapeamentos, esquemas,
dados das relações, atributos, etc. A alternativa mais abrangente,
invariavelmente, será a correta.

Alternativa a).

4ª Questão) (FCC – TCE/AM – Analista Técnico de Controle Externo –


Tecnologia da Informação - 2012) O modelo conceitual de dados

a) é aquele em que os objetos, suas características e relacionamentos têm


a representação de acordo com as regras de implementação e limitantes
impostos por algum tipo de tecnologia.
b) é aquele em que os objetos, suas características e relacionamentos têm
a representação fiel ao ambiente observado, independente de limitações
quaisquer impostas por tecnologias, técnicas de implementação ou dispositivos
físicos.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 50 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
c) é aquele elaborado respeitando-se e implementando-se conceitos tais
como chaves de acesso, controle de chaves duplicadas, itens de repetição
(arrays), normalização, ponteiros e integridade referencial, entre outros.
d) é a fase da modelagem na qual é necessário considerar todas as
particularidades de implementação, principalmente o modelo que será utilizado
para a implementação futura.
e) está sempre associado às fases de projeto, contrastando com o modelo
lógico, que sempre está associado à fase de análise, quando utilizado com as
metodologias de desenvolvimento de sistemas e implementado por ferramentas
CASE.

A primeira fase do projeto do banco é o levantamento e análise de


requisitos, que na prática, é a especificação das necessidades do usuário do
banco. Entrevista-se o usuário do banco para entendimento e documentação dos
seus requisitos de dados.

A segunda fase é o projeto conceitual, em que já se criam descrições


detalhadas de tipos de entidades, relacionamentos, atributos e restrições. A
modelagem conceitual empregada baseia-se no mais alto nível e deve ser
usada para envolver o cliente. O modelo normalmente utilizado é o modelo
entidade-relacionamento.

Ilustração de modelagem conceitual usando o Diagrama E-R.

Posteriormente ocorre as especificações das necessidades funcionais,


depreendidas do próprio projeto conceitual. Caso exista algum impedimento
funcional para a implementação do banco, talvez seja necessário voltar ao
projeto conceitual e realizar algumas modificações.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 51 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Em seguida aparece o projeto lógico, ou mapeamento do modelo de
dados. A modelagem lógica, por sua vez, já realiza o mapeamento do
esquema conceitual para o modelo de dados que será usado. O modelo de dados
de implementação normalmente é o modelo de dados relacional.
Por fim, temos o projeto físico, durante a qual são definidas as estruturas
de armazenamento interno, índices, caminhos de acesso e organizações de
arquivo para os arquivos do banco de dados. Já passa a depender de regras de
implementação e restrições tecnológicas.

Voltando à questão:

a) Aborda o projeto lógico. Errada;


b) Correta;
c) Projeto lógico. Errada;
d) Especificações das necessidades funcionais. Errada;
e) Errada. O modelo conceitual está mais ligado à fase de análise, que não
tem detalhes de implementação nem dependência de tecnologia. Já o
modelo lógico está associado à fase de projeto, quando utilizado com as
metodologias de desenvolvimento de sistemas e implementado por
ferramentas CASE. Envolve conhecimento de Engenharia de Software.

5ª Questão) (FCC – ALESP - Agente Técnico Legislativo–


Administração de Banco de Dados – 2010) Um modelo de banco de dados é
uma descrição do tipo de informação que está ou será armazenada em um
banco de dados. O mesmo modelo de banco de dados pode ser descrito em
diversos níveis de abstração. Geralmente, utilizam-se os níveis
a) conceitual e prático.
b) escrito e lógico.
c) representativo e prático.
d) conceitual e lógico.
e) escrito e prático.

Visto na questão anterior! Modelo conceitual, lógico (ou representacional,


ou de implementação)e físico.

Alternativa d).

6ª Questão) (FCC – MPE/AM – Agente de Apoio – Programador -


2013) Um sistema de banco de dados deve apresentar um projeto que visa a
organização das informações e utilização de técnicas para que o futuro sistema
obtenha boa performance e também facilite as manutenções que venham a
acontecer.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 52 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
O projeto de banco de dados se dá em, pelo menos, duas fases:
Modelagem conceitual e

a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.

Outra abordagem da mesma banca. Alternativa a).

7ª Questão) (ESAF – CVM – Analista - Sistemas – 2010) Assinale a


opção correta.
a) Um banco de dados relacional é composto de roteamentos.
b) O projeto de um banco de dados é realizado segundo as fases
Modelagem Procedural, Projeto Lógico, Projeto Operacional.
c) O projeto de um banco de dados é realizado segundo as fases
Modelagem Conceitual, Projeto Lógico, Projeto Físico.
d) O projeto de um banco de dados é realizado por meio das fases
Modelagem Lógica e Modelagem Física.
e) Um banco de dados relacional é composto de configurações.

Alternativa c).

8ª Questão) (ESAF – Analista de Finanças e Controle –


Desenvolvimento de Sistemas de Informação – 2008) Administrar um
banco de dados constitui-se basicamente em instalar, configurar, monitorar e
solucionar problemas em um SGBD (Sistema Gerenciador de Banco de Dados).
Assim, constituem-se responsabilidades de um Administrador de Banco de
Dados (DBA), exceto:
a) planejar o projeto físico do banco de dados.
b) realizar, testar e manter cópias de segurança dos dados periodicamente.
c) monitorar o desempenho do servidor de banco de dados e tomar as
providências necessárias para atender as demandas dos usuários e sistemas.
d) definir regras para a nomenclatura utilizada nas tabelas e nos esquemas
do banco de dados.
e) definir e verificar periodicamente a segurança e integridade do servidor
de banco de dados.

A bibliografia cita 3 atores no processo de criação de um SGBD. A saber:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 53 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Projetista do Banco de Dados – os idealizadores do banco. Conversam
com os usuários para especificar requisitos e modelam conceitualmente o banco;
Administrador do Banco de Dados – implementam o banco e cuidam
dele durante seu ciclo de vida;
Usuário do Banco de Dados (ou Usuário Final) – especificam suas
necessidades, antes do BD, e o utilizam após sua criação.

Com estes conceitos em mente, sem se prender a detalhes, acho que as


únicas alternativas que podem colocar o candidato em dúvida são as alternativas
a) e d), pois as demais alternativas nitidamente são atribuições do DBA (apelido
para o Administrador do Banco de Dados). Um olhar mais atento vai fazer você
notar que a alternativa d) é uma atribuição do projetista do banco, sendo esta
a alternativa a ser marcada.

9ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) Quando uma transação A acessa o
banco de dados, o SGBD automaticamente bloqueia cada parte do banco que
essa transação altera ou requisita. Ao efetuar uma transação B em paralelo, o
SGBD também bloqueia partes do banco de dados que essa transação acessa.
Tais procedimentos se referem à característica de um SGBD denominada
controle de

a) integridade.
b) concorrência.
c) restrição.
d) desempenho.
e) restauração.

Para assegurar o isolamento de uma transação (I do ACID) o SGBD precisa


controlar a interação entre as transações concorrentes (transações simultâneas
que podem acessar e/ou manipular registros em comum). Tal mecanismo é
alcançado por meio se uma série de mecanismos chamados de esquemas de
controle de concorrência.

Resposta certa, alternativa b).

10ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados – 2010) NÃO é uma vantagem do SGBD:
a) controle de redundância.
b) compartilhamento de dados.
c) restrição a acesso não autorizado.
d) tolerância a falhas.
e) custo.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 54 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Já sabemos que adotar um SGBD custa caro!

Alternativa e).

11ª Questão) (FCC – TST – Analista Judiciário – Análise de Sistemas


– 2012) Um Sistema de Gerenciamento de Bancos de Dados (SGBD)
a) é um ambiente de suporte ao desenvolvimento de projetos de banco de
dados relacionais, que gera um modelo de banco de dados para ser
implementado em um servidor.
b) prepara aplicações para que possam acessar um ou mais bancos de
dados. Na linguagem de programação Java, por exemplo, o JDBC (Java Data
Base Connectivity) é um SGBD capaz de acessar dados de diferentes bancos.
c) oferece um conjunto de ferramentas que possibilitam o gerenciamento
de diferentes arquivos do tipo texto ou do tipo binário, armazenados em bancos
de dados, limitados aos formatos UNICODE ou ASCII.
d) consiste em uma tecnologia de servidores que opera sobre o protocolo
HTTP para a troca de dados e informações através de arquivos que transportam
mensagens no formato HTML.
e) faz a gerência de uma ou mais bases de dados, permitindo o
armazenamento e consulta de dados e informações pelos usuários finais e
programas de aplicação.

Das várias alternativas confusas, que passam por outros ramos da TI, a
alternativa e) apresenta uma afirmativa completa e coerente.

12ª Questão) (FCC – TCE/SP - Agente da Fiscalização Financeira -


Produção e Banco de Dados – 2010) As três visões da arquitetura básica de
um SGBD, pela ordem, desde a mais próxima do usuário até a mais distante,
são:
a) externa, conceitual e interna.
b) externa, interna e conceitual.
c) conceitual, interna e externa.
d) conceitual, externa e interna.
e) interna, conceitual e externa.

Para relembrar!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 55 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Alternativa a).

13ª Questão) (FCC – SEFAZ/SP - Agente Fiscal de Rendas –


Tecnologia da Informação – 2009) Considere:

I. O que se ocupa do modo como os dados são fisicamente armazenados.


II. O que se ocupa do modo como os dados são vistos por usuários
individuais.
III. Nível lógico de comunidade ou apenas lógico (mais abstrato que o físico
e diferente da visão do usuário individual).

Em um projeto arquitetural, os itens I, II e III são classificados,


respectivamente, como níveis
a) externo, conceitual e interno.
b) externo, interno e conceitual.
c) interno, externo e conceitual.
d) interno, conceitual e externo.
e) conceitual, externo e interno.

Relembrando:

Nível externo: abrange os esquemas externos, ou visões de usuário. Cada


esquema descreverá apenas a visão pertinente de cada usuário a respeito do
Banco de Dados, ocultando o restante. Por exemplo, para um aluno, de um
sistema de aulas online, somente determinada parte do BD lhe é relevante,
provavelmente relacionada aos cursos que realiza. Para um administrador

Prof. Victor Dalton


www.estrategiaconcursos.com.br 56 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
financeiro desse sistemas, por sua vez, aspectos administrativos serão mais
relevantes, relacionados aos pagamentos dos cursos e de pessoal.

Nível conceitual: possui um esquema conceitual, que descreve o banco de


dados como um todo. Oculta detalhes do armazenamento físico, enfatizando
entidades, tipos de dados e restrições.

Nível interno: apresenta um esquema interno, descrevendo a estrutura de


armazenamento físicos do banco de dados.

Alternativa c).

14ª Questão) (FCC – MPE/AM – Agente de Apoio – Programador -


2013) O sistema de banco de dados deve garantir uma visão totalmente
abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de
dados pouco importa qual a unidade de armazenamento está sendo usada para
guardar seus dados, contanto que os mesmos estejam disponíveis no momento
necessário.

Esta abstração se dá em três níveis:

I. Nível de visão do usuário: as partes do banco de dados que o usuário


tem acesso de acordo com a necessidade individual de cada usuário ou grupo de
usuários.
II. Nível conceitual.
III. Nível físico: é o nível mais baixo de abstração, em que define
efetivamente de que maneira os dados estão armazenados.

O Nível conceitual:

a) garante a integridade dos dados por aplicação de criptografia e o


controle de blocos de acesso.
b) especifica a maneira como os dados devem ser transferidos para a
memória.
c) determina o tipo de segurança que será utilizado no acesso aos dados.
d) apresenta o conceito de acesso (simétrico ou assimétrico) e as chaves
que serão utilizadas.
e) define quais os dados que estão armazenados e qual o relacionamento
entre eles.

Mais uma questão envolvendo os níveis. O mais interessante, entretanto, é


que as alternativas de a) a d) aproximam-se do nível físico de abstração. A

Prof. Victor Dalton


www.estrategiaconcursos.com.br 57 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
alternativa e) é a correta, pois no nível conceitual definem-se relações, tipos
de dados, restrições de integridade, dentre outros.

15ª Questão) (FCC – MPE/SE – Analista – Gestão e Análise de Projeto


de Sistema - 2013) Em projetos de Banco de Dados, o objetivo da arquitetura
de três-esquemas é separar o usuário da aplicação do banco de dados físico.
Nessa arquitetura, os esquemas podem ser definidos por três níveis:

I. O nível interno tem um esquema que descreve a estrutura de


armazenamento físico do banco de dados. Esse esquema utiliza um modelo de
dado físico e descreve os detalhes complexos do armazenamento de dados e
caminhos de acesso ao banco;
II. O nível conceitual possui um esquema que descreve a estrutura de todo
o banco de dados para a comunidade de usuários. O esquema conceitual oculta
os detalhes das estruturas de armazenamento físico e se concentra na descrição
de entidades, tipos de dados, conexões, operações de usuários e restrições.
Geralmente, um modelo de dados representacional é usado para descrever o
esquema conceitual quando o sistema de banco de dados for implementado.
Esse esquema de implementação conceitual é normalmente baseado em um
projeto de esquema conceitual em um modelo de dados de alto nível;
III. O nível interno ainda abrange os esquemas externos ou visões de
usuários. Cada esquema interno descreve a parte do banco de dados que um
dado grupo de usuários tem interesse e oculta o restante do banco de dados
desse grupo. Como no item anterior, cada esquema é tipicamente implementado
usando-se um modelo de dados representacional, possivelmente baseado em
um projeto de esquema externo em um modelo de dados de alto nível.

Está correto o que se afirma em

a) II, apenas.
b) II e III, apenas.
c) I, II e III.
d) I e II, apenas.
e) III, apenas.

Questão sem maiores dificuldades. Os itens I e II estão corretos, enquanto


o item III descreve o nível externo.

Alternativa d).

16ª Questão) (FCC – SEFAZ/SP - Agente Fiscal de Rendas –


Tecnologia da Informação – 2009) A independência de dados física e a

Prof. Victor Dalton


www.estrategiaconcursos.com.br 58 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
independência de dados lógica são possibilitadas de forma ideal,
respectivamente, por um
a) ou mais mapeamentos conceituais/internos e por um ou mais
mapeamentos internos/externos.
b) mapeamento conceitual/interno e por um ou mais mapeamentos
externos/conceituais.
c) mapeamento interno/externo e por um mapeamento conceitual/interno.
d) ou mais mapeamentos internos/externos e por um mapeamento
conceitual/interno.
e) mapeamento conceitual/externo e por um mais mapeamentos
conceituais/internos.

Nos nossos autos, consta que

Independência lógica é a capacidade de alterar o esquema conceitual


sem precisar modificar os esquemas externos.

Independência física é a capacidade de alterar o esquema interno sem


precisar modificar o esquema conceitual.

Coopera para o alcance da independência lógica um mapeamento bem feito


dos níveis externos para o nível conceitual. De maneira análoga, um
mapeamento adequando do nível conceitual para o nível interno possibilita a
independência lógica.

Alternativa b).

17ª Questão) (Cesgranrio – Petrobrás – Analista de Sistemas Júnior


– Engenharia de Software – 2010) A independência de dados lógica,
definição componente da arquitetura de três esquemas para sistemas de banco
de dados, corresponde à capacidade de se efetuarem
a) mudanças no nível conceitual, sem a necessidade de modificações no
nível externo e em programas aplicativos.
b) mudanças no nível interno, sem a necessidade de modificações nos
níveis conceitual e externo.
c) mudanças no nível externo, sem a necessidade de modificações nos
níveis interno e conceitual.
d) consultas em SQL sobre um banco de dados relacional, independente da
estruturação física dos dados armazenados.
e) consultas em SQL sobre um banco de dados relacional, independente da
lógica de programação usada em programas aplicativos.

Alternativa a).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 59 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

18ª Questão) (FCC – MPE/SE – Analista – Gestão e Análise de Projeto


de Sistema - 2013) A capacidade de alterar o esquema conceitual sem mudar
o esquema externo ou os programas, podendo modificar o esquema conceitual
para expandir o banco de dados (adicionando um tipo de registro ou item de
dados), variar as restrições ou reduzir o banco de dados (removendo um tipo de
registro ou item de dados) é chamada de

a) modularidade.
b) modelo conceitual.
c) independência lógica de dados.
d) polimorfismo.
e) agregação.

Alternativa c).

19ª Questão) (FCC – TRE/SP – Analista Judiciário – Análise de


Sistemas - 2012) É o modelo de dados que eliminou o conceito de hierarquia,
permitindo que um mesmo registro estivesse envolvido em várias associações.
Os registros, organizados em grafos, permitem o tipo de associação que define
uma relação 1:N entre os tipos de registros proprietário e membro. Assim, para
dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é
possível construir um relacionamento M:N entre A e D. Trata-se do modelo

a) em rede.
b) relacional.
c) hierárquico.
d) orientado a objetos.
e) distribuído.

Revisitando o histórico dos modelos

Modelo hierárquico: O modelo hierárquico foi o primeiro a ser


reconhecido como um modelo de dados. Nele, os registros são conectados em
uma estrutura de dados em árvore, similar a uma árvore invertida (ou às raízes
de uma árvore).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 60 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Modelo em rede: o modelo em rede acabou eliminando a hierarquia, pois


passou a permitir que, em tese, cada registro filho pudesse ser ligado a mais de
um registro pai.

Nesse caso, a estrutura em árvore se desfaz, e passa a se assemelhar a


uma estrutura em grafo. Relacionamentos N:M também passam a ser permitidos
(lembrando que o relacionamento é estabelecido entre registros).

Modelo relacional: O modelo relacional usa uma coleção de tabelas para


representar os dados e as relações entre eles.

Modelo Entidade/Relacionamento: O modelo de Entidade-


Relacionamento (E-R) é baseado na percepção de um mundo real que consiste
em uma coleção de objetos básicos, chamados entidades, e os relacionamentos
entre esses objetos (existem autores que falam em relação para descrever
relacionamentos.

Modelo de dados orientado a objetos: É uma extensão do modelo ER


com noções de encapsulamento de identidade do objeto (isso será visto em
programação).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 61 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Modelo de dados objeto-relacional: Combina características do modelo
relacional com o modelo orientado a objetos.

Visto essas informações, volte à questão e responda o que se pede.


Acredito que você marcará a alternativa a).

20ª Questão) (ESAF – MPOG – Analista de Planejamento e


Orçamento – Tecnologia da Informação – 2009) No modelo entidade-
relacionamento, a cardinalidade de mapeamento expressa
a) o número de entidades ao qual um relacionamento pode estar associado
a um outro relacionamento.
b) o número de relacionamentos ao qual outro relacionamento pode estar
associado via uma entidade.
c) o critério de classificação segundo o qual os relacionamentos associam
entidades.
d) o número de entidades ao qual outra entidade pode estar associada via
um relacionamento.
e) o posicionamento de uma entidade dentro do mapeamento do modelo.

Sabemos que a cardinalidade serve para expressar o número de


entidades que uma entidade pode associar-se, por meio de um
relacionamento.

O restante é para causar confusão. Alternativa d).

21ª Questão) (UEL – Sercomtel – Informática III – 2005) Para um


conjunto de relacionamentos binários a cardinalidade NÃO pode ser:
a)Um para um (1:1): uma entidade E1 pode estar associada no máximo a
uma entidade E2 através de R; e uma entidade de E2 pode estar associada a no
máximo uma entidade E1, através de R.
b)Um para muitos (1:N): uma entidade E1 pode estar associada a várias
entidades E2; e uma entidade de E2 pode estar associada a no máximo uma
entidade E1.
c)Muitos para um (N:1): uma entidade E1 pode estar associada no máximo
a uma entidade E2; e uma entidade de E2 pode estar associada a várias
entidades de E1.
d)Muitos para muitos (N:N): uma entidade E1 pode estar associada a
várias entidade E2; e uma entidade de E2 pode estar associada a várias
entidades de E1.
e)Um para muitos (1:N): uma entidade E1 pode estar associada a várias
entidade E2 ou nenhuma; e uma entidade de E2 pode estar associada a
nenhuma ou muitas entidades de E1.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 62 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Conhecida a cardinalidade, você já resolve a questão. As quatro primeiras
alternativas exemplificam bem as várias cardinalidades.

A alternativa incorreta, letra e).

22ª Questão) (FCC – Prefeitura de SP – Auditor Fiscal Tributário


Municipal I – Tecnologia da Informação - 2012) Considere o seguinte
diagrama ER parcial de um banco de dados.

De acordo com a cardinalidade das associações, um

a) projeto emprega pelo menos um empregado e é controlado por


exatamente um departamento.
b) empregado trabalha em pelo menos um projeto e gerencia exatamente
um departamento.
c) empregado trabalha em zero ou mais projetos e gerencia exatamente
um departamento.
d) departamento é gerenciado por exatamente um empregado e controla
pelo menos um projeto.
e) departamento é gerenciado por exatamente um empregado e controla
zero ou mais projetos.

Se lembra como interpretar esse diagrama? Vem comigo!

Empregado gerencia departamento. Pelas linhas simples e duplas, vejo


que nem todo empregado gerencia departamento, mas todo departamento tem
um gerente, e apenas um, pois a cardinalidade é 1:1;
Empregado trabalha em projeto. Linhas simples, e relacionamento N pra
M. Isso quer dizer que nem todo empregado trabalha em um projeto, e nem

Prof. Victor Dalton


www.estrategiaconcursos.com.br 63 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
todo projeto tem empregados. Um empregado pode trabalhar em vários
projetos, e projetos podem ter vários empregados;
Departamento controla projeto. Cardinalidade 1 pra N, linhas duplas em
projeto. Logo, nem todo departamento controla projeto, mas cada projeto tem
que ter um departamento que o controle, e apenas um!

Conseguiu acompanhar?

Agora você tem uma questão de lógica para resolver. Leia alternativa a
alternativa, e descubra porque a alternativa e) é a correta.

23ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) Quando do projeto de um banco de dados relacional, pode
haver a indicação de que um conjunto de entidades tem participação total em
um conjunto de relacionamentos, isto significa que

a) cada entidade do conjunto de entidades participa em todos os


relacionamentos do conjunto de relacionamentos.
b) há, no mínimo, metade das entidades do conjunto de entidades que
participam em pelo menos um relacionamento do conjunto de relacionamentos.
c) as entidades do conjunto de entidades não possuem atributos do tipo
booleano ou do tipo data.
d) cada entidade do conjunto de entidades participa em pelo menos um
relacionamento do conjunto de relacionamentos.
e) todos os atributos do conjunto de entidades são indexados com a técnica
de árvores binárias.

Participação total e parcial!

A linha dupla indica participação total, e a entidade ligada por linha dupla
exige que ela se relacione com pelo menos uma entidade do outro lado do
relacionamento. Já a linha simples indica o relacionamento, mas pode ser que
nem toda entidade possua um relacionamento. Você lembra disso?

Uma coisa ruim das bancas é não diferenciar entidade de instância de


entidade. Quando se fala da entidade Projeto, em tese, me refiro à entidade
projeto de modo genérico. Quando se fala de cada entidade Projeto, na
verdade estão se referindo às instâncias de entidade, que, na prática,
correspondem ao registros que estão no Banco de Dados, conforme expliquei
para você na teoria.
A questão seria bem mais clara se ela, ao invés de falar “cada entidade” do
“conjunto de entidades”, falasse “instância das entidades” das “entidades”.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 64 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Nossa resposta certa, alternativa d).

24ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) Considere o seguinte diagrama Entidade-Relacionamento,
resultante da modelagem de um banco de dados relacional:

A partir desse diagrama, pode-se afirmar que

a) uma loja não possui todos os produtos.


b) uma loja possui um número par de departamentos.
c) cada departamento pode possuir vários produtos.
d) um mesmo produto não pode estar em mais de uma loja.
e) o número de lojas é impar.

Outra questão para exercitar seu entendimento do modelo E-R. De


antemão, a alternativa c) é a correta, e as demais são premissas falsas, pois
fazem afirmações mais contundentes do que as contidas no diagrama. Exercite
seu entendimento!

25ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) A técnica de diagramação no modelo de Entidade-
Relacionamento é bem simples. Utiliza basicamente um losango para
representar ...I... e um retângulo para representar ...II... .

As lacunas I e II são preenchidas, correta e respectivamente, por

a) relacionamentos – entidades
b) atributos − relacionamentos
c) entidades − relacionamentos
d) entidades − atributos
e) atributos − entidades

Relembrando:

Retângulos: são as entidades.


Losangos: representam os relacionamentos.
Elipses: representam os atributos (ausente neste diagrama).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 65 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Linhas: vinculam conjuntos de entidades a conjuntos de relacionamentos.
Linhas duplas: indicam participação total de uma entidade em um
conjunto de relacionamentos.
Resposta certa, alternativa a).

26ª Questão) (FCC – TRT/6ª Região – Analista Judiciário –


Tecnologia da Informação - 2012) Um banco de dados relacional é um banco
de dados projetado segundo o chamado modelo relacional, que é um modelo de
banco de dados baseado na lógica de predicados de primeira ordem. O objetivo
do modelo é o de proporcionar uma linguagem declarativa para a descrição
tanto dos dados como de consultas a seu respeito, de maneira que o usuário
declara tanto a informação contida no banco de dados como a informação que
dele deseja extrair, deixando a cargo do sistema gerenciador do banco de dados
a tarefa de estabelecer estruturas de armazenamento de dados bem como os
procedimentos de recuperação destes dados para responder consultas. O modelo
relacional foi proposto formalmente há mais de 40 anos.

O texto acima está

a) incorreto, porque o modelo relacional é baseado na lógica de predicados


de segunda ordem.
b) correto.
c) incorreto, porque o modelo relacional não conduz naturalmente a uma
linguagem declarativa de descrição de dados ou consultas.
d) incorreto, porque nos bancos de dados relacionais, a tarefa de descrever
os procedimentos de recuperação dos dados para a resposta a consultas é tarefa
do usuário.
e) incorreto, porque o modelo relacional foi proposto há menos de 30 anos.

Tópicos importantes da longa sentença:

Lógica de predicados de primeira ordem: sem nos aprofundarmos muito, a


lógica de predicados de primeira ordem está refletida em frases como “cada
departamento possui um ou mais funcionários”, ou “cada funcionário possui um
único gerente”.

“...a cargo do sistema gerenciador do banco de dados a tarefa de


estabelecer estruturas de armazenamento de dados bem como os
procedimentos de recuperação destes dados para responder consultas”:o que
isso quer dizer? Vou direto a um exemplo. O site da TAM é uma aplicação.
Quando você procura uma passagem para um trecho em um determinado dia e
clica em cima do botão compre seu bilhete, não é você usuário que está
buscando no banco de dados a informação. Você está apenas declarando o que
quer. Será o SGBD que, ao receber essas informações por meio da aplicação do

Prof. Victor Dalton


www.estrategiaconcursos.com.br 66 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
site, realizará a busca na base de dados e trará a informação mastigada. Aí a
aplicação do site, com as informações já extraídas, monta pra você a tela dos
trechos disponíveis pra compra. Entendeu?
Agora releia a sentença. Já ficou mais “digerível”. Eu sei que existe muita
nomenclatura técnica e nova para você, mas a leitura repetitiva destes termos
vai fazer com que você cada vez mais absorva esse conteúdo com naturalidade.
A frase é longa, mas está completamente correta.

Alternativa b). As demais alternativas estão desmentidas dentro da


própria frase gabarito.

27ª Questão) (ESAF – SUSEP – Analista Técnico – Tecnologia da


Informação - 2010) Em Sistemas Gerenciadores de Bancos de Dados (SGBD),
existem as seguintes categorias de restrições de integridade:
a) Integridade de domínio, Integridade de vazio, Integridade de chave,
Integridade referencial.
b) Integridade de acesso, Integridade de entrada, Integridade de saída,
Integridade referencial.
c) Integridade de domínio, Integridade de completude, Integridade de
chave, Integridade posicional.
d) Integridade de cardinalidade, Integridade de vazio, Integridade de
autorização de acesso, Integridade associativa.
e) Integridade de generalização/especialização, Integridade de usuários,
Integridade de chave, Integridade referencial.

São restrições de integridade:

 Domínio – amarrando os possíveis valores de um atributo (inteiro,


string, não nulo, positivo, tipo, etc.)
 Vazio – dizer se um campo pode ou não ser null. Não deixa de ser
um subitem da integridade de domínio.
 Chave – impedindo que uma chave primária se repita, ou seja
nula;
 Referencial – assegurando que uma chave estrangeira possua
respectiva associação na tabela de origem;

Resposta certa, alternativa a).

28ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) No projeto de bancos de dados relacionais é usual a tarefa de

Prof. Victor Dalton


www.estrategiaconcursos.com.br 67 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
permitir ou restringir a presença de valores nulos para determinados atributos.
O significado de um valor nulo é

a) o valor zero.
b) um valor especial designado pelo código ASCII da tecla #.
c) o valor correspondente à tecla F12.
d) a ausência de valor.
e) um valor fora do domínio do atributo.

O correto, e mais coerente dentre as alternativas, é que o valor nulo


representa a ausência de valor.

Alternativa d).

29ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados – 2010) NÃO é uma restrição de
integridade básica:
a) de vazio.
b) de domínio.
c) de entidade.
d) de chave.
e) referencial.

Alternativa c).

30ª Questão) (FCC – TRT/1ª Região – Analista Judiciário –


Tecnologia da Informação – 2014) No modelo entidade-relacionamento
utilizado para modelar Bancos de Dados relacionais, quando se indica que há um
conjunto de relacionamentos do tipo muitos para muitos entre 2 conjuntos de
entidades A e B, significa que

(A) uma entidade do conjunto A está sempre associada a mais de uma


entidade de conjunto B e vice-versa.
(B) uma entidade do conjunto A pode estar associada a várias entidades do
conjunto B e vice-versa.
(C) os conjuntos de entidades A e B possuem, cada um deles, número igual
de atributos.
(D) os conjuntos de entidades A e B possuem diversos atributos com a
possibilidade de terem valores nulos.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 68 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
(E) uma entidade do conjunto B está associada a apenas uma entidade do
conjunto A, mas uma entidade do conjunto A está associada a várias entidades
do conjunto B.

Em um relacionamento muitos-para-muitos entre A e B, uma entidade de A


poderá se relacionar com várias entidades de B, assim como uma entidade de B
se relaciona com várias entidades de A.

Resposta certa, alternativa b).

31ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação - 2010) Um modelo de banco de dados relacional
deve conter no mínimo a definição de
a) tabelas, colunas das tabelas e restrições de integridade.
b) títulos, colunas dos atributos e restrições de integridade.
c) títulos, colunas das tabelas e restrições de manutenção.
d) tabelas, relações entre linhas das tabelas e opções de integridade.
e) associações de restrição, colunas referenciadas e restrições de
desempenho.

Pois então, um banco de dados relacional, em sua concepção, necessita de


suas tabelas, das colunas das tabelas(os seus atributos), e de suas restrições de
integridade, fundamentais para a consistência do banco de dados.

Resposta correta, alternativa a).

32ª Questão) (FCC – TCE/AM – Analista Técnico de Controle Externo


– Tecnologia da Informação - 2012) Em relação a bancos de dados, uma
chave primária pode ser formada por uma ou mais colunas e deve possuir um
identificador único para
a) cada uma das colunas pertencente a essa chave.
b) cada coluna da tabela.
c) uma tupla (formada por linhas e colunas).
d) todos os registros da tabela.
e) cada linha da tabela.

Todo registro em um banco de dados precisa de um atributo, ou vários, que


possibilitem caracterizar aquele registro no banco como único. Ex:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 69 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
cod_cliente endereco telefone cidade estado
1 Rua Siqueira (51) 3214- Porto Alegre RS
Campos, 1044 5000
2 Rua Siqueira (51) 3214- Porto Alegre RS
Campos, 1044 5000
3 Avenida Mauá, 1055 (51) 3224- Porto Alegre RS
3364
4 Avenida Mauá, 1055 (51) 3224- Porto Alegre RS
3364

A diferenciação entre as tuplas (ou registros, que são as linhas da tabela)


se faz por meio da chave primária. No caso, o atributo codigo_cliente.

A chave primária é o atributo(coluna) ou atributos(colunas), que


asseguram que cada tupla (linha) da tabela é única.

Resposta certa, alternativa e).

33ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação – 2010) Em Abordagem Relacional
a) uma chave relacionada é uma coluna cujos valores distinguem atributos
de relacionamentos.
b) a chave estrangeira é o mecanismo que permite a implementação de
relacionamentos em um banco de dados relacional.
c) a chave estrangeira é uma coluna ou uma combinação de colunas cujos
valores não aparecem na chave primária de uma tabela.
d) uma chave primária é uma linha ou uma combinação de linhas cujos
valores distinguem uma coluna das demais dentro de uma tabela.
e) a chave estrangeira é uma linha ou uma combinação de linhas cujos
valores necessariamente aparecem na chave primária de uma tabela.

Opa, você já consegue responder esta questão? Vejamos as alternativas:

a) Tão errada que lhe confunde. Uma chave primária é uma coluna ou
uma combinação de colunas cujos valores distinguem uma tupla
das demais dentro de uma tabela.
b) Certa.
c) Não necessariamente. Chaves estrangeiras podem integrar chaves
primárias de uma tabela!
d) Quase! Uma chave primária é uma coluna ou uma combinação de
colunas cujos valores distinguem uma linha das demais dentro
de uma tabela.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 70 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
e)Não necessariamente. A chave que restringe unicidade (a primária) pode
ou não ser a chave que restringe relacionamento (a estrangeira), pois são
conceitos independentes.

Nossa resposta correta, portanto, é a letra b).

34ª Questão) (FCC – TRT/6ª Região – Analista Judiciário –


Tecnologia da Informação - 2012) No modelo entidade-relacionamento,
a) entidades podem ter atributos, mas relacionamentos não podem ter
atributos.
b) uma chave é um conjunto de atributos cujos valores identificam um
relacionamento de maneira única.
c) um relacionamento é uma associação entre atributos.
d) todo relacionamento tem uma chave.
e) uma chave é um conjunto de atributos cujos valores identificam uma
entidade de maneira única.

Outra questão do modelo entidade-relacionamento. Vamos lá:

a) Entidades podem ter atributos? Devem! Relacionamentos podem ter


atributos? Podem! Não é obrigação;
b) Errada. Explico na alternativa e).
c) Errada! O relacionamento associa entidades!
d) Não necessariamente. Quando um relacionamento vira uma tabela, a
chave pode ser a composição das chaves primárias das entidades que
relaciona. Tem relacionamentos que nem tabela viram (como o exemplo
usuario – comentario).
e) Correta, embora a questão não esteja bem redigida. No modelo
entidade-relacionamento, ou seja, no nível conceitual, não se fala em
tuplas, ou registros. Você logo deve ter pensado: uma chave é um
conjunto de atributos cujos valores identificam um
(registro/tupla/linha da tabela) de maneira única. Isso está correto,
quando falamos do modelo relacional. No modelo ER, quando
queremos nos referir a um registro, fala-se em instância ou
ocorrência da entidade. Logo, a redação mais adequada seria “uma
chave é um conjunto de atributos cujos valores identificam uma
ocorrência de entidade de maneira única”, ou “uma chave é um
conjunto de atributos cujos valores identificam uma instância de
entidade de maneira única”. De qualquer forma, a FCC não anulou a
questão.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 71 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
35ª Questão) (FCC – TJ/RJ – Analista Judiciário – Analista de
Suporte – 2012) Considere:
I. Se uma transação é concluída com sucesso (operação commit bem
sucedida), então seus efeitos são persistentes.
II. Ou todas as ações da transação acontecem, ou nenhuma delas
acontece.
As propriedades (I) e (II) das transações em SGBDs, significam,
respectivamente,
a) durabilidade e consistência.
b) persistência e automação.
c) isolação e atomicidade.
d) durabilidade e atomicidade.
e) consistência e persistência.

Idealmente, toda transação em um banco de dados deverá ser:

Atômica: ou a transação é feita ou não é feita. Parece óbvio, mas


transações complexas em um banco, envolvendo várias tabelas, podem sofrem
interrupções inesperadas, ou não conseguirem terminar por entrar em conflito
com outra que ocorra ao mesmo tempo. Nesse caso, o SGBD deverá ser capaz
de reverter o que parcialmente foi modificado (realizar o rollback);

Consistente: os dados deverão permanecer íntegros e obedientes às


regras do banco de dados (metadados);

Isolada: o resultado de uma transação executada concorrentemente a


outra deve ser o mesmo que o de sua execução de forma isolada. Operações
exteriores a uma dada transação jamais verão esta transação em estados
intermediários.

Durável: os efeitos de uma transação em caso de sucesso (commit) devem


persistir no banco de dados mesmo em presença de falhas. os dados
modificados devem estar disponíveis em definitivo.

Portanto, alternativa d).

36ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados – 2013) O conceito de transações em um banco de dados relacional
envolve algumas propriedades conhecidas e agrupadas sob o acrônimo ACID. A
letra D nesse acrônimo significa Durabilidade, sendo que seu conceito indica que
a) todas as regras de consistência previamente programadas no banco de
dados serão automaticamente excluídas.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 72 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) cada transação é independente das demais, não gerando influência nas
demais transações eventualmente existentes.
c) os tipos de dados definidos não dependem do sistema gerenciador de
banco de dados utilizado.
d) ao término de uma transação, eventuais alterações em valores das
tabelas do banco de dados devem persistir, mesmo que ocorram falhas no
sistema de banco de dados.
e) é necessário utilizar um sistema gerenciador de banco de dados capaz
de implementar mecanismos de controle de concorrência.

Alternativa d).

37ª Questão) (UEL – SEAP – Analista de Sistemas – 2009) Os sistemas


gerenciadores de bancos de dados devem garantir que as transações por eles
suportadas possuam o conjunto das seguintes propriedades:

a) Atomicidade, consistência, isolamento, durabilidade.


b) Atomicidade, consistência, independência de dados, durabilidade.
c) Atomicidade, consistência, independência de dados, isolamento.
d) Atomicidade, consistência, isolamento, replicação.
e) Atomicidade, consistência, durabilidade, robustez.

Resposta certa, alternativa a).

38ª Questão) (FCC – SEFAZ/SP – Agente Fiscal de Rendas – 2013)


Para responder às próximas questões, considere o texto a seguir:
A empresa Express conta com diversas equipes de desenvolvimento, nas
áreas de software em geral, incluindo técnicas estruturadas e de orientação a
objetos. Essas equipes estão em constante aperfeiçoamento, visando mantê-las
sempre atualizadas com as técnicas mais recentes da engenharia de software,
incluindo-se aí a área de bancos de dados.
A Express atende clientes de diversos perfis, abrangendo pequenas, médias
e grandes empresas. Dessa forma, os sistemas de computação solicitados
também atendem a esse perfil, compreendendo sistemas de pequeno, médio e
grande porte.
A Express conta com equipes especializadas, de grande experiência nas
áreas acima destacadas, estando, portanto, apta a atender desde um simples
produto até um grande sistema de software. Dessa forma, os produtos
desenvolvidos pela Express possuem, normalmente, uma qualidade bastante
apurada, o que pode ser verificado pelas diversas técnicas existentes.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 73 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Uma das normas da Express é a de produzir documentação de excelente
qualidade, cuja finalidade é, não apenas para entrega aos clientes, mas também
para possibilitar a manutenção adequada dos produtos desenvolvidos.

No projeto de seus bancos de dados, a Express faz uso da modelagem


relacional, na qual é necessário definir os domínios dos atributos de uma
relação. Um domínio é considerado atômico se, na aplicação em questão,
a) o comprimento máximo de seus valores tiver até 255 caracteres.
b) seus elementos forem considerados como indivisíveis.
c) não houver caractere especial nos valores dos atributos, tais como $ e
@.
d) forem admitidos apenas letras e espaços como caracteres válidos.
e) não forem admitidos valores nulos.

Atributos atômicos são aqueles que não podem ser divididos! Alternativa
b).

39ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Analista de Sistemas - 2013) Quando da modelagem de dados de um banco
de dados relacional, podem ser utilizados atributos compostos, sobre os quais é
correto afirmar que
a) podem ser decompostos em outros atributos simples ou ainda
compostos.
b) são sempre formados por um atributo do tipo numérico e um do tipo
literal.
c) não podem conter atributos do tipo booleano em sua formação.
d) não admitem valores nulos em sua composição.
e) fazem parte, obrigatoriamente, da chave primária do conjunto de
entidades ao qual são vinculados.

Alternativa a).

40ª Questão) (FCC – SEFAZ/SP – Agente Fiscal de Rendas – 2013) No


projeto de bancos de dados relacionais, a Express tem preocupação de produzir
modelos mais adequados. A chave primária de uma relação de um banco de
dados relacional

a) só pode servir como chave estrangeira de, no máximo, uma outra


relação.
b) não pode ser indexada, quando da implementação do banco de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 74 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
c) não pode conter atributos do tipo Data.
d) pode ser formada por mais de um atributo.
e) não pode conter mais do que um atributo.

A chave estrangeira é um único atributo, que estabelece um


relacionamento com uma chave primária em outra tabela, embora você possa
ter várias chaves estrangeiras em uma mesma tabela. A chave primária, por
sua vez, é um atributo ou conjunto de atributos que identifica um registro de
maneira única em uma tabela.

Alternativa d).

41ª Questão) (FCC – Prefeitura de SP – Auditor Fiscal Tributário


Municipal I – Tecnologia da Informação - 2012) Considere o seguinte
projeto conceitual de um banco de dados:

Para se construir o projeto lógico deste banco de dados, no mapeamento do


relacionamento ExpostoEm e seus atributos,

a) pode ser criada uma relação ExpostoEm, contendo como chaves


estrangeiras as chaves primárias das relações correspondentes às entidades
Produto, Loja e Lote e como atributos Unidade e Quantidade.

b) os atributos Unidade e Quantidade podem ser adicionados à relação


correspondente à entidade Lote. O atributo CodLote deve ser chave estrangeira
nas relações correspondentes às entidades Produto e Loja.

c) os atributos Unidade e Quantidade podem ser adicionados à relação


correspondente à entidade Loja. O atributo CodLoja deve ser chave estrangeira
nas relações correspondentes às entidades Produto e Lote.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 75 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) pode ser criada uma relação ExpostoEm, contendo como atributos
CodExposicao, Unidade e Quantidade. O atributo CodExposicao é a chave
primária desta relação e deve aparecer como chave estrangeira na relação
correspondente à entidade Lote.

e) pode ser criada uma relação ExpostoEm, contendo como atributos


CodExposicao, Unidade e Quantidade. O atributo CodExposicao é a chave
primária desta relação e deve aparecer como chave estrangeira nas relações
correspondentes às entidades Produto, Loja e Lote.

Questão desafio! Mais para você enxergar os conceitos todos se


relacionando, essa é questão típica para quem é de Tecnologia da Informação...

O projeto conceitual, você já sabe, vem antes do projeto lógico. Ele resulta
em diagramas como o acima: algo bem alto nível, pro projetista sentar com o
cliente e conversar, para saber se é isso que ele realmente quer. No projeto
lógico já começa a ser definido como as tabelas ficam na base de dados. Perceba
também algo que eu lhe falei antes: nesta questão, nitidamente relação é
tabela!

Vou colocar o diagrama novamente:

Antes de mais nada, um erro da banca: perceba que CodLote deveria estar
em uma elipse. Mas isso não nos impede de prosseguir.

Agora, comecemos pelas entidades. Inevitavelmente, as entidades virarão


tabelas no banco de dados. Vou escrevê-las em notação relacional, que você
facilmente entenderá:

Produto (CodProduto, Nome);

Prof. Victor Dalton


www.estrategiaconcursos.com.br 76 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Lote (CodLote);
Loja (CodLoja, Local);

Os atributos sublinhados são as chaves. Há autores que sublinham as


chaves primárias “cheio” e as estrangeiras “tracejado”, enquanto outros
sublinham todas “cheio”. Na prática, isso não é um problema, pois é possível
reconhecer as chaves primárias e estrangeiras.

Nesse caso, as chaves são todas primárias. Atributos do tipo código quase
sempre são chaves.

Agora, veja o relacionamento ExpostoEm. Ele é a chave para resolvermos


o exercício.

O produto, de um lote, exposto em uma loja, acrescido dos campos


unidade e quantidade (já impostos pela questão), precisa de uma tabela de
ligação. Podemos descrevê-la como:

ExpostoEm (CodProduto, CodLote, CodLoja, Unidade, Quantidade)

Captou? CodProduto, CodLote e CodLoja são todas chaves estrangeiras, e,


juntas, compõem a chave primária dessa nova relação.

Agora volte e leia as alternativas.


A alternativa a) propõe exatamente o que eu falei aqui. Está correta, mas
vejamos as outras;

As alternativas b) e c) propõem levar os atributos Unidade e Quantidade


para as tabelas Lote ou Loja. Mas o próprio diagrama mostra que esses
atributos, dado um determinado registro, só existem quando um produto de um
lote é exposto em uma loja. Então estão erradas;

Já as alternativas d) e e) começam “menos mal”, criando a tabela


ExpostoEm, criando um CodExposicao, inserindo Unidade e Quantidade. Mas ela
erra ao tentar colocar CodExposicao como chave estrangeira em outra tabela.
Por que? Porque a tabela que contiver esse código, seja qual for,
obrigatoriamente teria que estar “exposto em”. E a relação, conforme foi
definida no projeto conceitual, não funciona assim. Afinal de contas, somente
quando o produto de um lote for exposto em uma loja é que se definirão
unidade e quantidade. Podem haver produtos não expostos, lojas que não estão
expondo e lotes não levados à exposição.

Compreendido? Difícil? Se você entendeu esse exercício, sua visão de


banco de dados está excelente! Caso contrário, leia um pouco mais, mas não
deixe sua consciência pesar por causa disso, tudo bem?

Prof. Victor Dalton


www.estrategiaconcursos.com.br 77 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

42ª Questão) (FCC – MPE/CE – Analista Ministerial – Ciências da


Computação - 2013) O modelo de dados relacional é baseado em uma coleção
de ...I... . O usuário pode consultá-las e inserir, excluir e atualizar ...II... . A
...III... define um conjunto de operações sobre relações e as linguagens de
consulta são baseadas nela. O modelo de dados ...IV... é amplamente usado
para o projeto do banco de dados, oferecendo uma representação gráfica para
visualizar dados, relacionamentos e ...V....

Preenchem as lacunas, correta e respectivamente, o que consta em

Vamos fazer essa questão raciocinando juntos?

O modelo de dados relacional é baseado em uma coleção de (tabelas ou


relações). Descartamos apenas a alternativa e).

O usuário pode consultá-las e inserir, excluir e atualizar (registros ou


tuplas). Só sobrou a alternativa c)!

A álgebra relacional define um conjunto de operações sobre relações e as


linguagens de consulta são baseadas nela. O modelo de dados E-R é
amplamente usado para o projeto do banco de dados, oferecendo uma
representação gráfica para visualizar dados, relacionamentos e restrições.

43ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados e Arquitetura de Dados - 2010)
Maneira alternativa de observação de dados de uma ou mais entidades − tabelas
−, que compõe uma base de dados. Pode ser considerada como uma tabela
virtual ou uma consulta armazenada. Trata-se de

a) table shadow.
b) view.
c) shadow table.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 78 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) table blour.
e) blour table.

Sem mais, meritíssimo. Tabela virtual – View!

Alternativa b).

44ª Questão) (FCC – BACEN – Analista – Área 2 – 2005 - adaptada)


Sobre definição e manipulação de visão, analise:

I. Uma VIEW provê mais segurança, pois permite esconder parte dos dados
da tabela real.
II. Os dados que compõem a VIEW são armazenados separadamente da
tabela real.
III. Uma linha inserida na VIEW, com todas as colunas, será inserida na
tabela real.

É correto o que consta APENAS em

a) I,II e III.
b) I e II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, somente.

Analisando os itens:

I. Correto. Podemos ocultar alguns atributos da tabela real em uma view,


seja por segurança ou por conveniência ao usuário final.
II. Errado! View não armazena dados! A view é uma tabela virtual que
mostra os elementos de outras tabelas!
III. Correto. Para ser atualizável, via de regra, uma view deverá:

 Influenciar apenas uma tabela do banco de dados;

 Em caso de atributos ocultos na view, ou esse atributo deve ser


gerado automaticamente (no caso de um código, por exemplo),
ou possuir valor default, ou poder ser nulo (null).

No caso de uma view que possui todas as colunas de uma tabela real, uma
inserção de uma linha, nessa view, insere, na verdade, um registro na tabela
real.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 79 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

45ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) Na


modelagem Entidade-Relacionamento (ER) uma propriedade importante de um
relacionamento é a de quantas ocorrências de uma entidade podem estar
associadas a uma determinada ocorrência através do relacionamento. Tal
propriedade é chamada de

a) dependência funcional

b) normalização

c) generalização/especialização

d) relacionamento identificador

e) cardinalidade.

Quantidades de ocorrências associando-se com outras ocorrências por meio


de um relacionamento. Hmm.... inevitavelmente estamos falando de
cardinalidade.

Alternativa e).

46ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) A


definição “software que incorpora as funções de definição, recuperação e
alteração de dados em um banco de dados”, melhor corresponde a:

a) Modelo de banco de dados.

b) Linguagem de Consulta Estruturada (SQL).

c) Sistema de Gerência de Banco de Dados (SGDB).

d) Interpretador eXtended Markup Language (XML).

e) Sistemas de arquivos.

Depois que a gente estuda fica trivial, não é mesmo? Alternativa c).

47ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012)


Como se denomina o modelo de dados abstrato que descreve a estrutura de um
banco de dados de forma independente de um SGDB particular?

a) Modelo físico.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 80 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) Modelo de dados.

c) Modelo virtual.

d) Modelo conceitual.

e) Modelo lógico.

Questões diferentes, bancas diferentes, e ocorrem as mesmas perguntas! O


modelo de dados que é totalmente independente de um SGBD particular é o
modelo conceitual.

Alternativa d).

48ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) A


técnica de modelagem de dados mais difundida é a abordagem entidade-
relacionamento. À luz dessa modelagem, o que se entende por relacionamento?

a) O conjunto de associações entre as entidades que serão armazenadas no


banco de dados.

b) As informações de uma determinada entidade do banco de dados.

c) Um par específico de entidades.

d) A definição dos possíveis valores que uma determinada entidade pode


assumir.

e) Um identificador que distingue de forma unívoca a ocorrência de uma


entidade das demais ocorrências dessa mesma entidade.

O relacionamento é o elemento que associa as entidades, permitindo a


implementação do modelo relacional. Portanto, alternativa a). Apenas para
saciar a sua curiosidade,

A alternativa b) refere-se a registro;

A alternativa c) não diz nada;

A alternativa d) cita a restrição de domínio; e

A alternativa e) cita a chave primária.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 81 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
49ª Questão) (CETRO – Prefeitura de Manaus/SEMSA – Analista de
Sistemas – 2012) Assinale a alternativa que apresenta a representação
adequada para uma entidade forte no modelo E-R.

a) Losango.

b) Retângulo de borda dupla.

c) Pequeno retângulo de cantos arredondados.

d) Losango de borda dupla.

e) Retângulo.

Uma entidade forte, ou entidade normal, é um retângulo. Os


relacionamentos são losangos.

As entidades fracas são representadas pelos retângulos de borda dupla, e o


losango de borda dupla indica relacionamento envolvendo entidade fraca. Se
você marcar “Pequeno retângulo de cantos arredondados”, eu paro a aula por
aqui, rs.

Alternativa e).

50ª Questão) (CETRO – ANVISA – Analista Administrativo Área 5 –


2013) Com relação às chaves substitutas em banco de dados, analise as
assertivas abaixo.

I. Sempre envolvem exatamente um atributo.

II. Elas servem somente para representar o fato de que entidades


correspondentes existem.

III. Quando uma entidade é excluída, o valor de sua chave substituta


deverá ser alocado para a primeira nova entidade adicionada.

É correto o que se afirma em

a) I e III, apenas.

b) I e II, apenas.

c) II e III, apenas.

d) I, II e III.

e) II, apenas.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 82 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
A chave substituta, ou surrogate key, ou chave artificial, é um campo,
normalmente auto incremental, que pode (não é obrigatório) ser utilizado para
definir a chave primária de uma tabela, de uma maneira genérica. É útil,
particularmente, para substituir chaves primárias compostas por muitos
atributos, o que costuma impactar negativamente a performance do banco de
dados.

* Nome Telefone
1 Paulo (11) 99999-8888
2 Paulo (11) 99999-7777
3 Paulo (11) 3030-3131
4 Marta (11) 5678-9012
5 Marta (11) 99988-9876
6 Rita (11) 98765-4321
Chave substituta: coluna não identificada, marcada com *

Algumas características da chave substituta:

 O valor é único para a tabela, portanto nunca reutilizado (ou seja,


em caso de exclusão, o número não será reutilizado);
 O valor é gerado pelo sistema(automaticamente);
 O valor não é manipulável pelo usuário ou aplicação;
 O valor não contém nenhum significado semântico;
 O valor não é visível para o usuário ou aplicação (no caso de
modelagem relacional);
 O valor não é composto de vários valores a partir de diferentes
domínios.

Voltando à questão, percebe-se que apenas o item III é equivocado, uma


vez que o valor da chave substituta nunca será reutilizado.

Alternativa b).

51ª Questão) (CETRO – ANVISA – Analista Administrativo Área 5 –


2013) Quanto aos sistemas de gerenciamento de banco de dados, assinale a
alternativa correta.

a) Sua função geral é fornecer uma interface entre o usuário e o sistema de


banco de dados.

b) Sempre tem um gerenciador de transações.

c) O dicionário de dados impõe certos controles sobre a recuperação e


concorrência do banco de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 83 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) A verificação da integridade dos dados deve ser feita somente no tempo
de compilação.

e) Não incluem compiladores de DML.

O SGBD é o conjunto de programas de computador (softwares)


responsáveis pelo gerenciamento de uma base de dados. Seu principal
objetivo é retirar da aplicação cliente (o sistema da empresa propriamente dito)
a responsabilidade de gerenciar o acesso, a manipulação e a organização dos
dados. O SGBD disponibiliza uma interface para que seus clientes possam
incluir, alterar ou consultar dados previamente armazenados. Em bancos de
dados relacionais a interface é constituída pelas APIs (Application Programming
Interface) ou drivers do SGBD, que executam comandos na linguagem SQL
(Structured Query Language).

Da nossa explanação, a alternativa a) mostra-se correta. Quanto à


demais:

Sempre tem um gerenciador de transações – errado. SGBDs mais


simplórios não possuem tal gerenciamento;

O dicionário de dados impõe certos controles sobre a recuperação e


concorrência do banco de dados – dicionário de dados guarda os metadados
do BD. Ele não é responsável pelo controle de transações;

A verificação da integridade dos dados deve ser feita somente no


tempo de compilação – a integridade dos dados é verificada pelas restrições
impostas (chaves primárias e estrangeiras, e demais restrições de integridade).
Elas são implementadas por ocasião da definição do esquema de dados, e
verificadas em tempo de execução.

Não incluem compiladores de DML – SGBDs precisam ao menos


interpretar a linguagem DDL (Data Definition Language), que serve para a
definição do esquema do banco de dados, e a DML (Data Manipulation
Language), voltada para a manipulação dos dados.

52ª Questão) (FCC – TRT 2ª Região – Analista Judiciário – Tecnologia


da Informação – 2014) Em alguns casos, dois ou mais valores de atributos
em um modelo de Entidade-Relacionamento estão relacionados. Por exemplo, os
atributos Idade e Data de Nascimento de uma pessoa. Para uma Entidade-
Pessoa em particular, o valor de Idade pode ser determinado pela data corrente
e o valor de Data de Nascimento da pessoa. Portanto, o atributo Idade é
chamado atributo ...I... do atributo Data de Nascimento, que, por sua vez, é
chamado atributo ...II... .
Prof. Victor Dalton
www.estrategiaconcursos.com.br 84 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

As lacunas I e II são, correta e respectivamente, preenchidas com:

(A) armazenado - derivado


(B) derivado - armazenado
(C) multivalorado - monovalorado
(D) identificador - complexo
(E) resultante - unívoco

O atributo Idade é um atributo derivado, pois pode ser calculado com base
no atributo armazenado Data de Nascimento, tendo o dia atual como
referência.

Resposta: alternativa b).

53ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Um


SGBD multiusuário deve permitir que diversos usuários acessem o banco de
dados ao mesmo tempo. Isso é essencial se os dados para as várias aplicações
estão integrados e mantidos em um único banco de dados. O SGBD deve incluir
um software de controle de concorrência para garantir que muitos usuários, ao
tentar atualizar o mesmo dado, o façam de um modo controlado, para assegurar
que os resultados das atualizações sejam corretos. Por exemplo, quando muitos
atendentes tentam reservar um lugar em um voo, o SGBD deve garantir que
cada assento possa ser acessado somente por um atendente de cada vez, para
fazer a reserva de apenas um passageiro.

Em SGBD, a este conceito se dá o nome de

a) acesso simultâneo.
b) semáforo de acesso.
c) transação.
d) modularização.
e) polimorfismo.

Percebeu que a questão se parece muito com a explicação da teoria?

Isso ocorre porque a FCC também se baseou no Elmasri e Navathe para


apresentar o exemplo. No caso, a banca está explicando o conceito de
Processamento de Transação Multiusuário.

Não gostei da forma que a banca apresentou as alternativas, porém, a


“mais correta” é a letra c).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 85 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
54ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Um
SGBD possui a capacidade de mudar o esquema interno sem ter de alterar o
esquema conceitual, consequentemente não havendo necessidade de alteração
do esquema externo. As mudanças no esquema interno podem ser necessárias
para que alguns arquivos físicos possam ser reorganizados, por exemplo, pela
criação de estruturas de acesso adicionais para aperfeiçoar o desempenho da
recuperação ou atualização de dados.

Essa característica de um SGBD é denominada

a) modelo lógico de dados.

b) modelo físico de dados.

c) independência modular.

d) representação conceitual.

e) independência física de dados.

Independência física é a capacidade de alterar o esquema interno sem


precisar modificar o esquema conceitual.

Resposta certa, alternativa e).

55ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Uma


característica fundamental da abordagem de um banco de dados é que o
sistema de banco de dados possui não apenas o banco de dados, mas também
uma completa definição ou descrição ...I... desse banco de dados e ...II.... Essa
definição está armazenada no catálogo do SGBD, que contém informações como
a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item
de dado e várias restrições sobre os dados.

As lacunas I e II são correta e, respectivamente, preenchidas por:

a) do domínio - seus casos de uso

b) do conteúdo binário - suas linhas e colunas

c) das tabelas - seus administradores

d) da estrutura - suas restrições

e) em UML - outros bancos deste sistema

Prof. Victor Dalton


www.estrategiaconcursos.com.br 86 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Na natureza de autodescrição de um sistema de banco de dados,


entendemos que o sistema de banco de dados precisa ir além dos dados
propriamente ditos. Ele precisa descrever sua estrutura (quais são suas
tabelas, tamanho do banco, etc...) e quais são suas restrições (domínio dos
dados, relacionamento entre as tabelas, dentre outros).

Resposta certa, alternativa d).

56ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) No


processamento tradicional de arquivos, a estrutura do arquivo de dados está
embutida no programa da aplicação, sendo assim, qualquer mudança na
estrutura de um arquivo pode exigir alterações de todos os programas que
acessam esse arquivo. Aplicações desenvolvidas com foco em SGBD não exigem
essas alterações na maioria dos casos, pois a estrutura dos arquivos de dados é
armazenada no catálogo do SGDB separadamente do programa de acesso.

A este isolamento entre programas e dados é dado o nome de

a) abstração de dados.

b) acesso remoto.

c) independência funcional.

d) independência modular.

e) modelo relacional.

Segundo Navathe, “qualquer mudança na estrutura de dados do SGBD não


exige mudanças nos programas que acessam o banco de dados. A estrutura dos
arquivos de dados é armazenada no catálogo do SGBD separadamente dos
programas de acesso.

Essa propriedade é chamada de independência programa-dados.”

Ainda, existe a independência programa-operação, na qual a


implementação (método) da operação é especificada separadamente e pode ser
alterada sem afetar a interface.

Porém, a independência programa-dados e a independência programa-


operação só são possíveis em virtude de uma característica do SGBD, que é a
abstração de dados, que é o fato de o SGBD oferece aos usuários uma
Prof. Victor Dalton
www.estrategiaconcursos.com.br 87 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
representação conceitual de dados, que não inclui muitos detalhes de como os
dados são armazenados ou como as operações são implementadas.

Novamente, não gostei da abordagem da banca, que apenas descreveu a


independência programa-dados, com o objetivo de chegar a uma característica
maior, que é a abstração de dados.

Na verdade, a abstração de dados é a característica do SGBD que


propiciam a independência programa-dados e programa-operação.

Resposta certa, alternativa a).

57ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) A


maioria das aplicações de um banco de dados tem certas restrições de
integridade que devem complementar os dados. O SGBD deve prover
funcionalidades para a definição e a garantia dessas restrições. O tipo mais
simples de restrição de integridade envolve a

a) especificação de um tipo de dado para cada item de dados.

b) indexação da tabela por valores ascendentes ou descendentes, conforme


a restrição a ser integrada.

c) criação de visualizações (views) para as colunas de uma tabela.

d) definição do modelo lógico de dados juntamente com as características


físicas do domínio.

e) utilização de chaves estrangeiras em conjunto com a definição de um


gatilho (trigger) para determinados eventos.

A restrição de integridade mais comum é a restrição de domínio, afinal,


todos os atributos de um banco de dados precisam ser tipificados, no mínimo.

Resposta certa, alternativa a).

58ª Questão) (FCC – SEFAZ/PE – Auditor Fiscal – 2014) Um Sistema


de Gerenciamento de Banco de Dados (SGBD) é um software com recursos
específicos para facilitar a manipulação das informações dos bancos de dados e
o desenvolvimento de programas aplicativos. A forma como os dados serão
armazenados no banco de dados é definida pelo modelo do SGBD. Os principais
modelos são: hierárquico, em rede, orientado a objetos e

Prof. Victor Dalton


www.estrategiaconcursos.com.br 88 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

(A) funcional.
(B) procedural.
(C) orientado a serviços.
(D) relacional.
(E) orientado a componentes.

O modelo relacional é um dos modelos mais cobrados em provas. As


demais sentenças nem se aplicam a banco de dados.

Resposta certa: alternativa d).

59ª Questão) (ESAF – Analista de Finanças e Controle –


Desenvolvimento de Sistemas de Informação – 2008) Em um banco de
dados que utiliza a linguagem SQL para definição, manipulação e controle de
dados, é correto afirmar que os comandos
a) CREATE, DROP e INSERT fazem parte da DML (Linguagem de
Manipulação de Dados).
b) GRANT e REVOKE fazem parte da DCL (Linguagem de Controle de
Dados).
c) INSERT, UPDATE e SELECT fazem parte da DDL (Linguagem de Definição
de Dados).
d) ALTER, DELETE e REVOKE fazem parte da DML (Linguagem de
Manipulação de Dados).
e) CREATE, GRANT e DROP fazem parte da DCL (Linguagem de Controle de
Dados).
A linguagem SQL é a linguagem para banco de dados mais difundida nos
dias de hoje. Ela pode fazer coisas como consultar banco de dados, definir a
estrutura dos dados, modificar dados em um banco e especificar restrições de
segurança. Revisemos os tipos de linguagens de dados:

DDL (Data Definition Language) – serve para a definição de estruturas


de dados, incluindo linhas, colunas, tabelas, índices e localizações de
arquivos.Ex: CREATE (cria tabelas), ALTER(modifica a tabela, como para incluir
um atributo) e DROP(elimina a tabela).

DML (Data Manipulation Language) – voltada para a manipulação dos


dados, como o próprio nome diz. Ex: INSERT(inserir), SELECT(consultar),
UPDATE(atualizar, modificando alguns atributos), DELETE(autoexplicativo)....

Prof. Victor Dalton


www.estrategiaconcursos.com.br 89 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
SDL (Storage Definition Language) – utilizada para especificar o
esquema interno de armazenamento. Pertencia às versões antigas do SQL, mas
foi absorvida pela DDL. Alguns autores nem citam mais esta modalidade.

DTL (Data Transaction Language) – para a transação no banco de


dados. Ex: BEGIN WORK(iniciar uma transação), COMMIT(gravar a transação do
buffer para o disco rígido), ROLLBACK(desfazer transação).

DCL (Data Control Language) – controla aspectos de autorização de


dados e licenças de usuários para controlar quem tem acesso dentro do banco.
Ex: GRANT(dar acesso), REVOKE(retirar acesso).

VDL (View Definition Language) – voltada para especificar as visões dos


usuários e seus mapeamentos para o esquema conceitual.Ex: CREATE VIEW,
DROP VIEW.

São alguns conceitos chatos, mas que fazem sentido. Assim, nossa
alternativa correta é a letra b).

60ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) A linguagem de manipulação de
dados (DML)

a) sempre se utiliza de outra linguagem de programação hospedeira para


que possa ser executada.
b) utiliza instruções INSERT, DROP, SELECT, UPDATE, entre outras.
c) pode ser executada mesmo que suas sentenças não estejam escritas em
um código de linguagem de programação.
d) se utiliza de instruções que permitem a inclusão e alteração de dados,
assim como, atribuição e negação de permissões.
e) é uma linguagem exclusivamente procedural, para especificar como os
dados devem ser obtidos do banco.

Às alternativas:

a) Errada. Existem ferramentas para consulta ao banco de dados na qual


você digita os comandos SQL e executa normalmente, sem estar dentro
de outra linguagem;
b) Pegadinha da FCC! DROP é comando da DDL, maliciosamente inserido
entre comandos corretos da DML.
c) Correta. Olha a lógica aí gente! Alternativas c) e a) são opostas. Uma
das duas tinha que ser a correta! 

Prof. Victor Dalton


www.estrategiaconcursos.com.br 90 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) Atribuição e negação de permissões é coisa de DCL! GRANT e REVOKE,
lembra?
e) SQL é uma linguagem declarativa, ou não-procedural.

61ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) É INCORRETO afirmar que a
linguagem de definição de dados (DDL) permite

a) o suporte a rollback, já que instruções DDL podem ser manipuladas


dentro de uma transação.
b) a modificação de um objeto existente do banco de dados.
c) declarações para definição de relacionamentos de integridade referencial.
d) que o resultado da compilação de comandos de uma DDL seja
armazenado no dicionário de dados.
e) a definição de tuplas no banco de dados, por meio do comando CREATE.

Todas as linguagens de BD são importantes, mas a DDL merece um


destaque especial, pois é ela que cria o Banco, ou seja, é ela que converte os
desenhos e diagramas em um banco implementado.

Destrinchando:

a) Está correto. Em resumo, é possível desfazer criações, alterações e


exclusões de tabela, em caso de falha da transação;
b) Também correta, pelo comando ALTER;
c) Correto. Dentro do CREATE, é possível estabelecer PRIMARY KEY e
FOREIGN KEY;
d) Também correto. A DDL coloca sua saída no dicionário de dados, que
contém metadados, ou seja, dados sobre os dados. O dicionário de
dados é um tipo de tabela que só pode ser acessado e atualizado pelo
próprio sistema de banco de dados, e não por um usuário comum. Um
sistema de banco de dados consulta o dicionário de dados antes de ler
ou modificar os dados. Sabe quando você quer postar um comentário no
twitter, e não pode passar de 140 caracteres? É porque lá na tabela
SeiLaONome deve estar definido um varchar(141), e você não pode
passar disso.
e) Percebeu a maldade?

O comando CREATE realmente é da DDL. Mas a “definição” de uma tupla no


banco é feita pelo INSERT! O examinador estava querendo aprontar. Se ele
escrevesse “inserção” ao invés de “definição” ficaria fácil perceber o erro.
Sentiram a maldade?

Em frente!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 91 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

62ª Questão) (FCC – SABESP – Analista Gestão I - Sistemas - 2012)


Sobre restrições (constraints) em bancos de dados, considere:

I. A restrição NOT NULL, assim como as restrições UNIQUE e PRIMARY KEY


fornecem uma garantia de exclusividade para uma coluna ou conjunto de
colunas.
II. A restrição DEFAULT é usada para inserir um valor padrão em uma
coluna. O valor padrão será adicionado a todos os novos registros, caso nenhum
outro valor seja especificado.
III. A restrição CHECK é usada para limitar a gama de valores que podem
ser colocados em uma coluna. Se essa restrição for definida em uma tabela, ela
pode limitar os valores em determinadas colunas com base nos valores de
outras colunas da linha.

Está correto o que consta em

a) III, apenas.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.

Estas são as algumas restrições que podem ser aplicadas a atributos de


uma tabela, com comandos SQL. Vejamos:

I. NOT NULL – é uma restrição de vazio, que impede que o valor deste
atributo em um registro fique sem ser preenchido. Não tem nada a ver com
garantia de exclusividade.
II. DEFAULT - Exatamente o que descreve a assertiva. Não impede que
outro valor distinto seja inserido ou modificado mas, caso nada seja inserido, o
valor default é automaticamente preenchido.
III. CHECK - Também é o que está descrito. Você usa essa restrição
quando desejar, por exemplo, que o atributo idade de uma tabela pessoa seja,
obrigatoriamente, preenchido com valores entre 18 e 70. Se alguém tentar
inserir um valor fora desses parâmetros, o SGBD envia uma mensagem de erro,
impedindo a operação.

Desta forma, a alternativa correta é a letra d).

63ª Questão) (FCC – Metrô/SP – Analista Desenvolvimento Gestão


Júnior – Ciências da Computação - 2012) Um dos métodos para garantir a
integridade das informações inseridas em bancos de dados é pelo uso de
constraints, que garantem que os dados sejam validados de acordo com os
Prof. Victor Dalton
www.estrategiaconcursos.com.br 92 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
critérios estabelecidos pelas constraints. Sobre a constraint UNIQUE em
linguagem SQL, é INCORRETO afirmar que

a) designa uma coluna ou uma combinação de colunas de tal forma que


duas linhas não possam ter o mesmo valor.
b) estabelece um relacionamento com a chave primária ou única da mesma
ou de outra tabela.
c) valores nulos são aceitos.
d) automaticamente é criado um índice único para a coluna ou colunas
especificadas.
e) é possível criá-la após a criação da tabela.

Você sabe qual tipo de restrição é unique? Acertou se disse que unique é
uma restrição de chave. E para que serve o unique?

O unique é a restrição que implementa as chaves candidatas. Exemplo


típico são os campos CPF e TituloDeEleitor em uma tabela. Escolhido CPF como
chave primária, pode-se atribuir a restrição unique a TituloDeEleitor, de modo a
assegurar que dois cidadãos não tenham o mesmo número de título de eleitor.
Não deixa de ser um reforço nas restrições do BD.

E o que está errado entre as alternativas acima? É afirmar que a restrição


estabelece um relacionamento com a chave primária da mesma ou de outra
tabela.

Unique, diferentemente da chave primária (PRIMARY KEY), é uma restrição


com fim em si mesma. Ela apenas verifica, quando da criação ou alteração do
atributo restrito, se já existe outro registro com o mesmo valor para aquele
atributo naquela tabela. Caso isso ocorra, o SGBD impede a gravação e envia
uma mensagem de erro. Nada além disso.

Alternativa b).

64ª Questão) (FGV – MEC – Analista de Sistema –Administrador de


Dados - 2008) Um DBA criou uma tabela em um Banco de Dados no
postgreSQL 8.3 utilizando o comando

CREATE TABLE mec (


cidade varchar(80),
temp_baixa int,
temp_alta int,
nivel_precip real,
data date)

Prof. Victor Dalton


www.estrategiaconcursos.com.br 93 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Para o comando que insere dados na tabela mec, é usada a seguinte


sintaxe:
a) INSERT IN mec(cidade, temp_baixa, temp_alta, nível_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
b) INSERT ON mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
c) INSERT FROM mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
d) INSERT OVER mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
e) INSERT INTO mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');

Os comandos SQL são não-procedurais ou declarativos. Você verá que não


são difíceis de entender.

Na execução do CREATE criou-se a tabela abaixo:

MEC
cidade temp_baixa temp_alta nivel_precip Data

Agora a questão está limitada a você saber que depois de INSERT escreve-
se INTO, sendo a alternativa e) a correta.

Agora leia:

INSERT INTO mec(cidade, temp_baixa, temp_alta, nivel_precip, data)


VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');

Você já lembrou que INSERT é um comando DML (Data Manipulation


Language), pois ele manipula o banco, mais exatamente inserindo registros.

Mas o que esse comando faz exatamente?

MEC
cidade temp_baixa temp_alta nivel_precip Data
Brasilia 20 34 0.2 2009-01-13

Entendeu? Em frente!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 94 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
65ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de
Dados e Administrador de Dados - 2011) Analise os comandos PL/SQL:

CREATE TABLE Departamentos (Id numeric(10) not null,Descricao


varchar(30) not null, CONSTRAINT Dept_pk PRIMARY KEY(Id));

CREATE TABLE Vendedores (Id numeric(10) not null,Nome varchar(30) not


null,Departamento numeric(10) not null, CONSTRAINT Vendedores_pk PRIMARY
KEY(Id),CONSTRAINT fk_dept FOREIGN KEY(Departamento) REFERENCES
Departamentos(Id));

CREATE TABLE Vendas (Vendedor numeric(10) not null,ValordeVenda real


not null,CONSTRAINT fk_vendedores FOREIGN KEY(Vendedor) REFERENCES
Vendedores(Id));

O comando PL/SQL necessário para listar o nome dos vendedores que


obtiveram Valor de Venda superior a 100 e que pertençam ao departamento 1
nas tabelas criadas acima deve ser:

a) SELECT * FROM Vendedores WHERE Departamento = 1 AND (SELECT


ValordeVenda FROM Vendas WHERE Sum(ValordeVenda) > 100);

b) SELECT Nome FROM Vendedores WHERE Departamento = 1 AND


(SELECT Sum(ValordeVenda) FROM Vendas WHERE Vendedor = Vendedores.Id)
> 100;

c) SELECT Vendedor FROM Vendas WHERE Sum(ValordeVenda) > 100 AND


Departamento = 1;

d) SELECT (SELECT Nome from Vendedores WHERE Id = Vendas.Vendedor)


as Nome,ValordeVenda FROM Vendas WHERE ValordeVenda > 100;

e) SELECT (SELECT Sum(ValordeVenda) FROM Vendas) as S,(SELECT Id


from Departamentos WHERE Id = 1) as IdDept WHERE S > 100 AND IdDept =
1;

Os comandos SQL do enunciado criaram 3 tabelas, Departamentos,


Vendedores e Vendas, e o objetivo é saber quais vendedores do departamento 1
realizaram vendas cujo total supere o valor 100. Analisemos as alternativas:

a) Essa alternativa esquece de fazer o JOIN (unir) as tabelas vendedores e


vendas. Errada;

c) Não existe o campo Departamento na tabela Vendas, o que torna o filtro


errado. Errada;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 95 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

d) Esta faz o JOIN dentro da subconsulta e retorna apenas os vendedores


que fizeram alguma venda com valor acima de 100, e não o total delas.
Fora que não realiza o filtro por Departamento. Totalmente errada;

e) Não existe JOIN algum na sentença. Errada;

b) Achamos a correta. Realiza o JOIN entre as tabelas Vendedores e


Vendas, filtra por Departamento e faz o somatório de forma apropriada.

É um exercício mais bem elaborado. Se você conseguir ao menos entender


porque a alternativa certa é certa, seu nível de SQL está muito bom!

66ª Questão) (FCC – TRT 6ª Região – Analista Judiciário –Tecnologia


da Informação - 2012) Considere os seguintes comandos em PL/SQL:

CREATE TABLE VALORES (ID INT NOT NULL PRIMARY KEY,VALOR INT);
INSERT INTO VALORES VALUES (1,5);
INSERT INTO VALORES VALUES (1,6);
INSERT INTO VALORES VALUES (NULL,7);
INSERT INTO VALORES VALUES (2,1);
INSERT INTO VALORES VALUES (2,8);
INSERT INTO VALORES VALUES (3,9);
INSERT INTO VALORES VALUES (NULL,10);
SELECT COUNT(VALOR) FROM VALORES WHERE VALOR >= 5;

A consulta retornará o valor


a) 2.
b) 14.
c) 6.
d) 29.
e) 5.

Então você leu por cima e achou a questão facílima? Ou você está bem
“ligeiro” em SQL, e aí meus parabéns, ou você vai se enrolar...

Analisemos linha a linha:

CREATE TABLE VALORES (ID INT NOT NULL PRIMARY KEY,VALOR INT);
VALORES
id valor

Prof. Victor Dalton


www.estrategiaconcursos.com.br 96 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

INSERT INTO VALORES VALUES (1,5);


VALORES
id valor
1 5

INSERT INTO VALORES VALUES (1,6);


- Não funciona! A chave primária 1 já existe na tabela. O comando
apropriado seria o UPDATE!

INSERT INTO VALORES VALUES (NULL,7);


- Também não funciona! Restrição NOT NULL para a chave!

INSERT INTO VALORES VALUES (2,1);


VALORES
id valor
1 5
2 1

INSERT INTO VALORES VALUES (2,8);


- Não funciona! A chave primária 2 já existe na tabela.

INSERT INTO VALORES VALUES (3,9);


VALORES
id valor
1 5
2 1
3 9
INSERT INTO VALORES VALUES (NULL,10);
- Não funciona! Restrição NOT NULL para a chave.

Bem, então temos uma tabela preenchida com (1,5), (2,1) e (3,9).
Tranquilo?

SELECT COUNT(VALOR) FROM VALORES WHERE VALOR >= 5;

Outro comando DML, pois faz uma consulta ao banco.


“Aportuguesando”:

SELECIONE CONTAR(VALOR) DE VALORES ONDE VALOR >=5;

Esse comando retorna o número de registros da tabela cujo atributo valor é


maior ou igual a 5. Logo, retorna “2”.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 97 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

E nossa resposta é a alternativa a). Tudo bem?

67ª Questão) (FGV – MEC – Analista de Sistema –Administrador de


Dados - 2008) Stored Procedure é termo utilizado para um conjunto de
comandos, ao qual é atribuído um nome, que fica armazenado no Banco de
Dados e pode ser chamado a qualquer momento tanto pelo SGBD quanto por um
sistema que faz interface com o mesmo. A utilização de Stored Procedures
constitui uma técnica eficiente de executarmos operações repetitivas. Ao invés
de digitar os comandos cada vez que determinada operação necessite ser
executada, cria-se um Stored Procedure que é chamada quando necessário. Em
um Stored Procedure pode-se ter estruturas de controle e decisão, típicas das
linguagens de programação. No SQL Server, uma “stored procedure” é
executada automaticamente quando um dado da tabela é alterado em
decorrência da execução de um comando SQL do tipo INSERT, UPDATE ou
DELETE. Esta “stored procedure” é denominada:

a) commit.
b) rollback.
c) trigger.
d) snapshot.
e) deadlock.

O enunciado da questão é excelente para conceituar Stored Procedure.

Melhor ainda é utilizarmos a questão para falar do Trigger.

Um Trigger é bloco de comandos Transact-SQL que é automaticamente


executado quando um comando INSERT, DELETE ou UPDATE for executado em
uma tabela do banco de dados.
Os Triggers são usados para realizar tarefas relacionadas com validações,
restrições de acesso, rotinas de segurança e consistência de dados; desta forma
estes controles deixam de ser executados pela aplicação e passam a ser
executados pelos Triggers em determinadas situações:
 Mecanismos de validação envolvendo múltiplas tabelas
 Criação de contéudo de uma coluna derivada de outras colunas da tabela
 Realizar análise e atualizações em outras tabelas com base em alterações
e/ou inclusões da tabela atual.

Exemplo simples:

CREATE TRIGGER TotalSal2


AFTER UPDATE OF Salario ON Empregado
FOR EACH ROW

Prof. Victor Dalton


www.estrategiaconcursos.com.br 98 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
WHEN (NEW.Ndep IS NOT NULL)
UPDATE Departamento
SET TotalSal=TotalSal+NEW.Salario-OLD.Salario
WHERE Dnum=NEW.Ndep;

Conseguiu captar?
Basicamente, este Trigger, quando da atualização salarial de um
empregado, vai na tabela Departamento e atualiza o total de despesas do
referido Departamento com o novo salário do empregado.

Teoricamente, sem esta ferramenta, alguém teria que lembrar de fazer


essa atualização manualmente, em outra parte do sistema. Já imaginou um
sistema inteiro sem triggers?

Resposta certa, alternativa c).

(CESPE – MEC – Atividade Técnica de Complexidade Intelectual –


Administrador de Dados - 2011)

Considere que, sob o padrão do SQL2, tenham sido criadas as tabelas


Empregado, Dependente e Departamento por meio dos seguintes comandos:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 99 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Considere, ainda, os seguintes comandos, todos também sob o padrão do


SQL2, relativos a consultas feitas nos dados das tabelas acima citadas.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 100 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Com referência às informações acima, bem como a comandos e consultas
em SQL e álgebra relacional, julgue os itens seguintes.

68. A consulta 2 recupera o nome e sobrenome dos empregados


que tenham dependentes.

Errado! Essa consulta recupera o nome e o sobrenome dos empregados


que NÃO POSSUEM dependentes, uma vez que a lista de empregados com
dependentes foi extraída na subconsulta após “NOT EXISTS”.

69.Na consulta 1, foi utilizado qualificador para diferenciar os


campos de mesmo nome das consultas correlacionadas.

Correto. Nessa consulta a tabela Empregado recebeu o ALIAS (apelido) de


e. Esse qualificador foi útil para que o atributo e.SEXO, da tabela Empregado,
não fosse confundido com o atributo SEXO da tabela dependente (e.SEXO =
SEXO). A utilização de ALIAS em consultas SQL é muito comum.

70.A consulta 1 recupera o nome e sobrenome dos empregados que


possuam um dependente com o mesmo nome e o mesmo sexo do
empregado.

Correto.

(CESPE – TCE/RO – Auditor de Controle Externo – Ciências da


Computação - 2013) 71.A linguagem de manipulação de dados (DML)
abrange uma linguagem de consulta embasada tanto na álgebra
relacional quanto no cálculo relacional de tuplas. Alguns comandos que
representam essa linguagem são SELECT, CREATE TABLE e CREATE
INDEX.

Errado! Lembre-se que:

DDL (Data Definition Language) – serve para a definição de estruturas


de dados, incluindo linhas, colunas, tabelas, índices e localizações de
arquivos.Ex: CREATE (cria tabelas), ALTER(modifica a tabela, como para incluir
um atributo) e DROP(elimina a tabela).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 101 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
DML (Data Manipulation Language) – voltada para a manipulação dos
dados, como o próprio nome diz. Ex: INSERT(inserir), SELECT(consultar),
UPDATE(atualizar, modificando alguns atributos), DELETE(autoexplicativo)....

(CESPE – MPE/PI – Técnico Ministerial – Informática - 2012) Acerca


de DML e DDL, julgue os itens subsecutivos.

72.A DDL externa é utilizada para especificar o nível externo de um


banco de dados, utilizando-se, para tanto, a sublinguagem de dados do
usuário.

Correto. Há autores que dizem que esse papel é desempenhado pela VDL,
mas, pelo visto, o CESPE reconhece a DDL externa para desempenhar esse
papel.

73.A DDL admite o processamento ou a manipulação de objetos dos


bancos de dados.

Errado! A DDL apenas define as estruturas de dados, ficando a


manipulação a cargo da DML.

74.A DML é a única linguagem que possui recursos para


especificação de restrições de segurança ou de integridade.

Errado! A DCL (Data Control Language) também é responsável por


restrições de segurança, por meio dos comandos GRANT e REVOKE.

75.O esquema interno de um banco de dados, que identifica os tipos


de registros, índices, campos etc., é descrito por meio de uma DDL
conceitual.

Errado! A DDL conceitual define o esquema conceitual. O esquema interno


é definido pela DDL interna.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 102 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
(CESPE – TRT/10ª Região – Técnico Judiciário – Tecnologia da
Informação - 2013)

76.Suponha que exista determinada tabela alunos, com os campos


id_aluno, nome_aluno, telefone e idade. Nesse caso, o comando abaixo
é apropriado para listar todos os alunos que tenham idade superior a 34
anos e obter o resultado de forma ordenada por aluno.

select * from alunos where idade > 34 group by

nome_aluno having count(*) > 34

Errado! Essa consulta, na verdade, seleciona o universo de alunos cuja


idade é maior que 34 (where idade > 34), agrupa os resultados em função do
campo nome_aluno (group by nome_aluno) e vai mostrar apenas aqueles
nomes de alunos (HAVING é restrição de grupo) que aparecem mais de 34 vezes
(having count (*) > 34).
Portanto, o último predicado tornou a assertiva incorreta. Sem ele, a
sentença estaria correta.

77.O comando listado abaixo é apropriado para criação de uma


tabela com o nome disciplinas, que contenha os campos id_disciplina e
disciplina, com chave primária id_disciplina.

create table disciplinas (

id_disciplina INTEGER not null,

disciplina VARCHAR(40) not null,

primary key (id_disciplina)

);

Correto. Ainda, perceba que os atributos id_disciplina e disciplina não


podem ser nulos.

78.O comando abaixo permite adicionar a tabela disciplinas a uma


chave estrangeira com o nome fk_curso, do campo id_curso que
pertence à tabela cursos.

alter table disciplinas

alter column fk_curso references cursos

(id_curso);

Prof. Victor Dalton


www.estrategiaconcursos.com.br 103 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Errado! O comando correto seria:

alter table disciplinas

foreign key (fk_curso) references cursos(id_curso);

(CESPE – MEC – Atividade Técnica de Complexidade Gerencial –


Administrador de Banco de Dados - 2011)

79.Quando uma transação é abortada, todas as mudanças que


ocorreram no banco de dados devem ser desfeitas. Essa operação pode
ser executada por meio do comando ROLLBACK da linguagem SQL.

Correto. O rollback desfaz transações abortadas, garantindo a atomicidade


e a consistência das transações.

80ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Analista de Sistemas - 2013) Considere as seguintes tabelas de um banco de
dados relacional, sendo que os atributos ID e Cod, na tabela Usa são chaves
estrangeiras, com origem, respectivamente, nas tabelas Dpto e Eqpto:

Depto (ID, Nome, Função)


Usa (ID, Cod)
Eqpto (Cod, Tipo, Valor)

Assinale a alternativa que apresenta a expressão SQL para obter o Nome


do Depto e o Tipo de Eqpto utilizados.

a) SELECT Nome, Tipo


FROM Depto Eqpto

b) SELECT Nome, Tipo


FROM Usa
WHERE USA.ID and Usa.Cod

c) SELECT Nome, Tipo


FROM Depto, Usa, Eqpto

d) SELECT Nome, Tipo


FROM Depto, Usa, Eqpto
WHERE Dpto.ID = USA.ID and Eqpto.Cod = Usa.Cod

Prof. Victor Dalton


www.estrategiaconcursos.com.br 104 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
e) SELECT Nome, Tipo
FROM Depto, Eqpto
WHERE Dpto.ID and Eqpto.Cod

Essa é uma consulta relativamente simples em SQL. Sem analisar as


alternativas, e com base nas informações do enunciado, vemos que a tabela Usa
é a tabela que faz o relacionamento entre as tabelas Depto e Eqpto.

Portanto, uma consulta que extraia o Nome e o Tipo de equipamentos


utilizados, precisará fazer uma união entre essas três tabelas, pelos campos
chave.

Nesse sentido, a única alternativa correta é a alternativa d). As demais


consultas estão ou incompletas, ou sem nexo.

Para responder às duas próximas questões, utilize a figura abaixo, parte de


um modelo Entidade-Relacionamento de um banco de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 105 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
81ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –
Programador - 2013) Analisando o modelo Entidade-Relacionamento é correto
afirmar:

a) Os atributos precoUnitario e quantidade devem ser movidos da entidade


PRODUTO para a entidade ITEMNOTAFISCAL como atributos simples, pois são
dependentes da chave primária composta dessa entidade e não apenas do
atributo idPRODUTO da entidade PRODUTO.

b) O atributo quantidade deve ser movido da entidade PRODUTO para a


entidade ITEMNOTAFISCAL como atributo simples, pois a quantidade é
dependente da chave primária composta dessa entidade e não apenas do
atributo idPRODUTO da entidade PRODUTO.

c) Considerando que o conteúdo do atributo idITEMNOTAFISCAL é


sequencial e não se repete na mesma nota fiscal, só podendo se repetir em
notas fiscais diferentes, o atributo idPRODUTO deve fazer parte da chave
primária composta da entidade ITEMNOTAFISCAL.

d) O grau do relacionamento entre as entidades PRODUTO e


ITEMNOTAFISCAL deve ser muitos para muitos e não um para muitos como
apresentado no modelo.

e) Considerando que o conteúdo do atributo idITEMNOTAFISCAL é


sequencial e não se repete na mesma nota fiscal, só podendo se repetir em
notas fiscais diferentes, a chave primária dessa entidade deve ser formada
apenas pelo atributo idITEMNOTAFISCAL.

Esse é o tipo de questão no qual eu espero que seu raciocínio já esteja


afiado.

O modelo acima mostra uma típica implementação de nota fiscal em um


Banco de Dados. Antes mesmo de ler as alternativas, somenta analisando o
modelo, eu achei estranho o atributo quantidade fazer parte da entidade
PRODUTO. Afinal de contas, um mesmo produto pode ser adquirido em
quantidades diferentes em diferentes notas fiscais. Por isso, achei que seria mais
conveniente que esse atributo fizesse parte da tabela ITEMNOTAFISCAL.
Concorda? A quantidade adquirida de um produto depende tanto do produto
escolhido quanto da nota fiscal que ele fará parte.

E é exatamente o que a alternativa b) propõe! As demais propostas das


outras alternativas falham em coerência, apenas tentando induzir o candidato ao
erro.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 106 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
82ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –
Programador - 2013) Uma instrução SQL correta para criar a tabela
NOTAFISCAL apresentada no modelo é:

a) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NOT NULL,


dataEmissao DATE NULL, PRIMARY KEY(idNOTAFISCAL));

b) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL


AUTOINCREMENT, dataEmissao DATE NULL, PRIMARY KEY(idNOTAFISCAL));

c) CREATE SCHEMA NOTAFISCAL (idNOTAFISCAL INTEGER NOT NULL


AUTO_INCREMENT, dataEmissao DATE NOT NULL, PRIMARY
KEY(idNOTAFISCAL));

d) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL,


dataEmissao DATE NOT NULL, CONSTRAINT UNIQUE KEY(idNOTAFISCAL));

e) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL


CONSTRAINT PRIMARY KEY, dataEmissao DATE NULL);

Simples! Basta criar a tabela NOTAFISCAL, criar o atributo idNOTAFISCAL


como um inteiro que não pode ser nulo, criar um atributo dataEmissão no
formato DATE e definir a chave primária. Praticamente é o que nos “fala” a
alternativa a).

83ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) Analise os seguintes comandos
de definição e manipulação de dados SQL:

CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR


VARCHAR(30));
INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”,
“Machado de Assis”);
INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL);
UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1;

Após a execução destes comandos,

a) apenas o primeiro livro será incluído na tabela, pois o segundo livro está
utilizando o mesmo código de identificação, o que é restringido (CONSTRAINT)
para campos do tipo ID.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 107 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor
NULL, pois não foi informada a cláusula ALL para o comando UPDATE.

c) nenhuma alteração será efetuada no comando UPDATE, devido à falta da


cláusula TABLE antes do nome da tabela.

d) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os


livros.

e) o comando de inserção do segundo livro irá falhar, pois colunas do tipo


VARCHAR não podem conter valores NULL sem que seja informada essa opção
na criação da tabela.

Novamente, convido você a raciocinar o que acontece, comando a


comando, sem se deixar levar pelas alternativas.

O primeiro comando cria a tabela. Perceba que não foi definida uma chave
primária!

LIVRO
id nome autor

O segundo comando inseriu um registro na tabela.

LIVRO
id nome autor
1 Memórias Póstumas de Brás Cubas Machado de Assis

O terceiro comando inseriu outro registro. Como não existe chava primária
definida, não há problemas em inserir outro registro.

LIVRO
id nome autor
1 Memórias Póstumas de Brás Cubas Machado de Assis
1 Quincas Borba

Por fim, o último comando irá atualizar os autores cujo ID seja 1, ou seja,
AMBOS OS REGISTROS. Mas, como um registro já possui “Machado de Assis”

Prof. Victor Dalton


www.estrategiaconcursos.com.br 108 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
como autor, ele terá o seu conteúdo sobrescrito, apesar de não ser notada a
diferença de conteúdo.

LIVRO
id nome autor
1 Memórias Póstumas de Brás Cubas Machado de Assis
1 Quincas Borba Machado de Assis

Portanto, nossa alternativa correta é a letra d). As demais, pra variar,


estão aí só para te confundir.

84ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) A cláusula LEFT JOIN em SQL
retorna todas as

a) colunas e apenas as linhas da tabela da esquerda que possuírem um


valor em comum na tabela da direita.

b) linhas e colunas da tabela da esquerda, desde que haja correspondência


na tabela da direita.

c) linhas da tabela da esquerda, desde que haja uma correspondência na


tabela da direita, porém só retorna as colunas que possuam valores em comum.

d) linhas da tabela da esquerda, mesmo que não haja uma correspondência


na tabela da direita, porém só retorna as colunas que possuam valores em
comum.

e) linhas e colunas da tabela da esquerda, mesmo que não haja


correspondência na tabela da direita.

O comando JOIN, quando acompanhado de LEFT ou RIGHT, “força” que


todas as linhas e colunas da tabela da esquerda sejam listadas, mesmo que não
haja correspondência na tabela do outro lado. Nesse caso, os campos da tabela
sem correspondência aparecem como NULL.

Alternativa e).

85ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) São CONSTRAINTS SQL, EXCETO

Prof. Victor Dalton


www.estrategiaconcursos.com.br 109 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) FOREIGN KEY.
b) NOT NULL.
c) UNIQUE.
d) PRIMARY KEY.
e) UNION.

O UNION combina o resultado de duas consultas, não se caracterizando


uma restrição (constraint).

Alternativa e).

Para responder às duas próximas questões, utilize os comandos SQL


abaixo.

CREATE TABLE times (id INTEGER, nome VARCHAR(20),cidade


VARCHAR(20));
CREATE TABLE jogos (local VARCHAR(20), data VARCHAR(8), time1
INTEGER, time2 INTEGER, placar1 INTEGER, placar2 INTEGER);
INSERT INTO times VALUES(1, "santos fc", "santos");
INSERT INTO times VALUES(2, "palmeiras", "sao paulo");
INSERT INTO times VALUES(3, "guarani", "campinas");
INSERT INTO jogos VALUES("campinas", "20100504", 3, 1, 0, 2);
INSERT INTO jogos VALUES("santos", "20101220", 1, 2, 1, 1);
INSERT INTO jogos VALUES("campinas", "20110210",3,2,0,0);

86ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) Analise a impressão do resultado
de uma query SQL efetuada após a execução dos comandos descritos (note que
no exemplo as colunas estão separadas pelo símbolo | barra vertical).

campinas | guarani | 0 | 2 | santos fc


santos | santos fc | 1 | 1 | palmeiras
campinas | guarani | 0 | 0 | palmeiras

A query SQL capaz de produzir este resultado é

a) SELECT local,(SELECT nome FROM times WHERE id =


a.time1),placar1,placar2,(SELECT nome FROM times WHERE id = a.time2) FROM
jogos a;

b) SELECT * FROM jogos a, times b WHERE a.local, b.nome CASE b.id =


a.time1, a.placar1, a.placar2, b.nome CASE b.id = a.time2;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 110 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

c) SELECT local, nome, placar1, placar2, nome FROM jogos INNER JOIN
times;

d) SELECT a.local, b.nome, a.placar1, a.placar2, c.nome FROM jogos a,


(SELECT nome FROM times WHERE id = a.time1) b, (SELECT nome FROM times
WHERE id = a.time2) c;

e) SELECT local, CASE a.time1 = b.id THEN nome, placar1, placar2, CASE
a.time2 = b.id THEN nome FROM jogos a, times b;

Como sempre, vou te convidar a escrever as tabelas que o comando SQL


cria:

TIMES
id nome cidade
1 santosfc santos
2 palmeiras sao paulo
3 guarani campinas

JOGOS
local data time1 time2 placar1 placar2
campinas 20100504 3 1 0 2
santos 20101220 1 2 1 1
campinas 20110210 3 2 0 0

Logo, ficou fácil perceber que time1 e time2 vão encontrar correspondência
nos id da tabela TIMES, enquanto o atributo local possui influência direta no
time1 (que é o mandante). Enxergou o mesmo que eu?

Agora, ao ler o que a consulta mostrou como resultado, notei que os


registros estão na mesma sequência da tabela JOGOS, porém, mostrando
apenas os atributos local, “nomedotime1”, placar1, placar2, “nomedotime2”. Os
atributos entre aspas, precisam vir do JOIN da tabela JOGOS com a tabela
TIMES. Logo, eu só preciso encontrar, nas alternativas, a consulta que me
constrói esse resultado. Para nossa sorte, a alternativa a) já faz isso!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 111 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
87ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –
Administrador de Banco de Dados - 2013) Para a impressão do seguinte
resultado:

Vitória Time 2
Empate
Empate

a query que poderá ser utilizada é

a) SELECT (SELECT "Vitória time 1" WHERE placar1 > placar2, SELECT
"Vitória time 2" WHERE placar2 > placar1, SELECT "Empate" WHERE placar1 =
placar2) FROM jogos;

b) SELECT v FROM jogos COALESCE("Vitória time 1", "Vitória Time 2",


"Empate") as V IN(placar1 > placar2,placar2 > placar1,placar1 = placar2);

c) SELECT "Vitória time 1" WHERE placar1 > placar2, "Vitória Time 2"
WHERE placar2 > placar1, "Empate" WHERE placar1 = placar2 FROM jogos;

d) SELECT nome FROM jogos WHERE nome IN (CASE WHEN placar1 >
placar2 THEN "Vitória time 1" WHEN placar2 > placar1 THEN "Vitória time 2"
ELSE "Empate" END);

e) SELECT CASE WHEN placar1 > placar2 THEN "Vitória time 1" WHEN
placar2 > placar1 THEN "Vitória Time 2" ELSE "Empate" END AS T1 FROM jogos;

Opa! Aqui temos uma query mais elaborada! Ela deverá analisar, registro a
registro, o placar dos jogos, e imprimir uma sentença de acordo com o
resultado. A utilização de CASE me parece a mais conveniente, e só temos uma
alternativa com esta cláusula, letra e), que realmente não é comum em SQL.
Se você não conhecia, fica de aprendizado.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 112 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
CONSIDERAÇÕES FINAIS

E conseguimos encerrar a aula! Alguém desmaiou? Todo mundo aí?

Eu, particularmente, gosto muito de BD. Por isso, procurei escrever muita
coisa pra vocês nos mínimos detalhes, tentando aliviar a dificuldade que eu
imagino que vocês terão com esse assunto. Sei que vocês não estão aqui para
se formarem em Bancos de Dados, e sim para acertar questões sobre o assunto
na prova.

Meu foco é a aprovação de vocês, e nada mais. Quero facilitar ao máximo


a digestão desse conteúdo.

Mesmo você que sentiu muita dificuldade na matéria, não desanime. Este
curso é tão difícil quanto os cursos ministrados apenas para
profissionais de TI. Aprendi a não subestimar a sua capacidade de
aprendizado. E lembre-se, treinamento difícil, combate fácil. Certamente as
questões de BD que caírem em sua prova serão menos difíceis do que a maioria
das questões que apresentei para você.

Faça um esforço, vale a pena esse sacrifício. Se tudo der certo, será a
última vez que você estuda esses assuntos. 

Bons estudos!

Victor Dalton

Prof. Victor Dalton


www.estrategiaconcursos.com.br 113 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
LISTA DE EXERCÍCIOS

1ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação - 2010) Um banco de dados é um
a) conjunto de objetos da realidade sobre os quais se deseja manter
informações.
b) conjunto de operações sobre dados integrados destinados a modelar
processos.
c) software que incorpora as funções de definição, recuperação e alteração
de dados.
d) software que modela funções de definição, recuperação e alteração de
dados e programas.
e) conjunto de dados integrados destinados a atender às necessidades de
uma comunidade de usuários.

2ª Questão) (ESAF – Analista de Finanças e controle – Fiscalização


Geral - 2012) O projeto geral do banco de dados é
a) o esquema do banco de dados.
b) o planejamento estratégico do fluxo de dados.
c) o esquema de dimensionamento físico-financeiro do banco de dados.
d) a versão inicial de instanciação dos dados a serem carregados no
sistema.
e) o esquema de atualização dos dados para manutenção de consistência.

3ª Questão) (FCC – TCE/SP - Agente da Fiscalização Financeira -


Produção e Banco de Dados – 2010) No catálogo são mantidos
a) esquemas internos, conceituais e externos, mapeamentos e metadados.
b) apenas os esquemas internos e os metadados.
c) apenas o esquema conceitual e os metadados.
d) apenas os esquemas internos, externos e os metadados.
e) apenas o mapeamento conceitual.

4ª Questão) (FCC – TCE/AM – Analista Técnico de Controle Externo –


Tecnologia da Informação - 2012) O modelo conceitual de dados

a) é aquele em que os objetos, suas características e relacionamentos têm


a representação de acordo com as regras de implementação e limitantes
impostos por algum tipo de tecnologia.
b) é aquele em que os objetos, suas características e relacionamentos têm
a representação fiel ao ambiente observado, independente de limitações
quaisquer impostas por tecnologias, técnicas de implementação ou dispositivos
físicos.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 114 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
c) é aquele elaborado respeitando-se e implementando-se conceitos tais
como chaves de acesso, controle de chaves duplicadas, itens de repetição
(arrays), normalização, ponteiros e integridade referencial, entre outros.
d) é a fase da modelagem na qual é necessário considerar todas as
particularidades de implementação, principalmente o modelo que será utilizado
para a implementação futura.
e) está sempre associado às fases de projeto, contrastando com o modelo
lógico, que sempre está associado à fase de análise, quando utilizado com as
metodologias de desenvolvimento de sistemas e implementado por ferramentas
CASE.

5ª Questão) (FCC – ALESP - Agente Técnico Legislativo–


Administração de Banco de Dados – 2010) Um modelo de banco de dados é
uma descrição do tipo de informação que está ou será armazenada em um
banco de dados. O mesmo modelo de banco de dados pode ser descrito em
diversos níveis de abstração. Geralmente, utilizam-se os níveis
a) conceitual e prático.
b) escrito e lógico.
c) representativo e prático.
d) conceitual e lógico.
e) escrito e prático.

6ª Questão) (FCC – MPE/AM – Agente de Apoio – Programador -


2013) Um sistema de banco de dados deve apresentar um projeto que visa a
organização das informações e utilização de técnicas para que o futuro sistema
obtenha boa performance e também facilite as manutenções que venham a
acontecer.
O projeto de banco de dados se dá em, pelo menos, duas fases:
Modelagem conceitual e

a) Projeto lógico.
b) Teste de integração.
c) Instalação.
d) Definição da ferramenta que será adotada.
e) Teste de carga.

7ª Questão) (ESAF – CVM – Analista - Sistemas – 2010) Assinale a


opção correta.
a) Um banco de dados relacional é composto de roteamentos.
b) O projeto de um banco de dados é realizado segundo as fases
Modelagem Procedural, Projeto Lógico, Projeto Operacional.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 115 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
c) O projeto de um banco de dados é realizado segundo as fases
Modelagem Conceitual, Projeto Lógico, Projeto Físico.
d) O projeto de um banco de dados é realizado por meio das fases
Modelagem Lógica e Modelagem Física.
e) Um banco de dados relacional é composto de configurações.

8ª Questão) (ESAF – Analista de Finanças e Controle –


Desenvolvimento de Sistemas de Informação – 2008) Administrar um
banco de dados constitui-se basicamente em instalar, configurar, monitorar e
solucionar problemas em um SGBD (Sistema Gerenciador de Banco de Dados).
Assim, constituem-se responsabilidades de um Administrador de Banco de
Dados (DBA), exceto:
a) planejar o projeto físico do banco de dados.
b) realizar, testar e manter cópias de segurança dos dados periodicamente.
c) monitorar o desempenho do servidor de banco de dados e tomar as
providências necessárias para atender as demandas dos usuários e sistemas.
d) definir regras para a nomenclatura utilizada nas tabelas e nos esquemas
do banco de dados.
e) definir e verificar periodicamente a segurança e integridade do servidor
de banco de dados.

9ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) Quando uma transação A acessa o
banco de dados, o SGBD automaticamente bloqueia cada parte do banco que
essa transação altera ou requisita. Ao efetuar uma transação B em paralelo, o
SGBD também bloqueia partes do banco de dados que essa transação acessa.
Tais procedimentos se referem à característica de um SGBD denominada
controle de

a) integridade.
b) concorrência.
c) restrição.
d) desempenho.
e) restauração.

10ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados – 2010) NÃO é uma vantagem do SGBD:
a) controle de redundância.
b) compartilhamento de dados.
c) restrição a acesso não autorizado.
d) tolerância a falhas.
e) custo.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 116 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
11ª Questão) (FCC – TST – Analista Judiciário – Análise de Sistemas
– 2012) Um Sistema de Gerenciamento de Bancos de Dados (SGBD)
a) é um ambiente de suporte ao desenvolvimento de projetos de banco de
dados relacionais, que gera um modelo de banco de dados para ser
implementado em um servidor.
b) prepara aplicações para que possam acessar um ou mais bancos de
dados. Na linguagem de programação Java, por exemplo, o JDBC (Java Data
Base Connectivity) é um SGBD capaz de acessar dados de diferentes bancos.
c) oferece um conjunto de ferramentas que possibilitam o gerenciamento
de diferentes arquivos do tipo texto ou do tipo binário, armazenados em bancos
de dados, limitados aos formatos UNICODE ou ASCII.
d) consiste em uma tecnologia de servidores que opera sobre o protocolo
HTTP para a troca de dados e informações através de arquivos que transportam
mensagens no formato HTML.
e) faz a gerência de uma ou mais bases de dados, permitindo o
armazenamento e consulta de dados e informações pelos usuários finais e
programas de aplicação.

12ª Questão) (FCC – TCE/SP - Agente da Fiscalização Financeira -


Produção e Banco de Dados – 2010) As três visões da arquitetura básica de
um SGBD, pela ordem, desde a mais próxima do usuário até a mais distante,
são:
a) externa, conceitual e interna.
b) externa, interna e conceitual.
c) conceitual, interna e externa.
d) conceitual, externa e interna.
e) interna, conceitual e externa.

13ª Questão) (FCC – SEFAZ/SP - Agente Fiscal de Rendas –


Tecnologia da Informação – 2009) Considere:

I. O que se ocupa do modo como os dados são fisicamente armazenados.


II. O que se ocupa do modo como os dados são vistos por usuários
individuais.
III. Nível lógico de comunidade ou apenas lógico (mais abstrato que o físico
e diferente da visão do usuário individual).

Em um projeto arquitetural, os itens I, II e III são classificados,


respectivamente, como níveis
a) externo, conceitual e interno.
b) externo, interno e conceitual.
c) interno, externo e conceitual.
d) interno, conceitual e externo.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 117 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
e) conceitual, externo e interno.

14ª Questão) (FCC – MPE/AM – Agente de Apoio – Programador -


2013) O sistema de banco de dados deve garantir uma visão totalmente
abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de
dados pouco importa qual a unidade de armazenamento está sendo usada para
guardar seus dados, contanto que os mesmos estejam disponíveis no momento
necessário.

Esta abstração se dá em três níveis:

I. Nível de visão do usuário: as partes do banco de dados que o usuário


tem acesso de acordo com a necessidade individual de cada usuário ou grupo de
usuários.
II. Nível conceitual.
III. Nível físico: é o nível mais baixo de abstração, em que define
efetivamente de que maneira os dados estão armazenados.

O Nível conceitual:

a) garante a integridade dos dados por aplicação de criptografia e o


controle de blocos de acesso.
b) especifica a maneira como os dados devem ser transferidos para a
memória.
c) determina o tipo de segurança que será utilizado no acesso aos dados.
d) apresenta o conceito de acesso (simétrico ou assimétrico) e as chaves
que serão utilizadas.
e) define quais os dados que estão armazenados e qual o relacionamento
entre eles.

15ª Questão) (FCC – MPE/SE – Analista – Gestão e Análise de Projeto


de Sistema - 2013) Em projetos de Banco de Dados, o objetivo da arquitetura
de três-esquemas é separar o usuário da aplicação do banco de dados físico.
Nessa arquitetura, os esquemas podem ser definidos por três níveis:

I. O nível interno tem um esquema que descreve a estrutura de


armazenamento físico do banco de dados. Esse esquema utiliza um modelo de
dado físico e descreve os detalhes complexos do armazenamento de dados e
caminhos de acesso ao banco;
II. O nível conceitual possui um esquema que descreve a estrutura de todo
o banco de dados para a comunidade de usuários. O esquema conceitual oculta
os detalhes das estruturas de armazenamento físico e se concentra na descrição
de entidades, tipos de dados, conexões, operações de usuários e restrições.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 118 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Geralmente, um modelo de dados representacional é usado para descrever o
esquema conceitual quando o sistema de banco de dados for implementado.
Esse esquema de implementação conceitual é normalmente baseado em um
projeto de esquema conceitual em um modelo de dados de alto nível;
III. O nível interno ainda abrange os esquemas externos ou visões de
usuários. Cada esquema interno descreve a parte do banco de dados que um
dado grupo de usuários tem interesse e oculta o restante do banco de dados
desse grupo. Como no item anterior, cada esquema é tipicamente implementado
usando-se um modelo de dados representacional, possivelmente baseado em
um projeto de esquema externo em um modelo de dados de alto nível.

Está correto o que se afirma em

a) II, apenas.
b) II e III, apenas.
c) I, II e III.
d) I e II, apenas.
e) III, apenas.

16ª Questão) (FCC – SEFAZ/SP - Agente Fiscal de Rendas –


Tecnologia da Informação – 2009) A independência de dados física e a
independência de dados lógica são possibilitadas de forma ideal,
respectivamente, por um
a) ou mais mapeamentos conceituais/internos e por um ou mais
mapeamentos internos/externos.
b) mapeamento conceitual/interno e por um ou mais mapeamentos
externos/conceituais.
c) mapeamento interno/externo e por um mapeamento conceitual/interno.
d) ou mais mapeamentos internos/externos e por um mapeamento
conceitual/interno.
e) mapeamento conceitual/externo e por um mais mapeamentos
conceituais/internos.

17ª Questão) (Cesgranrio – Petrobrás – Analista de Sistemas Júnior


– Engenharia de Software – 2010) A independência de dados lógica,
definição componente da arquitetura de três esquemas para sistemas de banco
de dados, corresponde à capacidade de se efetuarem
a) mudanças no nível conceitual, sem a necessidade de modificações no
nível externo e em programas aplicativos.
b) mudanças no nível interno, sem a necessidade de modificações nos
níveis conceitual e externo.
c) mudanças no nível externo, sem a necessidade de modificações nos
níveis interno e conceitual.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 119 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) consultas em SQL sobre um banco de dados relacional, independente da
estruturação física dos dados armazenados.
e) consultas em SQL sobre um banco de dados relacional, independente da
lógica de programação usada em programas aplicativos.

18ª Questão) (FCC – MPE/SE – Analista – Gestão e Análise de Projeto


de Sistema - 2013) A capacidade de alterar o esquema conceitual sem mudar
o esquema externo ou os programas, podendo modificar o esquema conceitual
para expandir o banco de dados (adicionando um tipo de registro ou item de
dados), variar as restrições ou reduzir o banco de dados (removendo um tipo de
registro ou item de dados) é chamada de

a) modularidade.
b) modelo conceitual.
c) independência lógica de dados.
d) polimorfismo.
e) agregação.

19ª Questão) (FCC – TRE/SP – Analista Judiciário – Análise de


Sistemas - 2012) É o modelo de dados que eliminou o conceito de hierarquia,
permitindo que um mesmo registro estivesse envolvido em várias associações.
Os registros, organizados em grafos, permitem o tipo de associação que define
uma relação 1:N entre os tipos de registros proprietário e membro. Assim, para
dois relacionamentos 1:N entre os registros A e D e entre os registros C e D é
possível construir um relacionamento M:N entre A e D. Trata-se do modelo

a) em rede.
b) relacional.
c) hierárquico.
d) orientado a objetos.
e) distribuído.

20ª Questão) (ESAF – MPOG – Analista de Planejamento e


Orçamento – Tecnologia da Informação – 2009) No modelo entidade-
relacionamento, a cardinalidade de mapeamento expressa
a) o número de entidades ao qual um relacionamento pode estar associado
a um outro relacionamento.
b) o número de relacionamentos ao qual outro relacionamento pode estar
associado via uma entidade.
c) o critério de classificação segundo o qual os relacionamentos associam
entidades.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 120 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) o número de entidades ao qual outra entidade pode estar associada via
um relacionamento.
e) o posicionamento de uma entidade dentro do mapeamento do modelo.

21ª Questão) (UEL – Sercomtel – Informática III – 2005) Para um


conjunto de relacionamentos binários a cardinalidade NÃO pode ser:
a)Um para um (1:1): uma entidade E1 pode estar associada no máximo a
uma entidade E2 através de R; e uma entidade de E2 pode estar associada a no
máximo uma entidade E1, através de R.
b)Um para muitos (1:N): uma entidade E1 pode estar associada a várias
entidades E2; e uma entidade de E2 pode estar associada a no máximo uma
entidade E1.
c)Muitos para um (N:1): uma entidade E1 pode estar associada no máximo
a uma entidade E2; e uma entidade de E2 pode estar associada a várias
entidades de E1.
d)Muitos para muitos (N:N): uma entidade E1 pode estar associada a
várias entidade E2; e uma entidade de E2 pode estar associada a várias
entidades de E1.
e)Um para muitos (1:N): uma entidade E1 pode estar associada a várias
entidade E2 ou nenhuma; e uma entidade de E2 pode estar associada a
nenhuma ou muitas entidades de E1.
Conhecida a cardinalidade, você já resolve a questão. As quatro primeiras
alternativas exemplificam bem as várias cardinalidades.

22ª Questão) (FCC – Prefeitura de SP – Auditor Fiscal Tributário


Municipal I – Tecnologia da Informação - 2012) Considere o seguinte
diagrama ER parcial de um banco de dados.

De acordo com a cardinalidade das associações, um

Prof. Victor Dalton


www.estrategiaconcursos.com.br 121 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) projeto emprega pelo menos um empregado e é controlado por
exatamente um departamento.
b) empregado trabalha em pelo menos um projeto e gerencia exatamente
um departamento.
c) empregado trabalha em zero ou mais projetos e gerencia exatamente
um departamento.
d) departamento é gerenciado por exatamente um empregado e controla
pelo menos um projeto.
e) departamento é gerenciado por exatamente um empregado e controla
zero ou mais projetos.

23ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) Quando do projeto de um banco de dados relacional, pode
haver a indicação de que um conjunto de entidades tem participação total em
um conjunto de relacionamentos, isto significa que
a) cada entidade do conjunto de entidades participa em todos os
relacionamentos do conjunto de relacionamentos.
b) há, no mínimo, metade das entidades do conjunto de entidades que
participam em pelo menos um relacionamento do conjunto de relacionamentos.
c) as entidades do conjunto de entidades não possuem atributos do tipo
booleano ou do tipo data.
d) cada entidade do conjunto de entidades participa em pelo menos um
relacionamento do conjunto de relacionamentos.
e) todos os atributos do conjunto de entidades são indexados com a técnica
de árvores binárias.

24ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) Considere o seguinte diagrama Entidade-Relacionamento,
resultante da modelagem de um banco de dados relacional:

A partir desse diagrama, pode-se afirmar que

a) uma loja não possui todos os produtos.


b) uma loja possui um número par de departamentos.
c) cada departamento pode possuir vários produtos.
d) um mesmo produto não pode estar em mais de uma loja.
e) o número de lojas é impar.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 122 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
25ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de
Dados - 2013) A técnica de diagramação no modelo de Entidade-
Relacionamento é bem simples. Utiliza basicamente um losango para
representar ...I... e um retângulo para representar ...II... .

As lacunas I e II são preenchidas, correta e respectivamente, por

a) relacionamentos – entidades
b) atributos − relacionamentos
c) entidades − relacionamentos
d) entidades − atributos
e) atributos − entidades

26ª Questão) (FCC – TRT/6ª Região – Analista Judiciário –


Tecnologia da Informação - 2012) Um banco de dados relacional é um banco
de dados projetado segundo o chamado modelo relacional, que é um modelo de
banco de dados baseado na lógica de predicados de primeira ordem. O objetivo
do modelo é o de proporcionar uma linguagem declarativa para a descrição
tanto dos dados como de consultas a seu respeito, de maneira que o usuário
declara tanto a informação contida no banco de dados como a informação que
dele deseja extrair, deixando a cargo do sistema gerenciador do banco de dados
a tarefa de estabelecer estruturas de armazenamento de dados bem como os
procedimentos de recuperação destes dados para responder consultas. O modelo
relacional foi proposto formalmente há mais de 40 anos.

O texto acima está

a) incorreto, porque o modelo relacional é baseado na lógica de predicados


de segunda ordem.
b) correto.
c) incorreto, porque o modelo relacional não conduz naturalmente a uma
linguagem declarativa de descrição de dados ou consultas.
d) incorreto, porque nos bancos de dados relacionais, a tarefa de descrever
os procedimentos de recuperação dos dados para a resposta a consultas é tarefa
do usuário.
e) incorreto, porque o modelo relacional foi proposto há menos de 30 anos.

27ª Questão) (ESAF – SUSEP – Analista Técnico – Tecnologia da


Informação - 2010) Em Sistemas Gerenciadores de Bancos de Dados (SGBD),
existem as seguintes categorias de restrições de integridade:
a) Integridade de domínio, Integridade de vazio, Integridade de chave,
Integridade referencial.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 123 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) Integridade de acesso, Integridade de entrada, Integridade de saída,
Integridade referencial.
c) Integridade de domínio, Integridade de completude, Integridade de
chave, Integridade posicional.
d) Integridade de cardinalidade, Integridade de vazio, Integridade de
autorização de acesso, Integridade associativa.
e) Integridade de generalização/especialização, Integridade de usuários,
Integridade de chave, Integridade referencial.

28ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados - 2013) No projeto de bancos de dados relacionais é usual a tarefa de
permitir ou restringir a presença de valores nulos para determinados atributos.
O significado de um valor nulo é
a) o valor zero.
b) um valor especial designado pelo código ASCII da tecla #.
c) o valor correspondente à tecla F12.
d) a ausência de valor.
e) um valor fora do domínio do atributo.

29ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados – 2010) NÃO é uma restrição de
integridade básica:
a) de vazio.
b) de domínio.
c) de entidade.
d) de chave.
e) referencial.

30ª Questão) (FCC – TRT/1ª Região – Analista Judiciário –


Tecnologia da Informação – 2014) No modelo entidade-relacionamento
utilizado para modelar Bancos de Dados relacionais, quando se indica que há um
conjunto de relacionamentos do tipo muitos para muitos entre 2 conjuntos de
entidades A e B, significa que

(A) uma entidade do conjunto A está sempre associada a mais de uma


entidade de conjunto B e vice-versa.
(B) uma entidade do conjunto A pode estar associada a várias entidades do
conjunto B e vice-versa.
(C) os conjuntos de entidades A e B possuem, cada um deles, número igual
de atributos.
(D) os conjuntos de entidades A e B possuem diversos atributos com a
possibilidade de terem valores nulos.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 124 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
(E) uma entidade do conjunto B está associada a apenas uma entidade do
conjunto A, mas uma entidade do conjunto A está associada a várias entidades
do conjunto B.

31ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação - 2010) Um modelo de banco de dados relacional
deve conter no mínimo a definição de
a) tabelas, colunas das tabelas e restrições de integridade.
b) títulos, colunas dos atributos e restrições de integridade.
c) títulos, colunas das tabelas e restrições de manutenção.
d) tabelas, relações entre linhas das tabelas e opções de integridade.
e) associações de restrição, colunas referenciadas e restrições de
desempenho.

32ª Questão) (FCC – TCE/AM – Analista Técnico de Controle Externo


– Tecnologia da Informação - 2012) Em relação a bancos de dados, uma
chave primária pode ser formada por uma ou mais colunas e deve possuir um
identificador único para
a) cada uma das colunas pertencente a essa chave.
b) cada coluna da tabela.
c) uma tupla (formada por linhas e colunas).
d) todos os registros da tabela.
e) cada linha da tabela.

33ª Questão) (ESAF – Superintendência de Seguros Privados –


Tecnologia da Informação – 2010) Em Abordagem Relacional
a) uma chave relacionada é uma coluna cujos valores distinguem atributos
de relacionamentos.
b) a chave estrangeira é o mecanismo que permite a implementação de
relacionamentos em um banco de dados relacional.
c) a chave estrangeira é uma coluna ou uma combinação de colunas cujos
valores não aparecem na chave primária de uma tabela.
d) uma chave primária é uma linha ou uma combinação de linhas cujos
valores distinguem uma coluna das demais dentro de uma tabela.
e) a chave estrangeira é uma linha ou uma combinação de linhas cujos
valores necessariamente aparecem na chave primária de uma tabela.

34ª Questão) (FCC – TRT/6ª Região – Analista Judiciário –


Tecnologia da Informação - 2012) No modelo entidade-relacionamento,
a) entidades podem ter atributos, mas relacionamentos não podem ter
atributos.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 125 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) uma chave é um conjunto de atributos cujos valores identificam um
relacionamento de maneira única.
c) um relacionamento é uma associação entre atributos.
d) todo relacionamento tem uma chave.
e) uma chave é um conjunto de atributos cujos valores identificam uma
entidade de maneira única.

35ª Questão) (FCC – TJ/RJ – Analista Judiciário – Analista de


Suporte – 2012) Considere:
I. Se uma transação é concluída com sucesso (operação commit bem
sucedida), então seus efeitos são persistentes.
II. Ou todas as ações da transação acontecem, ou nenhuma delas
acontece.
As propriedades (I) e (II) das transações em SGBDs, significam,
respectivamente,
a) durabilidade e consistência.
b) persistência e automação.
c) isolação e atomicidade.
d) durabilidade e atomicidade.
e) consistência e persistência.

36ª Questão) (FCC – MPE/MA – Analista Ministerial – Banco de


Dados – 2013) O conceito de transações em um banco de dados relacional
envolve algumas propriedades conhecidas e agrupadas sob o acrônimo ACID. A
letra D nesse acrônimo significa Durabilidade, sendo que seu conceito indica que
a) todas as regras de consistência previamente programadas no banco de
dados serão automaticamente excluídas.
b) cada transação é independente das demais, não gerando influência nas
demais transações eventualmente existentes.
c) os tipos de dados definidos não dependem do sistema gerenciador de
banco de dados utilizado.
d) ao término de uma transação, eventuais alterações em valores das
tabelas do banco de dados devem persistir, mesmo que ocorram falhas no
sistema de banco de dados.
e) é necessário utilizar um sistema gerenciador de banco de dados capaz
de implementar mecanismos de controle de concorrência.

37ª Questão) (UEL – SEAP – Analista de Sistemas – 2009) Os sistemas


gerenciadores de bancos de dados devem garantir que as transações por eles
suportadas possuam o conjunto das seguintes propriedades:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 126 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) Atomicidade, consistência, isolamento, durabilidade.
b) Atomicidade, consistência, independência de dados, durabilidade.
c) Atomicidade, consistência, independência de dados, isolamento.
d) Atomicidade, consistência, isolamento, replicação.
e) Atomicidade, consistência, durabilidade, robustez.

38ª Questão) (FCC – SEFAZ/SP – Agente Fiscal de Rendas – 2013)


Para responder às próximas questões, considere o texto a seguir:
A empresa Express conta com diversas equipes de desenvolvimento, nas
áreas de software em geral, incluindo técnicas estruturadas e de orientação a
objetos. Essas equipes estão em constante aperfeiçoamento, visando mantê-las
sempre atualizadas com as técnicas mais recentes da engenharia de software,
incluindo-se aí a área de bancos de dados.
A Express atende clientes de diversos perfis, abrangendo pequenas, médias
e grandes empresas. Dessa forma, os sistemas de computação solicitados
também atendem a esse perfil, compreendendo sistemas de pequeno, médio e
grande porte.
A Express conta com equipes especializadas, de grande experiência nas
áreas acima destacadas, estando, portanto, apta a atender desde um simples
produto até um grande sistema de software. Dessa forma, os produtos
desenvolvidos pela Express possuem, normalmente, uma qualidade bastante
apurada, o que pode ser verificado pelas diversas técnicas existentes.
Uma das normas da Express é a de produzir documentação de excelente
qualidade, cuja finalidade é, não apenas para entrega aos clientes, mas também
para possibilitar a manutenção adequada dos produtos desenvolvidos.

No projeto de seus bancos de dados, a Express faz uso da modelagem


relacional, na qual é necessário definir os domínios dos atributos de uma
relação. Um domínio é considerado atômico se, na aplicação em questão,
a) o comprimento máximo de seus valores tiver até 255 caracteres.
b) seus elementos forem considerados como indivisíveis.
c) não houver caractere especial nos valores dos atributos, tais como $ e
@.
d) forem admitidos apenas letras e espaços como caracteres válidos.
e) não forem admitidos valores nulos.

39ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Analista de Sistemas - 2013) Quando da modelagem de dados de um banco
de dados relacional, podem ser utilizados atributos compostos, sobre os quais é
correto afirmar que
a) podem ser decompostos em outros atributos simples ou ainda
compostos.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 127 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) são sempre formados por um atributo do tipo numérico e um do tipo
literal.
c) não podem conter atributos do tipo booleano em sua formação.
d) não admitem valores nulos em sua composição.
e) fazem parte, obrigatoriamente, da chave primária do conjunto de
entidades ao qual são vinculados.

40ª Questão) (FCC – SEFAZ/SP – Agente Fiscal de Rendas – 2013) No


projeto de bancos de dados relacionais, a Express tem preocupação de produzir
modelos mais adequados. A chave primária de uma relação de um banco de
dados relacional
a) só pode servir como chave estrangeira de, no máximo, uma outra
relação.
b) não pode ser indexada, quando da implementação do banco de dados.
c) não pode conter atributos do tipo Data.
d) pode ser formada por mais de um atributo.
e) não pode conter mais do que um atributo.

41ª Questão) (FCC – Prefeitura de SP – Auditor Fiscal Tributário


Municipal I – Tecnologia da Informação - 2012) Considere o seguinte
projeto conceitual de um banco de dados:

Para se construir o projeto lógico deste banco de dados, no mapeamento do


relacionamento ExpostoEm e seus atributos,

a) pode ser criada uma relação ExpostoEm, contendo como chaves


estrangeiras as chaves primárias das relações correspondentes às entidades
Produto, Loja e Lote e como atributos Unidade e Quantidade.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 128 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) os atributos Unidade e Quantidade podem ser adicionados à relação
correspondente à entidade Lote. O atributo CodLote deve ser chave estrangeira
nas relações correspondentes às entidades Produto e Loja.

c) os atributos Unidade e Quantidade podem ser adicionados à relação


correspondente à entidade Loja. O atributo CodLoja deve ser chave estrangeira
nas relações correspondentes às entidades Produto e Lote.

d) pode ser criada uma relação ExpostoEm, contendo como atributos


CodExposicao, Unidade e Quantidade. O atributo CodExposicao é a chave
primária desta relação e deve aparecer como chave estrangeira na relação
correspondente à entidade Lote.

e) pode ser criada uma relação ExpostoEm, contendo como atributos


CodExposicao, Unidade e Quantidade. O atributo CodExposicao é a chave
primária desta relação e deve aparecer como chave estrangeira nas relações
correspondentes às entidades Produto, Loja e Lote.

42ª Questão) (FCC – MPE/CE – Analista Ministerial – Ciências da


Computação - 2013) O modelo de dados relacional é baseado em uma coleção
de ...I... . O usuário pode consultá-las e inserir, excluir e atualizar ...II... . A
...III... define um conjunto de operações sobre relações e as linguagens de
consulta são baseadas nela. O modelo de dados ...IV... é amplamente usado
para o projeto do banco de dados, oferecendo uma representação gráfica para
visualizar dados, relacionamentos e ...V....

Preenchem as lacunas, correta e respectivamente, o que consta em

43ª Questão) (FCC – ALESP – Agente Técnico Legislativo –


Administração de Banco de Dados e Arquitetura de Dados - 2010)
Maneira alternativa de observação de dados de uma ou mais entidades − tabelas
−, que compõe uma base de dados. Pode ser considerada como uma tabela
virtual ou uma consulta armazenada. Trata-se de

a) table shadow.
Prof. Victor Dalton
www.estrategiaconcursos.com.br 129 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) view.
c) shadow table.
d) table blour.
e) blour table.

44ª Questão) (FCC – BACEN – Analista – Área 2 – 2005 - adaptada)


Sobre definição e manipulação de visão, analise:

I. Uma VIEW provê mais segurança, pois permite esconder parte dos dados
da tabela real.
II. Os dados que compõem a VIEW são armazenados separadamente da
tabela real.
III. Uma linha inserida na VIEW, com todas as colunas, será inserida na
tabela real.

É correto o que consta APENAS em

a) I,II e III.
b) I e II, somente.
c) I e III, somente.
d) II e III, somente.
e) I, somente.

45ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) Na


modelagem Entidade-Relacionamento (ER) uma propriedade importante de um
relacionamento é a de quantas ocorrências de uma entidade podem estar
associadas a uma determinada ocorrência através do relacionamento. Tal
propriedade é chamada de

a) dependência funcional

b) normalização

c) generalização/especialização

d) relacionamento identificador

e) cardinalidade.

46ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) A


definição “software que incorpora as funções de definição, recuperação e
alteração de dados em um banco de dados”, melhor corresponde a:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 130 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) Modelo de banco de dados.

b) Linguagem de Consulta Estruturada (SQL).

c) Sistema de Gerência de Banco de Dados (SGDB).

d) Interpretador eXtended Markup Language (XML).

e) Sistemas de arquivos.

47ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012)


Como se denomina o modelo de dados abstrato que descreve a estrutura de um
banco de dados de forma independente de um SGDB particular?

a) Modelo físico.

b) Modelo de dados.

c) Modelo virtual.

d) Modelo conceitual.

e) Modelo lógico.

48ª Questão) (FMP – ISS/POA – Agente Fiscal da Receita – 2012) A


técnica de modelagem de dados mais difundida é a abordagem entidade-
relacionamento. À luz dessa modelagem, o que se entende por relacionamento?

a) O conjunto de associações entre as entidades que serão armazenadas no


banco de dados.

b) As informações de uma determinada entidade do banco de dados.

c) Um par específico de entidades.

d) A definição dos possíveis valores que uma determinada entidade pode


assumir.

e) Um identificador que distingue de forma unívoca a ocorrência de uma


entidade das demais ocorrências dessa mesma entidade.

49ª Questão) (CETRO –SEMSA – Analista de Sistemas – 2012)


Assinale a alternativa que apresenta a representação adequada para uma
entidade forte no modelo E-R.

a) Losango.

b) Retângulo de borda dupla.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 131 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
c) Pequeno retângulo de cantos arredondados.

d) Losango de borda dupla.

e) Retângulo.

50ª Questão) (CETRO – ANVISA – Analista Administrativo Área 5 –


2013) Com relação às chaves substitutas em banco de dados, analise as
assertivas abaixo.

I. Sempre envolvem exatamente um atributo.

II. Elas servem somente para representar o fato de que entidades


correspondentes existem.

III. Quando uma entidade é excluída, o valor de sua chave substituta


deverá ser alocado para a primeira nova entidade adicionada.

É correto o que se afirma em

a) I e III, apenas.

b) I e II, apenas.

c) II e III, apenas.

d) I, II e III.

e) II, apenas.

51ª Questão) (CETRO – ANVISA – Analista Administrativo Área 5 –


2013) Quanto aos sistemas de gerenciamento de banco de dados, assinale a
alternativa correta.

a) Sua função geral é fornecer uma interface entre o usuário e o sistema de


banco de dados.

b) Sempre tem um gerenciador de transações.

c) O dicionário de dados impõe certos controles sobre a recuperação e


concorrência do banco de dados.

d) A verificação da integridade dos dados deve ser feita somente no tempo


de compilação.

e) Não incluem compiladores de DML.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 132 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
52ª Questão) (FCC – TRT 2ª Região – Analista Judiciário – Tecnologia
da Informação – 2014) Em alguns casos, dois ou mais valores de atributos
em um modelo de Entidade-Relacionamento estão relacionados. Por exemplo, os
atributos Idade e Data de Nascimento de uma pessoa. Para uma Entidade-
Pessoa em particular, o valor de Idade pode ser determinado pela data corrente
e o valor de Data de Nascimento da pessoa. Portanto, o atributo Idade é
chamado atributo ...I... do atributo Data de Nascimento, que, por sua vez, é
chamado atributo ...II... .

As lacunas I e II são, correta e respectivamente, preenchidas com:

(A) armazenado - derivado


(B) derivado - armazenado
(C) multivalorado - monovalorado
(D) identificador - complexo
(E) resultante - unívoco

53ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Um


SGBD multiusuário deve permitir que diversos usuários acessem o banco de
dados ao mesmo tempo. Isso é essencial se os dados para as várias aplicações
estão integrados e mantidos em um único banco de dados. O SGBD deve incluir
um software de controle de concorrência para garantir que muitos usuários, ao
tentar atualizar o mesmo dado, o façam de um modo controlado, para assegurar
que os resultados das atualizações sejam corretos. Por exemplo, quando muitos
atendentes tentam reservar um lugar em um voo, o SGBD deve garantir que
cada assento possa ser acessado somente por um atendente de cada vez, para
fazer a reserva de apenas um passageiro.

Em SGBD, a este conceito se dá o nome de

a) acesso simultâneo.
b) semáforo de acesso.
c) transação.
d) modularização.
e) polimorfismo.

54ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Um


SGBD possui a capacidade de mudar o esquema interno sem ter de alterar o
esquema conceitual, consequentemente não havendo necessidade de alteração
do esquema externo. As mudanças no esquema interno podem ser necessárias
para que alguns arquivos físicos possam ser reorganizados, por exemplo, pela
criação de estruturas de acesso adicionais para aperfeiçoar o desempenho da
recuperação ou atualização de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 133 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Essa característica de um SGBD é denominada

a) modelo lógico de dados.

b) modelo físico de dados.

c) independência modular.

d) representação conceitual.

e) independência física de dados.

55ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) Uma


característica fundamental da abordagem de um banco de dados é que o
sistema de banco de dados possui não apenas o banco de dados, mas também
uma completa definição ou descrição ...I... desse banco de dados e ...II.... Essa
definição está armazenada no catálogo do SGBD, que contém informações como
a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item
de dado e várias restrições sobre os dados.

As lacunas I e II são correta e, respectivamente, preenchidas por:

a) do domínio - seus casos de uso

b) do conteúdo binário - suas linhas e colunas

c) das tabelas - seus administradores

d) da estrutura - suas restrições

e) em UML - outros bancos deste sistema

56ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) No


processamento tradicional de arquivos, a estrutura do arquivo de dados está
embutida no programa da aplicação, sendo assim, qualquer mudança na
estrutura de um arquivo pode exigir alterações de todos os programas que
acessam esse arquivo. Aplicações desenvolvidas com foco em SGBD não exigem
essas alterações na maioria dos casos, pois a estrutura dos arquivos de dados é
armazenada no catálogo do SGDB separadamente do programa de acesso.

A este isolamento entre programas e dados é dado o nome de

a) abstração de dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 134 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) acesso remoto.

c) independência funcional.

d) independência modular.

e) modelo relacional.

57ª Questão) (FCC – SABESP – Tecnólogo - Sistemas - 2014) A


maioria das aplicações de um banco de dados tem certas restrições de
integridade que devem complementar os dados. O SGBD deve prover
funcionalidades para a definição e a garantia dessas restrições. O tipo mais
simples de restrição de integridade envolve a

a) especificação de um tipo de dado para cada item de dados.

b) indexação da tabela por valores ascendentes ou descendentes, conforme


a restrição a ser integrada.

c) criação de visualizações (views) para as colunas de uma tabela.

d) definição do modelo lógico de dados juntamente com as características


físicas do domínio.

e) utilização de chaves estrangeiras em conjunto com a definição de um


gatilho (trigger) para determinados eventos.

58ª Questão) (FCC – SEFAZ/PE – Auditor Fiscal – 2014) Um Sistema


de Gerenciamento de Banco de Dados (SGBD) é um software com recursos
específicos para facilitar a manipulação das informações dos bancos de dados e
o desenvolvimento de programas aplicativos. A forma como os dados serão
armazenados no banco de dados é definida pelo modelo do SGBD. Os principais
modelos são: hierárquico, em rede, orientado a objetos e

(A) funcional.
(B) procedural.
(C) orientado a serviços.
(D) relacional.
(E) orientado a componentes.

59ª Questão) (ESAF – Analista de Finanças e Controle –


Desenvolvimento de Sistemas de Informação – 2008) Em um banco de
dados que utiliza a linguagem SQL para definição, manipulação e controle de
dados, é correto afirmar que os comandos

Prof. Victor Dalton


www.estrategiaconcursos.com.br 135 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) CREATE, DROP e INSERT fazem parte da DML (Linguagem de
Manipulação de Dados).
b) GRANT e REVOKE fazem parte da DCL (Linguagem de Controle de
Dados).
c) INSERT, UPDATE e SELECT fazem parte da DDL (Linguagem de Definição
de Dados).
d) ALTER, DELETE e REVOKE fazem parte da DML (Linguagem de
Manipulação de Dados).
e) CREATE, GRANT e DROP fazem parte da DCL (Linguagem de Controle de
Dados).

60ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) A linguagem de manipulação de
dados (DML)

a) sempre se utiliza de outra linguagem de programação hospedeira para


que possa ser executada.
b) utiliza instruções INSERT, DROP, SELECT, UPDATE, entre outras.
c) pode ser executada mesmo que suas sentenças não estejam escritas em
um código de linguagem de programação.
d) se utiliza de instruções que permitem a inclusão e alteração de dados,
assim como, atribuição e negação de permissões.
e) é uma linguagem exclusivamente procedural, para especificar como os
dados devem ser obtidos do banco.

61ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) É INCORRETO afirmar que a
linguagem de definição de dados (DDL) permite

a) o suporte a rollback, já que instruções DDL podem ser manipuladas


dentro de uma transação.
b) a modificação de um objeto existente do banco de dados.
c) declarações para definição de relacionamentos de integridade referencial.
d) que o resultado da compilação de comandos de uma DDL seja
armazenado no dicionário de dados.
e) a definição de tuplas no banco de dados, por meio do comando CREATE.

Todas as linguagens de BD são importantes, mas a DDL merece um


destaque especial, pois é ela que cria o Banco, ou seja, é ela que converte os
desenhos e diagramas em um banco implementado.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 136 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
62ª Questão) (FCC – SABESP – Analista Gestão I - Sistemas - 2012)
Sobre restrições (constraints) em bancos de dados, considere:

I. A restrição NOT NULL, assim como as restrições UNIQUE e PRIMARY KEY


fornecem uma garantia de exclusividade para uma coluna ou conjunto de
colunas.
II. A restrição DEFAULT é usada para inserir um valor padrão em uma
coluna. O valor padrão será adicionado a todos os novos registros, caso nenhum
outro valor seja especificado.
III. A restrição CHECK é usada para limitar a gama de valores que podem
ser colocados em uma coluna. Se essa restrição for definida em uma tabela, ela
pode limitar os valores em determinadas colunas com base nos valores de
outras colunas da linha.

Está correto o que consta em

a) III, apenas.
b) I e II, apenas.
c) I e III, apenas.
d) II e III, apenas.
e) I, II e III.

63ª Questão) (FCC – Metrô/SP – Analista Desenvolvimento Gestão


Júnior – Ciências da Computação - 2012) Um dos métodos para garantir a
integridade das informações inseridas em bancos de dados é pelo uso de
constraints, que garantem que os dados sejam validados de acordo com os
critérios estabelecidos pelas constraints. Sobre a constraint UNIQUE em
linguagem SQL, é INCORRETO afirmar que

a) designa uma coluna ou uma combinação de colunas de tal forma que


duas linhas não possam ter o mesmo valor.
b) estabelece um relacionamento com a chave primária ou única da mesma
ou de outra tabela.
c) valores nulos são aceitos.
d) automaticamente é criado um índice único para a coluna ou colunas
especificadas.
e) é possível criá-la após a criação da tabela.

64ª Questão) (FGV – MEC – Analista de Sistema –Administrador de


Dados - 2008) Um DBA criou uma tabela em um Banco de Dados no
postgreSQL 8.3 utilizando o comando

CREATE TABLE mec (

Prof. Victor Dalton


www.estrategiaconcursos.com.br 137 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
cidade varchar(80),
temp_baixa int,
temp_alta int,
nivel_precip real,
data date)

Para o comando que insere dados na tabela mec, é usada a seguinte


sintaxe:
a) INSERT IN mec(cidade, temp_baixa, temp_alta, nível_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
b) INSERT ON mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
c) INSERT FROM mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
d) INSERT OVER mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');
e) INSERT INTO mec(cidade, temp_baixa, temp_alta, nivel_precip, data)
VALUES ('Brasilia', 20, 34, 0.2, ‘2009-01-13');

65ª Questão) (FCC – INFRAERO – Analista de Sistema – Banco de


Dados e Administrador de Dados - 2011) Analise os comandos PL/SQL:

CREATE TABLE Departamentos (Id numeric(10) not null,Descricao


varchar(30) not null, CONSTRAINT Dept_pk PRIMARY KEY(Id));

CREATE TABLE Vendedores (Id numeric(10) not null,Nome varchar(30) not


null,Departamento numeric(10) not null, CONSTRAINT Vendedores_pk PRIMARY
KEY(Id),CONSTRAINT fk_dept FOREIGN KEY(Departamento) REFERENCES
Departamentos(Id));

CREATE TABLE Vendas (Vendedor numeric(10) not null,ValordeVenda real


not null,CONSTRAINT fk_vendedores FOREIGN KEY(Vendedor) REFERENCES
Vendedores(Id));

O comando PL/SQL necessário para listar o nome dos vendedores que


obtiveram Valor de Venda superior a 100 e que pertençam ao departamento 1
nas tabelas criadas acima deve ser:

a) SELECT * FROM Vendedores WHERE Departamento = 1 AND (SELECT


ValordeVenda FROM Vendas WHERE Sum(ValordeVenda) > 100);

Prof. Victor Dalton


www.estrategiaconcursos.com.br 138 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) SELECT Nome FROM Vendedores WHERE Departamento = 1 AND
(SELECT Sum(ValordeVenda) FROM Vendas WHERE Vendedor = Vendedores.Id)
> 100;

c) SELECT Vendedor FROM Vendas WHERE Sum(ValordeVenda) > 100 AND


Departamento = 1;

d) SELECT (SELECT Nome from Vendedores WHERE Id = Vendas.Vendedor)


as Nome,ValordeVenda FROM Vendas WHERE ValordeVenda > 100;

e) SELECT (SELECT Sum(ValordeVenda) FROM Vendas) as S,(SELECT Id


from Departamentos WHERE Id = 1) as IdDept WHERE S > 100 AND IdDept =
1;

66ª Questão) (FCC – TRT 6ª Região – Analista Judiciário –Tecnologia


da Informação - 2012) Considere os seguintes comandos em PL/SQL:

CREATE TABLE VALORES (ID INT NOT NULL PRIMARY KEY,VALOR INT);
INSERT INTO VALORES VALUES (1,5);
INSERT INTO VALORES VALUES (1,6);
INSERT INTO VALORES VALUES (NULL,7);
INSERT INTO VALORES VALUES (2,1);
INSERT INTO VALORES VALUES (2,8);
INSERT INTO VALORES VALUES (3,9);
INSERT INTO VALORES VALUES (NULL,10);
SELECT COUNT(VALOR) FROM VALORES WHERE VALOR >= 5;

A consulta retornará o valor


a) 2.
b) 14.
c) 6.
d) 29.
e) 5.

67ª Questão) (FGV – MEC – Analista de Sistema –Administrador de


Dados - 2008) Stored Procedure é termo utilizado para um conjunto de
comandos, ao qual é atribuído um nome, que fica armazenado no Banco de
Dados e pode ser chamado a qualquer momento tanto pelo SGBD quanto por um
sistema que faz interface com o mesmo. A utilização de Stored Procedures
constitui uma técnica eficiente de executarmos operações repetitivas. Ao invés
de digitar os comandos cada vez que determinada operação necessite ser
executada, cria-se um Stored Procedure que é chamada quando necessário. Em

Prof. Victor Dalton


www.estrategiaconcursos.com.br 139 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
um Stored Procedure pode-se ter estruturas de controle e decisão, típicas das
linguagens de programação. No SQL Server, uma “stored procedure” é
executada automaticamente quando um dado da tabela é alterado em
decorrência da execução de um comando SQL do tipo INSERT, UPDATE ou
DELETE. Esta “stored procedure” é denominada:

a) commit.
b) rollback.
c) trigger.
d) snapshot.
e) deadlock.

(CESPE – MEC – Atividade Técnica de Complexidade Intelectual –


Administrador de Dados - 2011)

Considere que, sob o padrão do SQL2, tenham sido criadas as tabelas


Empregado, Dependente e Departamento por meio dos seguintes comandos:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 140 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

Considere, ainda, os seguintes comandos, todos também sob o padrão do


SQL2, relativos a consultas feitas nos dados das tabelas acima citadas.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 141 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
Com referência às informações acima, bem como a comandos e consultas
em SQL e álgebra relacional, julgue os itens seguintes.

68. A consulta 2 recupera o nome e sobrenome dos empregados


que tenham dependentes.

69.Na consulta 1, foi utilizado qualificador para diferenciar os


campos de mesmo nome das consultas correlacionadas.

70.A consulta 1 recupera o nome e sobrenome dos empregados que


possuam um dependente com o mesmo nome e o mesmo sexo do
empregado.

(CESPE – TCE/RO – Auditor de Controle Externo – Ciências da


Computação - 2013) 71.A linguagem de manipulação de dados (DML)
abrange uma linguagem de consulta embasada tanto na álgebra
relacional quanto no cálculo relacional de tuplas. Alguns comandos que
representam essa linguagem são SELECT, CREATE TABLE e CREATE
INDEX.

(CESPE – MPE/PI – Técnico Ministerial – Informática - 2012) Acerca


de DML e DDL, julgue os itens subsecutivos.

72.A DDL externa é utilizada para especificar o nível externo de um


banco de dados, utilizando-se, para tanto, a sublinguagem de dados do
usuário.

73.A DDL admite o processamento ou a manipulação de objetos dos


bancos de dados.

74.A DML é a única linguagem que possui recursos para


especificação de restrições de segurança ou de integridade.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 142 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
75.O esquema interno de um banco de dados, que identifica os tipos
de registros, índices, campos etc., é descrito por meio de uma DDL
conceitual.

(CESPE – TRT/10ª Região – Técnico Judiciário – Tecnologia da


Informação - 2013)

76.Suponha que exista determinada tabela alunos, com os campos


id_aluno, nome_aluno, telefone e idade. Nesse caso, o comando abaixo
é apropriado para listar todos os alunos que tenham idade superior a 34
anos e obter o resultado de forma ordenada por aluno.

select * from alunos where idade > 34 group by

nome_aluno having count(*) > 34

77.O comando listado abaixo é apropriado para criação de uma


tabela com o nome disciplinas, que contenha os campos id_disciplina e
disciplina, com chave primária id_disciplina.

create table disciplinas (

id_disciplina INTEGER not null,

disciplina VARCHAR(40) not null,

primary key (id_disciplina)

);

78.O comando abaixo permite adicionar a tabela disciplinas a uma


chave estrangeira com o nome fk_curso, do campo id_curso que
pertence à tabela cursos.

alter table disciplinas

alter column fk_curso references cursos

(id_curso);

(CESPE – MEC – Atividade Técnica de Complexidade Gerencial –


Administrador de Banco de Dados - 2011)

Prof. Victor Dalton


www.estrategiaconcursos.com.br 143 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
79.Quando uma transação é abortada, todas as mudanças que
ocorreram no banco de dados devem ser desfeitas. Essa operação pode
ser executada por meio do comando ROLLBACK da linguagem SQL.

80ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Analista de Sistemas - 2013) Considere as seguintes tabelas de um banco de
dados relacional, sendo que os atributos ID e Cod, na tabela Usa são chaves
estrangeiras, com origem, respectivamente, nas tabelas Dpto e Eqpto:

Depto (ID, Nome, Função)


Usa (ID, Cod)
Eqpto (Cod, Tipo, Valor)

Assinale a alternativa que apresenta a expressão SQL para obter o Nome


do Depto e o Tipo de Eqpto utilizados.

a) SELECT Nome, Tipo


FROM Depto Eqpto

b) SELECT Nome, Tipo


FROM Usa
WHERE USA.ID and Usa.Cod

c) SELECT Nome, Tipo


FROM Depto, Usa, Eqpto

d) SELECT Nome, Tipo


FROM Depto, Usa, Eqpto
WHERE Dpto.ID = USA.ID and Eqpto.Cod = Usa.Cod
e) SELECT Nome, Tipo
FROM Depto, Eqpto
WHERE Dpto.ID and Eqpto.Cod

81ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Programador - 2013) Analisando o modelo Entidade-Relacionamento é correto
afirmar:

a) Os atributos precoUnitario e quantidade devem ser movidos da entidade


PRODUTO para a entidade ITEMNOTAFISCAL como atributos simples, pois são
dependentes da chave primária composta dessa entidade e não apenas do
atributo idPRODUTO da entidade PRODUTO.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 144 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
b) O atributo quantidade deve ser movido da entidade PRODUTO para a
entidade ITEMNOTAFISCAL como atributo simples, pois a quantidade é
dependente da chave primária composta dessa entidade e não apenas do
atributo idPRODUTO da entidade PRODUTO.

c) Considerando que o conteúdo do atributo idITEMNOTAFISCAL é


sequencial e não se repete na mesma nota fiscal, só podendo se repetir em
notas fiscais diferentes, o atributo idPRODUTO deve fazer parte da chave
primária composta da entidade ITEMNOTAFISCAL.

d) O grau do relacionamento entre as entidades PRODUTO e


ITEMNOTAFISCAL deve ser muitos para muitos e não um para muitos como
apresentado no modelo.

e) Considerando que o conteúdo do atributo idITEMNOTAFISCAL é


sequencial e não se repete na mesma nota fiscal, só podendo se repetir em
notas fiscais diferentes, a chave primária dessa entidade deve ser formada
apenas pelo atributo idITEMNOTAFISCAL.

82ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Programador - 2013) Uma instrução SQL correta para criar a tabela
NOTAFISCAL apresentada no modelo é:

a) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NOT NULL,


dataEmissao DATE NULL, PRIMARY KEY(idNOTAFISCAL));

b) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL


AUTOINCREMENT, dataEmissao DATE NULL, PRIMARY KEY(idNOTAFISCAL));

c) CREATE SCHEMA NOTAFISCAL (idNOTAFISCAL INTEGER NOT NULL


AUTO_INCREMENT, dataEmissao DATE NOT NULL, PRIMARY
KEY(idNOTAFISCAL));

d) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL,


dataEmissao DATE NOT NULL, CONSTRAINT UNIQUE KEY(idNOTAFISCAL));

e) CREATE TABLE NOTAFISCAL (idNOTAFISCAL INTEGER NULL


CONSTRAINT PRIMARY KEY, dataEmissao DATE NULL);

Prof. Victor Dalton


www.estrategiaconcursos.com.br 145 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
83ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –
Administrador de Banco de Dados - 2013) Analise os seguintes comandos
de definição e manipulação de dados SQL:

CREATE TABLE Livro (ID INTEGER, NOME VARCHAR(20), AUTOR


VARCHAR(30));
INSERT INTO Livro VALUES(1, “Memórias Póstumas de Brás Cubas”,
“Machado de Assis”);
INSERT INTO Livro VALUES(1, “Quincas Borba”, NULL);
UPDATE Livro SET AUTOR = “Machado de Assis” WHERE ID = 1;

Após a execução destes comandos,

a) apenas o primeiro livro será incluído na tabela, pois o segundo livro está
utilizando o mesmo código de identificação, o que é restringido (CONSTRAINT)
para campos do tipo ID.

b) a coluna AUTOR do livro “Quincas Borba” será mantida com o valor


NULL, pois não foi informada a cláusula ALL para o comando UPDATE.

c) nenhuma alteração será efetuada no comando UPDATE, devido à falta da


cláusula TABLE antes do nome da tabela.

d) a coluna AUTOR conterá o texto “Machado de Assis” para ambos os


livros.

e) o comando de inserção do segundo livro irá falhar, pois colunas do tipo


VARCHAR não podem conter valores NULL sem que seja informada essa opção
na criação da tabela.

84ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) A cláusula LEFT JOIN em SQL
retorna todas as

a) colunas e apenas as linhas da tabela da esquerda que possuírem um


valor em comum na tabela da direita.

b) linhas e colunas da tabela da esquerda, desde que haja correspondência


na tabela da direita.

c) linhas da tabela da esquerda, desde que haja uma correspondência na


tabela da direita, porém só retorna as colunas que possuam valores em comum.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 146 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
d) linhas da tabela da esquerda, mesmo que não haja uma correspondência
na tabela da direita, porém só retorna as colunas que possuam valores em
comum.

e) linhas e colunas da tabela da esquerda, mesmo que não haja


correspondência na tabela da direita.

85ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) São CONSTRAINTS SQL, EXCETO
a) FOREIGN KEY.
b) NOT NULL.
c) UNIQUE.
d) PRIMARY KEY.
e) UNION.

Para responder às duas próximas questões, utilize os comandos SQL


abaixo.

CREATE TABLE times (id INTEGER, nome VARCHAR(20),cidade


VARCHAR(20));
CREATE TABLE jogos (local VARCHAR(20), data VARCHAR(8), time1
INTEGER, time2 INTEGER, placar1 INTEGER, placar2 INTEGER);
INSERT INTO times VALUES(1, "santos fc", "santos");
INSERT INTO times VALUES(2, "palmeiras", "sao paulo");
INSERT INTO times VALUES(3, "guarani", "campinas");
INSERT INTO jogos VALUES("campinas", "20100504", 3, 1, 0, 2);
INSERT INTO jogos VALUES("santos", "20101220", 1, 2, 1, 1);
INSERT INTO jogos VALUES("campinas", "20110210",3,2,0,0);

86ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) Analise a impressão do resultado
de uma query SQL efetuada após a execução dos comandos descritos (note que
no exemplo as colunas estão separadas pelo símbolo | barra vertical).

campinas | guarani | 0 | 2 | santos fc


santos | santos fc | 1 | 1 | palmeiras
campinas | guarani | 0 | 0 | palmeiras

A query SQL capaz de produzir este resultado é

Prof. Victor Dalton


www.estrategiaconcursos.com.br 147 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01
a) SELECT local,(SELECT nome FROM times WHERE id =
a.time1),placar1,placar2,(SELECT nome FROM times WHERE id = a.time2) FROM
jogos a;

b) SELECT * FROM jogos a, times b WHERE a.local, b.nome CASE b.id =


a.time1, a.placar1, a.placar2, b.nome CASE b.id = a.time2;

c) SELECT local, nome, placar1, placar2, nome FROM jogos INNER JOIN
times;

d) SELECT a.local, b.nome, a.placar1, a.placar2, c.nome FROM jogos a,


(SELECT nome FROM times WHERE id = a.time1) b, (SELECT nome FROM times
WHERE id = a.time2) c;

e) SELECT local, CASE a.time1 = b.id THEN nome, placar1, placar2, CASE
a.time2 = b.id THEN nome FROM jogos a, times b;

87ª Questão) (FCC – DPE/SP – Agente de Defensoria Pública –


Administrador de Banco de Dados - 2013) Para a impressão do seguinte
resultado:

Vitória Time 2
Empate
Empate

a query que poderá ser utilizada é

a) SELECT (SELECT "Vitória time 1" WHERE placar1 > placar2, SELECT
"Vitória time 2" WHERE placar2 > placar1, SELECT "Empate" WHERE placar1 =
placar2) FROM jogos;

b) SELECT v FROM jogos COALESCE("Vitória time 1", "Vitória Time 2",


"Empate") as V IN(placar1 > placar2,placar2 > placar1,placar1 = placar2);

c) SELECT "Vitória time 1" WHERE placar1 > placar2, "Vitória Time 2"
WHERE placar2 > placar1, "Empate" WHERE placar1 = placar2 FROM jogos;

d) SELECT nome FROM jogos WHERE nome IN (CASE WHEN placar1 >
placar2 THEN "Vitória time 1" WHEN placar2 > placar1 THEN "Vitória time 2"
ELSE "Empate" END);

e) SELECT CASE WHEN placar1 > placar2 THEN "Vitória time 1" WHEN
placar2 > placar1 THEN "Vitória Time 2" ELSE "Empate" END AS T1 FROM jogos;

Prof. Victor Dalton


www.estrategiaconcursos.com.br 148 de 149
Tecnologia da Informação para ICMS/PI
Auditor Fiscal da Fazenda Estadual
Prof Victor Dalton Aula 01

GABARITO

1.e 2.a 3.a 4.b 5.d 6.a 7.c 8.d 9.b 10.e
11.e 12.a 13.c 14.e 15.d 16.b 17.a 18.c 19.a 20.d
21.e 22.e 23.d 24.c 25.a 26.b 27.a 28.d 29.c 30.b
31.a 32.e 33.b 34.e 35.d 36.d 37.a 38.b 39.a 40.d
41.a 42.c 43.b 44.c 45.e 46.c 47.d 48.a 49.d 50.b
51.a 52.b 53.c 54.e 55.d 56.a 57.a 58.d 59.b 60.c
61.e 62.d 63.b 64.e 65.b 66.a 67.c 68.e 69.c 70.c
71.e 72.c 73.e 74.e 75.e 76.e 77.c 78.e 79.c 80.d
81.b 82.a 83.d 84.e 85.e 86.a 87.e

Prof. Victor Dalton


www.estrategiaconcursos.com.br 149 de 149

You might also like