Exercice de conception de BDD N°2

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
Cet exercice fait suite au précédent, dans lequel je vous ai présenté trois propositions. J'aimerais que vous analysiez les trois propositions que je vous ai faites. Pour rappel, il s'agissait de classer les médicaments par famille et par sous-famille. Donc, mettez la vidéo en pause et réfléchissez aux différences qu'il peut y avoir entre les trois solutions que je vous ai proposées, les avantages et les inconvénients de chacune d'entre elles. Et dans un instant, je vous montre quelle analyse je fais de ces trois propositions. Alors, pour analyser ces trois propositions, il faut avoir en tête que les besoins peuvent évoluer. On a fait évoluer précédemment notre application pour que l'on puisse classer nos médicaments par famille et par sous-famille. Mais, et si une sous-famille pouvait elle-même être décomposée en d'autres sous-familles? Et c'est effectivement le cas. Par exemple, je peux vous montrer ici une nouvelle version du tableau que je vous ai présenté dans l'exercice précédent, dans lequel on a une hiérarchie plus profonde de classement des médicaments, des substances actives. Jusqu'ici, on s'était intéressé à deux profondeurs, niveau famille, sous-famille. Ici, on a trois niveaux, puisque du coup, les bétalactamines sont elles-mêmes décomposées en pénicilline, A, G, M et en céphalosporine. Et ça va encore plus loin, parce que les céphalosporines, on peut encore les décomposer en première génération, deuxième génération, etc. Donc, le premier critère d'analyse, ça va être de savoir si ces trois propositions que je vous ai faites vont être capables de s'adapter pour que l'on puisse utiliser une hiérarchie plus profonde, c'est-à-dire une hiérarchie à trois ou quatre niveaux dans le classement des substances actives. Un autre point sur lequel j'aimerais attirer votre attention, c'est que jusqu'ici, on a dit qu'une substance était associée à une sous-famille, mais on a également dit qu'une famille pouvait très bien ne contenir aucune sous-famille. Alors, dans ce cas, on peut se dire, il faut aussi que l'on puisse associer une substance à une famille, si cette famille ne contient aucune sous-famille. La question est, est-ce que, parmi les trois propositions, toutes vont être capables de nous permettre d'associer une substance à une famille ? C'est ce qu'on va voir. On va revenir sur la première proposition, dans laquelle on crée une unique table nommée groupe, dans laquelle on stockait aussi bien des familles que des sous-familles. Donc, on va recréer cette table pour apporter quelques compléments. Donc, si l'on devait rajouter un niveau supplémentaire de ramification dans notre hiérarchie, il y aurait ici de rajouter une colonne. C'est faisable, le problème c'est que ça nous oblige à modifier la structure de notre base de données, notamment la structure de cette table MEDOC, et par ailleurs, ça nous impose d'avoir aussi un certain nombre d'enregistrements en doublons, en tout cas des colonnes qui contiennent des données en doublons. Typiquement, si je devais avoir 10 sous-familles dans chaque sous-famille, très clairement, j'aurais 100 enregistrements avec la même valeur dans la colonne famille. Donc, ce n'est pas formidable, parce que si on doit faire une mise à jour, c'est une mise à jour qui doit s'appliquer sur ces 100 valeurs. En revanche, on peut, avec ce système, associer une substance active avec une famille directement. Si dans l'enregistrement, je n'ai pas de sous-familles ou de sous-sous-familles associées à une famille, on aura une association avec une famille. Alors, ça fonctionne, ce n'est pas forcément optimal, comme on peut le voir, mais c'est jouable. Voyons voir la deuxième possibilité. On va commencer par supprimer les tables qu'on a déjà créées, et se souvenir comment est-ce qu'on avait procédé. Dans cette proposition, on avait créé une table pour les familles et une table pour les sous-familles. On voit bien déjà que si on doit avoir un niveau hiérarchique supplémentaire, ça nous imposera de créer une table supplémentaire avec, de nouveau, une clé étrangère à implémenter. Et ça, c'est dans l'hypothèse où il n'y a qu'un seul niveau hiérarchique supplémentaire. On peut très bien avoir 15 niveaux hiérarchiques. Très clairement, on voit que ce n'est pas une solution qui est très scalable. Ensuite, on voit que dans notre table substance B, on était associé uniquement avec une sous-famille. Donc, ça veut dire que s'il fallait associer une substance avec une famille et non pas avec une sous-famille, il faudrait rajouter une colonne, et alors ça poserait aussi des problèmes de concordance, de cohérence, c'est-à-dire qu'il faudrait forcément que la valeur stockée dans la colonne sous-famille désigne une sous-famille qui correspond à la famille dont l'ID est stockée dans la colonne famille ID. Donc, ça devient un petit peu laborieux à implémenter. Je vous préconise de ne pas utiliser cette solution. La dernière possibilité, c'est d'utiliser une auto-jointure sur la table famille. On va recréer cette table avec les données qu'elle contient, juste pour pouvoir discuter de cette proposition. On voit ici que finalement, rien ne nous empêche d'avoir un niveau hiérarchique avec 15 niveaux de classement. Donc, c'est particulièrement intéressant lorsqu'on ne sait pas à l'avance combien il va y avoir d'étages dans notre hiérarchie. Ensuite, on peut très bien associer une substance à une famille, à une sous-famille, à une sous-sous-famille, donc c'est extrêmement souple. Donc, très clairement, c'est la solution que je vous préconise d'adopter lorsque vous avez besoin d'implémenter un système de classement avec une hiérarchie à mettre en place.

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