{"id":12451,"date":"2022-06-22T19:37:29","date_gmt":"2022-06-22T19:37:29","guid":{"rendered":"http:\/\/705consulting.com\/?page_id=12451"},"modified":"2022-06-25T20:36:08","modified_gmt":"2022-06-25T20:36:08","slug":"formation-sql","status":"publish","type":"page","link":"https:\/\/705consulting.com\/index.php\/formation-sql\/","title":{"rendered":"Formation SQL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12451\" class=\"elementor elementor-12451\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-58937b0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"58937b0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b5fe130\" data-id=\"b5fe130\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a345d18 elementor-widget elementor-widget-witr_section_service\" data-id=\"a345d18\" data-element_type=\"widget\" data-widget_type=\"witr_section_service.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t\t<div class=\"service-item all_color_service text-center \">\n\t\t\t\t<div class=\"service_top_image\">\n\t\t\t\t\t<!-- image -->\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"http:\/\/705consulting.com\/wp-content\/uploads\/2022\/06\/kisspng-microsoft-sql-server-computer-icons-oracle-corpora-sql-logo-transparent-5b4ad344cf5111.6049179215316304048492.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"text_box all_icon_color\">\n\t\t\t\t\t<!-- icon -->\n\t\t\t\t\t\t\t\t\t\t<!-- custom icon -->\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<!-- image -->\n\t\t\t\t\t\t\n\t\t\t\t\t<!-- title -->\n\t\t\t\t\t\t\t\t\t\t<!-- content -->\n\t\t\t\t\t\t\t\t\t\t\t<p>\n <\/p>\t\t\n\t\t\t\t\t\t\t\t\t\t<!-- button -->\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t<\/div> <!-- text_box -->\t\t\t\t\t\t\t\n\t\t\t<\/div> <!-- service item -->\t\t\t\t\t\t\t\n \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e96a19e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e96a19e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c656876\" data-id=\"c656876\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a3a5571 elementor-widget elementor-widget-witr_section_t_widget\" data-id=\"a3a5571\" data-element_type=\"widget\" data-widget_type=\"witr_section_t_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<!-- text widget center -->\n\t\t\t\t\t<div class=\"witr_text_widget\">\n\t\t\t\t\t\t<div class=\"witr_text_widget_inner\">\n\t\t\t\t\t\t\t<!-- text widget top -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- text widget middle -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- text widget bottom -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- content -->\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p><p>Cr\u00e9\u00e9 en 1974, le SQL (pour Structured Query Language) est un langage informatique normalis\u00e9 servant \u00e0 exploiter des bases de donn\u00e9es relationnelles. Ce langage informatique est notamment tr\u00e8s utilis\u00e9 par les d\u00e9veloppeurs web pour communiquer avec les donn\u00e9es d\u2019un site web.<\/p><p>Rapidement devenu incontournable dans le paysage informatique en tant que langage de r\u00e9f\u00e9rence pour interroger les BDD, il permet notamment de mettre \u00e0 jour les donn\u00e9es d'une base et sa standardisation permet de communiquer avec tous les syst\u00e8mes de gestion de base de donn\u00e9es (SGBD) tels qu'Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc.<\/p><p>La partie langage de manipulation des donn\u00e9es permet de rechercher, d'ajouter, de modifier ou de supprimer des donn\u00e9es dans les bases de donn\u00e9es relationnelles. Outre cet sp\u00e9cificit\u00e9, la partie langage de d\u00e9finition permet de cr\u00e9er et de modifier l'organisation des donn\u00e9es dans la base, et la partie langage de contr\u00f4le de transaction permet de commencer et de terminer des transactions. Enfin la partie langage de contr\u00f4le des donn\u00e9es permet d'autoriser ou d'interdire l'acc\u00e8s \u00e0 certaines donn\u00e9es pour certaines personnes.<br \/>Le succ\u00e8s du SQL provient principalement de sa simplicit\u00e9 et de sa syntaxe presque g\u00e9om\u00e9trique autour de donn\u00e9es structur\u00e9es en lignes et en colonnes.<\/p><\/p>\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!--- repeater content --->\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1da932a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1da932a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9f55c79\" data-id=\"9f55c79\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-844ba7b elementor-widget elementor-widget-accordion\" data-id=\"844ba7b\" data-element_type=\"widget\" data-widget_type=\"accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.7.8 - 02-10-2022 *\/\n.elementor-accordion{text-align:left}.elementor-accordion .elementor-accordion-item{border:1px solid #d4d4d4}.elementor-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:none}.elementor-accordion .elementor-tab-title{margin:0;padding:15px 20px;font-weight:700;line-height:1;cursor:pointer;outline:none}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{display:inline-block;width:1.5em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg{width:1em;height:1em}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right{float:right;text-align:right}.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left{float:left;text-align:left}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed{display:block}.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed{display:none}.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened{display:block}.elementor-accordion .elementor-tab-content{display:none;padding:15px 20px;border-top:1px solid #d4d4d4}@media (max-width:767px){.elementor-accordion .elementor-tab-title{padding:12px 15px}.elementor-accordion .elementor-tab-title .elementor-accordion-icon{width:1.2em}.elementor-accordion .elementor-tab-content{padding:7px 15px}}.e-container>.elementor-widget-accordion{width:var(--container-widget-width,100%)}<\/style>\t\t<div class=\"elementor-accordion\" role=\"tablist\">\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1381\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"tab\" aria-controls=\"elementor-tab-content-1381\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" href=\"\">FORMATION MySQL PRISE EN MAIN ET DEVELOPPEMENT<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1381\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1381\"><h2>Description de la formation MySQL\u00a0<\/h2><p>Le SGBD MySQL dispose, depuis la version 5, de la majorit\u00e9 des fonctionnalit\u00e9s et des m\u00e9canismes disponibles chez ses concurrents commerciaux ou libres (Oracle, DB2, PostgreSQL&#8230;).<\/p><h2>Objectifs\u00a0<\/h2><p>Cette formation vous permettra de savoir installer MySQL et d&#8217;en assurer l&#8217;essentiel de la gestion quotidienne. Ce cours pr\u00e9sentera \u00e9galement les aspects d\u00e9veloppement de MySQL et notamment les extensions proc\u00e9durales (proc\u00e9dures stock\u00e9es, curseurs, triggers&#8230;) apparues avec la version 5.<\/p><h2>\u00c0 qui s&#8217;adresse cette formation ?<\/h2><p><strong>Public :<\/strong><\/p><p>D\u00e9veloppeurs et administrateurs de bases de donn\u00e9es.<\/p><p><strong>Pr\u00e9requis :<\/strong><\/p><p>La formation peut se d\u00e9rouler indiff\u00e9remment en environnement Unix, Linux ou Windows, des connaissances de base sur l&#8217;un ou l&#8217;autre de ces syst\u00e8mes sont suffisantes pour suivre la formation.<\/p><h2>Contenu du cours MySQL\u00a0<\/h2><ol><li><h3>Introduction, installation et prise en main<\/h3><\/li><\/ol><p>Versions, panorama des fonctionnalit\u00e9s et des outils<br \/>Ressources et documentation<br \/>Proc\u00e9dure d&#8217;installation<br \/>Param\u00e9trages de post-installation et premiers tests<br \/>L&#8217;outil client ligne de commandes mysql<br \/>Pr\u00e9sentation de l&#8217;outil graphique MySQL Query Browser<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>Exemple complet d&#8217;installation sur un syst\u00e8me Linux<\/em><\/p><ol><li><h3>Mod\u00e8le relationnel, conception et cr\u00e9ation d&#8217;une base MySQL<\/h3><\/li><\/ol><p>\u00c9l\u00e9ments de conception d&#8217;un sch\u00e9ma de base de donn\u00e9es<br \/>Contraintes d&#8217;int\u00e9grit\u00e9<br \/>Types de donn\u00e9es MySQL (num\u00e9riques, cha\u00eenes, dates, types sp\u00e9cifiques&#8230;)<br \/>Fonctions int\u00e9gr\u00e9es de MySQL<br \/>Types de tables (MyISAM, MEMORY, MERGE, InnoDB&#8230;)<br \/>Cr\u00e9ation de bases et de tables<br \/>Gestion des index<br \/>La base INFORMATION_SCHEMA<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>Conception et cr\u00e9ation d&#8217;une base &#8220;ecole&#8221; en tables MyISAM<\/em><em><br \/>Visualisation du sch\u00e9ma des tables<br \/>Insertion de donn\u00e9es, v\u00e9rification des contraintes<\/em><\/p><ol><li><h3>Pratique du SQL avec MySQL<\/h3><\/li><\/ol><p>S\u00e9lections simples, comparaisons, tris<br \/>S\u00e9lections multitables, diff\u00e9rents types de jointures<br \/>Requ\u00eates imbriqu\u00e9es<br \/>Requ\u00eates pr\u00e9par\u00e9es<br \/>Recherches full-text<br \/>Modifications (insertions, mises \u00e0 jours, suppressions)<br \/>Gestion des vues<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>S\u00e9lections simples<\/em><em><br \/>S\u00e9lections multiples, jointures internes et externes, requ\u00eates imbriqu\u00e9es<br \/>Modifications et suppressions de donn\u00e9es<br \/>Cr\u00e9ation et utilisation des vues<\/em><\/p><ol><li><h3>Tables transactionnelles InnoDB<\/h3><\/li><\/ol><p>Notion de transaction, niveaux d&#8217;isolation<br \/>Structure physique des tables<br \/>Programmation des transactions (START TRANSACTION, COMMIT, ROLLBACK)<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>Cr\u00e9ation d&#8217;une base &#8220;ecolebis&#8221; en tables InnoDB<\/em><em><br \/>Mise en oeuvre de transactions<\/em><\/p><ol><li><h3>SQL Proc\u00e9dural<\/h3><\/li><\/ol><p>Proc\u00e9dures stock\u00e9es et fonctions<br \/>D\u00e9finition des proc\u00e9dures, appels, instructions de contr\u00f4le, curseurs<br \/>D\u00e9clencheurs (triggers): cr\u00e9ation et utilisation<br \/>Gestion des erreurs<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>\u00c9criture de proc\u00e9dures stock\u00e9es<\/em><em><br \/>R\u00e9cup\u00e9rations de r\u00e9sultats \u00e0 l&#8217;aide de curseurs<br \/>Cr\u00e9ation et utilisation de triggers<\/em><\/p><ol><li><h3>Connexions, droits d&#8217;acc\u00e8s, s\u00e9curit\u00e9<\/h3><\/li><\/ol><p>Principe d&#8217;authentification et de v\u00e9rification des droits<br \/>Gestion des utilisateurs et de leurs privil\u00e8ges<br \/>S\u00e9curisation des proc\u00e9dures stock\u00e9es<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>Cr\u00e9ation de diff\u00e9rents types de comptes MySQL<\/em><em><br \/>Gestion des privil\u00e8ges et des mots de passe<\/em><\/p><ol><li><h3>Maintenance des donn\u00e9es<\/h3><\/li><\/ol><p>Importation et exportation de donn\u00e9es<br \/>Les diff\u00e9rents journaux de MySQL (erreurs, requ\u00eates, requ\u00eates lentes, journal binaire)<br \/>Types et strat\u00e9gies de sauvegardes<br \/>La commande mysqldump<\/p><p><strong><em>Travaux pratiques<\/em><\/strong><\/p><p><em>Exportation de donn\u00e9es vers des fichiers texte, r\u00e9importation des donn\u00e9es<\/em><em><br \/>Activation des diff\u00e9rents journaux<br \/>Sauvegardes et restaurations avec la commande &#8221; mysqldump&#8221;<\/em><\/p><ol><li><h3>Aspects avanc\u00e9s, optimisation<\/h3><\/li><\/ol><p>Jeux de caract\u00e8res, internationalisation<br \/>Formats g\u00e9om\u00e9triques, donn\u00e9es g\u00e9ographiques<br \/>Optimisation des requ\u00eates (types d&#8217;index, interpr\u00e9tation de l&#8217;outil EXPLAIN)<br \/>Interfaces de programmation (exemple PHP\/MySQL)<br \/>Connecteurs MySQL<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1382\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"tab\" aria-controls=\"elementor-tab-content-1382\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" href=\"\">FORMATION SQL: INTERROGER LES BASES DE DONNEES AVEC LE LANGAGE SQL<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1382\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1382\"><h2><strong>Description de la formation SQL\u00a0<\/strong><\/h2><p>Le langage SQL est incontournable dans le paysage informatique car c&#8217;est le langage de r\u00e9f\u00e9rence pour interroger les bases de donn\u00e9es. Il permet \u00e9galement de mettre \u00e0 jour les donn\u00e9es de la base et sa standardisation permet de communiquer avec tous les\u00a0syst\u00e8me de gestion de base de donn\u00e9es\u00a0(SGBD) tels qu&#8217;Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc.<\/p><p>Au cours de cette formation SQL, nous vous expliquerons la structure g\u00e9n\u00e9rale d&#8217;un SGBDR (syst\u00e8me de gestion de bases de donn\u00e9es relationnelles) et la philosophie du langage SQL (Structured Query Language) afin d&#8217;apprendre \u00e0 \u00e9crire des requ\u00eates, simples ou complexes, naturellement et avec simplicit\u00e9.<\/p><h2>Objectifs\u00a0<\/h2><p><strong><u>Objectifs p\u00e9dagogiques :<\/u><\/strong><\/p><ul><li>D\u00e9couvrir et prendre en main votre environnement SQL<\/li><li>Comprendre le sch\u00e9ma d&#8217;une base et des tables<\/li><li>S&#8217;initier \u00e0 l&#8217;\u00e9criture des requ\u00eates SQL pour extraire des donn\u00e9es<\/li><li>Savoir \u00e9crire des requ\u00eates SQL pour mettre \u00e0 jour la base<\/li><li>Comment extraire les informations de plusieurs tables<\/li><li>Assimiler les fonctions standards du langage SQL.<\/li><\/ul><h2>\u00c0 qui s&#8217;adresse cette formation ?<\/h2><p><strong>Public :<\/strong><\/p><p>Ce stage SQL s&#8217;adresse aux d\u00e9veloppeurs, aux exploitants intervenant sur un serveur de bases de donn\u00e9es ainsi qu&#8217;aux futurs administrateurs de bases de donn\u00e9es souhaitant apprendre le SQL.<\/p><p><strong>Pr\u00e9requis :<\/strong><\/p><p>Aucune connaissance particuli\u00e8re sur le SQL n&#8217;est requise pour suivre ce module.<\/p><h2>Contenu du cours SQL\u00a0<\/h2><ol><li><h4>Sch\u00e9ma g\u00e9n\u00e9ral d&#8217;une base de donn\u00e9es<\/h4><\/li><\/ol><p>Principes des tables et des relations entre les donn\u00e9es<br \/>Le r\u00f4le des contraintes d&#8217;int\u00e9grit\u00e9<br \/>Les clefs primaires et \u00e9trang\u00e8res<br \/>Des exemples de violations de contraintes<br \/>Les domaines d&#8217;utilisation du SQL<\/p><h3><strong>L&#8217;environnement de travail pour le SQL<\/strong><\/h3><ol><li><h4><strong>Diff\u00e9rents produits selon les acteurs pour un m\u00eame r\u00e9sultat<\/strong><\/h4><\/li><\/ol><p>Les n\u00e9cessit\u00e9s d&#8217;un environnement sp\u00e9cifique pour dialoguer avec la base<br \/>L&#8217;exemple d&#8217;Oracle Developper<br \/>DBA Management Studio pour SQL Server<br \/>PHPMyAdmin pour MySQL<br \/>L&#8217;outil graphique de PostgreSQL (pgAdmin3)<br \/>Autres outils selon le SGBD<\/p><ol><li><h4><strong>Les utilisateurs<\/strong><\/h4><\/li><\/ol><p>Comprendre le principe de connexion \u00e0 la base<br \/>La notion de sch\u00e9ma<br \/>Sensibilisation aux acc\u00e8s concurrents et aux transactions<\/p><h3><strong>D&#8217;o\u00f9 viennent les donn\u00e9es ?<\/strong><\/h3><ol><li><h4><strong>La gen\u00e8se des donn\u00e9es<\/strong><\/h4><\/li><\/ol><p>Cr\u00e9ation de tables en SQL<br \/>Savoir pourquoi il faut typer les donn\u00e9es d&#8217;une table<br \/>Apprendre les diff\u00e9rents types de bases (entier, r\u00e9el, cha\u00eene, date)<br \/>Comment et pourquoi modifier la d\u00e9finition d&#8217;une table<br \/>La suppression d&#8217;une table<br \/>Notions sur les vues, les s\u00e9quences, les index et les synonymes<\/p><ol><li><h4><strong>La mise \u00e0 jour des donn\u00e9es<\/strong><\/h4><\/li><\/ol><p>L&#8217;insertion de donn\u00e9es (insert)<br \/>La mise \u00e0 jour (update)<br \/>La suppression d&#8217;informations (delete)<br \/>Ne pas confondre NULL, 0, et cha\u00eene vide (\u02dc\u02dc)<\/p><h3><strong>Requ\u00eates fondamentales en SQL<\/strong><\/h3><ol><li><h4><strong>D\u00e9couvrir la structure d&#8217;une requ\u00eate SQL<\/strong><\/h4><\/li><\/ol><p>La structure select &#8230; from &#8230; where &#8230;<br \/>Restrictions et conditions<br \/>Trier les donn\u00e9es (order by)<br \/>Eliminer les doublons (uniq)<br \/>Croiser les informations (jointure)<\/p><ol><li><h4><strong>Regroupement et premi\u00e8res fonctions<\/strong><\/h4><\/li><\/ol><p>Pr\u00e9sentation des grandes familles de fonctions SQL<br \/>Philosophie d&#8217;utilisation des fonctions<br \/>Moyenne des valeurs (avg)<br \/>Nombre d&#8217;enregistrements retourn\u00e9s (count)<br \/>Minimum et maximum (min, max)<br \/>Somme des valeurs (sum)<\/p><h3><strong>Fonctions avanc\u00e9es en SQL<\/strong><\/h3><ol><li><h4><strong>Les fonctions sur les cha\u00eenes de caract\u00e8res<\/strong><\/h4><\/li><\/ol><p>La longueur d&#8217;une cha\u00eene (length)<br \/>Les minuscules et majuscules (lower, upper)<br \/>L&#8217;op\u00e9rateur LIKE et le symbole %<br \/>Extraction d&#8217;une partie de la cha\u00eene (substr)<\/p><ol><li><h4><strong>Les fonctions sur les dates<\/strong><\/h4><\/li><\/ol><p>Qu&#8217;est-ce que le format date ?<br \/>Savoir manipuler une date (last_day, next_day, months_between, etc. )<\/p><ol><li><h4><strong>La conversion date\/cha\u00eene<\/strong><\/h4><\/li><\/ol><p>Les pi\u00e8ges classiques avec les dates<br \/>Conversion d&#8217;une date en caract\u00e8res (to_char)<br \/>Conversion d&#8217;une cha\u00eene de caract\u00e8res en date (to_date)<\/p><ol><li><h4><strong>Requ\u00eates ensemblistes en SQL<\/strong><\/h4><\/li><\/ol><p>Regroupement et condition (group by, having)<br \/>Le cumul de r\u00e9sultats (union)<br \/>Le recoupement de r\u00e9sultats (intersect, minus)<\/p><ol><li><h4><strong>Requ\u00eates complexes en SQL<\/strong><\/h4><\/li><\/ol><p>Bien comprendre les sous-interrogations dans le where<br \/>Bien comprendre les sous-requ\u00eates synchronis\u00e9es (where exists)<br \/>Variantes sur la jointure (auto jointure, jointure complexe)<\/p><ol><li><h4><strong>Import \/ Export de donn\u00e9es<\/strong><\/h4><\/li><\/ol><p>Savoir r\u00e9cup\u00e9rer les donn\u00e9es dans un fichier texte<br \/>Savoir importer les donn\u00e9es d&#8217;un fichier texte, CSV, XML dans la base<br \/>D\u00e9couvrir comment pr\u00e9senter les r\u00e9sultats des requ\u00eates SQL dans un fichier Excel<\/p><ol><li><h4><strong>Limites du SQL, apports d&#8217;autres solutions<\/strong><\/h4><\/li><\/ol><p>Philosophie des proc\u00e9dures stock\u00e9es<br \/>Place du SQL dans l&#8217;offre Business Intelligence (BI)<br \/>Quelques exemples : BO, Oracle Discoverer&#8230;<\/p><h5>Travaux Pratiques<\/h5><p>Stage tr\u00e8s pratique avec beaucoup d&#8217;exercices de difficult\u00e9 variable permettant \u00e0 chacun d&#8217;avancer \u00e0 son rythme. Remarque : l&#8217;ensemble des travaux pratiques est r\u00e9alisable \u00e0 distance si vous optez pour la formule cours \u00e0 distance.<\/p><p>\u00a0<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1383\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"tab\" aria-controls=\"elementor-tab-content-1383\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" href=\"\">FORMATION SQL: PERFECTIONNEMENT<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1383\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1383\"><h2>Description de la formation SQL Perfectionnement<\/h2><p>Le succ\u00e8s du SQL (Structured Query Language) provient principalement de sa simplicit\u00e9 et de sa syntaxe presque g\u00e9om\u00e9trique autour de donn\u00e9es structur\u00e9es en lignes et en colonnes. La structure de programmation \u00ab select \u2026from \u2026 where \u2026 \u00bb devient cependant moins intuitive \u00e0 utiliser d\u00e8s lors que les requ\u00eates deviennent plus complexes avec plusieurs tables et des conditions qui se cumulent.<\/p><p>Cette\u00a0<strong>formation SQL Perfectionnement<\/strong>\u00a0vous apprendra \u00e0 lire et \u00e9crire des requ\u00eates SQL complexes en disposant d\u2019une m\u00e9thodologie solide et \u00e9tay\u00e9e.<\/p><h2>Objectifs\u00a0<\/h2><p><strong>Objectifs p\u00e9dagogiques :<\/strong><\/p><ul><li>Ma\u00eetriser les jointures et leurs variantes<\/li><li>Ma\u00eetriser les requ\u00eates ensemblistes<\/li><li>\u00c9crire des requ\u00eates SQL complexes (jointures externes, select imbriqu\u00e9s corr\u00e9l\u00e9s, etc.)<\/li><li>Savoir mod\u00e9liser une requ\u00eate complexe \u00e0 l\u2019aide d\u2019un arbre<\/li><li>Transcrire cet arbre en requ\u00eate SQL<\/li><\/ul><h2>\u00c0 qui s&#8217;adresse cette formation ?<\/h2><p><strong>Public :<\/strong><\/p><p>Ce cours SQL Perfectionnement cible principalement les utilisateurs finaux, utilisateurs BI , d\u00e9veloppeurs, administrateurs, chefs de projet, et plus g\u00e9n\u00e9ralement toute personne ayant une premi\u00e8re exp\u00e9rience du langage SQL mais ne s\u2019estimant pas totalement \u00e0 l\u2019aise ni autonome pour \u00e9crire des requ\u00eates SQL plus ou moins complexes.<\/p><p><strong>Pr\u00e9requis :<\/strong><\/p><p>Pour suivre cette formation SQL Perfectionnement, il est important de bien conna\u00eetre les fondamentaux du SQL (select \u2026 from \u2026 where, group by, jointure simple, etc.) et les concepts fondamentaux des bases de donn\u00e9es relationnelles (table, lignes, colonnes, clef primaire, clef \u00e9trang\u00e8re).<br \/>La\u00a0<a href=\"https:\/\/www.plb.fr\/formation\/oracle\/formation-sql,5-458.php\">formation SQL : Interroger les bases de donn\u00e9es avec le langage SQL (R\u00e9f. OIBB)<\/a>\u00a0peut constituer un bon pr\u00e9requis.<\/p><h2>Contenu du cours SQL Perfectionnement\u00a0<\/h2><ol><li><h4>Ma\u00eetriser les jointures<\/h4><\/li><\/ol><p>Rappels sur les liens entre les donn\u00e9es dans un SGBDR<br \/>La jointure \u00ab classique \u00bb (INNER JOIN)<br \/>Diff\u00e9rence avec la jointure \u00ab naturelle \u00bb (NATURAL JOIN)<br \/>Jointure avec \u00ab beaucoup \u00bb de tables<br \/>La jointure crois\u00e9e ou produit cart\u00e9sien (CROSS JOIN)<br \/>Quand a-t-on besoin de faire une jointure externe (RIGHT\/LEFT JOIN) ?<br \/>Condition vraie dans au moins une des tables (FULL JOIN)<br \/>Exemples d\u2019auto jointure (SELF JOIN)<\/p><ol><li><h4>Expressions r\u00e9guli\u00e8res et SQL<\/h4><\/li><\/ol><p>Limites de l&#8217;op\u00e9rateur LIKE<br \/>Philosophie des expressions r\u00e9guli\u00e8res<br \/>\u00c9tendre les m\u00e9ta-caract\u00e8res (^,. ,*,[,\u00a0 \u2026)<br \/>Syntaxe g\u00e9n\u00e9rale des fonctions<br \/>Fonction : regexp_like.<br \/>Fonction : regexp_substr.<br \/>Fonction : regexp_instr.<br \/>Fonction : regexp_replace.<br \/>Fonction : regexp_count.<\/p><ol><li><h4>Op\u00e9rateurs ensemblistes<\/h4><\/li><\/ol><p>R\u00e8gles \u00e0 respecter pour assembler des requ\u00eates :<br \/>&#8211; Nombre d&#8217;expressions projet\u00e9es<br \/>&#8211; Types des expressions projet\u00e9es<br \/>Les op\u00e9rateurs UNION, UNION ALL, INTERSECT et MINUS<br \/>Trier les informations<\/p><ol><li><h4>Compl\u00e9ments sur le regroupement de donn\u00e9es<\/h4><\/li><\/ol><p>Rappels sur GROUP BY et HAVING<br \/>Constitution de sous-groupes avec ROLLUP et CUBE<br \/>Application partielle et totale ROLLUP et CUBE<br \/>Identification de lignes g\u00e9n\u00e9r\u00e9es par ROLLUP et CUBE avec les fonctions GROUPING et GROUPING_ID<br \/>Gestion des NULLs<br \/>Identification de groupes dupliqu\u00e9s<br \/>Tableaux crois\u00e9s avec PIVOT et UNPIVOT<\/p><ol><li><h4>Manipulation avanc\u00e9e en SQL<\/h4><\/li><\/ol><p>Insertion multitables inconditionnelles, inconditionnelles avec &#8220;rotation&#8221;, conditionnelles, conditionnelles exclusives.<br \/>Insertion ou modification avec la commande MERGE<br \/>Utilisation de sous-requ\u00eates corr\u00e9l\u00e9es ou interrogation sur tuples<br \/>Manipulation et consultation avec la clause RETURNING.<\/p><ol><li><h4>Aide \u00e0 l\u2019\u00e9criture de requ\u00eates SQL complexes<\/h4><\/li><\/ol><p>Principes d\u2019un arbre de requ\u00eate (alg\u00e9brique)<br \/>Vocabulaire (projection, restriction, \u2026)<br \/>Formalisme associ\u00e9<br \/>Exemples de requ\u00eates complexes mod\u00e9lis\u00e9es progressivement par un arbre<br \/>Passage au SQL correspondant<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1384\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"tab\" aria-controls=\"elementor-tab-content-1384\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" href=\"\">FORMATION MAITRISER LE SQL<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1384\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1384\"><h2>Description de la formation Ma\u00eetriser SQL\u00a0<\/h2><p>Le langage SQL (Structured Query Language) est incontournable dans le paysage informatique car c&#8217;est le langage de r\u00e9f\u00e9rence pour interroger les bases de donn\u00e9es. Il permet \u00e9galement de mettre \u00e0 jour les donn\u00e9es de la base et sa standardisation permet de communiquer avec tous les syst\u00e8me de gestion de base de donn\u00e9es (SGBD) tels qu&#8217;Oracle, SQL Server, MySQL, PostgreSQL, DB2, etc.<\/p><p>Le succ\u00e8s du SQL provient principalement de sa simplicit\u00e9 et de sa syntaxe presque g\u00e9om\u00e9trique autour de donn\u00e9es structur\u00e9es en lignes et en colonnes. La structure de programmation \u00ab select \u2026from \u2026 where \u2026 \u00bb devient cependant moins intuitive \u00e0 utiliser d\u00e8s lors que les requ\u00eates deviennent plus complexes avec plusieurs tables et des conditions qui se cumulent.<\/p><p>Au cours de cette\u00a0<strong>formation Ma\u00eetriser SQL<\/strong>, nous vous expliquerons la structure g\u00e9n\u00e9rale d&#8217;un SGBDR (syst\u00e8me de gestion de bases de donn\u00e9es relationnelles) et la philosophie du langage SQL afin d&#8217;apprendre \u00e0 \u00e9crire des requ\u00eates, simples ou complexes, naturellement et avec simplicit\u00e9. Cette formation SQL vous apprendra \u00e9galement \u00e0 lire et \u00e9crire des requ\u00eates SQL plus complexes en disposant d\u2019une m\u00e9thodologie solide et \u00e9tay\u00e9e.<\/p><h2>Objectifs\u00a0<\/h2><p><strong><u>Objectifs p\u00e9dagogiques :<\/u><\/strong><\/p><ul><li>D\u00e9couvrir et prendre en main votre environnement SQL<\/li><li>Comprendre le sch\u00e9ma d&#8217;une base et des tables<\/li><li>S&#8217;initier \u00e0 l&#8217;\u00e9criture des requ\u00eates SQL pour extraire des donn\u00e9es<\/li><li>Savoir \u00e9crire des requ\u00eates SQL pour mettre \u00e0 jour la base<\/li><li>Comment extraire les informations de plusieurs tables<\/li><li>Assimiler les fonctions standards du langage SQL<\/li><li>Ma\u00eetriser les jointures et leurs variantes<\/li><li>Ma\u00eetriser les requ\u00eates ensemblistes<\/li><li>\u00c9crire des requ\u00eates SQL complexes (jointures externes, select imbriqu\u00e9s corr\u00e9l\u00e9s, etc.)<\/li><li>Savoir mod\u00e9liser une requ\u00eate complexe \u00e0 l\u2019aide d\u2019un arbre<\/li><li>Transcrire cet arbre en requ\u00eate SQL<\/li><\/ul><h2>\u00c0 qui s&#8217;adresse cette formation ?<\/h2><p><strong>Public :<\/strong><\/p><p>Cette formation Ma\u00eetriser SQL s&#8217;adresse aux d\u00e9veloppeurs, aux exploitants intervenant sur un serveur de bases de donn\u00e9es ainsi qu&#8217;aux futurs administrateurs de bases de donn\u00e9es souhaitant apprendre le SQL. Les utilisateurs BI ainsi que les chefs peuvent aussi \u00eatre concern\u00e9s.<\/p><p><strong>Pr\u00e9requis :<\/strong><\/p><p>Ce cours Ma\u00eetriser SQL ne n\u00e9cessite aucun pr\u00e9-requis particulier.<\/p><h2>Contenu du cours Ma\u00eetriser SQL\u00a0<\/h2><ol><li><h4>Sch\u00e9ma g\u00e9n\u00e9ral d&#8217;une base de donn\u00e9es<\/h4><\/li><\/ol><p>Principes des tables et des relations entre les donn\u00e9es<br \/>Le r\u00f4le des contraintes d&#8217;int\u00e9grit\u00e9<br \/>Les clefs primaires et \u00e9trang\u00e8res<br \/>Des exemples de violations de contraintes<br \/>Les domaines d&#8217;utilisation du SQL<\/p><h3>L&#8217;environnement de travail pour le SQL<\/h3><ol><li><h4><strong>Diff\u00e9rents produits selon les acteurs pour un m\u00eame r\u00e9sultat<\/strong><\/h4><\/li><\/ol><p>Les n\u00e9cessit\u00e9s d&#8217;un environnement sp\u00e9cifique pour dialoguer avec la base<br \/>L&#8217;exemple d&#8217;Oracle Developper<br \/>DBA Management Studio pour SQL Server<br \/>PHPMyAdmin pour MySQL<br \/>L&#8217;outil graphique de PostgreSQL (pgAdmin3)<br \/>Autres outils selon le SGBD<\/p><ol><li><h4><strong>Les utilisateurs<\/strong><\/h4><\/li><\/ol><p>Comprendre le principe de connexion \u00e0 la base<br \/>La notion de sch\u00e9ma<br \/>Sensibilisation aux acc\u00e8s concurrents et aux transactions<\/p><h3>D&#8217;o\u00f9 viennent les donn\u00e9es ?<\/h3><ol><li><h4>La gen\u00e8se des donn\u00e9es<\/h4><\/li><\/ol><p>Cr\u00e9ation de tables en SQL<br \/>Savoir pourquoi il faut typer les donn\u00e9es d&#8217;une table<br \/>Apprendre les diff\u00e9rents types de bases (entier, r\u00e9el, cha\u00eene, date)<br \/>Comment et pourquoi modifier la d\u00e9finition d&#8217;une table<br \/>La suppression d&#8217;une table<br \/>Notions sur les vues, les s\u00e9quences, les index et les synonymes<\/p><ol><li><h4><strong>La mise \u00e0 jour des donn\u00e9es<\/strong><\/h4><\/li><\/ol><p>L&#8217;insertion de donn\u00e9es (insert)<br \/>La mise \u00e0 jour (update)<br \/>La suppression d&#8217;informations (delete)<br \/>Ne pas confondre NULL, 0, et cha\u00eene vide (\u02dc\u02dc)<\/p><h3>Requ\u00eates fondamentales en SQL<\/h3><ol><li><h4>D\u00e9couvrir la structure d&#8217;une requ\u00eate SQL<\/h4><\/li><\/ol><p>La structure select &#8230; from &#8230; where &#8230;<br \/>Restrictions et conditions<br \/>Trier les donn\u00e9es (order by)<br \/>Eliminer les doublons (uniq)<br \/>Croiser les informations (jointure)<\/p><ol><li><h4>Regroupement et premi\u00e8res fonctions<\/h4><\/li><\/ol><p>Pr\u00e9sentation des grandes familles de fonctions SQL<br \/>Philosophie d&#8217;utilisation des fonctions<br \/>Moyenne des valeurs (avg)<br \/>Nombre d&#8217;enregistrements retourn\u00e9s (count)<br \/>Minimum et maximum (min, max)<br \/>Somme des valeurs (sum)<\/p><h3>Fonctions avanc\u00e9es en SQL<\/h3><ol><li><h4>Les fonctions sur les cha\u00eenes de caract\u00e8res<\/h4><\/li><\/ol><p>La longueur d&#8217;une cha\u00eene (length)<br \/>Les minuscules et majuscules (lower, upper)<br \/>L&#8217;op\u00e9rateur LIKE et le symbole %<br \/>Extraction d&#8217;une partie de la cha\u00eene (substr)<\/p><ol><li>Les fonctions sur les dates<\/li><\/ol><p>Qu&#8217;est-ce que le format date ?<br \/>Savoir manipuler une date (last_day, next_day, months_between, etc. )<\/p><ol><li><h4><strong>La conversion date\/cha\u00eene<\/strong><\/h4><\/li><\/ol><p>Les pi\u00e8ges classiques avec les dates<br \/>Conversion d&#8217;une date en caract\u00e8res (to_char)<br \/>Conversion d&#8217;une cha\u00eene de caract\u00e8res en date (to_date)<\/p><ol><li><h4>Requ\u00eates ensemblistes en SQL<\/h4><\/li><\/ol><p>Regroupement et condition (group by, having)<br \/>Le cumul de r\u00e9sultats (union)<br \/>Le recoupement de r\u00e9sultats (intersect, minus)<\/p><ol><li><h4>Requ\u00eates complexes en SQL<\/h4><\/li><\/ol><p>Bien comprendre les sous-interrogations dans le where<br \/>Bien comprendre les sous-requ\u00eates synchronis\u00e9es (where exists)<br \/>Variantes sur la jointure (auto jointure, jointure complexe)<\/p><ol><li><h4>Import \/ Export de donn\u00e9es<\/h4><\/li><\/ol><p>Savoir r\u00e9cup\u00e9rer les donn\u00e9es dans un fichier texte<br \/>Savoir importer les donn\u00e9es d&#8217;un fichier texte, CSV, XML dans la base<br \/>D\u00e9couvrir comment pr\u00e9senter les r\u00e9sultats des requ\u00eates SQL dans un fichier Excel<\/p><ol><li><h4>Limites du SQL, apports d&#8217;autres solutions<\/h4><\/li><\/ol><p>Philosophie des proc\u00e9dures stock\u00e9es<br \/>Place du SQL dans l&#8217;offre Business Intelligence (BI)<br \/>Quelques exemples : BO, Oracle Discoverer&#8230;<\/p><ol><li><h4>Ma\u00eetriser les jointures<\/h4><\/li><\/ol><p>Rappels sur les liens entre les donn\u00e9es dans un SGBDR<br \/>La jointure \u00ab classique \u00bb (INNER JOIN)<br \/>Diff\u00e9rence avec la jointure \u00ab naturelle \u00bb (NATURAL JOIN)<br \/>Jointure avec \u00ab beaucoup \u00bb de tables<br \/>La jointure crois\u00e9e ou produit cart\u00e9sien (CROSS JOIN)<br \/>Quand a-t-on besoin de faire une jointure externe (RIGHT\/LEFT JOIN) ?<br \/>Condition vraie dans au moins une des tables (FULL JOIN)<br \/>Exemples d\u2019auto jointure (SELF JOIN)<\/p><ol><li><h4>Expressions r\u00e9guli\u00e8res et SQL<\/h4><\/li><\/ol><p>Limites de l&#8217;op\u00e9rateur LIKE<br \/>Philosophie des expressions r\u00e9guli\u00e8res<br \/>\u00c9tendre les m\u00e9ta-caract\u00e8res (^,. ,*,[,\u00a0 \u2026)<br \/>Syntaxe g\u00e9n\u00e9rale des fonctions<br \/>Fonction : regexp_like.<br \/>Fonction : regexp_substr.<br \/>Fonction : regexp_instr.<br \/>Fonction : regexp_replace.<br \/>Fonction : regexp_count.<\/p><ol><li><h4>Op\u00e9rateurs ensemblistes<\/h4><\/li><\/ol><p>R\u00e8gles \u00e0 respecter pour assembler des requ\u00eates :<br \/>&#8211;\u00a0\u00a0 Nombre d&#8217;expressions projet\u00e9es<br \/>&#8211;\u00a0\u00a0 Types des expressions projet\u00e9es<br \/>Les op\u00e9rateurs UNION, UNION ALL, INTERSECT et MINUS<br \/>Trier les informations<\/p><ol><li><h4>Compl\u00e9ments sur le regroupement de donn\u00e9es<\/h4><\/li><\/ol><p>Rappels sur GROUP BY et HAVING<br \/>Constitution de sous-groupes avec ROLLUP et CUBE<br \/>Application partielle et totale ROLLUP et CUBE<br \/>Identification de lignes g\u00e9n\u00e9r\u00e9es par ROLLUP et CUBE avec les fonctions GROUPING et GROUPING_ID<br \/>Gestion des NULLs<br \/>Identification de groupes dupliqu\u00e9s<br \/>Tableaux crois\u00e9s avec PIVOT et UNPIVOT<\/p><ol><li><h4>Manipulation avanc\u00e9e en SQL<\/h4><\/li><\/ol><p>Insertion multitables inconditionnelles, inconditionnelles avec &#8220;rotation&#8221;, conditionnelles, conditionnelles exclusives.<br \/>Insertion ou modification avec la commande MERGE<br \/>Utilisation de sous-requ\u00eates corr\u00e9l\u00e9es ou interrogation sur tuples<br \/>Manipulation et consultation avec la clause RETURNING.<\/p><ol><li><h4>Aide \u00e0 l\u2019\u00e9criture de requ\u00eates SQL complexes<\/h4><\/li><\/ol><p>Principes d\u2019un arbre de requ\u00eate (alg\u00e9brique)<br \/>Vocabulaire (projection, restriction, \u2026)<br \/>Formalisme associ\u00e9<br \/>Exemples de requ\u00eates complexes mod\u00e9lis\u00e9es progressivement par un arbre<br \/>Passage au SQL correspondant<\/p><h4>Travaux Pratiques<\/h4><p>Stage tr\u00e8s pratique avec beaucoup d&#8217;exercices de difficult\u00e9 variable permettant \u00e0 chacun d&#8217;avancer \u00e0 son rythme.<br \/>Remarque : l&#8217;ensemble des travaux pratiques est r\u00e9alisable \u00e0 distance si vous optez pour la formule cours \u00e0 distance.<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1385\" class=\"elementor-tab-title\" data-tab=\"5\" role=\"tab\" aria-controls=\"elementor-tab-content-1385\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" href=\"\">FORMATION POWERDESIGNER: CONCEPTION ET MODELISATION D\u2019UNE BASE DE DONNEES<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1385\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1385\"><h2>Objectifs de la formation PowerDesigner\u00a0<\/h2><p>PowerDesigner (SAP ne diffuse plus PowerMAC apr\u00e8s la version 16.5) est un logiciel qui permet de mod\u00e9liser les traitements informatiques et les donn\u00e9es associ\u00e9es en s\u2019appuyant sur la m\u00e9thode MERISE. De nombreux outils et fonctionnalit\u00e9s permettent d\u2019aller au-del\u00e0 de la simple m\u00e9thode historique (assistants graphiques, r\u00e9f\u00e9rentiel de donn\u00e9es, travail en r\u00e9seau, g\u00e9n\u00e9rateur de scripts, g\u00e9n\u00e9rateur de mod\u00e8les de donn\u00e9es \u00e0 partir d\u2019une base existante, travail \u00e0 plusieurs\u00a0 \u00e9quipes, etc.).<\/p><p>Cette formation PowerDesigner couvrira tout le cycle de cr\u00e9ation d\u2019une base de donn\u00e9es relationnelle ainsi que l\u2019utilisation dans un cadre professionnel de l\u2019outil (r\u00e9f\u00e9rentiel, rapport, etc.). Vous apprendrez notamment \u00e0 :<\/p><ul><li>Concevoir une base de donn\u00e9es<\/li><li>Mod\u00e9liser une base de donn\u00e9es sous la forme de MCD (Mod\u00e8le Conceptuel de Donn\u00e9es)<\/li><li>G\u00e9n\u00e9rer un Mod\u00e8le Physique de Donn\u00e9es \u00e0 partir d\u2019un MCD<\/li><li>Cr\u00e9er une base de donn\u00e9es<\/li><li>G\u00e9n\u00e9rer un mod\u00e8le conceptuel de donn\u00e9es \u00e0 partir d\u2019une base existante (reverse engineering)<\/li><li>Utiliser efficacement le r\u00e9f\u00e9rentiel de donn\u00e9es<\/li><li>G\u00e9n\u00e9rer des rapports<\/li><\/ul><h2>\u00c0 qui s&#8217;adresse cette formation ?<\/h2><p><strong>Public :<\/strong><\/p><p>Ce stage s&#8217;adresse aux D\u00e9veloppeurs et Chefs de projets.<\/p><p><strong>Pr\u00e9requis :<\/strong><\/p><p>Conna\u00eetre un minimum les concepts des bases de donn\u00e9es relationnelles (notion de tables, repr\u00e9sentation de l\u2019information en lignes et colonnes).<\/p><h2>Contenu du cours PowerDesigner\u00a0<\/h2><ol><li><h4>Concevoir une base de donn\u00e9es relationnelle (MCD)<\/h4><\/li><\/ol><p>Comment concevoir l&#8217;organisation des donn\u00e9es ?<br \/>Donner un cadre rigoureux avec les formes normales<br \/>Liens entre formes normales et Mod\u00e8le Conceptuel des Donn\u00e9es (MCD)<br \/>Vocabulaire (entit\u00e9, association, cardinalit\u00e9s)<br \/>L&#8217;impact des choix du concepteur<br \/>Exemples de mod\u00e8les rencontr\u00e9s dans des projets professionnels<br \/>Diff\u00e9rences de philosophie avec les bases dites NoSQL<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>Conception et mod\u00e9lisation d\u2019une base de donn\u00e9es (MCD) sur papier.<\/em><em><br \/>Le formateur propose des variantes fonctionnelles dans l\u2019application propos\u00e9e et nous observons en quoi notre conception est impact\u00e9e. L\u2019id\u00e9e est \u00e9videmment d\u2019apprendre \u00e0 les anticiper pour minimiser l\u2019impact sur la d\u00e9structuration de la base.<\/em><\/p><ol><li><h4>Prise en main de PowerDesigner<\/h4><\/li><\/ol><p>Vue g\u00e9n\u00e9rale de l\u2019outil et de ses composants<br \/>Vocabulaire de PowerDesigner<br \/>Comprendre l\u2019architecture technique (repository)<br \/>Cr\u00e9ation d\u2019un MCD sous PowerDesigner<br \/>Premiers pas avec le r\u00e9f\u00e9rentiel de m\u00e9tadonn\u00e9es<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>Mise en \u0153uvre du MCD pr\u00e9c\u00e9dent avec PowerDesigner<\/em><em><br \/>Utiliser le r\u00e9f\u00e9rentiel de donn\u00e9es pour renseigner les contraintes d\u2019int\u00e9grit\u00e9s fonctionnelles.<\/em><\/p><ol><li><h4>Cr\u00e9ation physique de la base<\/h4><\/li><\/ol><p>Les r\u00e8gles de transformations du mod\u00e8le conceptuel au mod\u00e8le physique<br \/>Compromis et conseils d\u2019optimisation<br \/>Pr\u00e9sentation du langage SQL basique (type de donn\u00e9es, cr\u00e9ation de tables)<br \/>Un petit mot sur la g\u00e9n\u00e9ricit\u00e9 du SQL entre les SGBDR (Oracle, MySQL, SQL Server, etc.)<br \/>Compl\u00e9ments SQL simples (insertion, extraction, jointure)<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>G\u00e9n\u00e9ration d\u2019un script SQL permettant la cr\u00e9ation de la base de donn\u00e9es fil rouge de nos ateliers.<\/em><em><br \/>Insertion de donn\u00e9es dans notre base et requ\u00eates simples pour tester la coh\u00e9rence de notre mod\u00e8le<br \/>Test de ce script dans un environnement Oracle puis MySQL<\/em><\/p><ol><li><h4>Reverse Engineering avec PowerDesigner<\/h4><\/li><\/ol><p>Comment mod\u00e9liser une base existante non document\u00e9e ?<br \/>La r\u00e9ponse propos\u00e9e par PowerDesigner<br \/>Points \u00e0 surveiller<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>Cr\u00e9ation d\u2019un mod\u00e8le conceptuel de donn\u00e9es \u00e0 partir d\u2019une base de donn\u00e9es existante.<\/em><\/p><ol><li><h4>Le r\u00e9f\u00e9rentiel<\/h4><\/li><\/ol><p>Architecture du r\u00e9f\u00e9rentiel (objets, utilisateurs, permissions)<br \/>Parcourir le r\u00e9f\u00e9rentiel (dossiers, propri\u00e9t\u00e9s)<br \/>Consolidation de documents dans le r\u00e9f\u00e9rentiel<br \/>Extraction de documents du r\u00e9f\u00e9rentiel<br \/>Versions de document<br \/>L\u2019acc\u00e8s universel avec le client PowerDesigner Web<br \/>Le portail PowerDesigner (partage de mod\u00e8les avec un large public)<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>Partage de documents dans le r\u00e9f\u00e9rentiel (soumission\/validation). R\u00e9solution des conflits<\/em><em><br \/>Utilisation du client PowerDesigner Web depuis un appareil mobile pour tester l\u2019espace de travail priv\u00e9 (diagramme envoy\u00e9 pour validation, recherche, etc.)<\/em><\/p><ol><li><h4>G\u00e9n\u00e9rer des rapports avec PowerDesigner<\/h4><\/li><\/ol><p>Vue g\u00e9n\u00e9rale sur les diff\u00e9rents types de rapport (mod\u00e8le, tabulaire, multimod\u00e8les)<br \/>Les diff\u00e9rents formats disponibles (HTML, RTF)<br \/>Les diff\u00e9rents mod\u00e8les standards<br \/>Les propri\u00e9t\u00e9s d\u2019un rapport<\/p><p><strong><em>Atelier :<\/em><\/strong><\/p><p><em>Cr\u00e9ation d\u2019un mod\u00e8le de rapport personnalis\u00e9<\/em><em><br \/>Mise en \u0153uvre avec notre mod\u00e8le fil rouge au format HTML<\/em><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9\u00e9 en 1974, le SQL (pour Structured Query Language) est un langage informatique normalis\u00e9 servant \u00e0 exploiter des bases de donn\u00e9es relationnelles. Ce langage informatique est notamment tr\u00e8s utilis\u00e9 par les d\u00e9veloppeurs web pour communiquer avec les donn\u00e9es d\u2019un site web. Rapidement devenu incontournable dans le paysage informatique en tant que langage de r\u00e9f\u00e9rence pour [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12451","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/pages\/12451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/comments?post=12451"}],"version-history":[{"count":32,"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/pages\/12451\/revisions"}],"predecessor-version":[{"id":12633,"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/pages\/12451\/revisions\/12633"}],"wp:attachment":[{"href":"https:\/\/705consulting.com\/index.php\/wp-json\/wp\/v2\/media?parent=12451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}