Aula 00 Flashcards

1
Q

O que são dados?

A

Dados são elementos de informação que podem ser quantificados, descritos e armazenados.
Eles podem existir em várias formas, como textos, números, imagens, vídeos, entre outros. Por si só, os dados não possuem um significado específico, mas quando organizados e interpretados corretamente, podem fornecer informações úteis.

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

O que é um banco de dados?

A

Um banco de dados é uma coleção organizada de dados que pode ser acessada, gerenciada e atualizada. Ele permite o armazenamento e a recuperação eficiente de grandes volumes de informações de forma estruturada.

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

Quais são os principais tipos de banco de dados?

A

Os principais tipos de banco de dados são:

Relacional: Baseado no modelo de tabelas, com dados relacionados entre si (ex: MySQL, PostgreSQL).

NoSQL: Projetado para grande volume de dados não estruturados, flexível (ex: MongoDB, Cassandra).

Hierárquico: Estrutura de árvore com relacionamentos pai-filho (ex: IMS).

Em rede: Relacionamentos mais complexos, permitindo múltiplos pais (ex: IDMS).

Orientado a objetos: Integração de dados com métodos, seguindo a lógica de objetos (ex: db4o).

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

O que é um Sistema de Gerenciamento de Banco de Dados (SGBD)?

A

Um SGBD é um software que permite aos usuários criar, acessar e gerenciar um banco de dados de forma eficiente.

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

O que são metadados?

A

Metadados são dados que descrevem outros dados. Eles fornecem informações sobre a origem, significado, formato, tipo e relacionamentos dos dados. Os metadados são essenciais para a organização e o gerenciamento eficientes de grandes volumes de dados.

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

Quais são as principais características de um banco de dados?

A

Natureza de Autodescrição: Um banco de dados é autodescritivo, pois contém os dados e os metadados que descrevem a estrutura e as regras do banco de dados.

Abstração de Dados: O banco de dados oferece diferentes níveis de abstração (externo, conceitual e interno), ocultando detalhes físicos e permitindo uma interação mais simples com os dados.

Suporte a Múltiplas Visões: Um banco de dados permite que diferentes usuários tenham visões personalizadas dos dados, acessando apenas as informações relevantes para suas necessidades.

Suporte a Múltiplas Transações: O banco de dados gerencia múltiplas transações simultaneamente, garantindo que as operações concorrentes sejam executadas de maneira segura e sem conflitos.

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

Quais são os benefícios de normalização de um banco de dados?

A

Os benefícios da normalização de um banco de dados incluem redução da redundância de dados e melhoria da integridade dos dados.

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

O que é um índice em um banco de dados?

A

Um índice em um banco de dados é uma estrutura que melhora a velocidade de recuperação de dados ao permitir acesso mais rápido a registros específicos.

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

O que é uma transação em um banco de dados?

A

Uma transação em um banco de dados é uma sequência de operações que são tratadas como uma unidade indivisível.

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

O que é a linguagem SQL?

A

A linguagem SQL (Structured Query Language) é uma linguagem de programação usada para gerenciar e manipular dados em um banco de dados relacional.

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

Quais são os comandos básicos da linguagem SQL?

A

Os comandos básicos da linguagem SQL são: SELECT, INSERT, UPDATE e DELETE.

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

O que é a integridade referencial em um banco de dados?

A

Garante que as relações entre tabelas sejam mantidas de forma consistente.

Um exemplo clássico é a relação entre chave primária e chave estrangeira. Se uma tabela A tem uma chave estrangeira que referencia uma chave primária na tabela B, a integridade referencial garante que qualquer valor na chave estrangeira da tabela A tenha um correspondente na chave primária da tabela B.

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

O que é a integridade semântica em um banco de dados?

A

Deve ser do mesmo tipo de dado definido na especificação da coluna na tabela.

Refere-se à consistência dos dados com relação às regras de negócio ou ao significado dos dados. Ela garante que os dados inseridos no banco de dados façam sentido e sejam válidos de acordo com o contexto do sistema. Por exemplo, uma regra de integridade semântica poderia assegurar que a idade de uma pessoa em um cadastro não seja um valor negativo.

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

Quais são os princípios do modelo ACID em transações de banco de dados?

A

Os princípios do modelo ACID em transações de banco de dados são: Atomicidade, Consistência, Isolamento e Durabilidade.

Atomicidade: Todas as operações da transação são executadas ou nenhuma delas é.

Consistência: A consistência em um banco de dados garante que os dados permaneçam válidos e corretos antes, durante e após uma transação.

Isolamento: As transações não interferem umas nas outras.

Durabilidade: Os resultados de uma transação bem-sucedida são permanentes.

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

O que é a normalização de dados em um banco de dados?

A

A normalização de dados em um banco de dados é o processo de organizar dados em tabelas para reduzir a redundância e melhorar a integridade dos dados.

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

Quais são os níveis na arquitetura de três esquemas (ANSI/SPARC)?

A

Nível externo: é a visão dos dados para o usuário final, descrevendo o que cada usuário específico vê e interage no banco de dados.

Nível conceitual: define a estrutura lógica completa do banco de dados, representando todos os dados armazenados e seus relacionamentos, sem se preocupar com detalhes físicos.

Nível interno: lida com o armazenamento físico dos dados, descrevendo como os dados são realmente armazenados em hardware (discos, sistemas de arquivos etc.).

17
Q

O que é e quais são os tipos de metadados em um banco de dados e suas funções?

A

Metadados Estruturais: Descrevem a estrutura do banco de dados, incluindo informações sobre tabelas, colunas, tipos de dados e relacionamentos entre as entidades.

Metadados Descritivos: Fornecem informações sobre o conteúdo dos dados, como o título, autor, e a descrição do que os dados representam. São usados para identificar e contextualizar os dados.

Metadados Administrativos: Ajudam na gestão e administração do banco de dados, contendo informações sobre políticas de segurança, logs de auditoria, backup e restauração, além de gerenciamento de desempenho.

18
Q

Quais são os tipos de independência em banco de dados e como funcionam?

A

Independência Física (Interno): Capacidade de alterar o esquema físico (estrutura de armazenamento) sem afetar os níveis superiores ou as aplicações. Exemplo: Mudar a forma como os dados são armazenados em disco sem que isso afete o acesso lógico. (Esquema interno)

Independência Lógica (Conceitual): Capacidade de alterar o esquema conceitual (estrutura lógica) sem afetar os programas ou aplicativos que acessam o banco de dados. Exemplo: Alterar o relacionamento entre tabelas sem impactar as aplicações.

Independência de Dados (Externo): Capacidade de modificar a estrutura dos dados e sua implementação sem afetar os níveis superiores, garantindo que as mudanças sejam transparentes para os usuários e aplicações. (Visão do usuário)

19
Q

Quais são os três modelos de banco de dados?

A
  • Modelo Conceitual: (Externo)
    • Foca na representação abstrata dos dados, sem se preocupar com a tecnologia usada para implementação.
    • Descreve as entidades, seus atributos e os relacionamentos entre elas.
    • É independente de qualquer sistema de banco de dados.
    • Exemplo: Um diagrama ER (Entidade-Relacionamento) que mostra clientes, produtos e pedidos, com seus atributos e como eles se relacionam.
  • Modelo Lógico: (Conceitual)
    • Traduz o modelo conceitual para um formato mais estruturado, levando em consideração o tipo de banco de dados a ser usado (relacional, NoSQL, etc.).
    • No caso de um banco de dados relacional, as entidades e relacionamentos são transformados em tabelas, chaves primárias e estrangeiras.
    • Ainda não envolve detalhes de implementação física (como o espaço de armazenamento ou índices).
    • Exemplo: As entidades são mapeadas em tabelas com colunas, e os relacionamentos são representados por chaves estrangeiras.
  • Modelo Físico: (Interno)
    • Descreve como o banco de dados será implementado no hardware.
    • Inclui detalhes de armazenamento, particionamento, índices, métodos de acesso e desempenho.
    • Focado na eficiência de recuperação e armazenamento de dados.
    • Exemplo: Configuração de índices para uma tabela de clientes, escolha de um sistema de armazenamento de dados e a definição de como os dados são fisicamente organizados no disco.
20
Q

O que são Visões em Banco de Dados?

A

(as visões são não materializadas, isso é, são pequenas seções do nosso banco de
dados que não são armazenadas fisicamente.)

Visões são consultas armazenadas que apresentam dados de uma ou mais tabelas de forma personalizada, como se fossem uma tabela virtual. Elas podem ser usadas para:

  • Simplificar consultas complexas.
  • Restringir o acesso a dados sensíveis.
  • Apresentar dados de forma específica sem alterar a estrutura das tabelas subjacentes. Visões não armazenam dados fisicamente, exceto em casos de visões materializadas, que armazenam o resultado da consulta para otimizar o desempenho.
21
Q

Qual a diferença entre Visões Materializadas (estáticas) e Visões Não Materializadas (dinâmicas)?

A
  • Visão Materializada (Estática):
    • Armazena o resultado da consulta fisicamente, como se fosse uma tabela.
    • Precisa ser atualizada manualmente ou de forma programada para refletir mudanças nos dados subjacentes.
    • Boa para melhorar o desempenho de consultas complexas em grandes volumes de dados.
  • Visão Não Materializada (Dinâmica):
    • Não armazena dados fisicamente.
    • Cada vez que é acessada, executa a consulta original para buscar os dados atualizados.
    • Menos custosa em termos de armazenamento, mas pode ser mais lenta, pois depende da execução da consulta.
22
Q

O DBA é responsável por:

A

administrar e gerenciar o sistema de banco de dados. Suas
responsabilidades incluem o projeto e a implementação do banco de dados, a sua configuração e
manutenção, envolvendo tanto a segurança quanto o desempenho e otimização, e o
gerenciamento geral dos outros papéis envolvidos no banco de dados.

  • Disponibilidade dos dados: garante que os dados estejam disponíveis sempre que seu acesso for requisitado
  • Aceitabilidade de acesso: atributo baseado na confidencialidade do dado, assegura que o acesso seja concedido apenas àquele que tenha permissão a esse acesso
  • Autenticidade: fornece garantia que os dados expostos são genuínos e legítimos
23
Q

A arquitetura de um Sistema de Gerenciamento de Banco de Dados (SGBD) é composta por vários componentes que colaboram para fornecer uma gestão eficaz dos dados. Quais são os principais módulos típicos de um SGBD?

A
  1. Gerenciador de Arquivos
  • Gerencia o armazenamento físico dos dados em disco.
  • Responsável por alocar, organizar e recuperar blocos de dados armazenados em dispositivos de armazenamento.
  1. Gerenciador de Buffer
  • Coordena a transferência de dados entre a memória principal (RAM) e o disco.
  • Mantém dados frequentemente acessados em memória para melhorar o desempenho.
  1. Gerenciador de Transações
  • Garante a execução das transações de acordo com as propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade).
  • Coordena o início, fim, e rollback (reversão) de transações em caso de falha.
  1. Gerenciador de Concorrência
  • Controla o acesso simultâneo ao banco de dados por múltiplos usuários ou processos.
  • Implementa mecanismos de bloqueio (lock) e controle de concorrência para evitar problemas como deadlocks e inconsistências.
  1. Gerenciador de Recuperação (Recovery Manager)
  • Garante a recuperação do banco de dados em caso de falhas (falha de hardware, falha de software ou falha de transação).
  • Responsável por técnicas de checkpointing, logs de transações e recuperação de transações.
  1. Processador de Consultas
  • Analisa e interpreta as consultas enviadas ao banco de dados.
  • Inclui dois subcomponentes:
    • Analisador de Sintaxe: Verifica se a consulta SQL é válida.
    • Otimização de Consultas: Cria um plano de execução eficiente para a consulta, buscando a melhor maneira de recuperar os dados solicitados.
  1. Executor de Consultas
  • Executa o plano de consulta gerado pelo processador de consultas.
  • Faz a recuperação dos dados do banco e retorna o resultado ao usuário.
  1. Gerenciador de Integridade (Integrity Manager)
  • Garante que as restrições de integridade (chaves primárias, estrangeiras, regras de integridade referencial) sejam respeitadas.
  • Impede a inserção, exclusão ou modificação de dados que violem as regras de integridade definidas no esquema.
  1. Gerenciador de Segurança e Autorização
  • Controla o acesso ao banco de dados com base em privilégios de usuários.
  • Implementa políticas de controle de acesso, como autenticação (verificação da identidade do usuário) e autorização (controle sobre as operações permitidas).
  1. Dicionário de Dados (Catálogo de Metadados)
  • Armazena informações sobre a estrutura do banco de dados, como esquemas, tabelas, visões, índices, restrições e permissões de usuários.
  • É utilizado pelo SGBD para verificar a integridade e a segurança das operações realizadas no banco.
  1. Gerenciador de Backup
  • Controla a criação de cópias de segurança (backups) do banco de dados.
  • Garante que dados possam ser restaurados em caso de falha ou perda de dados.
  1. Interface de Comunicação (API)
  • Fornece interfaces para que aplicações externas possam interagir com o banco de dados.
  • Pode incluir drivers como ODBC (Open Database Connectivity) ou JDBC (Java Database Connectivity).
  1. Gerenciador de Índices
  • Controla a criação e o gerenciamento de índices para acelerar as operações de leitura no banco de dados.
  • Auxilia na busca eficiente de dados, organizando-os de maneira que possam ser localizados rapidamente.
  1. Gerenciador de Logs
  • Mantém um registro detalhado de todas as transações realizadas no banco de dados.
  • Essencial para a recuperação em caso de falhas, pois permite reverter ou refazer transações.
  1. Administrador de Replicação (Replication Manager)
  • Responsável por replicar dados em múltiplos servidores ou locais.
  • Garante que as réplicas do banco de dados estejam atualizadas e sincronizadas.
  1. Gerenciador de Visualizações (Views Manager)
  • Controla a definição e gerenciamento de visões (views).
  • Permite que o banco de dados apresente dados personalizados para diferentes usuários, sem duplicação de dados físicos.
  1. Monitor de Desempenho
  • Monitora o desempenho das consultas e operações no banco de dados.
  • Fornece informações para otimizações e ajustes no sistema, como o uso de índices e alocação de recursos.