Création de bases de données - exercice

Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Apprendre MySQL 8.0 par la pratique
Revoir le teaser Je m'abonne
Transcription

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

DescriptionProgrammeAvis

Cette leçon fait partie de la formation
89,00€ Je commande

Formation incluse dans l'abonnement Elephorm Je m'abonne à Elephorm

Être capable de créer et exploiter une base de données MySQL au quotidien de manière autonome.

Cette formation a été conçue à destination d'un public sans connaissances préalables sur les bases de données, avec l'ambition de transmettre les notions fondamentales permettant d'entrer sereinement et efficacement dans l'univers des bases de données, et d'exploiter MySQL au quotidien de manière autonome.

Elle permet de tirer parti de logiciels de qualité conçus spécialement pour travailler avec les bases de données : MySQL Workbench et Datagrip.

Elle met l'accent sur la pratique, et comprend de nombreuses démonstrations, mises en situations, exercices corrigés et commentés.

Elle met à disposition en ressources téléchargeables 3 bases de données portant sur des thèmes variés (médicaments vétérinaires, sécurité routière, prénoms), les scripts SQL des démonstrations les plus longues, et intègre un code promotionnel vous permettant de bénéficier d'une prolongation à 4 mois de la période d'essai gratuite de Datagrip.

Voir plus
Dans cette vidéo, je vous propose de créer la base de données Prénom. Pour ce faire, j'ai mis à disposition un certain nombre de ressources. Alors vous avez pour commencer un lien que vous pouvez trouver ici qui vous renvoie vers le site de l'INSEE. Vous arrivez donc sur cette page et vous avez la possibilité de télécharger un certain nombre de fichiers, d'accéder à de la documentation sur la source de données et d'accéder à un dictionnaire des variables. Alors, pour la base de données Prénom, j'ai utilisé les prénoms à partir du fichier département de naissance. Donc vous pouvez, si vous le souhaitez, télécharger ce fichier CSV ou alors télécharger le fichier que j'ai mis à votre disposition qui reprend une grosse partie des données de ce fichier et qui vous épargne un certain nombre d'inconvénients. Donc je vous suggère d'utiliser plutôt le fichier que je vous ai fourni. Cependant, vous trouverez dans ce site web toutes les informations dont vous pourriez avoir besoin pour structurer votre base de données. Dans les fichiers que j'ai mis à votre disposition, vous trouverez également des informations sur les départements et les régions. Précisément, la liste des départements et la liste des régions et un autre fichier qui établit la correspondance entre les deux. Alors voyons voir ces fichiers. Donc j'ai mis à votre disposition quatre fichiers. Le fichier prénom qui contient les informations issues du site de l'INSEE et puis un fichier département qui contient la liste des départements, un fichier région qui contient la liste des régions, un fichier département région qui contient les correspondances entre les deux. Alors on peut regarder par exemple le fichier prénom. Dans ce fichier qui est un fichier CSV même s'il est affiché de manière tabulaire dans ce classeur Excel, vous avez donc cinq colonnes. Le sexe, le prénom, l'année, le département et le nombre. Globalement, je ne vous donne pas plus d'informations sur ce document. Vous trouverez toutes les informations nécessaires dans le site de l'INSEE. Ce qui est important quand on crée une base de données, c'est aussi d'être capable de valoriser des sources de données d'origines variées et les informations qui les accompagnent. Donc je vous laisse valoriser ces informations. Une fois que vous aurez créé la structure de votre base de données, je vous invite à créer une nouvelle datasource dans DataGrip spécifiquement dédiée à cette base de données et ensuite à me trouver la liste des cinq prénoms les plus attribués à la naissance à des filles au cours de ces 20 dernières années dans la région Pays de Loire. Vous avez pas mal de choses à faire. Je vous laisse vous mettre à l'œuvre. Mettez la vidéo en pause ou arrêtez-la puisque dans quelques instants, je vous donne ma solution pour chacune de ces étapes. J'espère que vous avez réussi à tirer parti des différentes ressources qui ont été mises à votre disposition et je vous montre comment je procède pour solutionner cet exercice étape par étape. En ce qui me concerne, j'avais déjà créé une datasource prénom. Je vais la supprimer en cliquant « Remove ». Je vais travailler dans la console de la datasource que j'ai créée précédemment lors de la vidéo précédente et qui me permet d'accéder aux serveurs de bases de données sans précision ultérieure sur la base de données. Il n'empêche que sur mon serveur de bases de données, j'ai déjà une base de données prénom. Je l'avais déjà importée. Vous, vous ne l'avez pas. Je vais supprimer cette base de données avec l'instruction « Drop database ». Vous, vous n'avez pas à faire cette étape. Cette base de données a été supprimée. Maintenant, il ne me reste plus qu'à la créer. Pour la créer, je vais utiliser l'instruction « Create database » suivie du nom que je veux attribuer à cette base de données. Je précise le carcet et la collation ici. C'est facultatif. Ma base de données est créée. Je vais indiquer que je veux travailler avec cette base de données. Ensuite, je vais créer un certain nombre de tables. Vous avez dû comprendre qu'il y avait quatre tables à créer. Je vais commencer par la table « Département ». Pour quelles raisons ? Étant donné que je vais la valoriser, et notamment sa clé primaire dans la table « Prénom », il faut que la table « Département » soit créée en premier. Vous avez pu voir qu'il n'y avait que deux colonnes dans cette table. Une colonne qui comporte le numéro du département. Ce n'est pas tout à fait complet ni exact, puisqu'on n'a pas dissocié, par exemple, la Haute-Corse et la Corse du Sud. Pour la bonne et simple raison que les enregistrements ont commencé en 1900, et à cette époque, il n'y avait pas de distinction entre 2A et 2B. La distinction s'est faite en 1976. Jusqu'à cette époque, le numéro du département Corse, c'était 20. J'ai conservé ce numéro de département dans la table « Département ». Je crée la table « Département ». Ensuite, je vais créer la table « Prénom ». Vous avez pu valoriser les informations fournies par le site de l'INSEE, notamment le dictionnaire de variables. Je crée une table avec une colonne ID, qui me servira de clé primaire. Le sexe, il était précisé que ça pouvait être soit 1 soit 2. 1 pour un garçon, 2 pour une fille. Je rajoute ici une contrainte check, c'est plus propre. Ça suppose aussi que votre jeu de données ne soit pas corrompu, c'est-à-dire qu'on n'ait pas d'autres valeurs que 1 et 2. Autrement, vous ne réussirez pas à faire les insertions. J'ai considéré qu'un tiny int était amplement suffisant. Pour le prénom, on nous disait qu'il comportait au plus 25 caractères, donc j'ai mis un varchar de 25. L'année, j'ai mis un small int. Effectivement, on a un nombre qui peut dépasser ce que peut stocker un tiny int, même unsigned. J'ai mis un small int, unsigned, et j'ai indiqué que l'année devait être comprise entre 1900 et 2021 avec une contrainte check. Ensuite, je rajoute une colonne varchar de 3 qui va stocker la référence du département. Remarquez qu'ici, c'est la première fois qu'on le fait dans cette formation, on utilise une clé primaire qui n'est pas un int. On peut utiliser d'autres types que des entiers. Ce qui compte, je le répète, c'est que le type qui est utilisé dans la table département pour déclarer la clé primaire soit le même que celui qu'on utilise ici pour y faire référence. Donc département ID, c'est la colonne qui fera office de clé étrangère dans la table prénom. Je rajoute ensuite une colonne nombre qui va stocker le nombre d'enfants qui se sont vus attribuer le prénom cette année-là. Je rajoute une contrainte de clé étrangère portant sur la colonne département ID et référençant la colonne ID de la table département. Et puis je configure ma contrainte de clé étrangère pour faire en sorte que j'ai une suppression, une mise à jour en cascade lorsque j'apporte des modifications ou lorsque je supprime un département. Donc je peux bien sûr créer cette table et ensuite je vais m'attaquer à la région, donc très proche de la structure de la table département. Donc on crée cette table, pas de problème particulier. Et en ce qui concerne la table département région, vous avez compris qu'il s'agissait d'une table permettant d'effectuer finalement une jointure entre les départements d'une part et les régions d'autre part. Dans cette table, je crée simplement deux colonnes, une qui va stocker l'ID du département, une qui va stocker l'ID de la région. Je crée sur cette table une clé primaire composite qui repose sur ces deux colonnes. Chacune de ces colonnes est également une clé étrangère, donc je crée deux contraintes de clé étrangère. Une première qui s'applique à la colonne département ID et qui fait référence à la table département, notamment sa colonne ID. Une deuxième qui porte sur la région ID qui fait référence à la table région et notamment sa colonne ID. Je peux donc créer cette table. Ensuite, la question qu'on se pose, c'est comment dans ce cas créer une datasource pour accéder à la base de données. Comme on a fait précédemment, on va faire ici datasource pour MySQL, donc on garde le même hôte, le même port, on va garder l'utilisateur route, on va garder le mot de passe qu'on avait utilisé précédemment et pour la base de données, on va utiliser celle qu'on vient de créer. On va tester la connexion. Tout se passe bien, donc je peux créer cette datasource et ensuite travailler à partir de là. Seulement, si on regarde le contenu de cette datasource, eh bien, on a effectivement nos quatre tables, mais par contre, chacune de ces tables est vide et c'est logique puisque du coup, on n'a fait que définir leur structure, on n'a pas importé de données. Vous avez peut-être fouillé dans DataGrip et trouvé le moyen d'importer des données, ça se trouve assez rapidement. Si toutefois, vous n'y êtes pas parvenu, je vous montre comment est-ce qu'on procède. On sélectionne la colonne dans laquelle on veut importer des données, on fait un clic droit et puis ensuite, dans Import ou Export, on va aller choisir Import Data from Files et là, on va aller choisir les fichiers qui nous intéressent. En l'occurrence, sur la table Département, je veux importer les données du fichier CSV, donc je vais cliquer ici et ensuite, on va définir les conditions d'import. J'indique que mon fichier est bien un fichier CSV, que les valeurs sont séparées par des virgules, qu'il y a un caractère, donc nouvelle ligne, à la fin de chaque rangée et en particulier, il y a un détail qui est important, c'est que je dois indiquer que la première ligne dans mon dataset, dans mon fichier CSV, est une ligne d'entête. On voit ici que DataGrip a été capable d'établir une correspondance entre les colonnes de ma table et celles qui se trouvent dans le fichier CSV et c'est assez simple pour lui puisque du coup, elles portent le même nom. Je précise que le fichier est encodé en UTF-8 et à partir de là, je peux faire l'import de mes données dans mon fichier. Si je vérifie ensuite en double-cliquant, je vois que j'ai importé mes données dans mon fichier département. Je vais faire pareil pour Régions, donc on fait Import, je vais choisir le fichier Régions, par défaut, DataGrip se souvient de la configuration de l'import précédent, donc en fait, j'ai juste à m'assurer que ça convient bien, je porte mes Régions, ça a marché. Je peux importer de la même manière la correspondance entre les deux, Département, Régions, ok, ça fonctionne bien également et Prénom. Alors, pour Prénom, ça va prendre un petit peu plus de temps puisqu'on a quasiment 4 millions de lignes dans notre fichier, c'est d'ailleurs pour ça qu'il est aussi lourd, donc on va faire de la même manière cet import, on va choisir le fichier Prénom et donc on s'assure que tout convient bien. Alors, on a une colonne de plus dans notre table par rapport à notre fichier CSV, c'est l'ID, on a choisi un entier auto-incrémenté, donc on n'a pas à se soucier de la valeur qui va être attribuée à chaque enregistrement pour cette colonne dans notre table Prénom. Le mapping est fait comme il faut, entre les données du fichier CSV et les colonnes de notre table, donc on n'a plus qu'à faire un import. On s'est assuré qu'on était bien en UTF-8, donc l'import a lieu. Je vais très certainement accélérer un petit peu la vidéo parce que ça va prendre un petit peu de temps. Et voilà, donc l'import s'est fait sans aucune erreur, donc c'est parfait. On peut s'assurer que notre table Prénom contient désormais un certain nombre d'enregistrements, donc ça veut dire qu'à partir de là, on va pouvoir répondre à la question qui était posée initialement, trouver les 5 prénoms féminins les plus attribués ces 20 dernières années dans la région Pays-de-la-Loire. Alors, je peux exécuter le script dans cette console-là qui est associée à la datasource locale host. Bon, ce serait mieux malgré tout maintenant de le faire sur la datasource associée à la base de données Prénom, donc je vais rouvrir une console ici et coller le script qui me permet d'avoir le résultat. Alors, je ne détaille plus désormais ce script puisque on a largement travaillé sur toutes les instructions, toutes les composantes qui forment cette instruction. Je peux l'exécuter et donc j'obtiens le résultat. Les 5 prénoms les plus attribués à des filles ces 5 dernières années dans la région Pays-de-la-Loire sont dans l'ordre Emma, Manon, Jade, Louise et Léa. Maintenant, si vous attendez une fille et que vous cherchez un prénom original, vous savez comment procéder.

Programme détaillé

Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Unions 06:39
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Je commande Je m'abonne
Nos dernières formations Code & Data
  • Nouveau
    Maîtriser FlutterFlow - De l'Idée à l'Application
    Découvrir
    Cette formation en FlutterFlow est l'outil idéal pour tout développeur souhaitant créer des applications mobiles robustes et interactives sans coder de manière complexe. Grâce à des modules complets et structurés, vous apprendrez à utiliser FlutterFlow et Firebase, à sécuriser vos données, à concevoir des interfaces utilisateur élégantes et à intégrer des API telles qu'OpenIA. Rejoignez-nous pour transformer vos idées en applications innovantes et performantes.
    4h08 57 leçons
  • Nouveau
    Webflow - Créer la landing Page d'OpenAI
    Découvrir
    À l'issue de cette formation, les participants seront capables de créer de manière autonome une landing page sophistiquée, similaire à celle d'OpenAI, en utilisant les fonctionnalités avancées de Webflow pour le design responsive et les interactions.
    3h48 19 leçons
  • Apprendre Svelte 3 et SvelteKit 1.0
    Découvrir
    Créez des applications web modernes et ultra-rapides avec notre formation "Apprendre Svelte 3 et SvelteKit 1.0". Rejoignez-nous et devenez un expert du développement JavaScript ! 🚀 #Svelte #SvelteKit #DéveloppementWeb
    7h42 77 leçons
  • Apprendre Vue JS 3
    Découvrir
    Apprenez à créer des applications web modernes avec notre formation "Apprendre Vue JS 3". Rejoignez-nous et maîtrisez ce puissant framework JavaScript ! 🚀 #VueJS #FormationWeb #Développement
    11h47 91 leçons
  • Gratuit
    Apprendre ChatGPT
    Découvrir
    Ce cours vise à fournir une compréhension approfondie de l'intelligence artificielle, en se concentrant sur l'utilisation pratique de ChatGPT et DALL-E. Les participants découvriront comment l'IA peut transformer des domaines variés tels que le marketing, le développement web, et le design graphique. Le contenu couvre les bases de l'IA, l'art de créer des prompts efficaces, l'utilisation de plugins avancés, et le codage assisté par IA. Des projets pratiques permettront d'appliquer ces connaissances dans des scénarios réels. Destiné aux professionnels de la technologie, aux marketeurs, aux développeurs, et à toute personne intéressée par l'IA, ce cours est une opportunité d'acquérir des compétences innovantes et applicables dans divers contextes professionnels et créatifs. Les prérequis incluent une compréhension basique de l'informatique et un intérêt pour l'IA. Le cours promet une aventure d'apprentissage enrichissante, ouvrant de nouvelles perspectives dans l'utilisation de l'intelligence artificielle.
    3h12 30 leçons

éditeur de vidéos pédagogiques

Des supports pédagogiques en vidéo, produits avec les meilleurs experts. Dans nos studios à Paris, Lyon ou Montpellier. Vous souhaitez travailler avec nous ?
image-micro