Baze de date

Introducere în Data Engineering

Vincent Vankrunkelsven

Data Engineer, DataCamp

Ce sunt bazele de date?

 

Imagine a unei baze de date

De obicei, o colecție mare de date organizată special pentru căutare și recuperare rapidă.

 

  • Stochează date
  • Organizează date
  • Recuperare/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, cu funcționalități suplimentare reduse
Introducere în Data Engineering

Date structurate și nestructurate

Structurate: schemă de bază de date

  • Bază de date relațională

 

Semi-structurate

  • JSON

 

Nestructurate: fără schemă, mai degrabă precum fișierele

  • Videoclipuri, fotografii

Imagine a unei baze de date

 

{ "key": "value"}

 

Imagine a unui fișier

Introducere în Data Engineering

SQL și NoSQL

SQL

  • Tabele
  • Schemă de bază de date
  • Baze de date relaționale

 

Imagine MySQL

Imagine PostgreSQL

NoSQL

  • Baze de date non-relaționale
  • Structurate sau nestructurate
  • Stocare cheie-valoare (ex. caching)
  • Baze de date 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 Customer și 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
Introducere în Data Engineering

SQL: schema stea

Schema stea constă din unul sau mai multe tabele de fapte care fac referire la orice număr de tabele de dimensiuni.

Diagrama schemei stea pentru clienți și comenzi

  • Fapte: lucruri care s-au întâmplat (ex. comenzi de produse)
  • Dimensiuni: informații despre lume (ex. informații despre clienți)
1 https://en.wikipedia.org/wiki/Star_schema
Introducere în Data Engineering

Hai să exersăm!

Introducere în Data Engineering

Preparing Video For Download...