Aller au contenu principal

PLB CONSULTANT : 01. SQL : les fondamentaux

Organisme

PLB CONSULTANT
3-5 RUE MAURICE RAVEL
92300 LEVALLOIS PERRET
Voir toutes ses formationsAutres organismes proposant cette formation

Durée

21 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

Travaux pratiques. QCM en cours et en fin de formation. Auto-évaluation en début et en fin de formation.

Prix

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
771.75€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
3087€ HT / groupe
4 stagiaires minimum

Public

Développeurs, architectes, administrateurs de bases de données, exploitants intervenant sur un serveur de bases de données 

Pré-requis

Maîtriser l'outil informatique et avoir des notions de gestion des données dans l'entreprise

Objectifs pédagogiques

Comprendre les principaux concepts des SGDBR (Système de Gestion des Bases de -Données Relationnelles) et d'algèbre relationnelle utilisés dans le langage SQL

Prendre en main un environnement SQL

Appréhender l'écriture des requêtes SQL pour extraire des données et mettre à jour la base

Manipuler les données dans une base avec SQL

Savoir extraire les informations de plusieurs tables

Assimiler les fonctions standards du langage SQL.

Programme détaillé

Jour 1

Concepts et fonctionnement des SGBDR

Différences entre données structurées et non structurés

Besoin d'un formalisme conceptuel pour représenter les données (Modèle Conceptuel des Données, MCD)

Liens entre algèbre relationnelle, MCD, SGBDR

Passage au format logique des données dans une base relationnelle (table, colonne, ligne)

Liens entre les données et contraintes d’intégrité (clefs primaire et étrangères)

Problématiques liées à l’implémentation physique des données

Les solutions proposées par les SGBDR

Un petit mot sur les bases NoSQL par rapport à un SGBDR

Aperçu des possibilités du langage SQL (select, insert, update, delete)

Standardisation du SQL par l’ANSI

Les dialectes

Utilisateurs et droits (GRANT, REVOKE)

Notions de transactions (ACID)

Accès concurrents et verrous (commit, rollback)

L’objet de base dans un SGBDR : la table

Pourquoi doit-on typer les données d’une table (varchar, number, date…) ?

Notion de schéma par utilisateur

Ateliers

Analyse d’un fichier Excel représentant une base de données relationnelles et partagé en réseau entre plusieurs utilisateurs afin de montrer ses limites et donner des exemples concrets des apports d’un SGBDR.

Visite guidée d’une base SQL en production afin de prendre en main l’activité d’un SGBDR au quotidien et se familiariser avec le vocabulaire (bases, tables, utilisateurs, connexion, requêtes SQL, scripts, etc.).

Conception guidée d’une petite base de données afin de prendre en main la structure relationnelle entre les données, les contraintes d’intégrité (clef primaire, clef secondaire) qui en découlent et faire nos premiers pas en SQL

Insertion de données dans une table non visualisée par les autres utilisateurs (transaction). Variantes autour des commits et rollbacks pour bien comprendre le rôle d’un SGBDR dans la gestion automatique ou explicite des verrous dans les transactions.

L'environnement de travail pour le SQL

Les IDE (Environnement de Développement Intégré) du marché

Les grands éditeurs du marché (Oracle, DB2, SQL Server, PostgreSQL, MySQL, etc.)

Fonctionnalités des IDE pour un développeur SQL

Oracle et SQL Developer

SQL Server et DBA Management Studio

MySQL et SQL Workbench ou phpMyAdmin

PostgreSQL et DBeaver

Autres outils (DbVisualizer, Devart…)

Paramétrer sa session de travail (formats d’affichage)

Import/Export de données

Savoir exporter les données de sa base dans un fichier texte

Savoir importer les données d'un fichier texte, CSV, XML dans la base

Découvrir comment présenter les résultats des requêtes SQL dans un fichier Excel

Ateliers

Prise en main de l’IDE choisi par le participant (par défaut nous utilisons SQL Developer) afin de se connecter à une base de données, parcourir les éléments fondamentaux des menus et exécuter nos premières requêtes SQL en mode interactif et via des scripts SQL.

Exécution du script SQL conçu dans l’atelier précédent permettant de générer la base que nous allons utiliser durant la formation (création des tables et insertion des données. Nous revenons plus tard sur ce script afin de détailler la syntaxe SQL (séquence, type de données, create table, insert, contraintes).

Le dernier jour de la formation on réalise un export de sa base de données qui est importée par un autre participant selon 2 formats (schéma + données et schéma seul).

Savoir écrire des requêtes SQL

Les requêtes SQL de base

Bien comprendre le schéma relationnel sous-jacent

Vue générale d’une requête SQL (select, from, where)

Exemple de requête d’extraction simple sur une seule table

Les clauses de filtrage (where)

Trier les résultats (ORDER BY)

Conditions et opérateurs de comparaison

Les mots clefs IN, BETWENN, LIKE, IS NULL

Récupérer les données de plusieurs tables

Comprendre le produit cartésien pour comprendre la jointure

Récupération de données à partir de plusieurs tables :

Les jointures internes (INNER JOIN)

Les corrélations

Les jointures Himself

Présentation des jointures externes (OUTER JOIN)

Synthèse

Comment appréhender l’écriture d’une requête SQL ?

Par quoi commencer (select ? from ? where ?)

Modélisation des jointures pour clarifier une requête (arbre)

Ateliers

Exécution de requêtes d’extraction sur une seule table pour prendre en main la syntaxe de baseVariantes sur le filtrage et le tri (where, between, order by, etc.)

« Dessin » des combinaisons du produit cartésien entre 2 tables pour bien ancrer pédagogiquement le concept de jointure dans les SGBDR permettant l’extraction des données depuis plusieurs tables.

Requêtes classiques autour des jointures (caractéristiques des articles d’une commande, liste d’ouvrages publié par un éditeur, détails des missions assurées par une personne, etc.)

 

Quizz de synthèse sur la journée

 

Jour 2

Manipulation des données de la base

La genèse des données

Création de tables en SQL

Les types de données

Modification du schéma d’une table (alter table)

La suppression d'une table (drop table)

Manipulations de séquences

La mise à jour des données

L'insertion de données (insert)

La mise à jour (update)

La suppression d'informations (delete)

Ne pas confondre NULL, 0, et chaîne vide (˜˜)

Ateliers

Reprise détaillée du script de création de l’environnement (tables, types de données, séquences, insert…).

Ce script présente le gros intérêt de pouvoir régénérer son environnement à tout instant afin de ne pas perdre de temps suite à une mauvaise manipulation.

Mise à jour des données (update, delete) selon différents critères et en intégrant la casse (problèmes de différences entre minuscule et majuscule dans un nom)

Copie d’une table dans une autre selon critères (insert into select)

Exécution de requêtes utiles au quotidien dans le dictionnaire des données (description d’une table, visualisation des contraintes…)

Quizz autour des erreurs classiques sur la mise à jour des données

Les fonctions en SQL

Les classiques

Présentation des grandes familles de fonctions SQL

Où peut-on utiliser les fonctions SQL dans une requête ?

Moyenne des valeurs (avg)

Nombre d'enregistrements retournés (count)

Minimum et maximum (min, max)

Somme des valeurs (sum)

Les fonctions sur les chaînes de caractères

La longueur d'une chaîne (length)

Les minuscules et majuscules (lower, upper)

L'opérateur LIKE et le symbole %

Extraction d'une partie de la chaîne (substr)

Gérer les valeurs null (Coalesce, IsNull)

Les fonctions temporelles

Savoir manipuler une date (current_date)

Les variantes (premier jour du mois, dernier jour, etc.)

L’heure courante (current_time)

Retourner la date et l’heure (current_timestamp)

Les conversions date/nombre/chaîne

Bien comprendre les formats visibles (AAA-MM-JJ HH :MM :SS, etc.)

Les pièges classiques avec les dates

Conversion d'une date en caractères

Conversion d'une chaîne de caractères en date

Portabilité des fonctions SQL d’un SGBD à un autre

Exemples de fonctions spécifiques à SQL Server, MySQL, Oracle, etc.

Les sites des références pour s’assurer de la portabilité de nos requêtes SQL

Ateliers

Chaque fonction de ce chapitre fait l’objet d’un exemple et d’un exercice que nous consolidons ensuite dans des requêtes plus globales (fonctions, opérations arithmétiques, etc.) qui affichent des statistiques fines sur notre base (ventes d’articles par secteur sur certaines périodes selon certains critères).

Manipulations sur les dates afin de comprendre comment les données sont stockées lorsque toutes les informations ne sont pas renseignées lors d’un insert, update, etc. et les solutions aux éventuels problèmes rencontrés lors des extractions (select … where date =’….’).

 

Quizz reprenant les points clefs du chapitre. Plusieurs requêtes sont proposées pour un même énoncé il faut retenir l’unique bon résultat. Ce quizz fait également office de synthèse sur l’essentiel à retenir sur les fonctions.

 

Jour 3

Requêtes ensemblistes en SQL

Regroupement et condition (group by, having)

Le cumul de résultats (union)

Le recoupement de résultats (intersect, minus)

Ateliers

Utilisation des requêtes ensemblistes dans une approche progressive. Seules d’abord puis « mélangées » avec les concepts vus précédemment (group by, fonctions, jointure, etc.) afin de disposer d’une vue globale et synthétique des possibilités du SQL. Exemples : moyenne des ventes par département à partir d’un nombre significatif de ventes minimum.

Requêtes complexes en SQL

Bien comprendre les sous-interrogations dans le where

Bien comprendre les sous-requêtes synchronisées (where exists)

Variantes sur la jointure (auto jointure, jointure complexe)

Retour sur l’arbre de requêtes SQL pour les requêtes complexes

Principes des vues (view)

Quand utiliser les vues ?

Notion de performances des requêtes

Principes d’un index

Ateliers

Jointure sur 3 tables et plus, modélisation de la requête sous forme d’arbre.

Création et utilisation de vues dans les requêtes pour comprendre comment elles peuvent aider à la lisibilité des traitements (au-delà l’aspect sécurité).

Dessin des arbres de requêtes correspondants

Le SQL dans les applications et les outils

Utilisation du SQL dans les applications ou sites Web

Limites du SQL « seul » et apports des procédures stockées

Liens entre Business Intelligence (BI) et SQL

SQL et les outils d’aide à la décision (Power BI, Tableau, Webi)

Création et stockage de requêtes SQL dans les ETL (Extract-Transform-Load)

Ateliers

Exemple de site web utilisant des données issues d’une requête SQL (simple page PHP par exemple).

Exemple de requête SQL dans un ETL pour extraire les données d’une base à des fins de chargement dans une autre.

Exemple de requêtes SQL utilisées dans une présentation graphique d’aide à la décision avec Power BI

 

Quiz final d’évaluation des acquis

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.