Article image
Samir Costa
Samir Costa26/12/2024 13:18
Compartilhe

Conceitos Simples de Banco de Dados

    Seja bem-vindo! Este material irá ajudar a explorar diferentes abordagens no desenvolvimento de suas habilidades como desenvolvedor .NET especializado em banco de dados. Aproveite este conteúdo para impulsionar seu aprendizado!

    1. Introdução

    Tipos de Banco de Dados

    Banco de Dados Relacional

    O tipo mais utilizado atualmente, organiza dados de forma estruturada em tabelas compostas por linhas e colunas. As tabelas podem se relacionar entre si por meio de chaves.

    Exemplos:

    - SQL Server

    - MySQL

    Exemplo de tabela:

    Tabela: Clientes  

    Colunas:

    - Id

    - Nome

    - Email

    - AceitarComunicados

    - DataCadastro

    Banco de Dados Não Relacional

    Este tipo armazena dados de forma não estruturada ou semi-estruturada.

    Tipos:

    - Document Databases

    - Key-Value Databases

    - Wide-Column Stores

    - Graph Databases

    Exemplo de banco não relacional:

    MongoDB, onde os dados são armazenados no formato JSON.

    2. SQL, Tabelas e Tipos de Dados

    SQL: Structured Query Language

    Linguagem padronizada para consultas e manipulação de dados em bancos de dados.

    Principais categorias de comandos SQL:

    - DDL (Data Definition Language): CREATE, ALTER, DROP

    - DML (Data Manipulation Language): INSERT, UPDATE, DELETE

    - DCL (Data Control Language): GRANT, REVOKE

    - TCL (Transaction Control Language): BEGIN TRAN, ROLLBACK

    - DQL (Data Query Language): SELECT

     Exemplos práticos:

    - SELECT: Retorna dados de uma tabela.  

     SELECT * FROM Clientes;  
    

    - INSERT: Insere novos registros.  

     INSERT INTO Clientes (Nome, Email) VALUES ('João', 'joao@email.com');  
    

    - UPDATE: Atualiza dados existentes.  

     UPDATE Clientes SET Nome = 'João Silva' WHERE Id = 1;  
    

    - DELETE: Remove registros.  

     DELETE FROM Clientes WHERE Id = 1;  
    

     Tipos de Dados:

    - Texto: CHAR, VARCHAR

    - Números: INT, DECIMAL

    - Datas: DATETIME2

     3. Manipulação de Dados

    Funções Built-In

    Funções pré-existentes que facilitam a manipulação de dados. Exemplos:

    - COUNT: Conta registros.  

     SELECT COUNT(*) FROM Clientes;  
    

    - SUM: Soma valores numéricos.  

     SELECT SUM(Valor) FROM Vendas;  
    

    - MIN, MAX, AVG: Menor, maior e média dos valores.  

     SELECT MIN(Valor), MAX(Valor), AVG(Valor) FROM Vendas;  
    

    Comando GROUP BY

    Agrupa dados por uma condição.  

     SELECT Categoria, COUNT(*) FROM Produtos GROUP BY Categoria;
    

    4. Constraints, Funções e Procedures

    Constraints

    Regras aplicadas a tabelas para garantir a integridade dos dados:

    - NOT NULL: Impede valores nulos.

    - UNIQUE: Garante valores únicos.

    - PRIMARY KEY: Combina NOT NULL e UNIQUE.

    - FOREIGN KEY: Garante relações entre tabelas.

    - DEFAULT: Define valores padrão.

    - CHECK: Restringe valores aceitos em uma coluna.

    Stored Procedures

    Blocos de comandos SQL que podem ser executados repetidamente.

     Exemplo de Criação:  

     CREATE PROCEDURE InserirProduto @Nome VARCHAR(50), @Preco DECIMAL(10,2)
     AS
     BEGIN
     INSERT INTO Produtos (Nome, Preco) VALUES (@Nome, @Preco);
     END;  
    

     Execução:  

     EXEC InserirProduto 'Produto A', 50.00;  
    

    Funções

    Similar a Procedures, mas sempre retornam um valor.

     Exemplo de Criação:  

     CREATE FUNCTION CalcularDesconto(@Preco DECIMAL(10,2))
     RETURNS DECIMAL(10,2)
     AS
     BEGIN
     RETURN @Preco * 0.9;
     END;
    

    5. Bancos de Dados Não Relacionais

    MongoDB

    Banco de dados orientado a documentos que utiliza JSON para armazenamento.

    Principais Comandos:

    - Insert: Insere documentos. 

     db.produtos.insertOne({ "nome": "Produto A", "preco": 50 });  
    

    - Find: Consulta documentos. 

     db.produtos.find({ "nome": "Produto A" });  
    

    - Update: Atualiza documentos. 

     db.produtos.updateOne({ "nome": "Produto A" }, { $set: { "preco": 60 } });
    

    Conclusão

    A jornada para dominar bancos de dados requer compreensão dos fundamentos relacionais e não relacionais. Esperamos que este material ajude você a crescer como desenvolvedor .NET e a implementar soluções robustas e eficientes.

    Bons estudos!

    Compartilhe
    Comentários (1)
    Ronaldo Schmidt
    Ronaldo Schmidt - 26/12/2024 16:02

    Excelente contribuiçao.

    Bem resumida e simples de entender mas só mesmo a pratica para realmente aprender e se acostumar aos comandos.

    Obrigado por compartilhar.