Cours de travaux dirigés en introduction aux systèmes d’information

UFR AES Université Montpellier I (2006/2007)

Par Javier GIL QUIJANO (javiergquijano@gmail.com)

 

Retour à la page principale

 

Construction de la matrice de dépendance

 

Règles à suivre pour la construction de la Matrice de dépendance fonctionnelle

 

1.      Deux données sont en dépendance fonctionnelle, si la connaissance d’une valeur de la 1ère (donnée source) permet de déterminer la connaissance d’UNE ET SEULEMENT d’UNE valeur de la 2nde (donnée but).

Exemple : Supposons que un établissement universitaire est situé dans une et seulement dans une ville.  Si l’on connaît le nom d’un établissement on peut déterminer le nom ville où il est situé (il y a seulement une valeur de nom de ville possible).

 

-        Le nom de la ville (but) dépende fonctionnellement du nom de l’établissement universitaire (source). Ex. : NomEtablissement è NomVilleEtablissement (L’université Montpellier I est situé à Montpellier).

 

-        Dans le sens inverse il n’y a pas de dépendance fonctionnelle : si l’on connaît le nom de la ville on peut connaître PLUSIEURS noms d’universités au lieu d’un seul. A Montpellier il existe les universités Montpellier I, Montpellier II, Montpellier III

 

2.      Toute donnée dépende fonctionnellement d’elle-même : Ceci est noté par une * dans la matrice de dépendance fonctionnelle

 

3.      Les constantes ne dépendent pas fonctionnellement d’autres données : Les constantes ne sont pas le but d’aucune dépendance fonctionnelle

 

4.      Toutes les données (à l’exception des constantes et des identifiants) doivent être le but d’une dépendance fonctionnelle : La matrice de dépendance fonctionnelle ne doit pas faire apparaître des lignes sans 1 (à l’exception des lignes contenant de constantes et des identifiants).

 

5.      Toutes les données ne doivent dépendre fonctionnellement que d’UNE et SEULEMENT UNE donnée : Dans chaque ligne de la matrice ne doit avoir qu’un 1. Si une donnée est le but de plusieurs dépendances fonctionnelles, on choisit une des dépendances et on élimine les autres.

 

6.      Si l’on arrive pas a placer des dépendances fonctionnelles dans toutes les lignes, même après l’ajout de nouveaux identifiants, il existe deux possibilités : soit la donnée appartient à une RELATION, soit cette donnée n’est pas pertinente et il faut donc l’éliminer de notre modèle.

 

Construction pas à pas de la matrice :

 

Remarque : La matrice de dépendance fonctionnelle est un tableau qui permet de trouver les dépendances fonctionnelles entre les différentes données. Elle permet de croiser les données avec elle mêmes pour détecter ces dépendances.

 

Méthode :

La matrice de dépendance fonctionnelle est une matrice carrée où les colonnes représentent les sources des dépendances et les lignes les buts. Toute donnée est une source potentielle.

Il faut donc parcourir la matrice colonne par colonne. La colonne i correspond la donnée i. Lorsque l’on parcours la colonne i on considère comme source potentielle la donnée i et comme but potentiels toutes les autres données.

 

Exemple: Dans la matrice de la figure 1. La colonne 7 représente la donnée ClientCode, lorsque l’on parcours cette colonne le code du client est considéré comme source potentielle.

 

Pour déterminer les différents dépendances fonctionnelles qui ont pour source la colonne i, il faut pour chaque ligne répondre à la question : Si l’on connaît UNE valeur de la donnée i, peut-on connaître/déterminer UNE valeur ET SEULEMENT UNE de la donnée de la ligne ? Si la réponse est oui on écrit un 1 dans la colonne i à la ligne en question.

 

Exemple : Pour la colonne 7 ligne 3 : Si l’on connaît une valeur du code du client, peut-on connaître une valeur et seulement une du montant de la caution d’un client ? La réponse est oui, car le code du client étant un unique pour un certain client, il nous permet d’accéder aux informations relatives à chaque client, dont la caution. La réponse est donc aussi positive pour le nom, prénom, adresse, téléphone et date d’inscription du client.

 

Par contre pour la colonne 7 ligne 1 : Pour la réponse à la question : Si l’on connaît une valeur du code du client, connaître une valeur et seulement une du nom de la boutique ? La réponse est négative, car il n’existe une relation unique entre un client et une seule boutique, un client peut louer/rendre des livres dans différentes boutiques.

Figure 1. Sources et Buts de la matrice de dépendances fonctionnelles.

 

Si l’on fait la même analyse pour chacune des colonnes on obtient la matrice de la figure 2. Dans cette matrice il n’existe que deux sources, car il n’y a que deux colonnes qui contiennent des 1(la colonne 7 et la colonne 17).

Les deux sources que l’on a trouvé sont le code du client et le code du exemplaire. La première est la source de toutes les dépendances fonctionnelles dans la colonne 7. Ces dépendances ont comme buts toutes les données qui décrivent un client.  La deuxième est la source de toutes les dépendances dans la colonne 17. Ces dépendances ont comme buts des données qui décrivent un exemplaire. Le nom et prénom de l’auteur et de l’éditeur ne dépendent pas fonctionnellement du code de l’exemplaire car il peut exister plusieurs auteurs et plusieurs éditeurs pour un même livre.

Dans cette matrice, on n’a pas trouvé des dépendances fonctionnelles pour les données 1, 2, 13-26, 30-33 : leurs lignes ne contiennent pas des 1. Il n’y a pas assez d’identifiants pour toutes les données.

Figure 2. Matrice de dépendances fonctionnelles, première version.

 

Si l’on ajoute les données suivantes :

34

Code de la boutique

35

Code de l'auteur

36

Code de l'éditeur

37

Code du livre

On obtient la matrice de la figure 3. Nouvelles dépendances fonctionnelles apparaissent, mais il continue à avoir des lignes sans 1 :

1.      Les données 18 à 20 sont des constantes. Les constantes ne dépendent fonctionnellement d’aucune autre donnée (Règle 3), donc il est normal de ne pas trouver des 1 dans les lignes 18 à 20. Il est nécessaire de conserver ces constantes dans notre système car elles interviennent dans le calcul des tarifs de location de livres.

18

Tarif de retard

19

Tarif normale

20

Délai max. retour

2.      Les données 13 à 16 (voir figure xx) ne sont pas le but d’aucune dépendance fonctionnelle car elles ne décrivent pas des entités (client ou exemplaire) mais les relations emprunter et rendre. Ces données feront partie des données des Associations « rendre » et « emprunter » dans le schéma Entité/Association.

3.      Quant à la donnée nom du club (ligne 2) : dans l’énoncé il était précisé qu’il n’existe qu’un club, pour cette raison toutes les données qui décrivent le club, notamment son nom sont en quelque sorte des constantes. Il s’applique donc la règle 3. Cette constante à différence des constantes 18 à 20 ne sert pas dans le calcul d’aucune autre information, elle n’a aucune utilité directe dans notre système. Pour cette raison, on décide de l’éliminer du système d’information.

4.      La date de résiliation (donnée 9) ne dépend pas d’une autre. Elle n’existe que lors qu’un client est éliminé du système, de lors elle ne doit pas faire partie du système.

Figure 3. Matrice de dépendances fonctionnelles, deuxième version.

 

Un nouveau problème apparaît lors de l’ajout des nouvelles données. Les données genre, titre et année d’un livre (données 10 à 12) dépendent fonctionnellement de deux données sources différentes : le code de l’exemplaire (colonne 17) et le code du livre (colonne 37).

Comme toute donnée ne doit dépendre fonctionnellement que d’une source (Règle 5), il faut faire un choix entre les deux possibles sources. Le choix le plus adapté dans le cas de la location des livres et de faire dépendre les données genre, titre et année du code du livre car il est plus général que le code de l’exemplaire : pour un même livre il existe plusieurs exemplaires, si l’on associe ces données au livre et non pas à l’exemplaire, elles devront être rentrées seulement une fois. Si l’on choisit le code de l’exemplaire, il y aura de la redondance (les mêmes informations de titre, année et genre seront répétées plusieurs fois, une fois par exemplaire).

Figure 4. Matrice de dépendances fonctionnelles, version finale.

Retour à la page principale