Baze de date

Introducere în Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Ce sunt bazele de date?

 

Imagine a unei baze de date

O colecție, de obicei vastă, de date organizate special pentru căutare și regăsire rapidă.

 

  • Stochează date
  • Organizează date
  • Regăsire/Căutare date prin DBMS
Introducere în Data Engineering

Baze de date și stocare de fișiere

Baze de date

 

Imagine a unei baze de date

  • Foarte organizate
  • Funcționalități precum căutare, replicare, ...

Sisteme de fișiere

 

Imagine a unui fișier

  • Mai puțin organizate
  • Simple, funcționalități limitate
Introducere în Data Engineering

Date structurate și nestructurate

Structurate: schemă de bază de date

  • Baze de date relaționale

 

Semi-structurate

  • JSON

 

Nestructurate: fără schemă, mai aproape de fișiere

  • Videoclipuri, fotografii

Imagine a unei baze de date

 

{ "key": "value"}

 

Imagine a unui fișier

Introducere în Data Engineering

SQL și NoSQL

SQL

  • Tabele
  • Schema bazei de date
  • Baze de date relaționale

 

Imagine MySQL

Imagine PostgreSQL

NoSQL

  • Baze de date nerelaționale
  • Structurate sau nestructurate
  • Stocare cheie-valoare (ex. caching)
  • DB de documente (ex. obiecte JSON)

 

Imagine Redis/MongoDB

Introducere în Data Engineering

SQL: Schema bazei de date

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

Schema bazei de date pentru Client și Comandă

-- 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
Introducere în Data Engineering

SQL: Schema stea

Schema stea constă din unul sau mai multe tabele de fapte care referențiază un număr arbitrar de tabele de dimensiuni.

Diagrama schemei stea pentru Clienți și Comenzi

  • Fapte: evenimente (ex. Comenzi de produse)
  • Dimensiuni: informații contextuale (ex. Date despre clienți)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Introducere în Data Engineering

Să exersăm!

Introducere în Data Engineering

Preparing Video For Download...