Introdução a Banco de Dados
- #SQL
- #Banco de dados relacional
Índice:
- Introdução a Dados
- Banco de Dados (BD)
- Sistemas de Gerenciamento de Banco de Dados (SGBDs)
- Diferença entre BD (Banco de Dados), SGBD (Sistema Gerenciador de Banco de Dados) e Metadados
- Características da Abordagem de Bancos de Dados
- ACID ou conhecido como DICA
- Fontes
Introdução a Dados
Antes de falar sobre banco de dados, é importante lembrar que os dados são o material bruto e a informação é o que se pode extrair deles. Assim, desempenham um papel fundamental, pois fornecem informações precisas que auxiliam na tomada de decisão estratégica e operacional, que podem ser otimizadas com base em análises de dados. No contexto da saúde da empresa, os dados desempenham um papel importante em várias áreas como análise financeira, análise de mercado, gestão de riscos, sustentabilidade e etc.
Banco de Dados (BD)
Segundo a Oracle, Banco de Dados é “…uma coleção organizada de informações — ou dados — estruturadas, normalmente armazenadas eletronicamente em um sistema de computador”. Podemos então dizer que um banco de dados é um sistema organizado para armazenar, gerenciar e recuperar informações, possibilitando a manipulação eficiente desses dados. São existentes diferentes tipos de dados:
- Bancos de dados relacionais
- Bancos de dados NoSQL
- Bancos de dados orientados a objetos
- Bancos de dados distribuídos
- Data warehouses
- Bancos de dados gráficos
- Bancos de dados OLTP.
- Bancos de dados de código aberto
- Bancos de dados em nuvem
- Banco de dados multimodelo
- Banco de dados de documentos/JSON
- Bancos de dados autônomos
O tipo de banco de dados que será escolhido dependerá dos requisitos específicos da aplicação e das características dos dados a serem armazenados.
Sistemas de Gerenciamento de Banco de Dados (SGBDs)
Software responsável por gerenciar o acesso e a organização dos dados em um Banco de Dados, fornecendo uma interface entre o banco de dados e seus usuários finais ou programas, permitindo que os usuários recuperem, atualizem e gerenciem as informações. As funcionalidades do SGBD são definir, construir, manipular, compartilhar e proteger bancos de dados entre vários usuários e aplicações. A definição dos dados e sua informação descritiva é também armazenada no SGBD na forma de um catálogo do banco de dados, chamado meta-dados. A construção do banco de dados é o processo de armazenar os dados em algum meio controlado pelo SGBD. A manipulação do banco de dados inclui funções como consultar, atualizar e gerar relatórios sobre o banco de dados. O compartilhamento de um banco de dados permite que múltiplos usuários e programas acessem o banco de dados simultaneamente. A proteção Inclui proteção do sistema contra defeitos (ou falhas) de hardware ou software e proteção de segurança contra acesso não autorizado ou malicioso. Assim como são existentes diferentes tipos de BD, são existentes diferentes tipos de SGBDs, exemplo:
- MySQL
- PostgreSQL
- Microsoft SQL Server
- MongoDB
- Cassandra
- DB2
Diferença entre BD (Banco de Dados), SGBD (Sistema Gerenciador de Banco de Dados) e Metadados:
- Banco de Dados (BD):
Um banco de dados é um conjunto organizado de dados que são armazenados e acessados eletronicamente a partir de um sistema de computador.
- Sistema Gerenciador de Banco de Dados (SGBD):
É um software projetado para auxiliar na criação, manutenção e utilização de bancos de dados. Um SGBD oferece funcionalidades como definição de dados, manipulação de dados, controle de concorrência, controle de integridade, controle de acesso e segurança.
- Metadados:
São dados que descrevem outros dados, os metadados fornecem informações sobre a estrutura do banco de dados, definições de tabelas, relacionamentos, restrições, etc. Funções: Facilitam a compreensão e gestão dos dados, sendo essenciais para a definição, integridade e manutenção do banco de dados.
Enquanto um banco de dados é o local onde os dados são armazenados, o Sistema Gerenciador de Banco de Dados (SGBD) é o software que facilita a criação, manipulação e gerenciamento desses dados. Os metadados, por outro lado, são informações sobre os dados, fornecendo contexto e estrutura para garantir a eficiência e consistência do banco de dados.
Características da Abordagem de Bancos de Dados
- Natureza Auto-Descritiva de um Sistema de Banco de Dados
Refere-se à capacidade do sistema de armazenar metadados que descrevem a estrutura e as características dos dados armazenados. Essa característica fundamental permite que o SGBD mantenha informações sobre o próprio banco de dados, facilitando a administração, o gerenciamento e a interação com os dados.
- Isolamento entre Programa/Dados e Abstração
No processamento tradicional de arquivos a estrutura está embutida no programa de aplicação, logo qualquer mudança na estrutura de um arquivo pode requerer alterações em todos os programas que acessar tal arquivo. No SGBD uma alteração na estrutura dos dados geralmente não implica em alterações na implementação, permitindo a abstração dos dados, onde usuários e programadores não precisam ter conhecimento detalhado da aplicação e não precisam estar cientes de como os dados são armazenados, organizados ou acessados no nível físico do banco de dados. Os usuários podem interagir com o banco de dados de maneira mais intuitiva, sem a necessidade de conhecimento detalhado sobre a implementação física. E, permitindo que diferentes usuários ou componentes do sistema vejam o banco de dados de maneira adequada às suas necessidades.
- Suporte à Múltiplas Visões dos Dados
Permiti que diferentes usuários vejam o banco de dados de maneiras diferentes, com base em suas necessidades específicas. Uma representação específica dos dados, personalizada para atender a um conjunto particular de requisitos ou consulta. No contexto do SQL, as visões podem ser criadas usando a instrução CREATE VIEW. Isso permite que os usuários criem representações virtuais dos dados, incorporando consultas complexas ou ocultando detalhes irrelevantes.
- Compartilhamento de dados e Processamento de Transações Multiusuários
Permite múltiplos acessos de usuários no banco de dados ao mesmo tempo, com isso é necessário ter o controle de concorrência para assegurar que quando os usuários tentem atualizar os mesmos dados, isso seja feito de forma controlada. O acesso concorrente não pode acarretar em inconsistência de estado do SGBD. Para que ocorra o processamento em tempo real de transações concorrentes sem ocorrência, de forma eficiente e mantendo a consistência e integridade dos dados, garantindo ACID é essencial oferecer suporte a aplicativos OLTP (Processamento de Transações Online), que podemos considerar como um um paradigma de processamento de dados usado para sistemas que lidam com transações em tempo real.
ACID ou conhecido como DICA
- Atomicidade (Atomicity):Uma transação é uma operação única. Ela é tratada como uma unidade indivisível, o que significa que todas as operações dentro da transação são executadas com sucesso ou nenhuma delas é.
- Consistência (Consistency):Após a conclusão de uma transação, o sistema deve garantir que os dados estejam em um estado consistente. Isso implica que a transação deve transformar o banco de dados de um estado consistente para outro estado consistente.
- Isolamento (Isolation):O isolamento garante que o resultado de uma transação seja invisível para outras transações até que seja concluída. Cada transação deve operar de maneira independente, sem interferir nas outras.
- Durabilidade (Durability):Após a confirmação de que uma transação foi concluída com sucesso, suas alterações no banco de dados devem ser permanentes e resistir a falhas do sistema, incluindo falhas de hardware, software ou energia.
Fontes
- Ciência de Dados, fundamentos de Banco de Dados.
- Modelagem de coortes com dados administrativos.
- Banco de Dados
- O que é um Banco de Dados?
- CONCEITOS BÁSICOS DE BANCO DE DADOS
- O que é ACID e porque usar em Bancos de Dados?
- Capa
Linkedin: https://www.linkedin.com/in/larissarebeka/
GitHub: https://github.com/LarissaRebeka