Article image

A

Ana01/07/2024 10:40
Compartilhe

Introdução aos SGBDs: Fundamentos e Aplicações Práticas

  • #SQL e NoSQL

Fala, pessoal! Hoje vamos explorar o mundo dos Sistemas de Gerenciamento de Banco de Dados, ou simplesmente SGBDs. Se você está começando na área de dados ou só quer entender melhor como esses sistemas funcionam, está no lugar certo. Vamos descomplicar tudo isso de um jeito fácil e direto!

image

SGBD é a sigla para Sistema de Gerenciamento de Banco de Dados. Basicamente, é um software que te ajuda a organizar, armazenar e gerenciar dados de forma eficiente. Pense neles como bibliotecários digitais que mantêm tudo em ordem, facilitando a busca e a manipulação das informações.

image

Existem alguns tipos principais de SGBDs: relacionais e não-relacionais. Cada um tem suas particularidades e é mais adequado para certos tipos de dados e aplicações. Escolher o certo depende do que você precisa fazer com seus dados.

Relacionais

  • MySQL - É um sistema gratuito e popular para organizar dados em tabelas interligadas, acessíveis através da linguagem SQL. Utilizado em sites, blogs, lojas virtuais e muito mais
  • PostgreSQL: É um banco de dados relacional de código aberto, poderoso e confiável, que armazena dados em tabelas interligadas
  • Oracle Database: SGBD robusto para grandes empresas, com alto desempenho, escalabilidade e segurança para dados críticos. Ideal para OLTP, suporte à decisão e aplicações corporativas.

Não-relacionais

  • MongoDB: Banco de dados NoSQL flexível e escalável para armazenar e consultar dados não estruturados em formato JSON. Ideal para aplicações modernas e em constante mudança.
  • Cassandra: Banco de dados NoSQL para alta disponibilidade, escalabilidade e consistência de dados não estruturados. Ideal para grandes volumes de dados, baixa latência e aplicações web em grande escala
  • Redis: Armazenamento de dados em memória, de alto desempenho, para cache, filas, pub/sub e bancos de dados NoSQL. Ideal para aplicações web e mobile escaláveis.

image

Para trabalhar com SGBDs, você precisa entender alguns conceitos básicos: tabelas, colunas, linhas, chaves primárias e estrangeiras. Imagine uma planilha do Excel: cada aba é uma tabela, cada coluna é um campo da tabela e cada linha é um registro. As chaves ajudam a conectar diferentes tabelas.

image

SGBDs na nuvem são uma mão na roda! Serviços como Amazon RDS, Google Cloud SQL e Azure SQL Database permitem que você crie e gerencie bancos de dados sem se preocupar com infraestrutura. É só configurar e usar. Além disso, a escalabilidade e a flexibilidade são enormes, perfeito para projetos que crescem rápido.

image

Quer ver como isso funciona na prática? Deixei alguns exemplos práticos de como utilizar SQL e NOSQL nos SGBDS mencionados para deixar ainda mais claro a proposta do artigo.

Relacionais:

  • MySQL - Selecionando nome e idade de usuários maiores de 18 anos.
      SELECT nome, 
            idade 
            FROM usuarios 
            WHERE idade > 18;
  • PostGree: Criando tabela produtos com valores id como chave primária, nome tipo VARCHAR e preço DECIMAL, sem conter dados nulos.

        CREATE TABLE produtos 
        ( id SERIAL PRIMARY KEY, 
          nome VARCHAR(20) NOT NULL, 
          preco DECIMAL(10,2) NOT NULL);

  • BigQuery - Contando quantos usuários existem em cada cidade, e agrupando os resultados pela coluna cidade.
          SELECT cidade, 
          COUNT(*) AS total 
          FROM `meu_projeto.minha_dataset.usuarios` 
          GROUP BY cidade;
  • Oracle Database - Contando a quantidade de usuários por cidade, porém só contamos se a cidade tiver mais que 100 usuários.
          SELECT cidade, 
          COUNT(*) AS total 
          FROM meu_projeto.minha_dataset.usuarios 
          GROUP BY cidade HAVING COUNT(*) > 100;

Não-relacionais:

  • MongoDB: O código busca e imprime documentos com idade superior a 25 anos na coleção "minhaColecao" do MongoDB.
           const collection = db.collection("minhaColecao"); 

            collection.find({ idade: { $gt: 25 } }).toArray((err, documentos) => { 
            if (err) { 
                console.error(err); 
                return; 
            } 
            console.log("Documentos encontrados:"); 
            console.log(documentos); 

            });
  • Cassandra: Criando um keyspace chamado "meu_keyspace" e define uma tabela dentro dele, chamada "minha_tabela". A tabela "minha_tabela" armazena dados de usuários, com colunas para nome, email, idade e cidade. A estratégia de replicação SimpleStrategy com replication_factor 3, garante que os dados sejam replicados para 3 nós no cluster, proporcionando alta disponibilidade e tolerância a falhas.
            CREATE KEYSPACE meu_keyspace WITH replication = { 
              'class': 'SimpleStrategy', 
              'replication_factor': 3 
            }; 

            CREATE TABLE meu_keyspace.minha_tabela ( 
               id UUID PRIMARY KEY, 
               nome VARCHAR(255), 
               email TEXT, 
               idade INT, 
               cidade VARCHAR(255)
            );
  • Redis: Armazendo informações de produtos em um estoque utilizando o Redis.
      # Definindo produto 
      
      1 SET produto:1 nome "Camisa Verde" 
      SET produto:1 preco 29.90 
      SET produto:1 quantidade 50 
      
      # Consultando nome do produto 
      1 GET produto:1 nome 
      # Resposta: Camisa Verde 
      
      # Aumentando quantidade do produto 1 em 1 unidade 
      
      INCR produto:1 quantidade 
      # Quantidade atual: 51 
      
      # Removendo produto 1 
      DEL produto:1 
      # Produto 1 removido do estoque

Curtiu esse conteúdo? Ele foi gerado com a ajuda de uma inteligência artificial, mas foi totalmente revisado e melhorado por alguém 100% humano, e se quiser se conectar comigo, me siga no Linkedin: ttps://www.linkedin.com/in/ana-meliti/

Fontes de produção

  • Ilustração de capa: gerada pela lexica.art
  • Conteúdo gerado por chatGPT e revisões humanas por mim

#BancoDeDados #SGBD #AnáliseDeDados #SQL

Compartilhe
Comentários (0)
Leia a seguir