Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adiciona resumos de Banco de Dados 1 - Issue #244 #636

Merged
merged 5 commits into from Oct 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion bd/resumos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ title: Resumos
---

- [Modelo Relacional](modeloRelacional.md)
- [Álgebra Relacional](algebraRelacional.md)
- [Álgebra Relacional](algebraRelacional.md)
- [Transacoes](transacoes.md)
- [Banco de dados e SGBDs](bd_sgbds.md)
41 changes: 41 additions & 0 deletions bd/resumos/bd_sgbds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Diferença entre Sistema de Gerenciamento de Banco de Dados (SGBD) e Banco de Dados

Um Sistema de Gerenciamento de Banco de Dados (SGBD) e um Banco de Dados são conceitos relacionados, mas têm funções e abrangências diferentes. Aqui estão as principais diferenças entre eles:

## Definição

- **Banco de Dados**: Um banco de dados é uma coleção organizada de dados, geralmente armazenados em um formato estruturado ou semi-estruturado. Pode conter informações em tabelas, documentos, registros, ou qualquer formato de dados. É onde os dados reais são armazenados.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: Um SGBD é um software ou sistema que gerencia o armazenamento, recuperação, atualização e manipulação dos dados dentro de um banco de dados. É uma camada intermediária entre os usuários ou aplicativos e o banco de dados real.

## Função

- **Banco de Dados**: A função principal de um banco de dados é armazenar dados de maneira organizada e eficiente.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: A função principal de um SGBD é gerenciar, proteger, otimizar, consultar e manter os dados armazenados em um banco de dados. Ele oferece uma interface para interagir com o banco de dados.

## Exemplos

- **Banco de Dados**: Pode ser um arquivo de planilha (como Excel), um banco de dados relacional (como MySQL ou PostgreSQL), um banco de dados NoSQL (como MongoDB), um arquivo JSON, um arquivo XML, entre outros.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: Exemplos de SGBDs incluem MySQL, Oracle, Microsoft SQL Server, PostgreSQL, MongoDB, SQLite, entre outros.

## Nível de Abstração

- **Banco de Dados**: Está relacionado aos dados brutos armazenados.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: Fornece uma camada de abstração que permite aos usuários ou aplicativos interagirem com os dados sem precisar se preocupar com os detalhes de armazenamento ou acesso físico.

## Funções do SGBD

- **Banco de Dados**: Armazena dados, mas não possui funcionalidades avançadas de gerenciamento de dados.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: Além de armazenar dados, um SGBD oferece recursos avançados, como otimização de consultas, controle de concorrência, segurança, recuperação de falhas, garantia de integridade de dados e abstração de dados.

## Uso

- **Banco de Dados**: É onde os dados são inseridos e armazenados.

- **Sistema de Gerenciamento de Banco de Dados (SGBD)**: É usado para criar, consultar e gerenciar os dados dentro do banco de dados.

Em resumo, um banco de dados é o local onde os dados são armazenados, enquanto o Sistema de Gerenciamento de Banco de Dados (SGBD) é o software ou sistema que controla, gerencia e fornece uma interface para interagir com esses dados. O SGBD desempenha um papel crucial na garantia da segurança, integridade e eficiência do armazenamento e recuperação de dados em um banco de dados.
35 changes: 35 additions & 0 deletions bd/resumos/transacoes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Transações em Banco de Dados: Conceito e Importância

Em um sistema de gerenciamento de banco de dados (DBMS - Database Management System), as transações desempenham um papel fundamental na garantia da integridade e consistência dos dados. Neste artigo, exploraremos o conceito de transações em bancos de dados, bem como a importância do controle de transações.

## O que é uma Transação?

Uma transação, em termos simples, é uma sequência de uma ou mais operações de banco de dados que são tratadas como uma unidade indivisível. As transações podem envolver a inserção, atualização ou exclusão de registros em um banco de dados. Um exemplo cotidiano de transação é uma transferência de dinheiro de uma conta para outra em um sistema bancário. Essa operação envolve a dedução de dinheiro de uma conta e a adição à outra, e ambas as ações devem ocorrer com sucesso para garantir a consistência dos dados.

## Características das Transações

As transações em banco de dados devem atender a quatro propriedades principais, frequentemente denominadas como **ACID**:

1. **Atomicidade**: Isso significa que uma transação é tratada como uma operação única e atômica. Ou seja, todas as operações dentro de uma transação são executadas com sucesso ou nenhuma delas é executada. Se qualquer parte da transação falhar, o sistema deve garantir que todas as alterações feitas até o momento sejam revertidas (rollback).

2. **Consistência**: A transação deve levar o banco de dados de um estado consistente para outro estado consistente. Isso implica que as restrições de integridade definidas no banco de dados não são violadas durante a transação.

3. **Isolamento**: As transações em execução simultaneamente devem ser isoladas umas das outras. Isso significa que uma transação não deve interferir nas operações de outras transações. O nível de isolamento pode variar, e sistemas de gerenciamento de banco de dados (SGBD) oferecem vários níveis de isolamento para atender aos requisitos específicos.

4. **Durabilidade**: Uma vez que uma transação é confirmada (commit), todas as suas alterações no banco de dados devem ser permanentes e sobreviver a falhas do sistema, como panes de energia ou travamentos.

## Importância do Controle de Transações

O controle de transações é crucial em sistemas de banco de dados por várias razões:

1. **Integridade dos Dados**: As transações garantem que o banco de dados permaneça em um estado consistente. Sem o controle apropriado, as operações concorrentes poderiam corromper os dados.

2. **Recuperação em Caso de Falha**: Se ocorrer uma falha no sistema, o controle de transações permite que o sistema restaure o banco de dados para um estado consistente antes da falha.

3. **Concorrência**: Em sistemas com múltiplos usuários, as transações garantem que os dados possam ser acessados e modificados concorrentemente sem comprometer a integridade.

4. **Auditoria e Registro**: As transações fornecem um mecanismo para registrar todas as alterações no banco de dados, o que é essencial para fins de auditoria e rastreamento.

5. **Transações Distribuídas**: Em ambientes distribuídos, o controle de transações permite que operações em vários bancos de dados mantenham a consistência, independentemente das falhas de comunicação.

Em resumo, as transações desempenham um papel fundamental na garantia da integridade e consistência dos dados em um sistema de gerenciamento de banco de dados. O controle apropriado de transações ajuda a manter a confiabilidade do sistema, permitindo que várias operações ocorram simultaneamente, ao mesmo tempo em que garante que o banco de dados permaneça em um estado consistente. Portanto, entender e aplicar o conceito de transações é fundamental para o desenvolvimento de aplicativos robustos e seguros que dependem de bancos de dados.