Você está na página 1de 47

1

TI para Concursos
Banco de Dados
Prof. Sergio Sierro

2
■ Currículo
• Pós-Graduado em Governança e Gestão de Sistemas e Tecnologias da Informação (UFG)
• Pós-Graduado em Banco de Dados e Business Intelligence (FACNET)
• Graduado em Engenharia da Computação (IESAM)
• Técnico Judiciário – Tecnologia da Informação (TRF 1ª Região)

3
■ Conceitos de Banco de Dados
Segundo Korth, um banco de dados é:
o “É uma coleção de dados inter-relacionados, representando informações sobre um domínio específico”.

Segundo Navathe, um banco de dados possui três propriedades implícitas


o Representa algum aspecto do mundo real (minimundo ou universo de discurso).
o É uma coleção de dados logicamente coerentes e que possuem algum significado inerente.
o É projetado, construído e instanciado (povoado) para uma aplicação específica.

4
■ Conceitos de Banco de Dados
CARACTERÍSITCAS DE BANDO DE DADOS
Natureza Auto Descritiva:
o Não armazena apenas dados.
o A definição ou descrição da estrutura é armazenada em um catálogo.

Isolamento entre Aplicações e Dados:


o Os dados podem ser modificados sem a necessidade de realizar alterações nos programas que acessam os dados.

Compartilhamento de Dados:
o Acesso simultâneo ao banco de dados por diversos usuários.
o Dados devem permanecer consistentes.

5
■ Conceitos de Banco de Dados
Abstração de Dados:
o Uma visão abstrata em relação aos dados
o A complexidade é escondida atrás de três níveis de abstração

A Arquitetura de Três Esquemas, também conhecida como ANSI/SPARC, tem o objetivo de separar o banco de dados físico das aplicações do
usuário em três esquemas diferentes.
• Nível Externo ou Esquema Externo: também conhecido como Nível de Visões, focado no modo como os dados são vistos pelos usuários,
onde cada visão descreve qual porção do banco de dados um usuário poderá ter acesso.
• Nível Conceitual ou Esquema Conceitual: é uma descrição da estrutura do banco de dados como um todo, quais dados serão armazenados
e como irão se relacionar.
• Nível Interno ou Esquema Interno: também conhecido como Nível Físico, descreve detalhadamente como os dados estão realmente
armazenados e os caminhos de acesso ao banco de dados
6
■ Conceitos de Banco de Dados
Múltiplas Visões de Dados:
o Uso de visões para efetuar consultas especializadas
o Simplificar a interação dos usuários com o banco de dados
o Diversas visões dos dados podem ser definidas

7
■ Transação
Uma transação é uma unidade lógica de operações em um banco de dados.
Uma transação pode ser composta de uma ou mais operações de banco de dados, que podem ser de leitura ou de
atualização, estas podem ser operações de inserção (INSERT), atualização (UPDATE) ou exclusão (DELETE).
As transações devem ser processadas apropriadamente pelo SGBD.

Quatro Propriedades (ACID):


o Atomicidade;
o Consistência;
o Isolamento;
o Durabilidade.

8
■ Independência de Dados
Habilidade de modificar a definição de um esquema (níveis de abstração) sem afetar a definição de um nível mais alto.

Independência Lógica de Dados: é a habilidade de modificar o


esquema conceitual sem a necessidade de reescrever os
programas aplicativos, as modificações no nível conceitual são
necessárias quando a estrutura lógica do banco de dados é
alterada.

Independência Física de Dados: é a habilidade de modificar o


esquema físico sem a necessidade de reescrever os programas
aplicativos, as modificações no nível físico são ocasionalmente
necessárias para melhorar o desempenho.

9
■ Modelagem de Dados (Conceitual, Lógico e Físico)
Análise e planejamento dos dados que irão compor um
banco de dados.

Descrição da estrutura do banco de dados.

Um modelo de banco de dados pode ser construído em


diferentes níveis de abstração.

Representação do ambiente, dos relacionamentos e dos


processos entre os objetos observados.

10
■ Modelagem de Dados (Conceitual, Lógico e Físico)
Modelo Conceitual:
Representação mais alto nível da estrutura de um banco de dados.
Desenhar relações entre as diversas áreas ou usuários do sistema.
Focado no ponto de vista do usuário que irá criar os dados.
Durante a etapa de modelagem conceitual é utilizado o Modelo Entidade-Relacionamento (MER) ou Modelo Relacional,
onde serão descritos os dados ou aspectos de informação de um domínio de negócio (conjunto de valores e a descrição dos
tipos de valores que são aceitos) através da aplicações de dois componentes: entidades (representam um objeto no mundo
real, possuem significado próprio) e relacionamentos (como as entidades se relacionamento, ou seja, suas dependências)

11
■ Modelagem de Dados (Conceitual, Lógico e Físico)
Modelo Lógico:
Derivado a partir do modelo conceitual de um banco de dados.
Implementação de regras e restrições no desenho.
Detalhes de implementação são agregados (tipos de entidades, seus atributos e tipos de valores, relacionamentos entre as
entidades).
Focado na eficiência do armazenamento, evitando dados redundantes e tabelas desnecessárias (normalização).

12
■ Modelagem de Dados (Conceitual, Lógico e Físico)
Modelo Físico:
Mapeamento do modelo lógico em um esquema físico.
Detalhes técnicos do projeto de um banco de dados.
Demostra os dados fisicamente e leva em consideração todas as regras e limitações que foram impostas ao banco de dados.
Descrição da implementação da base de dados.

13
■ Modelo de Banco de Dados
Um modelo de banco de dados mostra a estrutura lógica de um banco de dados, incluindo as relações e restrições que
determinam como os dados podem ser armazenados e acessados.

A maioria dos sistemas de gestão de banco de dados (SGBD) são construídos focados em um modelo de dados específico e
exige que seus usuários adotem esse modelo, embora alguns ofereçam suporte a vários modelos.

Além disso, diferentes modelos se aplicam a diferentes estágios do


processo de criação de banco de dados. Os modelos de dados
conceituais de alto nível são os melhores para mapear as relações
entre os dados de maneira que as pessoas percebam esses dados. Os
modelos lógicos baseados em registros, por outro lado, refletem
melhor como os dados são armazenados no servidor.

14
■ Modelo de Banco de Dados
Modelo Relacional: Classifica dados em tabelas, também conhecidas como relações,
cada uma das quais consiste em colunas e linhas. Cada coluna lista um atributo da
entidade em questão, como preço, código postal ou data de nascimento.

Os atributos em uma relação são chamados de domínio. Um determinado atributo


ou combinação de atributos é escolhido como uma chave primária que pode ser
consultada em outras tabelas, quando é chamada de chave estrangeira.

Cada linha, também chamada de tupla, inclui dados sobre uma instância específica
da entidade, como um determinado colaborador.

O modelo também explica os tipos de relações entre essas tabelas, incluindo


relações uma para uma, uma para muitas e muitas para muitas.

15
■ Modelo de Banco de Dados
Modelo Hierárquico: Organiza dados em uma estrutura do tipo árvore, onde cada registro tem um único “pai” ou raiz.
Registros “irmãos” são classificados em uma ordem específica. Essa ordem é usada como a ordem física para armazenar o
banco de dados. Este modelo é bom para descrever muitas relações do mundo real.

16
■ Modelo de Banco de Dados
Modelo de Rede: É baseado no modelo hierárquico, permitindo relações
muitas para muitas entre registros vinculados, implicando em vários
registros “pai”. Baseado na teoria de conjuntos matemáticos, o modelo é
construído com conjuntos de registros relacionados.

Cada conjunto consiste em um registro proprietário, ou “pai”, e um ou


mais registros de membro, ou “filho”.

Um registro pode ser um membro, ou “filho”, em vários conjuntos,


permitindo que esse modelo transmita relações complexas.

17
■ Modelo de Banco de Dados
Modelo Orientado a Objetos: Define o banco de dados como uma coleção de
objetos, ou elementos de software reutilizáveis, com recursos e métodos
associados.

Há vários tipos de bancos de dados orientados para objetos:

Um banco de dados multimídia incorpora mídia, como imagens, que não podem ser
armazenadas em um banco de dados relacional.

Um banco de dados de hipertexto permite que qualquer objeto seja vinculado a


qualquer outro objeto. É útil para organizar lotes de dados diferentes, mas não é
ideal para a análise numérica.

18
■ Modelo Entidade-Relacionamento (MER)
O Modelo Entidade Relacionamento (também chamado Modelo ER, ou simplesmente MER) é um modelo conceitual utilizado
para descrever os objetos (entidades) envolvidos em um domínio de negócios, com suas características (atributos) e como
eles se relacionam entre si (relacionamentos).

Representa de forma abstrata a estrutura que possuirá o banco de dados da aplicação.

O banco de dados poderá conter várias outras entidades, tais como chaves e tabelas intermediárias, que podem só fazer
sentido no contexto de bases de dados relacionais.

Os dados são representados utilizando tabelas, as linhas representam as ocorrências de uma entidade, as colunas
representam os atributos de uma entidade.

19
■ Modelo Entidade-Relacionamento (MER)
Os objetos ou partes envolvidas um domínio, também chamados de entidades, podem ser classificados como físicos ou
lógicos, de acordo sua existência no mundo real.

Entidades físicas: são aquelas realmente tangíveis, existentes e visíveis no mundo real, como um cliente (uma pessoa, uma
empresa) ou um produto (um carro, um computador, uma roupa).

Entidades lógicas: são aquelas que existem geralmente em decorrência da interação entre ou com entidades físicas, que
fazem sentido dentro de um certo domínio de negócios, mas que no mundo externo/real não são objetos físicos (que
ocupam lugar no espaço). São exemplos disso uma venda ou uma classificação de um objeto (modelo, espécie, função de um
usuário do sistema).

20
■ Modelo Entidade-Relacionamento (MER)
Entidades fortes: sua existência independe de outras entidades, ou seja, por si só elas já possuem total sentido de existir. Em
um sistema de vendas, a entidade produto, por exemplo, independe de quaisquer outras para existir.

Entidades fracas: ao contrário das entidades fortes, as fracas são aquelas que dependem de outras entidades para existirem,
pois individualmente elas não fazem sentido. Mantendo o mesmo exemplo, a entidade venda depende da entidade produto,
pois uma venda sem itens não tem sentido.

Entidades associativas: esse tipo de entidade surge quando há a necessidade de associar uma entidade a um relacionamento
existente. Não é possível que um relacionamento seja associado a uma entidade, então tornamos esse relacionamento uma
entidade associativa, que a partir daí poderá se relacionar com outras entidades.

21
■ Modelo Entidade-Relacionamento (MER)
Uma vez que as entidades são identificadas, deve-se então definir como se dá o relacionamento entre elas.

De acordo com a quantidade de objetos envolvidos em cada lado do relacionamento, podemos classificar de três formas:

Relacionamento 1..1 (um para um): cada uma das duas entidades envolvidas referenciam obrigatoriamente apenas uma
unidade da outra.

22
■ Modelo Entidade-Relacionamento (MER)
Relacionamento 1..n ou 1..* (um para muitos): uma das entidades envolvidas pode referenciar várias unidades da outra,
porém, do outro lado cada uma das várias unidades referenciadas só pode estar ligada uma unidade da outra entidade.

Relacionamento n..n ou *..* (muitos para muitos): neste tipo de relacionamento cada entidade, de ambos os lados, podem
referenciar múltiplas unidades da outra.

23
■ Modelo Entidade-Relacionamento (MER)
Atributos são as características que descrevem cada entidade dentro do domínio. Por exemplo, um cliente possui nome,
endereço e telefone.

Os atributos podem ser classificados quanto à sua função:

• Descritivos: representam característica intrínsecas de uma entidade, tais como nome ou cor.

• Nominativos: além de serem também descritivos, estes têm a função de definir e identificar um objeto. Nome,
código, número são alguns exemplos.

• Referenciais: representam a ligação de uma entidade com outra em um relacionamento. Por exemplo, uma venda
possui o CPF do cliente, que a relaciona com uma entidade cliente.

24
■ Modelo Entidade-Relacionamento (MER)
Os atributos também podem ser classificados quanto à sua estrutura:

• Simples: um único atributo define uma característica da entidade. Por exemplo, o nome, peso, idade.

• Compostos: para definir uma informação da entidade, são usados vários atributos. Por exemplo, o endereço pode
ser composto por rua, número, bairro, etc.

25
■ Modelo Entidade-Relacionamento (MER)
Alguns atributos representam valores únicos que identificam a entidade dentro do domínio e não podem se repetir. Em um
cadastro de clientes, por exemplo, esse atributo poderia ser o CPF. Esse atributo é chamado de chave primária.

Os atributos referenciais são chamados de chave estrangeira e geralmente estão ligados à chave primária da outra entidade.
Mantendo o exemplo anterior, a entidade cliente tem como chave primária seu CPF, assim, a venda possui também um campo
“CPF do cliente” que se relaciona com o campo CPF da entidade cliente.

Chaves primárias não podem ser nulas.

Cada registro na tabela deve possuir uma, e somente uma, chave primária.

26
■ Modelo Entidade-Relacionamento (MER)
A chave estrangeira pode ser nula (NULL).

É um campo em uma tabela que faz referência a um campo que é chave primária (ou chave candidata) em outra tabela.

É possível ter mais de uma (ou nenhuma) em uma tabela.

ALERTA! Embora não haja, efetivamente, nenhum problema das chaves estrangeiras aceitarem valores NULL, essa
característica pode gerar o que é chamado de registro órfão, isto é, um registro sem dados para um determinado
relacionamento. Por exemplo, um registro de Pessoa que não possui Carro. Embora comum na realidade, é preciso levar em
consideração essa regra de negócio na aplicação para evitar problemas.

27
■ Modelo Entidade-Relacionamento (MER)

28
■ Linguagem SQL
SQL significa Structured Query Language ou Linguagem de Consulta Estruturada e é uma linguagem de programação utilizada
para gerenciar dados em banco de dados relacionais, oferecendo segurança e consistência de dados.

Foi criada para que os dados fossem consultados ou modificados de forma descomplicada e unificada, operando através de
instruções fáceis, simples, intuitivas e declarativas, onde a preocupação é mais com o que deve ser feito ao invés de como
será feito.

Com a linguagem SQL é possível criar tabelas, colunas, índices, atribuir permissões a usuários, assim como realizar consultas
aos dados.

A linguagem SQL possui cinco subconjuntos, responsáveis pelas operações de definição, manipulação, consulta, transação e
controle.

29
■ Linguagem SQL
DDL (Data Definition Language): A linguagem de definição de dados engloba os comandos de definição do banco de dados,
que interagem com os objetos do banco.

CREATE – É utilizado para criar objetos. Pode ser usado para criar bancos de dados completamente zerados, tabelas
específicas, índices etc. No exemplo abaixo está sendo criada uma tabela para armazenar os dados de estudantes.

DROP – É utilizado para excluir objetos do banco de dados. Essa remoção de tabelas envolve todas as linhas, privilégios e
índices. O comando DROP não necessita de nenhuma cláusula adicional.

ALTER – É utilizado para alterar objetos já existentes, seja modificando, excluindo ou adicionando. No exemplo a seguir,
alteramos a tabela estudantes excluindo a coluna nome.

30
■ Linguagem SQL
DQL (Data Query Language): A linguagem de consulta de dados é o subconjunto responsável por comandos de consulta aos
dados armazenados. Dentro dele, encontramos apenas o comando SELECT.

SELECT – Possibilita a consulta de dados de uma tabela. O SELECT recupera dados de determinado lugar. Os dados
recuperados pelo SELECT são armazenados em uma nova tabela, chamada conjunto de resultados. É um comando que tem a
possibilidade de ser estruturado de forma a fazer consultas mais simples ou mais complexas.

31
■ Linguagem SQL
DML (Data Manipulation Language): A linguagem de manipulação de dados é o subconjunto responsável por comandos de
manipulação dos dados. Composta de apenas três comandos, envolve interações de armazenamento, modificação, exclusão,
inserção e atualização.

INSERT – Essa instrução insere dados em uma ou mais tabelas. Na sua estrutura, deve ser acompanhada de INTO.

UPDATE – Utilizado para atualizar os dados existentes em uma ou mais tabelas. Deve ser usado com a cláusula WHERE, para
que se saiba em que linha será a atualização dos dados. Caso seja utilizado sem o WHERE, atualiza todos os registros.

DELETE – Utilizado para excluir os registros de uma tabela ou mais. Quando não acompanhado de uma cláusula, todas as
linhas são removidas.

32
■ Linguagem SQL
DCL (Data Control Language): A linguagem de controle de dados é um subconjunto do SQL que envolve comandos
relacionados à segurança do banco de dados. É utilizada para controlar o acesso aos dados, concedendo e retirando
privilégio de acesso.

GRANT – Esse comando concede a determinada pessoa o privilégio de acesso dentro do banco de dados.

REVOKE – Esse comando retira os privilégios de acesso. Ou seja, faz a operação inversa ao GRANT, negando a permissão.

33
■ Linguagem SQL
DTL ou TCL (Data Transaction Language): A linguagem de transação de dados é um subconjunto do SQL para transação de
dados. São os comandos para gerenciamento e controle de transação.

BEGIN/SET TRANSACTION – Tanto o comando BEGIN TRANSACTION quanto o SET TRANSACTION indicam o início de uma
transação. Devem ser usados imediatamente no começo do código, registrando que tudo que vem em sequência faz parte da
mesma transação. A diferença entre BEGIN TRANSACTION e SET TRANSACTION está que na segunda pode-se atribuir
especificações a respeito daquela transação, como, por exemplo, se será apenas para leitura.

COMMIT – Se a instrução BEGIN/ SET TRANSACTION inicia uma transação, a COMMIT a finaliza a transação. O comando
indica o fim de cada transação, salvando o que foi feito na transação atual. O COMMIT aparece no final daquela transação,
fechando o que foi aberto pelo BEGIN/SET TRANSACTION.

34
■ Direto do Concurso
Questão 01 (FGV/Banestes/Analista em Tecnologia da Informação – Segurança da Informação/2021)
Nos ambientes de bancos de dados corporativos de alta disponibilidade, o termo failover refere-se:
a) à migração planejada de dados e sistemas de uma plataforma para outra.
b) ao balanceamento de carga oriunda das requisições de acesso aos bancos de dados.
c) ao uso de um sistema redundante que é acionado automaticamente em caso de falhas.
d) aos mecanismos de proteção contra ataques de fontes externas.
e) aos procedimentos de recuperação de dados devido a erros decorrentes de operações incorretas.

35
■ Direto do Concurso
Questão 01 (FGV/Banestes/Analista em Tecnologia da Informação – Segurança da Informação/2021)
Nos ambientes de bancos de dados corporativos de alta disponibilidade, o termo failover refere-se:
a) à migração planejada de dados e sistemas de uma plataforma para outra.
b) ao balanceamento de carga oriunda das requisições de acesso aos bancos de dados.
c) ao uso de um sistema redundante que é acionado automaticamente em caso de falhas.
d) aos mecanismos de proteção contra ataques de fontes externas.
e) aos procedimentos de recuperação de dados devido a erros decorrentes de operações incorretas.

Comentário: Failover em computação significa tolerância a falhas, literalmente é a tradução. Quando um sistema, servidor ou
outro componente de hardware ou software fica indisponível (chamamos de serviço), um componente secundário assume
operações sem que haja interrupção nos serviços. Caso um servidor falhe, o outro atua para que o serviço não fique fora do ar.

36
■ Direto do Concurso
Questão 02 (FGV/Banestes/Analista em Tecnologia da Informação – Desenvolvimento de Sistemas/2021)
Nas próximas cinco questões, considere as tabelas T1, T2 e T3, cujas estruturas e instâncias são exibidas a seguir. O valor NULL deve ser tratado
como unknown (desconhecido).
Para a tabela T3, descrita anteriormente, considere os comandos SQL a seguir.
I. select * from T3 where E <> NULL
II. select * from T3 where not (E is NULL)
III. select * from T3 where not (E = NULL)
Sobre esses comandos, executados com a instância da tabela T3 descrita anteriormente, é correto concluir que:
a) somente I e II produzem resultados equivalentes;
b) somente I e III produzem resultados equivalentes;
c) somente II e III produzem resultados equivalentes;
d) todos produzem resultados diferentes entre si;
e) todos produzem resultados equivalentes.

37
■ Direto do Concurso
Questão 02 (FGV/Banestes/Analista em Tecnologia da Informação – Desenvolvimento de Sistemas/2021)
Nas próximas cinco questões, considere as tabelas T1, T2 e T3, cujas estruturas e instâncias são exibidas a seguir. O valor NULL deve ser tratado
como unknown (desconhecido).
Comentário: Na afirmativa I, a consulta é bem simples.
Para a tabela T3, descrita anteriormente, considere
SELECT os
* ->comandos SQL
projeta todas as acolunas.
seguir.
I. select * from T3 where E <> NULL FROM T3 -> da tabela T3.
WHERE E <> NULL -> filtra os registros pela coluna E, onde os registros forem diferente ( <> ) de NULL (NULO).
II. select * from T3 where not (E is NULL) Um ponto de atenção, para valores NULL, usamos os comparadores:
“IS NULL” se quisermos os valores que são nulos
III. select * from T3 where not (E = NULL)
“IS NOT NULL” se quisermos os valores que não são nulos
Dessa forma,
Sobre esses comandos, executados com a instância teremos
da tabela um resultado
T3 descrita vazio nessa consulta.
anteriormente, é corretoO certo seriaque:
concluir “SELECT * FROM T3 WHERE E IS NOT
NULL”.
a) somente I e II produzem resultados equivalentes;
Na afirmativa II, temos uma outra consulta comparando valores NULL.
SELECT * -> projeta todas as colunas.
b) somente I e III produzem resultados equivalentes;
FROM T3 -> da tabela T3.
c) somente II e III produzem resultados equivalentes;
WHERE NOT (E IS NULL) -> filtra os registros pela coluna E, negando as ocorrências onde E é NULL (NULO). Dessa
forma irá retornar as linhas onde E é igual a 20, 40 e 10. Que são as linhas onde E não é nulo.
d) todos produzem resultados diferentes entre si; forma, não teremos um resultado vazio.
Dessa
e) todos produzem resultados equivalentes. Na afirmativa III, temos o mesmo problema da primeira consulta, portanto teremos o mesmo resultado dela, ou
seja, um resultado vazio. Dessa forma, as instruções I e III produzem o mesmo resultado.

38
■ Direto do Concurso
Questão 03 (CESPE/CEBRASPE/Prefeitura de Aracaju-SE/Auditor de Tributos Municipais – Tecnologia da Informação/2021)
O modelo entidade-relacionamento não permite estabelecer relacionamentos entre relacionamentos, apenas entre entidades. Para atender a
situações em que seja necessário associar uma entidade com a ocorrência de um relacionamento, utiliza-se
a) atributo multivalorado.
b) dado temporal.
c) tabela especializada.
d) cardinalidade 1:N.
e) entidade associativa.

39
■ Direto do Concurso
Questão 03 (CESPE/CEBRASPE/Prefeitura de Aracaju-SE/Auditor de Tributos Municipais – Tecnologia da Informação/2021)
O modelo entidade-relacionamento não permite estabelecer relacionamentos entre relacionamentos, apenas entre entidades. Para atender a
situações em que seja necessário associar uma entidade com a ocorrência de um relacionamento, utiliza-se
a) atributo multivalorado.
b) dado temporal.
c) tabela especializada.
d) cardinalidade 1:N.
e) entidade associativa.

Comentário: Uma entidade associativa é um dos elementos do diagrama DER da modelagem conceitual.
Entidades associativas associam as instâncias de diversos tipos de entidades. Elas também contêm atributos
voltados especificamente ao relacionamento entre tais instâncias de entidades.

40
■ Direto do Concurso
Questão 04 (FCC/TJ-SC/Analista de Sistemas/2021)
Um dicionário de dados é útil
a) para descrever os dados representados em diagramas de fluxos de dados, de entidade-relacionamento e de estado.
b) quando usado exclusivamente para o cadastro dos atributos do modelo entidade-relacionamento e seus significados a fim de evitar
redundâncias e dubiedades dos dados.
c) somente se possuir facilidade de salvaguarda das imagens dos diagramas de entidades e relacionamentos e de fluxo de dados.
d) para desenhar casos de uso e contemplar a operação de detalhamento das classes de objetos em objetos simples e suas decomposições.
e) somente se tiver a facilidade de ser o elemento central de uma rede onde se pode localizar fisicamente as pastas e manuais dos sistemas.

41
■ Direto do Concurso
Questão 04 (FCC/TJ-SC/Analista de Sistemas/2021)
Um dicionário de dados é útil
a) para descrever os dados representados em diagramas de fluxos de dados, de entidade-relacionamento e de estado.
b) quando usado exclusivamente para o cadastro dos atributos do modelo entidade-relacionamento e seus significados a fim de evitar
redundâncias e dubiedades dos dados.
c) somente se possuir facilidade de salvaguarda das imagens dos diagramas de entidades e relacionamentos e de fluxo de dados.
d) para desenhar casos de uso e contemplar a operação de detalhamento das classes de objetos em objetos simples e suas decomposições.
e) somente se tiver a facilidade de ser o elemento central de uma rede onde se pode localizar fisicamente as pastas e manuais dos sistemas.

Comentário: Segundo Navathe, o dicionário de dados além de armazenar informações de catálogo sobre
esquemas e restrições, o dicionário de dados armazena decisões do projeto, padrões de uso, descrições de
programa de aplicação e informações do usuário.

42
■ Direto do Concurso
Questão 05 (FCC/TJ-SC/Analista de Sistemas/2021)
Para exibir o número de diferentes nomes de departamentos (nomeDepartamento) a partir da tabela TabDepartamentos, suprimindo
duplicações, utiliza-se a instrução SQL:
SELECT
a) COUNT(nomeDepartamento) FROM TabDepartamentos NOT REPEAT;
b) COUNT(DISTINCT nomeDepartamento) FROM Departamentos;
c) SUM(nomeDepartamento) FROM TabDepartamentos NO-REPEAT;
d) COUNT(nomeDepartamento) FROM TabDepartamentos;
e) DISTINCT nomeDepartamento FROM TabDepartamentos;

43
■ Direto do Concurso
Questão 05 (FCC/TJ-SC/Analista de Sistemas/2021)
Para exibir o número de diferentes nomes de departamentos (nomeDepartamento) a partir da tabela TabDepartamentos, suprimindo
duplicações, utiliza-se a instrução SQL:
SELECT
a) COUNT(nomeDepartamento) FROM TabDepartamentos NOT REPEAT;
b) COUNT(DISTINCT nomeDepartamento) FROM Departamentos;
c) SUM(nomeDepartamento) FROM TabDepartamentos NO-REPEAT;
d) COUNT(nomeDepartamento) FROM TabDepartamentos;
e) DISTINCT nomeDepartamento FROM TabDepartamentos;
Comentário: A função agregada COUNT() é utilizada para determinar o valor total de registros que atenda a uma
condição específica. Se nenhuma condição for definida na instrução SQL, o resultado será com base em todos os
registros da tabela.
A instrução DISTINCT é utilizado para retornar apenas uma ocorrência de campos que contenham dados
repetidos. Esse recurso é útil para eliminar a duplicidade de informações e, assim, recuperar apenas o que será
utilizado pela aplicação.

44
45
46
47

Você também pode gostar