0% acharam este documento útil (0 voto)
3 visualizações41 páginas

Bancos de Dados: SQL e NoSQL Explicados

O documento aborda conceitos fundamentais sobre sistemas de informação, bancos de dados relacionais e não relacionais, incluindo SQL e suas operações básicas. Discute também a importância da gestão de dados, a qualidade das informações e a aplicação de Big Data em ambientes empresariais. Além disso, apresenta exemplos de bancos de dados não relacionais e serviços em nuvem, bem como técnicas de análise de dados e mineração.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações41 páginas

Bancos de Dados: SQL e NoSQL Explicados

O documento aborda conceitos fundamentais sobre sistemas de informação, bancos de dados relacionais e não relacionais, incluindo SQL e suas operações básicas. Discute também a importância da gestão de dados, a qualidade das informações e a aplicação de Big Data em ambientes empresariais. Além disso, apresenta exemplos de bancos de dados não relacionais e serviços em nuvem, bem como técnicas de análise de dados e mineração.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Sistemas de Informação

SQL (cont.) e Bancos de dados não


relacionais

Prof. Marcelo M. Gauy


[Link]@[Link]

Curso: Engenharia de Produção


Unesp Itapeva

25 de Abril de 2025
Gestão da Informação e de Banco de Dados

• Como um banco de dados relacional organiza os dados? Aula passada

• Quais são os princı́pios de um sistema de gestão de banco de dados?


Aula passada

• Quais são as principais ferramentas e tecnologias para extrair


informações de bancos de dados? Aula passada

• Qual o papel da polı́tica de informação e da gestão de dados na


organização dos recursos de dados empresariais?

• Por que a garantia da qualidade dos dados é tão importante para um


negócio?

Marcelo Matheus Gauy Unesp Itapeva 2/2


Bancos de dados não relacionais

Marcelo Matheus Gauy Unesp Itapeva 1 / 10


Banco de dados não relacional - NOSQL (Not-Only SQL)

• Bancos de dados não relacionais:


• Bancos de dados relacionais:
• Possuem uma
• Possuem uma
estrutura/modelo de dados
estrutura/modelo de dados
bem definida e rı́gida
flexı́vel

• Satisfazem as propriedades
• Priorizam a disponibilidade
ACID (Atomicidade,
dos dados, a tolerância à
Consistência, Isolamento,
partição e possuem apenas
Durabilidade)
consistência eventual

Marcelo Matheus Gauy Unesp Itapeva 2 / 10


NOSQL- Exemplos

• MongoDB: NOSQL baseado em documentos

• DynamoDB/Voldemort: NOSQL baseando em pares chave-valor

• Hbase: NOSQL baseado em colunas

• Neo4J: NOSQL baseado em grafos

Marcelo Matheus Gauy Unesp Itapeva 3 / 10


Serviços de bancos de dados em nuvem

• Diversas empresas como a Amazon, a Oracle e a Microsoft oferecem


serviços em nuvem de banco de dados

• Essas nuvens públicas são atraentes para que pequenas e médias


empresas façam a gestão de seus dados

• Para empresas de tamanho um pouco maior, pode fazer sentido investir


em uma nuvem privada (exemplo: Sabre Holdings).

Marcelo Matheus Gauy Unesp Itapeva 4 / 10


O uso de bancos de dados para melhorar a tomada de decisão

• BDs são usados para monitorar transações básicas, como pagamento a


fornecedores e funcionários, processamento de pedidos, entre outros

• Além disso, podem ser usados para auxiliar a tomada de decisão

• Recentemente, a proliferação de dados levou a criação de um termo


especı́fico para eles: Big Data

Marcelo Matheus Gauy Unesp Itapeva 5 / 10


Big Data

• Não existe uma definição precisa do que vem a ser Big Data, mas
essencialmente ele representa o que chamamos de 5Vs (volume,
velocidade, valor, variedade, veracidade)

• Volume se refere a quantidade de dados armazenados

• Velocidade à taxa em que novos dados são obtidos

• Variedade se refere as diferentes formas que os dados tomam

• Valor se refere ao valor (comercial, por exemplo) que os dados provém

• Veracidade se refere a qualidade e acurácia dos dados

Marcelo Matheus Gauy Unesp Itapeva 6 / 10


Big Data

Marcelo Matheus Gauy Unesp Itapeva 7 / 10


Data warehouses e data marts

• Um banco de dados clássico (relacional) muitas vezes não é suficiente


quando tratamos de big data e de problemas de inteligência
empresarial

• Necessitamos, muitas vezes, não apenas do último valor de um atributo


(BDR) mas de sua evolução histórica

• Para isso foram construı́dos armazéns de dados (data warehouse) ou


suas versões menores chamadas de data marts.

• A maior dificuldade na construção de um armazém é resolver as


diferenças de definição entre os diversos tipos de bancos de dados que
o alimentam

• Dados em um armazém estão sempre disponı́veis mas não podem ser


alterados

• As ferramentas de consulta e analı́ticas normalmente são padronizadas

Marcelo Matheus Gauy Unesp Itapeva 8 / 10


Processamento analı́tico on-line (Olap)

• Ferramenta de consulta/análise padronizada muito usada em armazéns

• Consiste em uma análise multidimensional dos dados, de forma que os


usuários possam agregar múltiplas dimensões

Marcelo Matheus Gauy Unesp Itapeva 9 / 10


Mineração de dados e Inteligência Artificial

• Quando tratamos de big data (grandes volumes de dados), outras


técnicas além do OLAP são comuns e, às vezes, necessárias

• As principais são técnicas de mineração de dados ou mesmo de


inteligência artificial

• Ao contrário do OLAP que é mais orientado para visualização de


informações, a mineração é orientado a descoberta de informações

• Os tipos de informação obtidos com a mineração são: associações,


sequências, classificações, aglomerações e prognósticos

Marcelo Matheus Gauy Unesp Itapeva 10 / 10


Panorama geral de SQL

Marcelo Matheus Gauy Unesp Itapeva 1 / 13


SQL

• Como realizar consultas em um banco de dados relacional (BDR)? Aula


passada

• Como inserir, remover e alterar dados em um BDR?

• Como inserir, remover e modificar tabelas em um BDR?

• Como construir/modelar um BDR? Próxima aula

Marcelo Matheus Gauy Unesp Itapeva 2 / 13


SQL - estrutura básica de consulta

• SQL tem uma estrutura básica de consulta

Marcelo Matheus Gauy Unesp Itapeva 3 / 13


SQL - operação de projeção

• A projeção tem a forma:


SELECT <atributos>
FROM <tabela>

• a lista de atributos vai corresponder a uma operação de projeção


naquela lista

• Exemplo: Dê os nomes e cidades dos consumidores

• Consulta SQL:
SELECT CustomerName, City
FROM Customers;

Marcelo Matheus Gauy Unesp Itapeva 4 / 13


SQL - operação de seleção

• A seleção tem a forma:


SELECT *
FROM <tabela>
WHERE condição

• A seleção será feita nas tuplas da tabela que satisfazem a condição


dada em WHERE

• Exemplo: Liste os consumidores que residem na Alemanha;

• Consulta SQL:
SELECT *
FROM Customers;
WHERE Country = ‘Germany’;

Marcelo Matheus Gauy Unesp Itapeva 5 / 13


SQL - produto cartesiano

• A forma:
SELECT *
FROM <tabelas>

• executa um produto cartesiano entre as tabelas listadas no FROM

• Exemplo: Faça um produto cartesiano das tabelas Shippers e Orders

• Consulta SQL:
SELECT *
FROM Shippers, Orders;

• Em muitos casos, a execução de um simples produto cartesiano gera


muitas ‘tuplas falsas’

• Uma tupla falsa é uma tupla que não corresponde a uma entidade (ou
evento) no mundo real

Marcelo Matheus Gauy Unesp Itapeva 6 / 13


SQL - junção

• A forma:
SELECT *
FROM Tabela1, Tabela2
WHERE [Link] = [Link]

• executa uma junção entre as tabelas Tabela1 e Tabela2 com a


condição de igualdade das chaves primária e estrangeira

• Exemplo: Dê os nomes dos distribuidores (shippers) e os IDs dos


consumidores para cada ordem

• Consulta SQL:
SELECT ShipperName, CustomerID
FROM Shippers, Orders
WHERE [Link] = [Link];

• Como combinamos as tabelas em chaves primárias e estrangeiras não


ocorreu a geração de tuplas falsas

Marcelo Matheus Gauy Unesp Itapeva 7 / 13


SQL - JOIN

• Uma sintaxe alternativa é:


SELECT *
FROM Tabela1
INNER JOIN Tabela2 ON [Link] = [Link]

• Exemplo: Dê os nomes dos distribuidores (shippers) e os IDs dos


consumidores para cada ordem

• Consulta SQL:
SELECT [Link], [Link]
FROM Shippers AS S
INNER JOIN Orders AS O ON [Link] = [Link];

Marcelo Matheus Gauy Unesp Itapeva 8 / 13


Comandos principais

• Data definition language (DDL): especificação do esquema do banco


de dados

• Data manipulation language (DML): inserção, remoção, alteração e


consultas a uma instância do BDR

Marcelo Matheus Gauy Unesp Itapeva 9 / 13


DDL - Comandos de criação

• CREATE DATABASE - cria um novo banco de dados

• CREATE SCHEMA - cria esquemas de aplicações - agrupa tabelas,


visões, domı́nios etc

• CREATE DOMAIN - define domı́nios de atributos

• CREATE TABLE - cria tabelas, definindo colunas/atributos e restrições de


domı́nio dos mesmos:
• BOOL - valor binário
• INTEGER - número inteiro até 231
• FLOAT - número real
• CHAR (n caracteres) - string de tamanho fixo
• VARCHAR (máximo n caracteres) - string de tamanho variável
• DATETIME - data no formato YYYY-MM-DD hh-mm-ss

Marcelo Matheus Gauy Unesp Itapeva 10 / 13


DDL - Comandos de alteração e remoção

• DROP DATABASE, DROP SCHEMA, DROP DOMAIN, DROP TABLE - remove


o respectivo objeto do banco de dados

• ALTER TABLE: pode incluir, alterar ou remover definições de colunas e


restrições de tabelas

Marcelo Matheus Gauy Unesp Itapeva 11 / 13


DDL - Comandos alternativos

• visões são tabelas temporárias que um usuário pode criar: CREATE VIEW,
DROP VIEW etc

• ı́ndices são usados para acelerar as consultas a bancos de dados. Não


são visı́veis aos usuários - CREATE INDEX, DROP INDEX

Marcelo Matheus Gauy Unesp Itapeva 12 / 13


DML - Comandos básicos

• INSERT INTO: insere uma ou mais tuplas em uma tabela

• UPDATE: modifica valores em uma tabela

• DELETE FROM: remove uma ou mais tuplas de uma tabela

• SELECT: comando básico de consulta

• UNION: união de duas tabelas

• EXCEPT: diferença de duas tabelas

• INTERSECT: intersecção de duas tabelas

Marcelo Matheus Gauy Unesp Itapeva 13 / 13


Como inserir, remover e alterar tabelas em
SQL

Marcelo Matheus Gauy Unesp Itapeva 1/8


Inserindo tabelas em SQL

• Abra o arquivo: [Link] e observe as cláusulas


de criação de tabelas

• A cláusula CREATE DATABASE restaurantedelivery cria o banco de dados

• A cláusula USE DATABASE restaurantedelivery torna esse banco de


dados o principal

• Criação de tabelas tem a estrutura:


CREATE TABLE table1 (
columnname datatype,
....,
PRIMARY KEY (columnname1, columnname2...)
FOREIGN KEY (columnname) REFERENCES tablename(columnname));

Marcelo Matheus Gauy Unesp Itapeva 2/8


Inserindo tabelas em SQL

• Tabela Cliente:

• CREATE TABLE Cliente (


cpf INT NOT NULL,
nome TEXT NOT NULL,
telefone1 VARCHAR(11) NULL,
telefone2 VARCHAR(11) NULL,
logradouro VARCHAR(45) NOT NULL,
numero VARCHAR(10) NOT NULL,
bairro VARCHAR(45) NULL,
cidade VARCHAR(45) NULL,
estado VARCHAR(2) NULL,
cep INT NULL,
PRIMARY KEY (cpf));

• Definimos as colunas/atributos e os domı́nios delas

• Também definimos cpf como chave primária

Marcelo Matheus Gauy Unesp Itapeva 3/8


Inserindo tabelas em SQL

• Tabela Entrega:

• CREATE TABLE Entrega (


id VARCHAR(45) NOT NULL,
FuncionarioId INT NOT NULL,
dataHoraSaida DATETIME NULL,
PRIMARY KEY (id),
FOREIGN KEY (FuncionarioId) REFERENCES Funcionario(id) ON DELETE NO
ACTION);
• Também definimos as chaves estrangeiras (FOREIGN KEY) quando
necessário

Marcelo Matheus Gauy Unesp Itapeva 4/8


Alterando tabelas em SQL

• Estrutura de adição:

• ALTER TABLE tablename ADD columnname datatype;

• Estrutura de remoção:

• ALTER TABLE tablename DROP COLUMN columnname;

• Renomeação:

• ALTER TABLE tablename RENAME COLUMN oldname TO newname;

• Modificar tipo:

• ALTER TABLE tablename MODIFY COLUMN columnname datatype;

Marcelo Matheus Gauy Unesp Itapeva 5/8


Exemplo

• ALTER TABLE Cliente


ADD Email char(10);

• ALTER TABLE Cliente


MODIFY COLUMN Email varchar(255);

• ALTER TABLE Cliente


RENAME COLUMN Email TO EmailPrincipal;

• ALTER TABLE Cliente


DROP COLUMN EmailPrincipal;

Marcelo Matheus Gauy Unesp Itapeva 6/8


Removendo tabelas em SQL

• Estrutura de remoção de tabelas:

• DROP TABLE tablename;

• Exemplo:

• DROP TABLE ItensPedido;

Marcelo Matheus Gauy Unesp Itapeva 7/8


Criando visões - tabelas virtuais/temporárias

• Em SQL, podemos criar tabelas virtuais ou temporárias que não alteram


o banco de dados diretamente. São chamadas de visões

• Visões tem a estrutura:


CREATE VIEW tableName AS
SELECT *
FROM table
WHERE condiçao;

• Podemos fazer uma consulta sobre a visão como se ela fosse uma
tabela do banco de dados:
SELECT * FROM tableName;

Marcelo Matheus Gauy Unesp Itapeva 8/8


Como inserir, remover e alterar dados em
SQL

Marcelo Matheus Gauy Unesp Itapeva 1/7


Inserindo dados em uma tabela

• Usamos o comando INSERT INTO:

• INSERT INTO tablename (column1, column2, column3, ...)


VALUES
(value1, value2, value3, ...),
(value1, value2, value3, ...),
...;

• Caso queiramos inserir valores em todas as colunas (valores devem estar


na ordem certa):

• INSERT INTO tablename


VALUES (value1, value2, value3, ...);

Marcelo Matheus Gauy Unesp Itapeva 2/7


Exemplo Cliente

• INSERT INTO Cliente (cpf, nome, telefone1, telefone2)


VALUES
(123456789, ’Jose Almeida’, 333333333, 11111111),
(987654321, ’Maria Aparecida’, 444444444, 22222222);

• Podemos inserir apenas alguns valores:

• INSERT INTO Cliente (cpf, nome)


VALUES (111222333, ’Manuel Almeida’);

Marcelo Matheus Gauy Unesp Itapeva 3/7


Alterando dados de uma tabela

• Usamos o comando UPDATE:

• UPDATE tableName
SET column1 = value1, column2 = value2, ...
WHERE condition;

• Caso queiramos alterar apenas um valor usamos a condição no WHERE


como uma condição de igualdade sobre a chave primária

• Condições no WHERE de outros tipos provavelmente afetarão vários


itens;

Marcelo Matheus Gauy Unesp Itapeva 4/7


Exemplo Cliente

• UPDATE Cliente
SET nome = ’Jose Augusto’, telefone1 = 123456789
WHERE cpf = 123456789;
• Outras condições no WHERE podem potencialmente afetar várias
entradas

• UPDATE Cliente
SET nome = ’Maria Aparecida de Jesus’, telefone1 = 987654321
WHERE telefone2 = 22222222;

Marcelo Matheus Gauy Unesp Itapeva 5/7


Removendo dados de uma tabela

• Usamos o comando DELETE FROM:

• DELETE FROM tableName


WHERE condition;

• Note que se você esquecer a condição do WHERE, todas as entradas


da tabela serão deletadas

Marcelo Matheus Gauy Unesp Itapeva 6/7


Exemplo Cliente

• DELETE FROM Cliente


WHERE cpf = 111222333;

• Podemos deletar todas as entradas

• DELETE FROM Cliente;

Marcelo Matheus Gauy Unesp Itapeva 7/7


Exercı́cios

Marcelo Matheus Gauy Unesp Itapeva 1/1

Você também pode gostar