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 grande collection de données, généralement, organisée pour une recherche et une récupération rapides.

 

  • Stocke des données
  • Organise les données
  • Récupération/recherche 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
  • Fonctions comme recherche, réplication, …

Systèmes de fichiers

 

Image d'un fichier

  • Moins organisés
  • Simples, peu de fonctions 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 en étoile des clients et des commandes

  • Faits : événements survenus (p. ex. commandes de produits)
  • Dimensions : informations contextuelles (p. ex. renseignements sur les clients)
1 Wikipedia: 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...