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
- 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!