SGBD
Capítulos
Capítulo 1
Conceito | Descrição |
---|---|
SGBD | Um software que gerencia a estrutura de um banco de dados, controlando o acesso dos usuários, gerenciando cópias de dados, disponibilidade, distribuição e integridade. |
Funções de um SGBD | As cinco funções principais de um SGBD são: gerenciar acesso compartilhado aos dados; atribuir permissões de acesso aos usuários; realizar cópias do banco de dados; adicionar regras e padrões nas estruturas de armazenamento; permitir a recuperação dos dados armazenados. |
Componentes de um SGBD | Os componentes de um SGBD incluem: Pré-compilador DML, Compilador DML, Interpretador DDL, Gerenciador de permissões DCL, Gerenciador de integridade, Gerenciador de transição, Gerenciador de arquivos e Gerenciador de buffer. |
Schemas | Estruturas que representam uma visualização geral do banco de dados, estabelecendo como os dados são organizados e interligados. |
Tipos de Schemas | Esquema físico (nível interno), esquema lógico (nível conceitual) e esquema de visão (nível externo). |
Instâncias | Conjuntos de informações definidas por um esquema, criadas durante operações de inserção, alteração ou exclusão de dados. |
Linguagens de Manipulação de Dados | DML (Data Manipulation Language), DDL (Data Definition Language) e DCL (Data Control Language). |
Funções de um SGBD | Segurança, controle de acesso, controle de redundância e controle de concorrência. |
Vantagens de um SGBD | Gerenciamento flexível do banco de dados, fácil acesso e visualização dos dados, segurança de acesso, minimização de inconsistências de dados e fácil integração de dados. |
Desvantagens de um SGBD | Alto custo de licença e hardware, complexidade operacional que exige técnicos especializados, performance dependente de hardware e possível impacto na performance de outros aplicativos. |
Controle de Concorrência | Mecanismo que impede mudanças simultâneas no mesmo objeto por múltiplos usuários para evitar problemas com os dados. |
Classificação de SGBDs | SGBDs podem ser classificados quanto ao número de usuários (monousuários ou multiusuários), ambiente (homogêneo ou heterogêneo) e localização (localizado ou distribuído). |
Tipos de Banco de Dados | Banco de dados relacional e banco de dados não relacional (NoSQL). |
Banco de Dados Relacional | Armazena dados em colunas e linhas, utilizando a linguagem SQL para manipulação. |
Banco de Dados Não Relacional (NoSQL) | Utilizado para manipular dados não estruturados, como vídeos, imagens e gráficos, utilizando a linguagem NoSQL. |
Exemplos de Bancos de Dados NoSQL | Redis, Cassandra, MongoDB, Memcached, Neo4j, Amazon DynamoDB e HBase. |
Principais SGBDs Relacionais | Oracle Database, MySQL, SQL Server e PostgreSQL. |
DBA (Administrador de Banco de Dados) | Profissional responsável pela instalação, criação, monitoramento, manutenção e análise de SGBDs e bancos de dados. |
Capítulo 2
Conceito | Descrição |
---|---|
Banco de Dados | Uma coleção organizada de dados inter-relacionados que geram significado e se transformam em informação. |
SGBD (Sistema Gerenciador de Banco de Dados) | Software que administra a estrutura de um banco de dados, incluindo segurança, integridade, controle de concorrência e recuperação de dados. |
DBA (Administrador de Banco de Dados) | Profissional responsável por gerenciar e otimizar o banco de dados, incluindo tarefas como backups, restaurações e gerenciamento de usuários. |
Tabelas do Sistema | Estruturas auxiliares que armazenam metadados (dados sobre os dados) do banco de dados, como nomes de tabelas e colunas. |
DMV (Views de Gerenciamento Dinâmico) | Conjunto de informações que monitoram o comportamento do SGBD, fornecendo insights sobre desempenho, uso de recursos e outros aspectos importantes para o DBA. |
Backup | Cópia de segurança do banco de dados para proteger contra perda de dados em caso de falhas de hardware, erros humanos, ataques cibernéticos ou desastres naturais. |
Tipos de Backup | * Backup Completo (Full): Cópia integral de todos os dados do banco. |
* Backup Parcial: Cópia de apenas uma parte dos dados, como backups diferenciais (alterações desde o último backup completo) ou backups de log (registros de transações). | |
Restore | Processo de restauração dos dados a partir de um backup, essencial para recuperar dados perdidos ou corrompidos. |
Segurança de Dados | Medidas para proteger os dados contra acessos não autorizados e garantir a confidencialidade, integridade e disponibilidade dos dados. |
Integridade de Dados | Característica que garante que os dados sejam consistentes e precisos ao longo de seu ciclo de vida. Tipos de integridade: física, lógica (entidade, referencial, domínio e definida pelo usuário). |
Controle de Concorrência | Gerenciamento de múltiplos acessos simultâneos ao banco de dados para evitar conflitos e inconsistências nos dados. Utiliza técnicas como serialização e propriedades ACID. |
Propriedades ACID | Conjunto de propriedades que garantem a confiabilidade das transações em um SGBD: Atomicidade, Consistência, Isolamento e Durabilidade. |
Regra 3-2-1 para Backups | Recomendação de boas práticas para backups, sugerindo 3 cópias, em 2 tipos de mídia diferentes, com 1 cópia fora do local. |
Capítulo 3
Conceito | Descrição |
---|---|
Análise de Desempenho de SGBD | Avaliação do desempenho de um SGBD, crucial para garantir acesso eficaz aos dados e identificar gargalos, considerando fatores como hardware, sistema operacional, configuração do SGBD, volume de dados e número de usuários. |
Otimização de Desempenho de SGBD | Conjunto de práticas para aprimorar o desempenho de um SGBD, incluindo: manter o SGBD atualizado, remover tabelas órfãs, otimizar o carregamento automático de dados e realizar expurgo de dados antigos. |
Confidencialidade de Dados | Princípio fundamental da segurança da informação que visa proteger os dados contra acesso não autorizado e garantir que apenas usuários autorizados tenham acesso às informações. |
Ameaças à Segurança da Informação | Ações ou eventos que podem comprometer a confidencialidade, integridade e disponibilidade dos dados. Exemplos: falhas humanas, malware (ransomware, spyware), ataques direcionados, ataques persistentes avançados e ataques DDoS. |
Gestão de Segurança de Dados | Conjunto de práticas e medidas implementadas para proteger os dados em um SGBD, visando garantir a integridade, disponibilidade e confidencialidade das informações. |
Certificado Digital | Identidade eletrônica que garante a autenticidade e a integridade de transações eletrônicas, utilizando criptografia e um par de chaves (privada e pública). |
Criptografia | Técnica para proteger a confidencialidade e a integridade das informações, transformando os dados em um formato ilegível para pessoas não autorizadas. |
Disponibilidade de Dados | Capacidade de acesso aos dados quando necessário, garantindo que os dados estejam disponíveis para usuários e sistemas em tempo hábil. |
Integridade de Dados | Consistência, precisão e confiabilidade dos dados ao longo do seu ciclo de vida, assegurando que os dados não sejam corrompidos ou alterados indevidamente. |
Auditoria de Banco de Dados | Processo sistemático para examinar as atividades e configurações de um SGBD, buscando garantir a conformidade com políticas de segurança, leis e regulamentações. |
Capítulo 4
Conceito | Descrição |
---|---|
Manutenção de SGBD | Conjunto de atividades para garantir o bom funcionamento de um banco de dados, incluindo backups, exportação/importação de dados, revisão de índices, exclusão de objetos, expurgo de dados antigos, e atualizações para acomodar novas tecnologias e evitar riscos de segurança. A manutenção visa manter os dados em boas condições, protegendo-os contra acesso não autorizado e garantindo sua disponibilidade e eficiência. |
Importação/Exportação de Dados | Processos que permitem a transferência de dados entre bancos de dados, seja no mesmo SGBD ou em diferentes. A importação envolve carregar dados de um arquivo para um banco, enquanto a exportação cria um arquivo com os dados do banco. Ferramentas como o MySQL Workbench facilitam esses processos. |
Replicação de Dados | Técnica para copiar e distribuir dados de um banco de dados (master) para um ou mais bancos de dados (slave). A replicação oferece benefícios como redundância de dados, tolerância a falhas, balanceamento de carga e backup, embora não deva ser a única opção de backup. |
Migração de Dados | Processo complexo de transferir dados entre diferentes SGBDs. A complexidade aumenta com a diversidade de bases de dados e tipos de dados. A migração pode envolver o uso de drivers ODBC, arquivos de texto separados por vírgulas ou scripts para adaptar os dados ao novo SGBD. |
Verificação de Ocupação de Espaço em Disco | Monitoramento do espaço em disco disponível para o SGBD, crucial para o seu bom funcionamento. O MySQL realiza verificações regulares para garantir espaço suficiente para gravação de dados. Comandos como TRUNCATE TABLE podem liberar espaço em disco devolvendo-o ao sistema operacional. |
Gerenciamento de E/S de Disco | Administração da entrada e saída de dados do disco para evitar a saturação do subsistema de E/S e gerenciar o espaço em disco, impedindo que os dispositivos de armazenamento fiquem cheios. |
Capítulo 5
Conceito | Descrição |
---|---|
Normalização de Dados | Conjunto de regras para organizar o projeto de um banco de dados, com o objetivo de reduzir a redundância e aumentar a integridade e o desempenho. |
Formas Normais | Regras de normalização que visam simplificar e adequar as tabelas de um banco de dados relacional, evitando anomalias em inclusão, exclusão e alteração de dados. |
1FN (Primeira Forma Normal) | Define que os atributos devem ser atômicos, sem valores repetidos ou atributos multivalorados. |
2FN (Segunda Forma Normal) | Atributos não-chave devem depender unicamente da chave primária da entidade. |
3FN (Terceira Forma Normal) | Todos os atributos devem ser funcionalmente independentes uns dos outros e dependentes apenas da chave primária. |
4FN (Quarta Forma Normal) | Impede dependências multivaloradas não triviais de conjuntos de atributos em algo além de um superconjunto de uma chave candidata. |
5FN (Quinta Forma Normal) | Exige que não haja dependências de joins (associações) não triviais que não venham de restrições-chave. Atributos compostos que podem ser subdivididos. |
Controle de Concorrência | Gerenciamento do acesso simultâneo de múltiplos usuários aos mesmos dados em um banco de dados, evitando inconsistências. |
Serialização | Execução de transações de forma serial, garantindo o isolamento e evitando interferências entre operações. |
Transação | Conjunto de operações executadas entre o início e o fim de uma operação de manutenção de dados. |
Propriedades ACID | Atomicidade, Consistência, Isolamento e Durabilidade, princípios que garantem a confiabilidade das transações. |
Atomicidade | A transação é uma unidade indivisível, sendo executada por completo ou desfeita totalmente em caso de falha. |
Consistência | A transação leva o banco de dados de um estado consistente para outro, sem interferências durante a execução. |
Isolamento | Cada transação é executada de forma isolada, sem interferência de outras transações simultâneas. |
Durabilidade | As alterações realizadas por uma transação completada com sucesso persistem no banco de dados, mesmo em caso de falhas. |
Bloqueio em Duas Fases | Técnica de controle de concorrência que utiliza bloqueios para garantir acesso exclusivo a dados durante uma transação. |
Bloqueio Compartilhado | Permite que múltiplas transações leiam os mesmos dados, mas impede gravações simultâneas. |
Bloqueio Exclusivo | Reserva o acesso exclusivo a um dado para uma única transação, impedindo qualquer outro acesso. |
Deadlock | Situação em que duas ou mais transações ficam bloqueadas indefinidamente, aguardando a liberação de recursos. |
Starvation | Uma transação é continuamente preterida na fila de espera por recursos, impossibilitando sua conclusão. |
Otimização de Consultas | Processo de identificar e eliminar gargalos de desempenho em consultas SQL, buscando a execução mais rápida possível. |
Slow Log | Recurso do MySQL que registra consultas com tempo de execução superior a um limite definido, auxiliando na identificação de problemas de performance. |
Comando EXPLAIN | Exibe o plano de execução de uma consulta SQL, permitindo analisar o processo de otimização e identificar possíveis melhorias. |
Índices | Estruturas que organizam os dados em uma tabela, acelerando a busca e recuperação de informações. |
Cardinalidade | Número de registros distintos em um índice, impactando a eficiência da busca. |
Capítulo 6
Conceito | Descrição | |
Banco de Dados Distribuídos (BDD) | Um conjunto de servidores interconectados que armazenam e gerenciam dados de forma distribuída. Permite acesso ordenado e aleatório aos dados, que podem estar localizados em diferentes servidores (nós). | |
Replicação de Dados | Uma característica dos BDDs onde os dados são copiados e mantidos em múltiplos servidores, garantindo redundância e disponibilidade. Essencial para o funcionamento dos BDDs. | |
Fragmentação de Dados | Divisão dos dados em partes menores para serem distribuídas entre os servidores. Pode ser horizontal (divisão por linhas) ou vertical (divisão por colunas). Permite reconstruir a relação original a partir dos fragmentos. | |
Data Warehouse | Repositório central de dados de diversas fontes, utilizado para análise de negócios e tomada de decisões. Os dados são carregados periodicamente e disponibilizados apenas para leitura, sem permissão para alterações. | |
ETL | Processo de Extração, Transformação e Carregamento de dados utilizado para integrar dados de diferentes fontes em um data warehouse. | |
ELT | Variante do ETL que realiza a Transformação dos dados após o Carregamento, visando melhorar a performance. | |
Data Lake | Repositório de dados estruturados e não estruturados de diversas fontes, mantido em sua forma original. Permite análises avançadas e mineração de dados. Os dados são preparados apenas quando acessados pelos usuários. | |
Marketing Multicanal | Abordagem de marketing que integra todos os pontos de contato com o cliente em diferentes canais, utilizando um data lake para consolidar os dados de cada canal e ponto de contato. | |
Hadoop | Plataforma de processamento de big data baseada em arquivos, comumente utilizada como base para data lakes. Oferece escalabilidade linear a baixo custo e recursos avançados de processamento. | |
NoSQL | Sistema de gerenciamento de banco de dados não relacional, alternativo ao SQL. Oferece maior robustez e escalabilidade, sendo ideal para lidar com grandes volumes de dados semiestruturados ou não tratados. | |
Processamento Paralelo | Divisão de tarefas em partes menores que são executadas simultaneamente em múltiplos processadores, aumentando a eficiência do processamento de grandes volumes de dados. Essencial para o bom desempenho dos sistemas NoSQL. | |
Ciência de Dados | Área que se dedica à coleta, análise e interpretação de dados para auxiliar no crescimento dos negócios. Utiliza ferramentas e técnicas para extrair insights e gerar valor a partir dos dados. | |
Funções da Ciência de Dados | Envolve coleta, armazenamento, preparação, análise e divulgação de dados, com foco em responder a perguntas gerenciais e gerar insights para a tomada de decisões. | |
Aplicações da Ciência de Dados | Diversas áreas como meteorologia (previsão do tempo), análise de clientes, saúde (diagnósticos médicos), logística (otimização de rotas) e marketing (personalização de anúncios e recomendações). |
Observações…
Como organizei o conteúdo desta página
Esta página contém resumos dos principais conceitos da disciplina sistema gerenciador de banco de dados, extraídos de arquivos no formato PDF com a ferramenta NotebookLM.
De forma simples, enviei os arquivos para o NotebookLM e pedi os resumos com os seguintes comandos:
Organize uma tabela com os principais conceitos do texto. Na primeira coluna, o nome do conceito e na segunda, o conceito em si.
A partir do segundo pedido, usei o comando:
Repita o processo anterior para este texto.
No terceiro pedido, recebi a mensage de:
O comando fornecido solicita que o processo anterior seja repetido. No entanto, não há processo anterior no histórico de conversas fornecido. [Me] Para obter uma resposta abrangente, forneça o processo anterior que você gostaria que fosse repetido.
Desta forma, alternei entre o primeiro e segundo comando até o último arquivo, que veio com a formatação Markdown deformada. Então, pedi uma última revisão com o comando:
Refaça a tabela para uma melhor formatação em Markdown.
A publicação final continua uma exportação simples, do formato org mode para HTML, usando o Emacs.