Bancos de dados

Introdução à Engenharia de Dados

Vincent Vankrunkelsven

Data Engineer, DataCamp

O que são bancos de dados?

 

Image of a database

Uma coleção geralmente grande de dados, organizada para busca e recuperação rápidas.

 

  • Armazena dados
  • Organiza dados
  • Recupera/pesquisa dados via DBMS
Introdução à Engenharia de Dados

Bancos de dados e armazenamento em arquivos

Bancos de dados

 

Image of a database

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

Sistemas de arquivos

 

Image of file

  • Menos organizados
  • Simples, com menos funcionalidades extras
Introdução à Engenharia de Dados

Dados estruturados e não estruturados

Estruturados: esquema do banco de dados

  • Banco relacional

 

Semiestruturados

  • JSON

 

Não estruturados: sem esquema, mais parecidos com arquivos

  • Vídeos, fotos

Image of a database

 

{ "key": "value"}

 

Image of file

Introdução à Engenharia de Dados

SQL e NoSQL

SQL

  • Tabelas
  • Esquema do banco
  • Bancos relacionais

 

MySQL Image

PostgreSQL Image

NoSQL

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

 

Redis/MongoDB Image

Introdução à Engenharia de Dados

SQL: O esquema do banco de dados

-- 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")
);

Database Schema for Customer and 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 consiste em uma ou mais tabelas de fatos que referenciam qualquer número de tabelas de dimensões.

Star Schema Diagram of Customers and Orders

  • Fatos: coisas que aconteceram (ex.: Pedidos de produtos)
  • Dimensões: informações sobre o mundo (ex.: Informações de clientes)
1 https://en.wikipedia.org/wiki/Star_schema
Introdução à Engenharia de Dados

Vamos praticar!

Introdução à Engenharia de Dados

Preparing Video For Download...