0% acharam este documento útil (0 voto)
30 visualizações36 páginas

Modelagem de Bancos: SQL e NoSQL

O documento aborda a modelagem de bancos de dados relacionais e NoSQL, destacando conceitos, instalação e manipulação de dados em MySQL e PostgreSQL, além de introduzir o MongoDB. Ele explora comandos SQL, relacionamentos entre tabelas, funções avançadas, e a administração de bancos de dados, incluindo segurança e uso de JSON. Por fim, discute a gestão de bancos de dados na nuvem com AWS e BigQuery, enfatizando as diferenças entre SQL e NoSQL.

Enviado por

juliadeassis2211
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
30 visualizações36 páginas

Modelagem de Bancos: SQL e NoSQL

O documento aborda a modelagem de bancos de dados relacionais e NoSQL, destacando conceitos, instalação e manipulação de dados em MySQL e PostgreSQL, além de introduzir o MongoDB. Ele explora comandos SQL, relacionamentos entre tabelas, funções avançadas, e a administração de bancos de dados, incluindo segurança e uso de JSON. Por fim, discute a gestão de bancos de dados na nuvem com AWS e BigQuery, enfatizando as diferenças entre SQL e NoSQL.

Enviado por

juliadeassis2211
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd

Modelagem de

Banco de Dados
Relacional e
NoSQL
CONCEITOS, MODELAGEM E ADMINISTRAÇÃO DE
BANCOS DE DADOS.
Introdução ao Banco de
Dados

 Um banco de dados é um sistema que armazena


e organiza dados para facilitar sua consulta e
manipulação.
 Os principais tipos são Relacional (SQL) e NoSQL.
 SQL é estruturado e organizado em tabelas,
enquanto NoSQL é mais flexível.
diferença entre banco de dados relacional
(tabelas) e NoSQL (documentos)
Instalação do MySQL

 MySQL é um dos sistemas de gerenciamento de


banco de dados mais usados.
 Para instalá-lo:
 - Baixe e instale o MySQL Server.
 - Configure o MySQL Workbench para gerenciar os
bancos de dados graficamente.
Captura de tela do MySQL Workbench ou do processo de
instalação do MySQL Server.
Estrutura do Banco de Dados

 Um banco de dados relacional é composto por


esquemas e tabelas.
 - As tabelas possuem colunas e linhas, onde cada
coluna representa um campo de dado.
 - As chaves primárias identificam de forma única
cada registro.
 - As chaves estrangeiras estabelecem relações
entre tabelas.
Diagrama de um banco de dados relacional com tabelas
conectadas por chaves primárias e estrangeiras.
Criando e Manipulando
Tabelas

 Para criar e alterar tabelas no MySQL, usamos


comandos como:
 - CREATE TABLE: Cria uma nova tabela.
 - ALTER TABLE: Modifica a estrutura da tabela.
 - DROP TABLE: Exclui uma tabela do banco de
dados.
Exemplo de código SQL criando uma tabela (CREATE TABLE...)
Manipulação de Dados no
MySQL

 Para inserir e alterar dados usamos os seguintes


comandos:
 - INSERT: Adiciona novos registros.
 - UPDATE: Modifica registros existentes.
 - DELETE: Remove registros.
 - SELECT: Consulta dados na tabela.
Captura de tela do MySQL Workbench mostrando uma tabela sendo preenchida com dados.
Consultas e Filtros

 Comando SELECT permite recuperar dados do


banco.
 - Filtrar com WHERE (exemplo: WHERE idade >
18).
 - Ordenar resultados com ORDER BY.
 - Agrupar com GROUP BY para sumarizar dados.
Exemplo de uma consulta SQL com SELECT, WHERE
e ORDER BY, destacando os filtros aplicados.
Relacionamento entre Tabelas

 O relacionamento entre tabelas pode ser:


 - 1 para 1: Um registro de uma tabela
corresponde a um único da outra.
 - 1 para Muitos: Um registro pode estar
relacionado a vários registros de outra tabela.
 - Muitos para Muitos: Necessita de uma tabela
intermediária.
Diagrama ER mostrando as conexões entre diferentes tabelas de um banco de dados
Unindo Tabelas com JOIN

 Os JOINs permitem unir dados de múltiplas


tabelas:
 - INNER JOIN: Retorna apenas os registros
correspondentes.
 - LEFT JOIN: Retorna todos os registros da tabela à
esquerda e os correspondentes da direita.
 - RIGHT JOIN: Retorna todos os registros da tabela
à direita e os correspondentes da esquerda.
Ilustração visual do funcionamento do INNER JOIN, LEFT JOIN e RIGHT JOIN, mostrando quais dados são
incluídos
Funções Avançadas do SQL

 SQL permite realizar cálculos e agregar


informações:
 - COUNT(): Conta registros.
 - SUM(): Soma valores.
 - AVG(): Calcula média.
 - HAVING: Filtra resultados após agrupamento.
Tabela destacando funções SQL como SUM(), AVG(),
COUNT(), HAVING
Procedures e Triggers

 Stored Procedures são blocos de código SQL


armazenados para execução posterior.
 Triggers são procedimentos automáticos
acionados antes ou depois de eventos como
inserções e atualizações.
Exemplo de código SQL de uma procedure e um trigger em funcionamento
Administração do Banco de
Dados

 O DBA (Database Administrator) gerencia o banco


de dados garantindo segurança, desempenho e
integridade.
 Principais funções:
 - Criar e gerenciar usuários.
 - Configurar backups.
 - Otimizar consultas para melhor desempenho.
DBA (Database Administrator) e suas
responsabilidades
Segurança no Banco de
Dados

 A segurança dos bancos de dados inclui:


 - Controle de acesso e permissões.
 - Criptografia de dados sensíveis.
 - Auditoria e logs para rastreamento de atividades
suspeitas.
Trabalhando com JSON no
MySQL

 JSON é um formato de dados utilizado para


armazenar informações estruturadas.
 MySQL permite armazenar e manipular JSON
diretamente, possibilitando consultas específicas
com funções JSON.
Exemplo de uma coluna JSON dentro de uma tabela MySQL e uma consulta acessando seus dados
Introdução ao PostgreSQL

 PostgreSQL é um banco de dados relacional


avançado, concorrente do MySQL.
 Diferenciais:
 - Suporte a JSON e XML.
 - Melhor controle de concorrência.
 - Consultas complexas e eficientes.
NoSQL e MongoDB

 Bancos NoSQL são mais flexíveis e escaláveis,


ideais para grandes volumes de dados não
estruturados.
 MongoDB é um banco NoSQL baseado em
documentos JSON.
 Diferente dos relacionais, ele usa coleções ao
invés de tabelas.
Comparação entre SQL e NoSQL, mostrando a diferença entre tabelas e documentos JSON

 SQL vs NoSQL (JSON):

 1. Estrutura de Dados:
 SQL: Utiliza tabelas com linhas e colunas (esquema fixo).
 NoSQL: Utiliza documentos JSON (estruturas flexíveis, sem esquema fixo).

 2. Flexibilidade:
 SQL: Estrutura rígida, precisa de alterações manuais para mudanças no esquema.
 NoSQL: Mais flexível, documentos podem ter campos diferentes.

 3. Escalabilidade:
 SQL: Escala verticalmente (melhoria de hardware).
 NoSQL: Escala horizontalmente (distribuindo dados entre múltiplos servidores).

 4. Consultas e Relacionamentos:
 SQL: Suporta relacionamentos complexos com JOINs.
 NoSQL: Não foca em relacionamentos, dados são frequentemente aninhados nos documentos.
Consultas no MongoDB

 Para buscar e manipular dados no MongoDB,


utilizamos:
 - find(): Pesquisa documentos.
 - updateOne(), updateMany(): Atualiza
documentos.
 - deleteOne(), deleteMany(): Remove documentos.
Exemplo de um documento JSON e uma consulta db.collection.find() no MongoDB.
Banco de Dados na Nuvem

 Os bancos de dados podem ser gerenciados na


nuvem com AWS e Google BigQuery.
 - AWS RDS permite criar bancos MySQL e
PostgreSQL.
 - DynamoDB gerencia dados NoSQL escaláveis.
 - BigQuery processa grandes volumes de dados
rapidamente.
BigQuery e Análise de Dados

 BigQuery é um banco de dados do Google


otimizado para análise de grandes volumes de
dados.
 - Suporte a consultas SQL para grandes datasets.
 - Integração com outras ferramentas do Google
Cloud.
 - Processamento rápido e eficiente de dados
estruturados e semiestruturados.
Comparação: SQL vs NoSQL

 Principais diferenças entre SQL e NoSQL:


 - SQL: Estruturado, ideal para dados relacionais.
 - NoSQL: Flexível, ideal para grandes volumes de
dados distribuídos.
 - SQL usa tabelas, NoSQL usa coleções e
documentos.
SQL x NoSQL
Conclusão

 O slide abordou a modelagem de bancos de dados


relacionais e NoSQL, com foco no MySQL,
PostgreSQL, MongoDB, AWS e BigQuery. Aprendi a
instalar, configurar e manipular dados nesses
bancos, além de realizar consultas avançadas,
gerenciar usuários e otimizar o desempenho. O
conteúdo também incluiu o uso de JSON no
MySQL, administração de bancos de dados na
AWS, e a exploração de bancos NoSQL, como o
MongoDB. Esses conhecimentos são essenciais
para a criação e gestão eficiente de bancos de
dados em diferentes ambientes e aplicações.

Você também pode gostar