Bases de données

Introduction à l'ingénierie des données

Vincent Vankrunkelsven

Data Engineer, DataCamp

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

 

Image d'une base de données

Une collection généralement volumineuse de données, organisée pour une recherche et une extraction rapides.

 

  • Contient des données
  • Organise les données
  • Recherche/extraction via un SGBD
Introduction à l'ingénierie des données

Bases de données et stockage de fichiers

Bases de données

 

Image d'une base de données

  • Très structurées
  • Fonctionnalités : recherche, réplication, …

Systèmes de fichiers

 

Image d'un fichier

  • Moins structurés
  • Simples, peu de fonctionnalités ajoutées
Introduction à l'ingénierie des données

Données structurées et non structurées

Structurées : schéma de base de données

  • Base de données 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 à l'ingénierie des données

SQL et NoSQL

SQL

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

 

Image MySQL

Image PostgreSQL

NoSQL

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

 

Image Redis/MongoDB

Introduction à l'ingénierie des données

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 à l'ingénierie des données

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 de schéma en étoile des clients et des commandes

  • Faits : événements survenus (p. ex. commandes de produits)
  • Dimensions : information contextuelle (p. ex. renseignements sur le client)
1 https://en.wikipedia.org/wiki/Star_schema
Introduction à l'ingénierie des données

Passons à la pratique !

Introduction à l'ingénierie des données

Preparing Video For Download...