Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistema de Banco de Dados - Coggle Diagram
Sistema de Banco de Dados
Banco de dados
Um banco de dados é uma coleção organizada de dados inter-relacionados para armazenar e extrair informações de um domínio específico.
Contém dados logicamente organizados e com significado.
É criado e estruturado para um propósito específico.
Representa um aspecto do mundo real.
Tipos
:check:
:check:
Hierárquico
Um dos métodos mais antigos de organização e armazenamento de dados.
Desenvolvido pela IBM e North American Rockwell em 1965.
Muito utilizado nas décadas de 1970 e 1980.
Organiza dados em uma estrutura hierárquica (árvore) com sentido unidirecional.
Rede
Utilizado principalmente no final da década de 60 e durante a década de 70.
Possui uma estrutura hierárquica.
A principal diferença em relação ao modelo hierárquico é que cada filho pode ter mais de um pai.
Considerado mais flexível, pois as conexões podem ser feitas entre diferentes tipos de dados.
Orientado a Objetos
:check:
Surgiu no início da década de 80.
Baseado no paradigma da programação orientada a objetos.
Funcionalidades de orientação a objetos são integradas às do banco de dados.
Define o banco de dados como uma coleção de objetos, com recursos e métodos associados.
Capaz de lidar com diversos tipos de dados, como gráficos, fotografias, áudio e vídeo.
Um Sistema de Banco de Dados (SBD) é formado pelo SGBD (software) e pelo BD (conjunto de dados).
Conceitos
Terminologia
Domínio
Chave Primária
Chave Estrangeira
Ações Referenciais
Integridade
Restrições
Operações
Inserção
Atualização
Exclusão
Sistema Gerenciador
de Banco de Dados
Um SGBD é um software que permite criar, gerenciar e compartilhar bancos de dados, facilitando sua definição, construção e manipulação.
Responsável por armazenar, gerenciar e disponibilizar dados.
Oferece acesso seguro, confiável e multiusuário.
O SGBD garante integridade e eficiência no acesso aos dados.
Aplicações lidam com grandes volumes de dados.
Facilita o desenvolvimento e a manutenção de sistemas.
Reduz a complexidade para os programadores.
Backup e Restauração
Usuários
Projetista
Desenvolvedor de aplicações
Administrador (DBA)
:green_cross:
Banco de Dados Relacional
Um banco de dados relacional organiza dados em tabelas interligadas por chaves primárias e estrangeiras, baseado na teoria relacional de E. F. Codd.
SQL
A SQL é uma linguagem de programação usada para armazenar, atualizar, remover, pesquisar e recuperar dados em bancos de dados relacionais, além de manter e otimizar seu desempenho.
conceito
Data Transaction Language (DTL).
Conjunto de operações executadas como uma única unidade lógica.
Envolve acesso ao banco de dados.
Inclui inserção, exclusão, alteração e consulta de dados.
ACID
As propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) são essenciais para gerenciar transações em bancos de dados.
Isolada
Consistente
Durável
Atômica
Vantagens
Adequados para mais de 90% das aplicações.
Permitem modificar o banco de dados sem redefinir toda a estrutura.
Seguem um padrão no projeto e na linguagem (SQL).
Garantem propriedades ACID, integridade referencial e normalização dos dados.
Oferecem maior consistência e confiabilidade, mas exigem o relacionamento entre várias tabelas.
Desvantagens
A busca de dados pode ser mais lenta em comparação com outros modelos.
O modelo relacional enfrenta limitações de escalabilidade com o aumento de dados e fluxo de informações.
Banco de Dados Não Relacional
NoSQL
NoSQL refere-se a bancos de dados não relacionais que armazenam e gerenciam dados de maneira diferente dos bancos relacionais tradicionais, embora alguns ofereçam suporte a consultas SQL. A execução das consultas, no entanto, é distinta das abordagens tradicionais.
modelos
Document
Graph
Wide-Colum
Key-Value
Big data
Big Data exige métodos inovadores e econômicos para processar informações, visando uma melhor percepção e tomada de decisões.
Vantagens
Não exige que todas as entidades tenham a mesma estrutura.
Flexibilidade.
Facilidade em adicionar novos dados.
Escalabilidade horizontal natural.
Excelente para lidar com o problema do
Big Data
.
Desvantagens
Tecnologia nova, com atualização rápida e suporte limitado.
Falta de documentação e comunidade emergente.
Ausência das propriedades
ACID
e integridade referencial.
Algumas aplicações precisam desses controles.
Não possui padrões de linguagens e estruturas.