Exercice de conception de BDD N°3

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 cet exercice de conception de bases de données, j'aimerais que l'on puisse faire évoluer notre base de données pour prendre en compte un certain nombre d'indications de médicaments. Jusqu'ici, on avait une relation entre les médicaments et les animaux par le biais de la table MEDOC ANIMAUX. Si on regarde un petit peu sa structure, on voit qu'elle contient uniquement deux colonnes qui servent à la fois de clé primaire, la clé primaire étant composite constituée de ces deux colonnes, et deux clés étrangères pour chacune d'entre elles. Mais on n'a aucune information sur les indications. Un médicament peut être utilisé dans une espèce donnée pour 0, 1 ou plusieurs indications. De la même manière, une indication peut être satisfaite dans une espèce animale donnée par 0, 1 ou plusieurs médicaments. Enfin, un médicament peut être utilisé dans une indication pour 0, 1 ou plusieurs espèces animales. En ayant ces règles métiers en tête, on peut chercher à implémenter la prise en compte des indications dans notre base de données. Pour ce faire, je vous ai mâché le travail, c'est-à-dire que j'apporte déjà deux propositions. On commence par créer une table à indications qui va rassembler toutes les indications. Ensuite, je vous propose deux options. Ce que je vous demande dans cet exercice, c'est de me dire, globalement, quels sont les avantages et inconvénients de chacune de ces options, et finalement, quelle est celle qu'on va avoir le plus intérêt à utiliser. Mettez la vidéo en pause, réfléchissez-y quelques instants, et dans un instant, je vous explique comment est-ce que je procède. Si on regarde ces deux propositions, elles sont assez proches l'une de l'autre. On constate qu'elles ont en commun d'avoir trois colonnes qui contiennent respectivement l'ID du médicament, l'ID de l'animal et l'ID de l'indication. Ces colonnes sont toutes du même type, int not null, et on a, pour chacune d'entre elles, trois contraintes de clé étrangère qui lient la table Usage aux tables Médoc, Animaux et Indications. C'est valable ici, et c'est valable ici. Là où ces deux tables diffèrent, c'est dans l'implémentation des contraintes de clé primaire. Puisque dans la première proposition, je confie la clé primaire à une colonne spécifique, qui est un entier non nul auto-incrémenté, et dans la deuxième proposition, je choisis de créer une clé primaire composite, un peu comme on l'avait fait dans la table Médoc, Animaux, ici, sauf qu'au lieu d'être composée de deux colonnes, cette fois-ci, elle est composée de trois colonnes. Rappelez-vous qu'une clé primaire, c'est un index, et c'est une colonne non nulle qui est unique. Ça veut dire qu'on ne pourra pas avoir, par exemple, dans notre table Usage, deux enregistrements pour lesquels on a les mêmes valeurs de MédocID, AnimalID et IndicationID. Mais c'est aussi le cas dans la première table, parce qu'ici, j'ai rajouté un index unique qui porte sur ces trois colonnes. Ça aura le même effet. En réalité, la différence qu'il y a entre ces deux tables, c'est l'usage qu'on va pouvoir faire de la clé primaire. Si je dois, par exemple, utiliser la clé primaire de la table Usage quand elle est stockée dans cette colonne ID, ce sera probablement plus facile à faire que si je dois utiliser une clé composite constituée de ces trois colonnes. La question est de savoir si on doit, si on pense, que dans les évolutions à venir de la base de données, on aura à utiliser cette clé primaire. Si c'est le cas, il est mieux venu, il est plus intéressant d'utiliser cette implémentation. Si on pense qu'a priori, on n'aura pas à faire évoluer notre base de données dans ce sens, alors à ce moment-là, on peut choisir cette possibilité-là. Moi, j'opterais plus volontiers pour la première, étant donné qu'on peut très bien penser que pour une même indication, pour un médicament donné et pour une espèce animale donnée, on peut, par exemple, avoir plusieurs voies d'administration. Et pour chaque voie d'administration, on peut avoir plusieurs posologies, par exemple. Donc, il est peut-être plus prudent d'opter pour cette solution-là. D'une manière générale, il est vrai que les clés primaires composites sont intéressantes, mais qu'elles apportent parfois de la lourdeur dans la syntaxe de nos instructions SQL, notamment lorsqu'on est amené à les valoriser.

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
    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
  • Créer sa boutique de e-commerce avec Shopify
    Découvrir
    À la fin de cette formation, vous aurez les compétences nécessaires pour créer et gérer votre propre boutique de e-commerce prospère avec Shopify. Transformez vos idées en succès commercial en ligne ! 
    4h10 39 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