Pular para o conteúdo principal

Engenharia de Software  -  Sistema gerenciador de banco de dados


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

Postagens mais visitadas deste blog

Tryhackme  -  Moniker Link (CVE-2024–21413)

```html id="n5x2qw" TryHackMe — Moniker Link (CVE-2024-21413) Writeup CVE-2024-21413, also known as Moniker Link , is a critical Microsoft Outlook vulnerability disclosed in February 2024. This flaw allows attackers to bypass Outlook security protections and leak NTLM credentials through specially crafted hyperlinks. This TryHackMe room demonstrates how the vulnerability works, how attackers abuse Moniker Links, and how NTLM hashes can be captured using SMB authentication. Warning: For educational purposes only. Task 1 — Introduction On February 13th, 2024, Microsoft announced a critical Outlook vulnerability identified as CVE-2024-21413 . The vulnerability was discovered by Haifei Li from Check Point Research and affects how Outlook handles specific hyperlink types known as Moniker Links . Attackers can send malicious emails containing specially crafted links that force Outlook to leak the victim's NTLM credentials when interacted with. Question...