Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Banco de Dados e SQL: Manipulação de Dados e NoSQL 
Os bancos de dados são sistemas cruciais para a organização, armazenamento e 
gerenciamento de informações em aplicações modernas. Eles podem ser classificados em 
duas categorias principais: relacionais (SQL) e não relacionais (NoSQL). Cada um desses 
modelos possui características específicas que os tornam adequados para diferentes tipos de 
projetos e necessidades. 
 
1. Bancos de Dados Relacionais e SQL 
Os bancos de dados relacionais utilizam o modelo relacional, que organiza dados em 
tabelas (linhas e colunas). Esse formato permite um alto nível de organização e 
consistência dos dados, sendo ideal para aplicações que requerem transações complexas e 
integridade rigorosa. 
1.1 Linguagem SQL 
A SQL (Structured Query Language) é a linguagem padrão para interagir com bancos de 
dados relacionais. Ela possibilita realizar diversas operações, como: 
• CRUD (Create, Read, Update, Delete): Operações básicas para manipulação de 
dados. 
• Definição de Estrutura: Criação e alteração de tabelas e esquemas de banco de 
dados. 
• Consultas: Recuperação de informações específicas usando comandos como 
SELECT, combinados com cláusulas como WHERE, GROUP BY, ORDER BY, entre 
outras. 
• Joins: Combinação de dados de tabelas diferentes. 
• Transações: Execução de múltiplas operações de forma atômica, garantindo 
consistência. 
Exemplo básico de manipulação de dados com SQL: 
-- Criação de tabela 
CREATE TABLE usuarios ( 
 id SERIAL PRIMARY KEY, 
 nome VARCHAR(100) NOT NULL, 
 email VARCHAR(100) UNIQUE NOT NULL 
); 
 
-- Inserção de dados 
INSERT INTO usuarios (nome, email) 
VALUES ('João Silva', 'joao@email.com'); 
 
-- Consulta de dados 
SELECT * FROM usuarios WHERE nome = 'João Silva'; 
 
-- Atualização de dados 
UPDATE usuarios SET email = 'joao.novo@email.com' WHERE id = 1; 
 
-- Exclusão de dados 
DELETE FROM usuarios WHERE id = 1; 
1.2 Sistemas de Bancos de Dados Relacionais 
• MySQL: Um dos bancos de dados mais populares, conhecido por sua facilidade de 
uso e desempenho. É amplamente utilizado em aplicações web. 
• PostgreSQL: Focado em recursos avançados e conformidade com padrões, oferece 
suporte extensivo para manipulação de dados, transações e extensibilidade. 
• SQLite: Um banco de dados leve e incorporado que armazena dados em arquivos 
únicos. Ideal para aplicações locais ou de menor escala. 
1.3 Vantagens de Bancos de Dados Relacionais 
• Integridade: Uso de restrições como PRIMARY KEY, FOREIGN KEY, e CHECK garante 
a consistência dos dados. 
• Flexibilidade em consultas: Permite criar consultas complexas e extrair 
informações específicas. 
• ACID: Suporte a propriedades de atomicidade, consistência, isolamento e 
durabilidade, essenciais em sistemas críticos. 
 
2. Bancos de Dados Não Relacionais (NoSQL) 
Os bancos de dados NoSQL adotam uma abordagem diferente, abandonando o modelo 
relacional em favor de formatos mais flexíveis, como documentos, pares chave-valor, 
grafos e colunas amplas. Essa arquitetura é mais adequada para lidar com grandes volumes 
de dados não estruturados ou semiestruturados, escalabilidade horizontal e aplicações em 
tempo real. 
2.1 Tipos de Bancos NoSQL 
1. Documentos (ex.: MongoDB): Os dados são armazenados em documentos JSON 
ou BSON. Cada documento é autossuficiente, contendo seus próprios campos e 
valores. 
2. Chave-valor (ex.: Redis): Ideal para casos simples onde os dados são acessados 
por uma chave exclusiva. 
3. Colunas amplas (ex.: Cassandra): Organiza os dados em tabelas, mas prioriza a 
eficiência em leitura/escrita distribuída. 
4. Grafos (ex.: Neo4j): Representa dados como nós e arestas, útil para aplicações 
como redes sociais ou análise de relações. 
2.2 Exemplo de Banco Documental: MongoDB 
// Inserindo um documento em uma coleção 
db.usuarios.insertOne({ 
 nome: "João Silva", 
 email: "joao@email.com", 
 idade: 30, 
 interesses: ["tecnologia", "esportes"] 
}); 
 
// Consultando documentos 
db.usuarios.find({ nome: "João Silva" }); 
 
// Atualizando documentos 
db.usuarios.updateOne( 
 { nome: "João Silva" }, 
 { $set: { idade: 31 } } 
); 
 
// Removendo documentos 
db.usuarios.deleteOne({ email: "joao@email.com" }); 
2.3 Vantagens dos Bancos NoSQL 
• Escalabilidade Horizontal: Facilita a distribuição de dados entre servidores. 
• Flexibilidade: Suporte a diferentes estruturas de dados, sem necessidade de 
esquemas rígidos. 
• Alto Desempenho: Ótimo para aplicações que exigem baixa latência e alta 
capacidade de resposta. 
2.4 Exemplos de Bancos NoSQL 
• MongoDB: Banco de documentos amplamente usado por sua flexibilidade e 
escalabilidade. 
• Firebase: Oferece banco de dados em tempo real e integração nativa com 
aplicações móveis. 
• Cassandra: Focado em alta disponibilidade e desempenho em grandes volumes de 
dados. 
 
3. Comparação entre Bancos Relacionais e NoSQL 
Característica Relacional (SQL) NoSQL 
Modelo de Dados Estruturado (tabelas) 
Flexível (documentos, chave-
valor, grafos) 
Escalabilidade Vertical Horizontal 
Consistência Forte (ACID) 
Eventual (CP/BASE em sistemas 
distribuídos) 
Complexidade de 
Consultas 
Alta (joins, subqueries) 
Baixa a média (dependendo do 
tipo) 
Característica Relacional (SQL) NoSQL 
Usabilidade 
Rígido, adequado para 
sistemas críticos 
Flexível, ideal para Big Data e 
aplicações web 
 
4. Casos de Uso 
1. Bancos Relacionais: 
o Sistemas financeiros e bancários. 
o Aplicações ERP (Planejamento de Recursos Empresariais). 
o Gestão de estoques e controle logístico. 
2. Bancos NoSQL: 
o Redes sociais (ex.: armazenamento de postagens, conexões de usuários). 
o Aplicações IoT (Internet das Coisas). 
o Análise de big data e machine learning. 
 
5. Considerações para Escolha 
A escolha entre um banco relacional e NoSQL depende de fatores como: 
• Tamanho e estrutura dos dados. 
• Requisitos de escalabilidade. 
• Complexidade das operações. 
• Objetivos do negócio. 
Por exemplo, um sistema de controle financeiro, onde a integridade dos dados é primordial, 
se beneficiaria de um banco relacional. Já uma aplicação que precisa lidar com grandes 
volumes de dados não estruturados, como um sistema de análise de logs, pode ser mais 
eficiente com um banco NoSQL. 
 
Conclusão 
A combinação de bancos SQL e NoSQL no mesmo ecossistema é uma prática comum, pois 
cada tipo complementa diferentes aspectos das necessidades modernas. Compreender os 
fundamentos e limitações de ambos é essencial para projetar sistemas robustos, escaláveis e 
eficientes. 
Banco de Dados e SQL – Renan Bomfim de Sousa Nixdorf

Mais conteúdos dessa disciplina