diff --git a/bd/resumos/README.md b/bd/resumos/README.md index faa03144..adc3724a 100644 --- a/bd/resumos/README.md +++ b/bd/resumos/README.md @@ -3,4 +3,6 @@ title: Resumos --- - [Modelo Relacional](modeloRelacional.md) -- [Álgebra Relacional](algebraRelacional.md) \ No newline at end of file +- [Álgebra Relacional](algebraRelacional.md) +- [Transacoes](transacoes.md) +- [Banco de dados e SGBDs](bd_sgbds.md) diff --git a/bd/resumos/bd_sgbds.md b/bd/resumos/bd_sgbds.md new file mode 100644 index 00000000..f61e19b6 --- /dev/null +++ b/bd/resumos/bd_sgbds.md @@ -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. diff --git a/bd/resumos/transacoes.md b/bd/resumos/transacoes.md new file mode 100644 index 00000000..37b77867 --- /dev/null +++ b/bd/resumos/transacoes.md @@ -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.