
Créé en 1974, le SQL (pour Structured Query Language) est un langage informatique normalisé servant à exploiter des bases de données relationnelles. Ce langage informatique est notamment très utilisé par les développeurs web pour communiquer avec les données d’un site web.
Rapidement devenu incontournable dans le paysage informatique en tant que langage de référence pour interroger les BDD, il permet notamment de mettre à jour les données d'une base et sa standardisation permet de communiquer avec tous les systèmes de gestion de base de données (SGBD) tels qu'Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc.
La partie langage de manipulation des données permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. Outre cet spécificité, la partie langage de définition permet de créer et de modifier l'organisation des données dans la base, et la partie langage de contrôle de transaction permet de commencer et de terminer des transactions. Enfin la partie langage de contrôle des données permet d'autoriser ou d'interdire l'accès à certaines données pour certaines personnes.
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.
Description de la formation MySQL
Le SGBD MySQL dispose, depuis la version 5, de la majorité des fonctionnalités et des mécanismes disponibles chez ses concurrents commerciaux ou libres (Oracle, DB2, PostgreSQL…).
Objectifs
Cette formation vous permettra de savoir installer MySQL et d’en assurer l’essentiel de la gestion quotidienne. Ce cours présentera également les aspects développement de MySQL et notamment les extensions procédurales (procédures stockées, curseurs, triggers…) apparues avec la version 5.
À qui s’adresse cette formation ?
Public :
Développeurs et administrateurs de bases de données.
Prérequis :
La formation peut se dérouler indifféremment en environnement Unix, Linux ou Windows, des connaissances de base sur l’un ou l’autre de ces systèmes sont suffisantes pour suivre la formation.
Contenu du cours MySQL
Introduction, installation et prise en main
Versions, panorama des fonctionnalités et des outils
Ressources et documentation
Procédure d’installation
Paramétrages de post-installation et premiers tests
L’outil client ligne de commandes mysql
Présentation de l’outil graphique MySQL Query Browser
Travaux pratiques
Exemple complet d’installation sur un système Linux
Modèle relationnel, conception et création d’une base MySQL
Éléments de conception d’un schéma de base de données
Contraintes d’intégrité
Types de données MySQL (numériques, chaînes, dates, types spécifiques…)
Fonctions intégrées de MySQL
Types de tables (MyISAM, MEMORY, MERGE, InnoDB…)
Création de bases et de tables
Gestion des index
La base INFORMATION_SCHEMA
Travaux pratiques
Conception et création d’une base “ecole” en tables MyISAM
Visualisation du schéma des tables
Insertion de données, vérification des contraintes
Pratique du SQL avec MySQL
Sélections simples, comparaisons, tris
Sélections multitables, différents types de jointures
Requêtes imbriquées
Requêtes préparées
Recherches full-text
Modifications (insertions, mises à jours, suppressions)
Gestion des vues
Travaux pratiques
Sélections simples
Sélections multiples, jointures internes et externes, requêtes imbriquées
Modifications et suppressions de données
Création et utilisation des vues
Tables transactionnelles InnoDB
Notion de transaction, niveaux d’isolation
Structure physique des tables
Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK)
Travaux pratiques
Création d’une base “ecolebis” en tables InnoDB
Mise en oeuvre de transactions
SQL Procédural
Procédures stockées et fonctions
Définition des procédures, appels, instructions de contrôle, curseurs
Déclencheurs (triggers): création et utilisation
Gestion des erreurs
Travaux pratiques
Écriture de procédures stockées
Récupérations de résultats à l’aide de curseurs
Création et utilisation de triggers
Connexions, droits d’accès, sécurité
Principe d’authentification et de vérification des droits
Gestion des utilisateurs et de leurs privilèges
Sécurisation des procédures stockées
Travaux pratiques
Création de différents types de comptes MySQL
Gestion des privilèges et des mots de passe
Maintenance des données
Importation et exportation de données
Les différents journaux de MySQL (erreurs, requêtes, requêtes lentes, journal binaire)
Types et stratégies de sauvegardes
La commande mysqldump
Travaux pratiques
Exportation de données vers des fichiers texte, réimportation des données
Activation des différents journaux
Sauvegardes et restaurations avec la commande ” mysqldump”
Aspects avancés, optimisation
Jeux de caractères, internationalisation
Formats géométriques, données géographiques
Optimisation des requêtes (types d’index, interprétation de l’outil EXPLAIN)
Interfaces de programmation (exemple PHP/MySQL)
Connecteurs MySQL
Description de la formation SQL
Le langage SQL 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.
Au cours de cette formation 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 (Structured Query Language) afin d’apprendre à écrire des requêtes, simples ou complexes, naturellement et avec simplicité.
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.
À qui s’adresse cette formation ?
Public :
Ce stage 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.
Prérequis :
Aucune connaissance particulière sur le SQL n’est requise pour suivre ce module.
Contenu du cours 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…
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.
Description de la formation SQL Perfectionnement
Le succès du SQL (Structured Query Language) 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.
Cette formation SQL Perfectionnement vous apprendra à lire et écrire des requêtes SQL complexes en disposant d’une méthodologie solide et étayée.
Objectifs
Objectifs pédagogiques :
- 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 :
Ce cours SQL Perfectionnement cible principalement les utilisateurs finaux, utilisateurs BI , développeurs, administrateurs, chefs de projet, et plus généralement toute personne ayant une première expérience du langage SQL mais ne s’estimant pas totalement à l’aise ni autonome pour écrire des requêtes SQL plus ou moins complexes.
Prérequis :
Pour suivre cette formation SQL Perfectionnement, il est important de bien connaître les fondamentaux du SQL (select … from … where, group by, jointure simple, etc.) et les concepts fondamentaux des bases de données relationnelles (table, lignes, colonnes, clef primaire, clef étrangère).
La formation SQL : Interroger les bases de données avec le langage SQL (Réf. OIBB) peut constituer un bon prérequis.
Contenu du cours SQL Perfectionnement
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
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.
Objectifs de la formation PowerDesigner
PowerDesigner (SAP ne diffuse plus PowerMAC après la version 16.5) est un logiciel qui permet de modéliser les traitements informatiques et les données associées en s’appuyant sur la méthode MERISE. De nombreux outils et fonctionnalités permettent d’aller au-delà de la simple méthode historique (assistants graphiques, référentiel de données, travail en réseau, générateur de scripts, générateur de modèles de données à partir d’une base existante, travail à plusieurs équipes, etc.).
Cette formation PowerDesigner couvrira tout le cycle de création d’une base de données relationnelle ainsi que l’utilisation dans un cadre professionnel de l’outil (référentiel, rapport, etc.). Vous apprendrez notamment à :
- Concevoir une base de données
- Modéliser une base de données sous la forme de MCD (Modèle Conceptuel de Données)
- Générer un Modèle Physique de Données à partir d’un MCD
- Créer une base de données
- Générer un modèle conceptuel de données à partir d’une base existante (reverse engineering)
- Utiliser efficacement le référentiel de données
- Générer des rapports
À qui s’adresse cette formation ?
Public :
Ce stage s’adresse aux Développeurs et Chefs de projets.
Prérequis :
Connaître un minimum les concepts des bases de données relationnelles (notion de tables, représentation de l’information en lignes et colonnes).
Contenu du cours PowerDesigner
Concevoir une base de données relationnelle (MCD)
Comment concevoir l’organisation des données ?
Donner un cadre rigoureux avec les formes normales
Liens entre formes normales et Modèle Conceptuel des Données (MCD)
Vocabulaire (entité, association, cardinalités)
L’impact des choix du concepteur
Exemples de modèles rencontrés dans des projets professionnels
Différences de philosophie avec les bases dites NoSQL
Atelier :
Conception et modélisation d’une base de données (MCD) sur papier.
Le formateur propose des variantes fonctionnelles dans l’application proposée et nous observons en quoi notre conception est impactée. L’idée est évidemment d’apprendre à les anticiper pour minimiser l’impact sur la déstructuration de la base.
Prise en main de PowerDesigner
Vue générale de l’outil et de ses composants
Vocabulaire de PowerDesigner
Comprendre l’architecture technique (repository)
Création d’un MCD sous PowerDesigner
Premiers pas avec le référentiel de métadonnées
Atelier :
Mise en œuvre du MCD précédent avec PowerDesigner
Utiliser le référentiel de données pour renseigner les contraintes d’intégrités fonctionnelles.
Création physique de la base
Les règles de transformations du modèle conceptuel au modèle physique
Compromis et conseils d’optimisation
Présentation du langage SQL basique (type de données, création de tables)
Un petit mot sur la généricité du SQL entre les SGBDR (Oracle, MySQL, SQL Server, etc.)
Compléments SQL simples (insertion, extraction, jointure)
Atelier :
Génération d’un script SQL permettant la création de la base de données fil rouge de nos ateliers.
Insertion de données dans notre base et requêtes simples pour tester la cohérence de notre modèle
Test de ce script dans un environnement Oracle puis MySQL
Reverse Engineering avec PowerDesigner
Comment modéliser une base existante non documentée ?
La réponse proposée par PowerDesigner
Points à surveiller
Atelier :
Création d’un modèle conceptuel de données à partir d’une base de données existante.
Le référentiel
Architecture du référentiel (objets, utilisateurs, permissions)
Parcourir le référentiel (dossiers, propriétés)
Consolidation de documents dans le référentiel
Extraction de documents du référentiel
Versions de document
L’accès universel avec le client PowerDesigner Web
Le portail PowerDesigner (partage de modèles avec un large public)
Atelier :
Partage de documents dans le référentiel (soumission/validation). Résolution des conflits
Utilisation du client PowerDesigner Web depuis un appareil mobile pour tester l’espace de travail privé (diagramme envoyé pour validation, recherche, etc.)
Générer des rapports avec PowerDesigner
Vue générale sur les différents types de rapport (modèle, tabulaire, multimodèles)
Les différents formats disponibles (HTML, RTF)
Les différents modèles standards
Les propriétés d’un rapport
Atelier :
Création d’un modèle de rapport personnalisé
Mise en œuvre avec notre modèle fil rouge au format HTML