Você está na página 1de 20

MINISTÉRIO DA EDUCAÇÃO

SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA


INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

Introdução à Banco de Dados


Curso: Fundamentos de SQL
Prof.: Paulo Henrique Maciel

Sumário

1. O que é um Banco de Dados..................................................................................................................... 3


1.1. Importância dos bancos de dados na computação ........................................................................... 3
1.2. Comparação com outros métodos de armazenamento de dados (arquivos, planilhas, etc.) ............ 4
2. Tipos de Banco de Dados .......................................................................................................................... 5
2.1. Banco de Dados Relacional ............................................................................................................... 5
2.2. Banco de Dados Não-Relacional (NoSQL) ......................................................................................... 5
2.3. Banco de Dados Orientado a Objetos ............................................................................................... 6
2.4. Banco de Dados Hierárquico e em Rede ........................................................................................... 6
3. Modelos de Dados .................................................................................................................................... 7
3.1. Modelo Hierárquico .......................................................................................................................... 7
3.2. Modelo em Rede .............................................................................................................................. 7
3.3. Modelo Relacional ............................................................................................................................ 8
3.4. Modelo Orientado a Objetos ............................................................................................................ 8
3.5. Modelo NoSQL.................................................................................................................................. 8
4. Estrutura Básica de um Banco de Dados ................................................................................................ 10
4.1. Tabelas (ou Coleções, em NoSQL) ................................................................................................... 10
4.2. Registros (ou Documentos, em NoSQL) .......................................................................................... 10
4.3. Atributos (ou Campos) .................................................................................................................... 10
4.4. Chaves Primárias e Chaves Estrangeiras ......................................................................................... 11
4.5. Índices ............................................................................................................................................ 11
5. Terminologia Básica em Banco de Dados................................................................................................ 13
5.1. SQL (Structured Query Language)................................................................................................... 13
5.2. Transação ........................................................................................................................................ 13
5.3. CRUD (Create, Read, Update, Delete) ............................................................................................. 13
5.4. ACID (Atomicidade, Consistência, Isolamento, Durabilidade) ......................................................... 14
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

5.5. SGBD (Sistema de Gerenciamento de Banco de Dados) ................................................................. 14


5.6. Normalização .................................................................................................................................. 15
6. Exemplos Práticos em SQL ...................................................................................................................... 17
6.1. Demonstração da criação de uma pequena base de dados utilizando SQL .................................... 17
6.2. Realização de operações CRUD em uma tabela de exemplo .......................................................... 17
6.3. Mostrando consultas simples utilizando SQL.................................................................................. 18
7. Desafios e Futuro dos Bancos de Dados ................................................................................................. 19
7.1. Big Data e Bancos de Dados Distribuídos........................................................................................ 19
7.2. Bancos de Dados em Nuvem .......................................................................................................... 19
7.3. Bancos de Dados para IoT (Internet das Coisas) ............................................................................. 19
7.4. Segurança e Privacidade em Bancos de Dados ............................................................................... 20
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

1. O que é um Banco de Dados

Um Banco de Dados (BD) é um conjunto organizado de dados relacionados entre si,


geralmente armazenados eletronicamente em um sistema de computador. Esses dados são
estruturados de forma a permitir o acesso, a recuperação e a manipulação eficientes, além
de garantir a integridade e a segurança das informações. Um banco de dados é projetado
para facilitar o armazenamento e a gestão de grandes volumes de dados, permitindo que
usuários e aplicativos recuperem informações de maneira rápida e precisa.

1.1. Importância dos bancos de dados na computação

Os bancos de dados desempenham um papel central na computação e são essenciais


para uma ampla variedade de aplicações e sistemas. Sua importância reside na capacidade
de armazenar dados de forma organizada, permitindo que esses dados sejam facilmente
acessados, atualizados e compartilhados entre diferentes usuários e aplicativos.

Algumas das razões pelas quais os bancos de dados são tão importantes incluem:

1. Eficiência: Os bancos de dados permitem a recuperação rápida e eficiente de


informações, mesmo em conjuntos de dados muito grandes, o que melhora
significativamente o desempenho de aplicativos e sistemas.
2. Consistência: Ao centralizar os dados em um único local, os bancos de dados
garantem que todas as informações sejam consistentes e precisas, evitando
inconsistências que podem ocorrer ao usar múltiplos arquivos ou planilhas.
3. Integridade dos dados: Os bancos de dados são projetados para garantir a
integridade dos dados, protegendo contra a perda, corrupção ou acesso não
autorizado às informações.
4. Segurança: Os sistemas de gerenciamento de bancos de dados (SGBDs) oferecem
recursos avançados de segurança para proteger os dados contra acessos não
autorizados e garantir a confidencialidade e a privacidade das informações.
5. Concorrência: Bancos de dados permitem que múltiplos usuários acessem e
atualizem os dados simultaneamente, garantindo que as operações concorrentes
sejam tratadas de forma segura e eficiente.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

1.2. Comparação com outros métodos de armazenamento de dados (arquivos,


planilhas, etc.)

• Arquivos: Os arquivos são uma forma básica de armazenamento de dados, onde as


informações são geralmente organizadas em estruturas simples, como texto ou
binário. Embora os arquivos sejam fáceis de entender e usar, eles têm várias
limitações em comparação com os bancos de dados, incluindo falta de integridade,
dificuldade de acesso e gerenciamento de dados em grande escala, e falta de
recursos avançados de segurança e controle de acesso.
• Planilhas: As planilhas são frequentemente usadas para armazenar e manipular
dados tabulares, como listas, tabelas e gráficos. Embora as planilhas sejam eficazes
para tarefas simples de análise de dados, elas tendem a ser inadequadas para
armazenar grandes volumes de dados e enfrentam desafios em termos de
integridade, segurança e compartilhamento de informações.

Obs.: Comparado a arquivos e planilhas, os bancos de dados oferecem uma solução


mais robusta e escalável para armazenar e gerenciar dados, proporcionando eficiência,
consistência, integridade e segurança aprimoradas.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

2. Tipos de Banco de Dados

2.1. Banco de Dados Relacional

Um Banco de Dados Relacional é um tipo de banco de dados que organiza os dados em


tabelas relacionadas umas às outras por meio de chaves primárias e estrangeiras. Ele segue
o modelo relacional proposto por Edgar F. Codd na década de 1970 e utiliza a linguagem
SQL (Structured Query Language) para consultas e manipulações de dados.

Considerações:

• Utiliza tabelas para representar entidades e relacionamentos.


• Usa chaves primárias e estrangeiras para garantir a integridade referencial.
• Oferece suporte a transações ACID (Atomicidade, Consistência, Isolamento,
Durabilidade).
• Exemplos de SGBDs relacionais incluem MySQL, PostgreSQL, Oracle, SQL Server,
entre outros.

2.2. Banco de Dados Não-Relacional (NoSQL)

Bancos de Dados Não-Relacionais, também conhecidos como NoSQL (Not Only SQL),
são uma categoria de bancos de dados que oferecem modelos de dados diferentes do
modelo relacional. Eles são projetados para lidar com grandes volumes de dados
distribuídos em escala horizontal e podem ser mais flexíveis em relação à estrutura dos
dados.

Considerações:

• Não segue o modelo relacional.


• Pode utilizar diferentes modelos de dados, como documentos, grafos, chave-valor
e colunas.
• Escalabilidade horizontal para lidar com grandes volumes de dados.
• Adequado para aplicações web, Big Data, IoT e outras aplicações de alta
performance.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

• Exemplos de SGBDs NoSQL incluem MongoDB, Cassandra, Redis, Neo4j, entre


outros.

2.3. Banco de Dados Orientado a Objetos

Bancos de Dados Orientados a Objetos são aqueles que armazenam dados na forma de
objetos, ao contrário das abordagens tradicionais baseadas em tabelas. Esses objetos
podem conter atributos e métodos, semelhantes aos objetos na programação orientada a
objetos.

Considerações:

• Armazena dados na forma de objetos, com propriedades e comportamentos.


• Suporta herança, polimorfismo e encapsulamento.
• Mais adequado para sistemas que usam programação orientada a objetos.
• Exemplos de SGBDs orientados a objetos incluem db4o e ObjectDB.
2.4. Banco de Dados Hierárquico e em Rede

Bancos de Dados Hierárquicos e em Rede são modelos de dados mais antigos, onde os
dados são organizados em uma estrutura hierárquica ou em uma rede de relações pai-filho.

Considerações:

• Modelos de dados baseados em árvores hierárquicas ou redes de relações.


• Acesso aos dados é realizado seguindo as relações definidas.
• Menos utilizado atualmente em comparação com os bancos de dados relacionais e
NoSQL.
• Exemplos de SGBDs hierárquicos incluem IBM IMS e Raima Database Manager.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

3. Modelos de Dados

3.1. Modelo Hierárquico

O Modelo de Dados Hierárquico organiza os dados em uma estrutura hierárquica, onde


cada registro é vinculado a um ou mais registros pai, formando uma árvore. Esse modelo é
caracterizado por uma relação de um para muitos entre os registros, com um único registro
pai podendo ter vários registros filhos.

Considerações:

• Organiza os dados em uma estrutura hierárquica tipo árvore.


• Cada registro pode ter apenas um registro pai, mas pode ter vários registros filhos.
• Utilizado principalmente em sistemas legados e ambientes específicos, como
sistemas de arquivos.
• Exemplo de SGBD hierárquico: IBM IMS (Information Management System).

3.2. Modelo em Rede

O Modelo de Dados em Rede é uma extensão do modelo hierárquico, onde os registros


podem ter múltiplos pais, formando uma estrutura de grafo. Isso permite relações
complexas entre os registros, possibilitando que um registro esteja relacionado a vários
outros registros.

Considerações:

• Permite que um registro tenha múltiplos pais, criando uma estrutura de grafo.
• Relações complexas entre os registros são suportadas.
• Utilizado principalmente em sistemas legados e aplicações específicas, como
sistemas de informação geográfica (GIS).
• Exemplo de SGBD em rede: Raima Database Manager.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

3.3. Modelo Relacional

O Modelo de Dados Relacional organiza os dados em tabelas relacionadas entre si por


meio de chaves primárias e estrangeiras. Esse modelo é baseado na teoria de conjuntos e
utiliza a linguagem SQL (Structured Query Language) para consultas e manipulações de
dados.

Considerações:

• Os dados são organizados em tabelas, onde cada linha representa uma entidade e
cada coluna representa um atributo.
• Utiliza chaves primárias e estrangeiras para estabelecer relacionamentos entre as
tabelas.
• Suporta operações como seleção, projeção, junção e agregação por meio de
consultas SQL.
• SGBDs relacionais populares incluem MySQL, PostgreSQL, SQL Server e Oracle.

3.4. Modelo Orientado a Objetos

O Modelo de Dados Orientado a Objetos armazena os dados na forma de objetos,


semelhante à programação orientada a objetos. Cada objeto possui atributos e métodos, e
os relacionamentos são estabelecidos por meio de associações entre os objetos.

Considerações:

• Os dados são representados na forma de objetos, com propriedades e


comportamentos.
• Suporta conceitos de herança, polimorfismo e encapsulamento.
• Mais adequado para sistemas que utilizam programação orientada a objetos.
• Exemplos de SGBDs orientados a objetos incluem db4o e ObjectDB.

3.5. Modelo NoSQL

O Modelo NoSQL (Not Only SQL) é uma categoria de bancos de dados que não seguem
o modelo relacional tradicional. Eles são projetados para lidar com grandes volumes de
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

dados distribuídos e podem usar diferentes modelos de dados, como documentos, grafos,
chave-valor e colunas.

Considerações:

• Não segue o modelo relacional.


• Pode usar diferentes modelos de dados, como documentos, grafos, chave-valor e
colunas.
• Escalabilidade horizontal para lidar com grandes volumes de dados.
• Adequado para aplicações web, Big Data, IoT e outras aplicações de alta
performance.
• Exemplos de SGBDs NoSQL incluem MongoDB, Cassandra, Redis e Neo4j.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

4. Estrutura Básica de um Banco de Dados

4.1. Tabelas (ou Coleções, em NoSQL)

As tabelas são estruturas fundamentais em bancos de dados relacionais, onde os dados


são organizados em linhas e colunas. Cada tabela representa uma entidade ou tipo de dado
específico, e cada linha na tabela representa uma instância ou registro desse tipo de dado.

Considerações:

• As tabelas são compostas por colunas (atributos) e linhas (registros).


• Cada coluna representa um atributo particular dos dados.
• Cada linha contém informações específicas, representando uma instância dos
dados.
• Em bancos de dados NoSQL, como os orientados a documentos, o equivalente às
tabelas são as coleções.

4.2. Registros (ou Documentos, em NoSQL)

Os registros, também conhecidos como tuplas em bancos de dados relacionais, são as


entradas individuais de dados armazenadas em uma tabela. Cada registro contém
informações relacionadas a uma única entidade, representada por uma linha na tabela.

Considerações:

• Cada registro é uma instância específica de dados armazenados na tabela.


• Os registros são compostos por valores para cada um dos atributos definidos na
tabela.
• Em bancos de dados NoSQL, como MongoDB, os registros são frequentemente
referidos como documentos.

4.3. Atributos (ou Campos)

Os atributos, também conhecidos como campos, representam as características


individuais de uma entidade ou registro armazenado em uma tabela. Cada atributo possui
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

um nome e um tipo de dados associado que define o tipo de informação que pode ser
armazenado nele.

Considerações:

• Os atributos representam as propriedades dos dados armazenados em uma tabela.


• Cada atributo possui um nome exclusivo e um tipo de dados associado.
• Os tipos de dados podem incluir inteiros, strings, datas, booleanos, entre outros,
dependendo do SGBD utilizado.

4.4. Chaves Primárias e Chaves Estrangeiras

As chaves primárias e estrangeiras são importantes para estabelecer relacionamentos


entre diferentes tabelas em bancos de dados relacionais. A chave primária identifica
exclusivamente cada registro em uma tabela, enquanto a chave estrangeira cria uma relação
entre duas tabelas.

Considerações:

• A chave primária é um atributo ou conjunto de atributos que identifica


exclusivamente cada registro em uma tabela.
• A chave estrangeira é um atributo em uma tabela que faz referência à chave primária
de outra tabela.
• As chaves primárias garantem a integridade dos dados e evitam duplicatas.
• As chaves estrangeiras estabelecem relações entre tabelas, permitindo consultas
complexas e operações de junção.

4.5. Índices

Os índices são estruturas de dados utilizadas para melhorar o desempenho das


consultas em bancos de dados, permitindo acesso rápido aos dados com base em
determinadas colunas.

Considerações:
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

• Os índices são criados em colunas específicas de uma tabela para acelerar as


consultas que envolvem essas colunas.
• Eles são semelhantes a um índice em um livro, permitindo que o banco de dados
localize rapidamente os registros com base nos valores das colunas indexadas.
• Índices podem melhorar significativamente o desempenho de consultas,
especialmente em tabelas grandes.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

5. Terminologia Básica em Banco de Dados

5.1. SQL (Structured Query Language)

SQL é uma linguagem de consulta estruturada utilizada para comunicar com bancos de
dados relacionais. Ela permite realizar diversas operações, como inserção, atualização,
exclusão e consulta de dados em tabelas.

Considerações:

• SQL é uma linguagem padronizada pela ANSI e ISO.


• Permite a realização de consultas complexas utilizando comandos como SELECT,
INSERT, UPDATE, DELETE, entre outros.
• É amplamente utilizada em bancos de dados relacionais, como MySQL, PostgreSQL,
SQL Server e Oracle.

5.2. Transação

Uma transação em um banco de dados é uma sequência de operações que formam uma
unidade lógica de trabalho. Essas operações são tratadas de forma indivisível, garantindo
que todas sejam concluídas com sucesso ou nenhuma delas seja executada.

Considerações:

• As transações garantem a integridade dos dados e a consistência do banco de


dados.
• Utilizam o conceito de "rollback" para desfazer todas as operações em caso de falha
ou erro.
• São fundamentais para garantir a atomicidade das operações em bancos de dados.

5.3. CRUD (Create, Read, Update, Delete)

CRUD é um acrônimo que representa as quatro operações básicas em bancos de dados


relacionais: Create (criar), Read (ler), Update (atualizar) e Delete (excluir). Essas operações
permitem manipular os dados armazenados em uma tabela.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

• Create: inserção de novos registros na tabela.


• Read: consulta e leitura de registros existentes na tabela.
• Update: atualização de registros existentes na tabela.
• Delete: exclusão de registros existentes na tabela.

5.4. ACID (Atomicidade, Consistência, Isolamento, Durabilidade)

ACID é um conjunto de propriedades que garantem a integridade e a consistência das


transações em um banco de dados. Cada letra do acrônimo representa uma propriedade
específica: Atomicidade, Consistência, Isolamento e Durabilidade.

• Atomicidade: todas as operações de uma transação são tratadas de forma


indivisível.
• Consistência: o banco de dados permanece em um estado consistente antes e
depois da transação.
• Isolamento: transações concorrentes não interferem umas nas outras.
• Durabilidade: as alterações realizadas em uma transação persistem no banco de
dados mesmo em caso de falha do sistema.

5.5. SGBD (Sistema de Gerenciamento de Banco de Dados)

Um Sistema de Gerenciamento de Banco de Dados (SGBD) é um software que permite


aos usuários definir, criar, manter e controlar o acesso a bancos de dados. Ele fornece uma
interface entre o usuário e o banco de dados, facilitando o armazenamento e a manipulação
de dados.

Considerações:

• Gerencia o armazenamento, a recuperação e a segurança dos dados.


• Oferece suporte a várias operações de banco de dados, como criação de tabelas,
consultas SQL, backup e recuperação.
• Exemplos de SGBDs incluem MySQL, PostgreSQL, SQL Server, Oracle, MongoDB,
entre outros.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

5.6. Normalização

A normalização é um processo utilizado para organizar os dados em um banco de dados


relacional de forma eficiente, reduzindo a redundância e mantendo a integridade dos dados.
Ela consiste em aplicar uma série de regras para dividir as tabelas em estruturas menores e
mais coesas.

Considerações:

• Evita a duplicação desnecessária de dados.


• Reduz a probabilidade de anomalias de atualização e inserção.
• Ajuda a manter a consistência dos dados ao longo do tempo.
• Existem várias formas normais (1NF, 2NF, 3NF, BCNF) que definem diferentes níveis
de normalização.

Formas Normais:

• Primeira Forma Normal (1NF):


• A primeira forma normal exige que cada célula em uma tabela contenha um
único valor, ou seja, cada valor deve ser atômico;
• Não deve haver repetição de grupos de colunas;
• Cada coluna deve ter um nome único.
• Segunda Forma Normal (2NF):
• A segunda forma normal exige que uma tabela esteja na primeira forma
normal e que todos os atributos não chave sejam totalmente dependentes, de
forma funcional, da chave primária;
• Em outras palavras, todos os atributos não chave devem depender da chave
primária inteira, e não apenas de uma parte dela.
• Terceira Forma Normal (3NF):
• A terceira forma normal exige que uma tabela esteja na segunda forma normal
e que não haja dependências transitivas entre os atributos não chave.
• Isso significa que os atributos não chave devem depender apenas da chave
primária, e não de outros atributos não chave.
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

• BCNF: Além dessas formas normais, existe também a Forma Normal de Boyce-Codd
(BCNF), que é uma forma mais rigorosa de normalização que se aplica em casos
mais específicos (uso de chaves candidatas).
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

6. Exemplos Práticos em SQL

6.1. Demonstração da criação de uma pequena base de dados utilizando SQL

Criação de uma base de dados para gerenciar informações sobre alunos de uma escola,
incluindo seus nomes, idades e notas.

Exemplo de Código SQL:

-- Criando a base de dados


CREATE DATABASE Escola;
-- Utilizando a base de dados criada
USE Escola;
-- Criando a tabela Alunos
CREATE TABLE Alunos (
ID INT PRIMARY KEY AUTO_INCREMENT,
Nome VARCHAR(100),
Idade INT,
Nota FLOAT
);

6.2. Realização de operações CRUD em uma tabela de exemplo

Agora que temos nossa tabela criada, vamos realizar operações CRUD (Create, Read,
Update, Delete) nela. Vamos inserir alguns alunos, ler suas informações, atualizar algumas
notas e excluir um aluno.

Exemplo de Código SQL:

-- Inserindo registros na tabela Alunos


INSERT INTO Alunos (Nome, Idade, Nota) VALUES ('João', 18, 8.5);
INSERT INTO Alunos (Nome, Idade, Nota) VALUES ('Maria', 17, 9.0);
INSERT INTO Alunos (Nome, Idade, Nota) VALUES ('Paulo', 16, 7.8);

-- Consultando todos os registros na tabela Alunos


SELECT * FROM Alunos;

-- Atualizando a nota do aluno Paulo


MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

UPDATE Alunos SET Nota = 8.0 WHERE Nome = 'Paulo';

-- Consultando novamente para verificar as alterações


SELECT * FROM Alunos;

-- Excluindo o aluno João da tabela Alunos


DELETE FROM Alunos WHERE Nome = 'João';

-- Consultando novamente para verificar a exclusão


SELECT * FROM Alunos;

6.3. Mostrando consultas simples utilizando SQL

Por fim, vamos fazer algumas consultas simples na nossa tabela Alunos para praticar a
escrita de consultas em SQL. Vamos selecionar alunos com notas maiores que 8.0 e ordená-
los por nome.

Exemplo de Código SQL:

-- Consultando alunos com notas maiores que 8.0


SELECT * FROM Alunos WHERE Nota > 8.0 ORDER BY Nome;
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

7. Desafios e Futuro dos Bancos de Dados

7.1. Big Data e Bancos de Dados Distribuídos

Com o aumento exponencial no volume, velocidade e variedade dos dados, surge o


desafio de gerenciar e processar grandes conjuntos de dados, conhecidos como Big Data.
Bancos de Dados Distribuídos são uma solução para lidar com esse desafio, distribuindo os
dados em vários servidores e permitindo o processamento paralelo.

Considerações:

• Bancos de Dados Distribuídos permitem escalabilidade horizontal para lidar com


grandes volumes de dados.
• Permitem processamento paralelo para consultas e análises mais rápidas.
• Exemplos de plataformas de Big Data incluem Hadoop, Spark e Cassandra.

7.2. Bancos de Dados em Nuvem

Com a crescente adoção da computação em nuvem, os Bancos de Dados em Nuvem


estão se tornando cada vez mais populares. Esses bancos de dados são hospedados em
infraestrutura de nuvem e oferecem escalabilidade, flexibilidade e facilidade de
gerenciamento.

Considerações:

• Bancos de Dados em Nuvem oferecem escalabilidade sob demanda, permitindo


aumentar ou diminuir os recursos conforme necessário.
• Eliminam a necessidade de gerenciar infraestrutura física, reduzindo custos e
complexidade.
• Exemplos de serviços de Bancos de Dados em Nuvem incluem Amazon RDS,
Microsoft Azure SQL Database e Google Cloud SQL.

7.3. Bancos de Dados para IoT (Internet das Coisas)

Com a proliferação de dispositivos conectados à Internet, como sensores e dispositivos


inteligentes, surge a necessidade de Bancos de Dados capazes de lidar com grandes volumes
MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO MÉDIA E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO
AMAZONAS
CAMPUS MANAUS CENTRO
PROJETO ARANOUÁ

de dados gerados pela IoT. Esses bancos de dados devem ser otimizados para armazenar,
processar e analisar dados de forma eficiente.

Considerações:

• Bancos de Dados para IoT devem ser capazes de lidar com a alta velocidade e
variedade dos dados gerados pelos dispositivos conectados.
• Devem suportar análises em tempo real para extrair insights valiosos dos dados.
• Exemplos de Bancos de Dados para IoT incluem InfluxDB, MongoDB e TimescaleDB.

7.4. Segurança e Privacidade em Bancos de Dados

A segurança e privacidade dos dados são preocupações críticas em qualquer sistema de


banco de dados. Com o aumento das ameaças cibernéticas, é essencial implementar
medidas robustas de segurança e proteção dos dados sensíveis armazenados nos bancos
de dados.

Considerações:

• É importante implementar autenticação e autorização para controlar o acesso aos


dados.
• Criptografia de dados em repouso e em trânsito ajuda a proteger os dados contra
acessos não autorizados.
• Auditoria e monitoramento contínuos são essenciais para detectar e responder a
atividades suspeitas.
• Em conformidade com regulamentos de privacidade de dados, como LGPD e GDPR,
é essencial para proteger a privacidade dos usuários.

Você também pode gostar