Bancos de dados

Introdução à Engenharia de Dados

Vincent Vankrunkelsven

Data Engineer @ DataCamp

O que são bancos de dados?

 

Imagem de um banco de dados

Geralmente, um grande conjunto de dados organizado para busca e recuperação rápidas.

 

  • Armazena dados
  • Organiza dados
  • Consulta/Busca via SGBD
Introdução à Engenharia de Dados

Bancos de dados vs. arquivos

Bancos de dados

 

Imagem de um banco de dados

  • Bem organizados
  • Funcionalidades como busca, replicação, ...

Sistemas de arquivos

 

Imagem de arquivo

  • Menos organizados
  • Simples, poucos recursos extras
Introdução à Engenharia de Dados

Dados estruturados e não estruturados

Estruturados: esquema de banco

  • Banco relacional

 

Semiestruturados

  • JSON

 

Não estruturados: sem esquema, como arquivos

  • Vídeos, fotos

Imagem de um banco de dados

 

{ "key": "value"}

 

Imagem de arquivo

Introdução à Engenharia de Dados

SQL e NoSQL

SQL

  • Tabelas
  • Esquema do banco
  • Bancos relacionais

 

Imagem do MySQL

Imagem do PostgreSQL

NoSQL

  • Bancos não relacionais
  • Estruturados ou não estruturados
  • Armazenamento chave-valor (ex.: cache)
  • Banco de documentos (ex.: objetos JSON)

 

Imagem do Redis/MongoDB

Introdução à Engenharia de Dados

SQL: O esquema do banco

-- Create Customer Table 
CREATE TABLE "Customer" (
  "id" SERIAL NOT NULL,
  "first_name" varchar,
  "last_name" varchar,
  PRIMARY KEY ("id")
);

-- Create Order Table 
CREATE TABLE "Order" (
  "id" SERIAL NOT NULL,
  "customer_id" integer REFERENCES "Customer",
  "product_name" varchar,
  "product_price" integer,
  PRIMARY KEY ("id")
);

Esquema de banco para Customer e Order

-- Join both tables on foreign key
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Introdução à Engenharia de Dados

SQL: Esquema estrela

O esquema estrela tem uma ou mais tabelas de fatos que referenciam várias tabelas de dimensão.

Diagrama de esquema estrela de Customers e Orders

  • Fatos: eventos ocorridos (ex.: pedidos)
  • Dimensões: contexto/atributos (ex.: dados do cliente)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Introdução à Engenharia de Dados

Vamos praticar!

Introdução à Engenharia de Dados

Preparing Video For Download...