SQL / MySQL en profondeur
What you'll learn
- Comprendre les requêtes SQL au travers de MySQL, outils le plus populaire de gestion de base de données relationnelles
- Un cours vivant, où l'on prend le temps d'aller en profondeur en multipliant les exemples réalistes et les explications
- Des cas pratiques pour voir des utilisations concrètes
- Travailler avec une ou plusieurs tables (unions, jointures de différents types)
- Manipuler des données aux travers de nombreux exemples réalistes, simples puis plus complexes
- Création des databases, tables, users, vues, fonctions, procédures ; CRUD : Create (insertion), Read (sélection), Update (mise à jour) Delete (suppression)
Requirements
- Un début d'expérience professionnelle ou personnelle des bases de données relationnelles est un plus, mais n'est pas indispensable
- Quelques notions de modélisations de bases de données peuvent servir (on revient sur les bases)
- Posséder un ordinateur (mac/win) et pouvoir installer quelques logiciels (gratuits, et optionnel: vous pouvez suivre sans faire les manipulations)
- Quelques notions basiques d'anglais peuvent aider...
Description
Introduction : Présenter ce qu'est une base de données, rappeler l'importance d'une bonne conception via la modélisation, présenter le SQL en bref, et les moyens de l'utiliser (seul, en ligne de commande, via MySQL Workbench ou PhpMyAdmin, couplé avec un langage tels php ou python...)
Installations : Installer les logiciels, gratuits, si vous désirez effectuer les manipulations (facultatif, mais fortement conseillé). Apprendre à effectuer des sauvegardes et des restaurations de vos données.
Définition des données : Créer les structures (bases, tables). Définir des champs avec leurs types. Ajouter des contraintes, des index. Modifier ces structures, les afficher. Y voir plus clair dans les jeux de caractères.
Manipulation des données : Maîtriser les opérations d'insertion, de suppression et de modification de données. Aborder les mises à jour calculées.
Interrogation des données : Faire connaissance avec l'instruction SELECT, pour afficher le contenu d'une table. Choisir ce que l'on affiche, dans quel ordre. Limiter le nombre de résultat. Effectuer des calculs.
L'art du WHERE : Affiner l'affichage en filtrant quels informations l'on souhaite. Effectuer des recherche selon de nombreux critères.
Utilisation des fonctions : Apprendre ce que sont les fonctions, et comment s'en servir. Passer en revue des fonctions utiles, selon leurs types (nombres, dates, chaînes de caractères, tests...). Utiliser les colonnes générées.
L'art du GROUP : Apprendre à regrouper les lignes pour effectuer des statistiques (somme, moyenne...). Concaténer des données en ligne. Construire des tableaux croisés.
L'art du NULL : Gérer l'absence de valeur dans un champs, et les conséquences de celle ci. Comprendre les précautions à prendre pour que tout ne soit pas null...
Utiliser plusieurs tables : Voir comment unir des tables pour mélanger des données. Relier des tables entre elles selon leurs clefs primaires et secondaires. Effectuer des sous requêtes. Dupliquer des tables.
Travailler avec des VUES : Voir comment effectuer des vues, c'est à dire des raccourcis vers des requêtes souvent complexes, pour éviter de les refaire. Étudier les tables temporaires.
Programmer : Survoler comment décupler les possibilités du langage en créant ses propres fonctions et procédures. Automatiser leurs exécutions via des déclencheurs et des évènements.
Contrôle de Transaction : Comprendre l'importance des notions ACID. Maîtriser les validations (commit) et le retour en arrière (rollback) dans des séries de transactions.
Administration Système : Étudier la gestion des utilisateurs et de leurs privilèges. Survoler les outils d'administration système. Comprendre les moteurs de stockage.
Cas pratiques : Observer une série de cas pratiques en mode démonstration, pour étudier la mise en oeuvre de SQL dans des situations concrètes et variées, utilisant python, R, la création de fonctions...
Bêtisier...
Who this course is for:
- Etudiants ou futurs étudiants en informatique souhaitant se former ou se renforcer en SQL/MySQL
- Développeurs (Php, python...) désireux de dépasser le stade des requêtes de base ou copiées/collées d'Internet
- Toutes personnes voulant ajouter "Sérieuses connaissances SQL/MySQL" à son CV
Instructor
Formateur web/mobile Full Stack, j'enseigne en présentiel depuis 2002 à l'IESA Multimedia (professeur référent Développeur Web/Wordpress et Développeur Mobile). J'ai également effectué des formations à l'Université Paris II et Université Paris VII, ainsi que dans d'autres centres de formations (Cifap, Pyramyd, K2 Formation...) et propose des tutoriels sur ma chaine Youtube...
Mes spécialités:
- le web côté client (html, css/sass, javascript...)
- le web côté serveur (php, wordpres, mysql, nodejs...)
- le développement d'applications mobiles (cordova, javascript...) ou desktop (electron...)
- la data et les base de données (modélisation, SQL, noSql, dataviz, python, R...)
- la gestion de projet
- et quelques connaissances dans la programmation de jeux vidéos (javascript, unity/c#...)