1

Créer des associations et ajouter des cardinalités : Support de cours

Support de cours : Créer des associations et ajouter des cardinalités

Les associations

Créer une association

Une association permet d'indiquer les liens existant entre deux entités. Pour ajouter une association sur un schéma, on relie un ovale à deux entités. Cet ovale doit contenir un mot qui décrit le lien entre les entités. Généralement on utilise un verbe à l'infinitif. Si on reprend notre exemple des animaux on peut dire que les espèces vivent sur des continents. On peut aussi dire que les photos illustrent des espèces.

Ajouter des propriétés à une association

Lorsqu'une métadonnée est en dépendance fonctionnelle avec les identifiants des entités qui entourent une association, il est possible de placer cette métadonnée à l'intérieur de l'association. Dans l'exemple sur les espèces, la métadonnées "nombre de spécimens" est en dépendance fonctionnelle à la fois avec l'identifant d'une espèce et l'identifiant d'un continent. Elle devient donc une propriété de l'association "vivre" comme dans le schéma ci-dessous :

Une fois que toutes les métadonnées ont été placées sur le schéma conceptuel, il faut y ajouter les cardinalités

Les cardinalités

Les cardinalités sont les couples de chiffres qui entourent les associations. Elles permettent de chiffrer le nombre de relations minimum et maximum entre les occurences des entités qui entourent l'association.

Pour ajouter la cardinalité entre une entité et une association, on construit, à partir de la description de la réalité, la phrase suivante :

Une occurence de l'entité +  verbe de l'association + au minimum x fois et au maximum y fois + autre entité.

Les cardinalités correspondent au x et au y qui peuvent prendre comme valeur "0", "1", ou "N" qui signifie plusieurs. Dans certains cas, il est possible de remplacer "N" par un nombre mais c'est relativement rare. De plus, mettre une valeur plus précise que "N" n'aura pas d'impact sur la construction de la base de données.

Exemple

Nous allons construire les cardinalités du schéma sur les animaux. Pour cela nous avons besoin de la description du site

Ce site a besoin d’une base de données qui stocke des informations sur des espèces d’animaux éteintes ou non (identifiant, nom, description, taille moyenne). Il indiquera les différents continents sur lesquels on peut trouver les différentes espèces. Si une espèce vit sur un continent, alors le site indiquera une estimation du nombre d’animaux sur ce continent. Pour chaque espèce, le site pourra disposer de plusieurs photos. Il est possible qu'une espèce ne soit illustrée par aucune photo. Chaque photo n'illustrera qu'une seule espèce. Les photos ne seront pas stockées directement dans la base de données. Par contre leur url et une description y seront.

Comme sur le schéma, il y a deux associations, nous aurons besoins de quatre cardinalités (1 de chaque côté des deux associations) .

Association "Vivre" et l'entité "Espèces". 

Une espèce vit sur au minimum sur 0 et au maximums sur plusieurs continents. 

Pour le minimums, nous avons choisi "0", car la description parlent d'espèce éteintes. Pour le maximum nous avons choisi "n" car une espèce peut vivre sur plusieurs continents. Nous aurions remplacer "n" par 5 car il n'y a que 5 continents sur terre. Pour la création de la base de données, mettre 5 ou "n" n'a pas d'importance. 

La cardinalité est donc 0,N et est placée entre l'entités "Espèces" et l'association "Vivre" comme dans le schéma ci-dessous :

Association "Vivre" et l'entité "Continents". 

Pour cette association, on s'occupe d'une occurence de l'entité 'Continents".

Sur un continent vit au minimum 0 espèces et au maximum plusieurs.

Pour le minimum, nous avons choisi 0, car il possible que le site ne contienne aucun animal d'un continent. Pour le maximum nous avons choisi plusieurs, car il doit être possible d'avoir sur le site plusieurs animaux qui vivent sur le même continent. La cardinalité est donc 0,N.

Association "Illustrer" et l'entité "Espèces".

La description du site indique Pour chaque espèce, le site pourra disposer de plusieurs photos. Il est possible qu'une espèce ne soit illustrée par aucune photo. Donc on peut écrire "Une espèce est illustrée par au minimum 0 photo et au maximum plusieurs. La cardinalité est donc 0,N

Association "Illustrer" et l'entité "Photos".

Les photos servent à illustrer des espèces. Cependant la description dit "Chaque photo n'illustrera qu'une seule espèce." On peut donc en déduire qu'une photo illustre au minimum 1 espèce et au maximum 1 seule. La cardinalité est donc 1,1.

 

Les différents types d'associations

Les cardinalités qui entourent une association permettent de distinguer deux types d'associations : les associations "1 à plusieurs" et les "plusieurs à plusieurs". Pour distinguer le type d'une association il faut regarder les maximums (le chiffre de droite) des cardinalités qui entourent l'association.

Si un des maximum est "1" alors l'association est du type "1 à plusieurs". Si tous les maximums sont des "N" alors l'association est du type "plusieurs à plusieur". 

A savoir : considérez les chiffres supérieurs à 1 comme des "N"

Le type d'association à deux conséquences :

  1. Seules les associations plusieurs à plusieurs peuvent avoir des propriétés
  2. Par la suite nous verrons que les relations "plusieurs à plusieurs" deviennent des tables alors que les relations "1 à plusieurs" sont transformées en clé étrangère.

Il est donc primordial de bien chiffrer les cardinalités.

Les cas surprenants

Il est tout à fait possible de relier des entités par plusieurs relations. Par exemple, si en plus de stocker les continents sur lesquels vivent les espèces, nous voulions stocker le continent d'origine d'une espèce nous pourrions avoir une deuxième relation entre Espèces et Continent :

Il est aussi possible qu'une association relie une entité à elle même. Toujours dans notre exemple d'animaux, nous pourrions vouloir stocker les espèces qui chassent une autre espèce. 

Ce type d'association s'appelle une association recursive.

Nous savons maintenant construire un schéma relationnel. Nous allons maintenant étudier "les formes normales" qui sont des règles qui permettent de vérifier si notre schéma est correctement construit.



Cours validé