Banco de dados Flashcards

(98 cards)

1
Q

O que é o Modelo Hierárquico?

A

Organiza os dados como uma árvore, com relações de pai e filho.

Exemplo: IBM IMS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais são as vantagens do Modelo Hierárquico?

A

É rápido e simples.

Difícil de modificar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que caracteriza o Modelo em Rede?

A

Permite que os dados tenham vários relacionamentos (muitos para muitos).

Usa estrutura de grafo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais são as desvantagens do Modelo em Rede?

A

Mais difícil de navegar.

Exemplo: IDMS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como o Modelo Relacional organiza os dados?

A

Usa tabelas com linhas e colunas, relacionando dados por chaves.

Baseado em álgebra relacional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais são as principais características do Modelo Relacional?

A

Flexível, padronizado (usa SQL) e garante integridade dos dados.

Exemplos: MySQL, PostgreSQL, Oracle, SQL Server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é o Modelo Orientado a Objetos?

A

Os dados são armazenados como objetos, com atributos e métodos.

Útil para quem já trabalha com linguagens orientadas a objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cite exemplos de Modelos Orientados a Objetos.

A

db4o, ObjectDB.

Usado em aplicações que requerem programação orientada a objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que caracteriza o Modelo NoSQL?

A

Armazena dados não estruturados ou semiestruturados, sendo escalável e flexível.

Muito usado para aplicações web e grandes volumes de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quais são os tipos de NoSQL?

A
  • Chave-Valor: Redis, DynamoDB
  • Documentos: MongoDB, CouchDB
  • Colunar: Cassandra, HBase
  • Grafos: Neo4j, ArangoDB

Cada tipo atende a diferentes necessidades de armazenamento de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é o Modelo Multimodelo?

A

Combina mais de um tipo de modelo no mesmo banco de dados.

Um sistema pode usar tabelas, documentos e grafos ao mesmo tempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cite exemplos de Modelos Multimodelo.

A

PostgreSQL (com JSON), ArangoDB, OrientDB.

Permite flexibilidade na escolha de estruturas de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que significa ‘Schemaless’?

A

Sem esquema fixo, comum em bancos NoSQL.

Permite maior flexibilidade na estrutura de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é Escalabilidade Horizontal?

A

Adiciona mais servidores para crescer.

Importante para lidar com grandes volumes de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é Desnormalização?

A

Repetição de dados para melhorar desempenho, usado em NoSQL.

Ajuda a otimizar consultas em bancos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

O que é ACID?

A

Conjunto de propriedades que garantem segurança e consistência em bancos relacionais: Atomicidade, Consistência, Isolamento, Durabilidade.

Crucial para garantir integridade transacional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

O que significa BASE?

A

Foca na disponibilidade: Basicamente Disponível, Estado Flexível, Eventual Consistência.

Usado em bancos NoSQL para garantir acesso contínuo aos dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Qual é o impacto de ser schemaless em termos de consistência e validação dos dados em NoSQL?

A

A ausência de esquema pode facilitar a flexibilidade, mas dificulta o controle de integridade e validação automática de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Em que cenário o modelo chave-valor é mais indicado?

A

Quando se precisa de acesso extremamente rápido a dados simples e independentes, como sessões ou caches.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Como o modelo de documentos (ex: MongoDB) trata relacionamentos entre dados?

A

Usando embedded documents (aninhamento) ou referências manuais, em vez de joins.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Por que operações de join não são recomendadas em NoSQL?

A

Porque a maioria dos bancos NoSQL não é otimizada para joins, o que pode comprometer a performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

O que diferencia um banco colunar NoSQL de um relacional em termos de leitura?

A

No colunar, a leitura de colunas específicas é mais eficiente, ideal para análise de grandes volumes de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Por que o modelo em grafos é mais adequado para redes sociais?

A

Porque permite navegar com alta performance por conexões complexas entre entidades (ex: amigos em comum).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Qual o papel do particionamento (sharding) em bancos NoSQL?
Distribuir dados automaticamente entre vários nós, promovendo escalabilidade horizontal.
26
O que é um CAP Theorem e como se aplica ao NoSQL?
Define que um sistema distribuído pode garantir no máximo 2 de 3 propriedades: Consistência, Disponibilidade e Tolerância a Partições.
27
Por que NoSQL pode sacrificar a consistência para ganhar desempenho?
Para manter a disponibilidade em sistemas distribuídos, aceitando consistência eventual em vez de imediata.
28
O que são eventual consistency e strong consistency?
Eventual consistency permite que os dados fiquem temporariamente inconsistentes; strong consistency garante consistência imediata.
29
Como o Redis lida com persistência de dados?
Usa snapshots periódicos e logs de transações (AOF), mas é primariamente orientado à memória.
30
Por que MongoDB é mais eficiente com leitura de documentos inteiros do que consultas complexas?
Porque armazena documentos como JSON binários (BSON), otimizando leitura sequencial.
31
Quando a desnormalização é preferida em bancos NoSQL?
Quando a prioridade é performance de leitura e a manutenção de integridade referencial é menos crítica.
32
Como o modelo BASE se opõe ao ACID?
BASE prioriza disponibilidade e tolerância a falhas com consistência eventual, enquanto ACID foca em consistência e integridade.
33
Por que bancos NoSQL geralmente usam replicação?
Para garantir alta disponibilidade e tolerância a falhas em ambientes distribuídos.
34
Em bancos de grafos, o que são vértices e arestas?
Vértices representam entidades; arestas, os relacionamentos entre elas.
35
Qual a desvantagem da escalabilidade horizontal em bancos NoSQL?
Pode introduzir latência e complexidade na sincronização e consistência dos dados.
36
Por que bancos NoSQL como Cassandra priorizam write availability sobre read consistency?
Para suportar sistemas com grandes volumes de escrita distribuída em tempo real.
37
Qual a função do replica set no MongoDB?
Conjunto de instâncias que garantem redundância e failover automático.
38
Em que situação seria melhor usar um banco relacional em vez de NoSQL?
Quando há necessidade de transações complexas, integridade relacional e estrutura de dados bem definida.
39
Qual é a principal diferença entre os tipos JSON e JSONB no PostgreSQL?
JSON armazena texto como está, sem validação de chave duplicada; JSONB armazena em formato binário, permite indexação e é mais eficiente para leitura e consulta.
40
Quando usar JSON em vez de JSONB?
Quando o foco for armazenar dados exatamente como recebidos (ex: logs), sem necessidade de consulta frequente ou indexação.
41
O que o operador -> faz em PostgreSQL?
Acessa o valor de uma chave dentro de um campo JSON/JSONB e retorna um JSON ou JSONB.
42
E o operador ->>?
Retorna o valor como text ao acessar uma chave de um campo JSON/JSONB.
43
Qual a função do operador #>?
Acessa um caminho dentro de uma estrutura JSON/JSONB aninhada.
44
Como criar um índice GIN em uma coluna JSONB?
CREATE INDEX idx_name ON tabela USING GIN (coluna_jsonb);
45
Qual o benefício do índice GIN em JSONB?
Acelera buscas por conteúdo interno das estruturas JSON, como consultas por chave ou por caminhos aninhados.
46
Exemplo de consulta usando JSONB para encontrar clientes com status ativo:
SELECT * FROM clientes WHERE dados->>'status' = 'ativo';
47
Por que JSONB é preferido para consultas complexas?
Porque permite indexação, ordenação e comparações mais rápidas, além de eliminar duplicatas automaticamente.
48
Qual desvantagem do JSONB em comparação ao modelo relacional tradicional?
Menor controle de integridade relacional, maior complexidade em validações e normalização dos dados.
49
O que é um Sistema de Gerenciamento de Banco de Dados (SGBD)?
Software que permite criar, manter, consultar e administrar bases de dados, garantindo integridade, segurança e desempenho.
50
Cite três exemplos de SGBDs relacionais e dois NoSQL.
Relacionais: PostgreSQL, Oracle, SQL Server. NoSQL: MongoDB, Cassandra.
51
Qual a principal função do otimizador de consultas em um SGBD?
Determinar a forma mais eficiente de executar uma query, considerando índices, joins e estatísticas.
52
Quais os principais componentes de um SGBD?
* Gerenciador de armazenamento * Processador de consultas * Otimizador * Sistema de transações * Controle de concorrência
53
Em que se diferem um SGBD e um banco de dados?
O SGBD é o sistema que gerencia o banco de dados; o banco de dados é o conjunto estruturado de dados armazenados.
54
Por que o PostgreSQL é considerado um SGBD híbrido?
Suporta modelo relacional, tipos JSON/JSONB, arrays e extensão de funções, permitindo comportamentos NoSQL.
55
Qual a vantagem de usar um SGBD em vez de arquivos planos (CSV, TXT)?
Controle de transações, integridade, segurança, performance e concorrência.
56
Como SGBDs NoSQL garantem performance em escalabilidade horizontal?
Utilizando particionamento automático, replicação e consistência eventual.
57
Qual SGBD escolher para aplicações com muitas leituras e dados altamente relacionados?
Relacional (como PostgreSQL ou MySQL) com modelo bem normalizado.
58
Qual SGBD é mais indicado para armazenar documentos sem estrutura fixa?
MongoDB, que usa modelo baseado em documentos JSON.
59
Comando SQL para retornar clientes com saldo > 1000 ordenados por nome?
SELECT * FROM clientes WHERE saldo > 1000 ORDER BY nome;
60
Qual comando insere um novo documento em MongoDB?
db.usuarios.insertOne({ nome: "João", idade: 25 })
61
Como fazer uma busca em MongoDB por idade maior que 30?
db.usuarios.find({ idade: { $gt: 30 } })
62
Comando SQL para adicionar uma coluna data_criacao em uma tabela?
ALTER TABLE tabela ADD COLUMN data_criacao DATE;
63
Diferença entre INNER JOIN e LEFT JOIN?
INNER JOIN retorna apenas correspondências; LEFT JOIN retorna todos do lado esquerdo, mesmo sem correspondência.
64
Como remover todos os usuários com status "inativo" no SQL?
DELETE FROM usuarios WHERE status = 'inativo';
65
Como criar uma collection com índice em campo email no MongoDB?
db.usuarios.createIndex({ email: 1 })
66
Em SQL, qual comando soma o total de vendas agrupado por mês?
SELECT EXTRACT(MONTH FROM data), SUM(valor) FROM vendas GROUP BY 1;
67
No MongoDB, como atualizar um campo status para "ativo"?
db.usuarios.updateMany({}, { $set: { status: "ativo" } })
68
Como consultar registros com múltiplas condições (ex: ativo e idade < 30)?
SQL: WHERE status = 'ativo' AND idade < 30; MongoDB: { status: "ativo", idade: { $lt: 30 } }
69
Quando se deve criar índices em campos de uma tabela?
Quando os campos são frequentemente usados em filtros (WHERE), joins ou ordenações.
70
Qual o risco de muitos índices em uma tabela?
Podem impactar negativamente a performance de escrita e aumentar o consumo de armazenamento.
71
Quando optar por desnormalização em um projeto?
Quando a prioridade for leitura rápida e os dados não mudam com frequência.
72
Como o uso de tipos de dados apropriados melhora a performance?
Reduz espaço de armazenamento e melhora velocidade de acesso e processamento.
73
O que é escalabilidade horizontal?
Capacidade de aumentar performance adicionando mais servidores à infraestrutura.
74
Qual a vantagem de bancos NoSQL em aplicações distribuídas?
Alta disponibilidade, tolerância a falhas e escalabilidade com consistência eventual.
75
O que significa “consistência eventual” em sistemas distribuídos?
Os dados se tornam consistentes após um tempo, mas não necessariamente imediatamente.
76
Quando usar dados schemaless pode ser problemático?
Quando há necessidade de validação, integridade referencial ou relatórios complexos.
77
Como evitar redundância de dados em banco relacional?
Aplicando regras de normalização e criando relacionamentos com chaves estrangeiras.
78
Qual estratégia melhora a leitura em grandes volumes de dados?
Particionamento de tabelas, índices apropriados e desnormalização controlada.
79
O que significa NoSQL?
Not Only SQL – bancos que não usam apenas o modelo relacional.
80
Qual a principal característica do NoSQL?
Suporte a dados não estruturados ou semiestruturados.
81
NoSQL usa esquema fixo?
Não. É schemaless (sem esquema fixo).
82
O NoSQL prioriza escalabilidade de qual tipo?
Escalabilidade horizontal (mais servidores).
83
O que significa 'schemaless'?
Que os dados não seguem um esquema rígido (estrutura livre).
84
Qual a principal vantagem do NoSQL?
Flexibilidade e alta performance com grandes volumes de dados.
85
Qual a principal desvantagem do NoSQL?
Menor padronização e nem sempre garante propriedades ACID.
86
Quais os quatro principais tipos de banco NoSQL?
* Chave-valor * Documentos * Colunar * Grafos
87
Dê um exemplo de banco NoSQL chave-valor.
Redis ou DynamoDB.
88
Qual banco NoSQL é baseado em documentos?
MongoDB ou CouchDB.
89
Bancos colunar armazenam dados como?
Em colunas, otimizando consultas analíticas.
90
Cite um exemplo de banco colunar NoSQL.
Cassandra ou HBase.
91
Bancos de grafos são usados para quê?
Representar conexões e redes complexas (ex: redes sociais).
92
Cite um banco de grafos NoSQL.
Neo4j ou ArangoDB.
93
O que é desnormalização?
Repetição de dados para melhorar performance.
94
Qual modelo de consistência o NoSQL costuma usar?
Eventual Consistency (Consistência eventual).
95
O que significa BASE no contexto NoSQL?
Basicamente disponível, Estado flexível, Eventual consistência.
96
NoSQL é indicado para que tipo de aplicação?
Big Data, aplicações web, redes sociais e IoT.
97
NoSQL substitui completamente o SQL?
Não. São complementares, depende do projeto.
98
O que significa escalabilidade horizontal?
Adicionar mais servidores para distribuir a carga.