loader image

Gate Training

logo-png
Bases de données

Formation Maîtriser le SQL

5 Jours

Description de la formation Maîtriser SQL

Le langage SQL (Structured Query Language) est incontournable dans le paysage informatique car c’est le langage de référence pour interroger les bases de données. Il permet également de mettre à jour les données de la base et sa standardisation permet de communiquer avec tous les système de gestion de base de données (SGBD) tels qu’Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc.

Le succès du SQL provient principalement de sa simplicité et de sa syntaxe presque géométrique autour de données structurées en lignes et en colonnes. La structure de programmation « select …from … where … » devient cependant moins intuitive à utiliser dès lors que les requêtes deviennent plus complexes avec plusieurs tables et des conditions qui se cumulent.

Au cours de cette formation Maîtriser SQL, nous vous expliquerons la structure générale d’un SGBDR (système de gestion de bases de données relationnelles) et la philosophie du langage SQL afin d’apprendre à écrire des requêtes, simples ou complexes, naturellement et avec simplicité. Cette formation SQL vous apprendra également à lire et écrire des requêtes SQL plus complexes en disposant d’une méthodologie solide et étayée.

Objectifs

Objectifs pédagogiques :

  • Découvrir et prendre en main votre environnement SQL
  • Comprendre le schéma d’une base et des tables
  • S’initier à l’écriture des requêtes SQL pour extraire des données
  • Savoir écrire des requêtes SQL pour mettre à jour la base
  • Comment extraire les informations de plusieurs tables
  • Assimiler les fonctions standards du langage SQL
  • Maîtriser les jointures et leurs variantes
  • Maîtriser les requêtes ensemblistes
  • Écrire des requêtes SQL complexes (jointures externes, select imbriqués corrélés, etc.)
  • Savoir modéliser une requête complexe à l’aide d’un arbre
  • Transcrire cet arbre en requête SQL

À qui s’adresse cette formation ?

Public :

Cette formation Maîtriser SQL s’adresse aux développeurs, aux exploitants intervenant sur un serveur de bases de données ainsi qu’aux futurs administrateurs de bases de données souhaitant apprendre le SQL. Les utilisateurs BI ainsi que les chefs peuvent aussi être concernés.

 

Prérequis :

Ce cours Maîtriser SQL ne nécessite aucun pré-requis particulier.

 

Contenu du cours Maîtriser SQL

Schéma général d’une base de données

Principes des tables et des relations entre les données
Le rôle des contraintes d’intégrité
Les clefs primaires et étrangères
Des exemples de violations de contraintes
Les domaines d’utilisation du SQL

L’environnement de travail pour le SQL

Différents produits selon les acteurs pour un même résultat

Les nécessités d’un environnement spécifique pour dialoguer avec la base
L’exemple d’Oracle Developper
DBA Management Studio pour SQL Server
PHPMyAdmin pour MySQL
L’outil graphique de PostgreSQL (pgAdmin3)
Autres outils selon le SGBD

Les utilisateurs

Comprendre le principe de connexion à la base
La notion de schéma
Sensibilisation aux accès concurrents et aux transactions

D’où viennent les données ?

La genèse des données

Création de tables en SQL
Savoir pourquoi il faut typer les données d’une table
Apprendre les différents types de bases (entier, réel, chaîne, date)
Comment et pourquoi modifier la définition d’une table
La suppression d’une table
Notions sur les vues, les séquences, les index et les synonymes

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 (˜˜)

Requêtes fondamentales en SQL

Découvrir la structure d’une requête SQL

La structure select … from … where …
Restrictions et conditions
Trier les données (order by)
Eliminer les doublons (uniq)
Croiser les informations (jointure)

Regroupement et premières fonctions

Présentation des grandes familles de fonctions SQL
Philosophie d’utilisation des fonctions
Moyenne des valeurs (avg)
Nombre d’enregistrements retournés (count)
Minimum et maximum (min, max)
Somme des valeurs (sum)

Fonctions avancées en SQL

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)

Les fonctions sur les dates

Qu’est-ce que le format date ?
Savoir manipuler une date (last_day, next_day, months_between, etc. )

La conversion date/chaîne

Les pièges classiques avec les dates
Conversion d’une date en caractères (to_char)
Conversion d’une chaîne de caractères en date (to_date)

Requêtes ensemblistes en SQL

Regroupement et condition (group by, having)
Le cumul de résultats (union)
Le recoupement de résultats (intersect, minus)

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)

Import / Export de données

Savoir récupérer les données 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

Limites du SQL, apports d’autres solutions

Philosophie des procédures stockées
Place du SQL dans l’offre Business Intelligence (BI)
Quelques exemples : BO, Oracle Discoverer…

Maîtriser les jointures

Rappels sur les liens entre les données dans un SGBDR
La jointure « classique » (INNER JOIN)
Différence avec la jointure « naturelle » (NATURAL JOIN)
Jointure avec « beaucoup » de tables
La jointure croisée ou produit cartésien (CROSS JOIN)
Quand a-t-on besoin de faire une jointure externe (RIGHT/LEFT JOIN) ?
Condition vraie dans au moins une des tables (FULL JOIN)
Exemples d’auto jointure (SELF JOIN)

Expressions régulières et SQL

Limites de l’opérateur LIKE
Philosophie des expressions régulières
Étendre les méta-caractères (^,. ,*,[,  …)
Syntaxe générale des fonctions
Fonction : regexp_like.
Fonction : regexp_substr.
Fonction : regexp_instr.
Fonction : regexp_replace.
Fonction : regexp_count.

Opérateurs ensemblistes

Règles à respecter pour assembler des requêtes :
–   Nombre d’expressions projetées
–   Types des expressions projetées
Les opérateurs UNION, UNION ALL, INTERSECT et MINUS
Trier les informations

Compléments sur le regroupement de données

Rappels sur GROUP BY et HAVING
Constitution de sous-groupes avec ROLLUP et CUBE
Application partielle et totale ROLLUP et CUBE
Identification de lignes générées par ROLLUP et CUBE avec les fonctions GROUPING et GROUPING_ID
Gestion des NULLs
Identification de groupes dupliqués
Tableaux croisés avec PIVOT et UNPIVOT

Manipulation avancée en SQL

Insertion multitables inconditionnelles, inconditionnelles avec “rotation”, conditionnelles, conditionnelles exclusives.
Insertion ou modification avec la commande MERGE
Utilisation de sous-requêtes corrélées ou interrogation sur tuples
Manipulation et consultation avec la clause RETURNING.

Aide à l’écriture de requêtes SQL complexes

Principes d’un arbre de requête (algébrique)
Vocabulaire (projection, restriction, …)
Formalisme associé
Exemples de requêtes complexes modélisées progressivement par un arbre
Passage au SQL correspondant

Travaux Pratiques

Stage très pratique avec beaucoup d’exercices de difficulté variable permettant à chacun d’avancer à son rythme.
Remarque : l’ensemble des travaux pratiques est réalisable à distance si vous optez pour la formule cours à distance.

Réf:

004

Tarif:

600 Dt

Niveau:

Fondamental

Classe à distance:

Possible

Pas de sessions disponibles