Engenharia de Software — Sistema gerenciador de banco de dados
Conteúdo para fins de estudos da graduação de Engenharia de Software. (Teórico)
Introdução aos Bancos de Dados
Um banco de dados é uma coleção organizada de informações que podem ser acessadas, gerenciadas e atualizadas de maneira eficiente. Eles são essenciais para armazenar e processar dados de forma estruturada, sendo fundamentais em diversas áreas, desde sistemas corporativos até pequenas aplicações web. 🍃
Livro de recomendação: https://amzn.to/3XRCWYj
Funções e Componentes dos Bancos de Dados
Os bancos de dados relacionais, utilizam relações ou tabelas para organizar dados. Eles permitem o gerenciamento de privilégios de usuários em dois níveis principais:
Nível de conta de usuário: define o acesso e permissões gerais dos usuários ao banco de dados.
Nível de relação/tabela: determina quais tabelas ou partes específicas do banco de dados o usuário pode acessar.
O Sistema de Gerenciamento de Banco de Dados (SGBD) é o software que facilita a criação, manipulação e manutenção de bancos de dados. Sua arquitetura é baseada em três componentes:
Usuários: As pessoas ou sistemas que interagem com o banco de dados.
Interfaces e programas de aplicações: Camadas de software que facilitam essa interação.
SGBD: O núcleo responsável por gerenciar os dados e suas operações.
Os sistemas de banco de dados podem seguir diferentes modelos, como:
SGBD Relacional (SGBDR): Usa tabelas para organizar dados.
SGBD Orientado a Objetos (SGBDOO): Usa objetos para organizar dados.
SGBD Objeto-Relacional (SGBDOR): Combina os dois primeiros modelos.
Normalização e Segurança no Banco de Dados
A normalização de um banco de dados visa eliminar redundâncias e resolver problemas de dependência entre atributos, minimizando anomalias de inclusão, alteração e exclusão. Existem duas principais abordagens para a normalização:
Top Down: Parte da análise global do sistema para definir as relações e normalizações.
Bottom Up: Foca inicialmente nas entidades menores, organizando e normalizando depois as maiores.
A segurança dos SGBD’s envolve garantir a integridade e proteção dos dados armazenados, uma tarefa atribuída ao administrador do banco de dados (DBA).
Tipos de Banco de Dados e Principais Modelos
Existem diferentes tipos de banco de dados, cada um adequado a determinadas aplicações e cenários. Um dos principais tipos é o banco de dados distribuído, que divide as informações entre vários servidores, oferecendo maior disponibilidade e acesso distribuído aos dados. Comparado com bancos de dados paralelos, a distribuição é motivada por fatores de desempenho e localidade. 🖥️
Outro tipo de banco importante é o Data Warehouse, utilizado para suportar análises complexas de dados e tomada de decisões estratégicas. Esse tipo de banco de dados organiza as informações em modelos multidimensionais, permitindo exibições como Roll-up e Drill-down, que facilitam a análise hierárquica dos dados.
Mineração de Dados
Data Mining é o processo de explorar grandes volumes de dados para identificar padrões e tendências, ajudando nas tomadas de decisão. 🎯 Esse processo pode classificar as informações em regras de associação, padrões sequenciais ou árvores de classificação, fornecendo insights valiosos para o futuro comportamento dos dados.
Processamento Transacional e Recuperação
Em sistemas transacionais, como os bancos de dados, é essencial garantir as propriedades de Atomicidade e Durabilidade, asseguradas por mecanismos de recuperação, como o ARIES. Esse algoritmo trabalha com três fases após uma falha no sistema:
Análise: Identificação do ponto de falha.
Refazer: Repetir transações que não foram aplicadas corretamente.
Desfazer: Reverter transações que estavam em andamento no momento da falha.
Terminologia e Consultas em SQL
No contexto dos bancos de dados, um registro é um conjunto de campos valorizados em uma tabela. As consultas em SQL são realizadas por meio de blocos com componentes específicos, como:
SELECT: Para selecionar dados.
FROM: Para especificar a tabela.
WHERE: Para definir condições de filtragem.
O processamento dessas consultas deve seguir a Forma Normal Conjuntiva, especialmente em cenários de normalização.
Conclusão
Os bancos de dados são ferramentas essenciais para organizar, armazenar e gerenciar grandes volumes de informações de maneira eficiente e segura. Desde o simples armazenamento até análises complexas com mineração de dados, o uso adequado de um banco de dados é crucial para o sucesso de qualquer sistema. 💻
Comentários
Postar um comentário