Bases de Données Relationnelles - Partie 3
Par Méthylbro le dimanche 9 novembre 2008, 00:53 - Tutoriels - Lien permanent
J'avais promis un tutoriel complet sur les principes simple de la création d'une Base de Données Relationnelle avec MySQL ...
Et voilà qu'au bout d'un mois, à cause de beaucoup de boulot et d'un gros poil dans la main je m'apercois que je n'ai rédigé que deux articles à ce sujet.
Je vais donc rattraper mon retard et vous proposer la suite. Aujourd'hui donc, après une Introduction au Base de Données Relationnelle ainsi qu'un premier article expliquant le concept simple de l'agrégation, je vais essayer d'expliquer le principe de la composition.
Si vous ne comprenez pas tout de suite ou je veux en venir ne vous inquiétez pas, des exemples concrets arrivent dans les billets à venir.
Composition
De même que l’Agrégation, il existe un autre type de relation entre deux entités qui permet de composer des éléments de façon plus complexe.
En effet, si l’Agrégation permet de modéliser au sein d’une base de données des liens unilatéraux entre des éléments elle deviens inutilisable dans des cas plus complexes. L’idée ici est de décrire qu’un élément A se compose d’un ensemble d’éléments B. Inversement, cet élément B sera composé d’une série d’éléments A.
Je sens que certains seront vite perdu avec ces explication hasardeuses, reprenons donc notre exemple de modélisation de constructions avec des Lego.
Pour définir une construction en Lego, nous admettrons que celle-ci est en fait un ensemble de briques, de diverses tailles, formes et couleurs assemblés les unes aux autres. Ce qui au final nous donne notre construction. Il s’agit donc d’un lien de composition entre nos entités BRIQUE et CONSTRUCTION.
Le modèle suivant décris ce comportement de façon simple : Une Construction est composée de Briques ou dans l’autre sens, un ensemble de Briques composent une Construction :

Ici vous devez lire ce schéma de la façon suivante :
Une Construction est composée de 0 ou plusieurs Briques.
Une Brique entre dans la composition de 0 ou plusieurs Constructions.
Porteuse de données
Cependant, la solution proposée imposera très vite ses limites pour certains cas. Par exemple ici, comment déterminer le nombre d’une même Brique nécessaire au sein d’une construction ?
Car comme nous le verrons plus loin lors de la création de notre base de données, l’intérêt de modéliser correctement est d’atteindre une intégrité parfaite de nos données. De ce fait il serait incongru de voir apparaitre une même occurrence de notre relation COMPOSER plusieurs fois.
Pour ce faire, nous utiliserons un cas particulier de la Composition : la relation porteuse de données. Ce cas ne s’applique qu’exclusivement aux relations « Composées ». Si lors de vos modélisations vous vous retrouvez avec une Agrégation porteuse de données, c’est que vous avez commis une erreur et que la donnée portée par la relation doit en réalité s’appliqué au sein d’une des entités reliées.
Pour illustrer le cas des relations porteuses de données, nous allons modifier notre exemple précédant en y ajoutant ceci :
Une Construction est composée de Briques. A chaque utilisation d’une brique dans notre construction, nous prendrons soin d’incrémenter la propriété « nombre » de la relation COMPOSER.

Commentaires
bonjour,
je suis venu sur votre site par hazard .. je ne sais pas trop comment demander ça mais je vais tenter d'expliquer mon problême. Je commence un stage lundi et on me demande de créer une base de données, client, fournisseurs et média... le problême cc'est que je n'ai absolument aucune idée de la façon dont on si prend.. Je sais que je vais surement paraître ridicule mais vous serait-il possible de m'envoyer par mail toutes les étapes une par une a faire pour la création de ma base de données.. Biensur rien ne vous y oblige mais vous auriez l'occasion d'aider une jeune fille en détresse et je vous promet de faire de la pub pour votre site. J'ai vraiment besoin de ces explications .
Merci d'avance.
Marine