Bases de données

Introduction au data engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Qu’est-ce qu’une base de données ?

 

Image d’une base de données

Ensemble généralement volumineux de données, organisé pour une recherche et une récupération rapides.

 

  • Stocke les données
  • Organise les données
  • Récupération/recherche via un SGBD
Introduction au data engineering

Bases de données et stockage de fichiers

Bases de données

 

Image d’une base de données

  • Très organisées
  • Fonctionnalités comme recherche, réplication, …

Systèmes de fichiers

 

Image d’un fichier

  • Moins organisés
  • Simples, peu de fonctionnalités ajoutées
Introduction au data engineering

Données structurées et non structurées

Structurées : schéma de base

  • Base relationnelle

 

Semi-structurées

  • JSON

 

Non structurées : sans schéma, proches des fichiers

  • Vidéos, photos

Image d’une base de données

 

{ "key": "value"}

 

Image d’un fichier

Introduction au data engineering

SQL et NoSQL

SQL

  • Tables
  • Schéma de base de données
  • Bases relationnelles

 

Image MySQL

Image PostgreSQL

NoSQL

  • Bases non relationnelles
  • Structurées ou non structurées
  • Magasins clé-valeur (ex. cache)
  • Base de documents (ex. objets JSON)

 

Image Redis/MongoDB

Introduction au data engineering

SQL : Le schéma de base de données

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

Schéma de base de données pour Customer et 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
Introduction au data engineering

SQL : Schéma en étoile

Le schéma en étoile comporte une ou plusieurs tables de faits référant un nombre quelconque de tables de dimensions.

Diagramme en étoile de Customers et Orders

  • Faits : événements survenus (ex. commandes produits)
  • Dimensions : informations de contexte (ex. infos client)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Introduction au data engineering

Passons à la pratique !

Introduction au data engineering

Preparing Video For Download...