Fichier de rejeu Close

Indication Close

A propos de... Close

Commentaire Close

Systèmes d'Information

  • Notions mathématiques
  • Calcul relationnel
  • Algèbre relationnelle
  • Langage de requêtes
  • Arbre de requêtes
  • Exercices
  • Introduction
  • Commandes de bases
  • Langage de définition de données (LDD)
  • Langage de manipulation de données (LMD)
  • Types de données
  • Exercice
  • Présentation
  • Calcul relationnel
  • Algèbre relationnelle
  • Division relationnelle
  • Relation
  • Fonction
  • Application
  • Injection
  • Surjection
  • Bijection
  • Association
  • Exemples
  • Dépendances fonctionnelles
    • Définition
    • Dépendance Fonctionnelle Elémentaire
      • Regroupement de DFE
      • Exercices
    • Schéma relationnel
  • Décomposition de relations
  • Inférence logique
  • Normalisation
  • Aux pays des bières
  • Modélisation
  • Exercices
  • Liste des projets
  • Aux pays des bières
  • Au Tournoi des six nations
  • Salles de concerts
  • Généralités
  • Langage SQL
  • Modèle relationnel
  • Généralités
  • SQL
  • Algèbre relationnelle
  • Synthèse
Index

Archives

  • Site Web
  • Sources reStructuredText
  • EniBook 1.618033988
logo

Crédits

© Your Copyright

Aide

En-tête

MenuContenu
Sommaire,
Téléchargements
Aide sur les outils

Pied de page

ChevronAction
Aller en haut de la page courante
Aller en bas de la page courante
Passer à la page précédente
Passer à la page suivante

Dépendances Fonctionnelles

Définition

Soit le schéma relationnel \(R(X,Y,Z)\), où \((X,Y,Z)\) représente des groupes d’attributs.

Il existe une dépendance fonctionnelle (DF) entre les groupes d’attributs \((X,Y)\) notée :

  • \(X \rightarrow Y\)

si et seulement si : \(\forall (x,y,y',z,z')\)

\(\left. \begin{array}{l} (x,y,z) \in R(X,Y,Z) \\ (x,y',z') \in R (X,Y,Z) \end{array} \right \rbrace \Rightarrow y = y'\)

Autrement dit :

  • SI on connaît les valeurs du groupe d’attributs \(X\) ALORS on connaît celles du groupe d’attributs \(Y\).

On dit aussi que :

  • les attributs \(Y\) dépendent fonctionnellement de ceux de \(X\)
  • les valeurs des attributs \(X\) déterminent celles de \(Y\).

On appelle :

  • source de la DF : l’ensemble des attributs \(X\) qui détermine les attributs \(Y\)
  • cible de la DF : l’ensemble des attributs \(Y\) qui dépendent fonctionnellement de \(X\)
Autres définitions

Une dépendance fonctionnelle :

  • \(X \rightarrow Y\)

devra vérifier que l’expression suivante :

  • \(\forall x \in X \ , \Pi_Y(\sigma_{X = x}(r))\)

ou :

  • \(\forall x \in X \ , R[X=x|Y]\)

ne donnera qu’un seul élément (ensemble de valeurs du groupe d’attributs Y) correspondant à celles de l’élément \(x\) du groupe d’attributs \(X\)

Dépendance Fonctionnelle Elémentaire

Une Dépendance Fonctionnelle Elémentaire (DFE) notée :

  • \(X \rightarrow A\)

est une DF où :

  • \(A\) : attribut unique tel que \(A \notin X\)
  • \(\nexists \; X' \subset X \; , \; X' \rightarrow A\)

Remarques sur les DFE :

  • la cible (\(A\)) est un attribut unique
  • la source (\(X\)) ne comporte pas d’attributs superflus

Regroupement de DFE

Lorsqu’il existe plusieurs DFE qui ont un même groupe d’attributs source on peut regrouper les attributs cible qui dépendent de la même source en une seule DF en vertu d’un des six axiomes d’Armstrong. Ces axiomes seront étudiés plus loin dans la section « Inférences logiques » :

  • Additivité : \(X \rightarrow Y , X \rightarrow Z \Longrightarrow X \rightarrow YZ\)

Réciproquement, lorsqu’une DF a plusieurs attributs cibles on peut décomposer la DF en autant de DF ayant le même groupe d’attributs source avec un seul attribut cible en vertu d’un autre des six axiomes d’Armstrong :

  • Décomposition : \(X \rightarrow Y , Z \subset Y \Longrightarrow X \rightarrow Z\)

Exercices

A partir de l’instance de relation \(R(A,B,C,D,E)\) suivante :

R
ABCDE
a1b1c1d1e1
a1b2c2d2e1
a2b1c3d3e1
a2b1c4d3e1
a3b2c5d1e1

Répondre aux exercices suivants concernant les Dépendances Fonctionnelles Elementaires (DFE)

DFE : attributs cibles
  • Question
  • Solution

Expliquer pour quelle raison la DF suivante :

  • \(C \rightarrow (A,B,D,E)\)

peut être retenue dans l’ensemble des DFE

Votre réponse :
Texte : inputlines1366.txt

Zone de saisie de texte

ClavierAction
F1Afficher une aide technique
F2Afficher une aide pédagogique
Ctrl-ATout sélectionner
Ctrl-CCopier la sélection dans le presse-papier
Ctrl-VCopier le presse-papier dans la sélection
Ctrl-XCouper la sélection et la copier dans le presse-papier
Ctrl-ZAnnuler la modification
Maj-Ctrl-ZRétablir la modification

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Valider la zone de saisie
Initialiser la zone de saisie
Charger le contenu d'un fichier dans la zone de saisie
Sauvegarder le contenu de la zone de saisie dans un fichier
Imprimer le contenu de la zone de saisie
Une solution possible :

En utilisant l’axiome de décomposition on peut décomposer la DF en faisant apparaître un seul attribut cible :

  • \(C \rightarrow A\)
  • \(C \rightarrow B\)
  • \(C \rightarrow D\)
  • \(C \rightarrow E\)

Comme il n’y a qu’un seul attribut source, il ne peut donc y avoir de sous-ensemble qui soit une DF sur l’attribut cible.

DFE : attributs sources
  • Question
  • Solution

Expliquer pour quelle raison la DF suivante :

  • \((A,B,C) \rightarrow (D,E)\)

ne peut être retenue dans l’ensembles des DFE

Votre réponse :
Texte : inputlines1370.txt

Zone de saisie de texte

ClavierAction
F1Afficher une aide technique
F2Afficher une aide pédagogique
Ctrl-ATout sélectionner
Ctrl-CCopier la sélection dans le presse-papier
Ctrl-VCopier le presse-papier dans la sélection
Ctrl-XCouper la sélection et la copier dans le presse-papier
Ctrl-ZAnnuler la modification
Maj-Ctrl-ZRétablir la modification

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Valider la zone de saisie
Initialiser la zone de saisie
Charger le contenu d'un fichier dans la zone de saisie
Sauvegarder le contenu de la zone de saisie dans un fichier
Imprimer le contenu de la zone de saisie
Une solution possible :

Un sous-ensemble de l’ensemble des attributs \((A,B,C)\) suffit pour déterminer les valeurs des attributs \((D,E)\)

Les DF \((A,B,C) \rightarrow D\) et \((A,B,C) \rightarrow E\) ne peuvent donc pas être retenues dans l’ensemble des DFE.

Toutes les DFE
  • Question
  • Solution

Trouver les Dépendances Fonctionnelles Elémentaires (DFE) existantes entre les attributs \((A,B,C,D,E)\).

On représentera les DF sous la forme \(X \rightarrow A\).

Votre réponse :
Texte : inputlines1374.txt

Zone de saisie de texte

ClavierAction
F1Afficher une aide technique
F2Afficher une aide pédagogique
Ctrl-ATout sélectionner
Ctrl-CCopier la sélection dans le presse-papier
Ctrl-VCopier le presse-papier dans la sélection
Ctrl-XCouper la sélection et la copier dans le presse-papier
Ctrl-ZAnnuler la modification
Maj-Ctrl-ZRétablir la modification

MenuAction
Ré-initialiser les sorties
Faire apparaître le menu d'aide
Valider la zone de saisie
Initialiser la zone de saisie
Charger le contenu d'un fichier dans la zone de saisie
Sauvegarder le contenu de la zone de saisie dans un fichier
Imprimer le contenu de la zone de saisie
Une solution possible :
  1. \(A \rightarrow E\)
  2. \(B \rightarrow E\)
  3. \(C \rightarrow (A,B,D,E)\)
  4. \(D \rightarrow E\)
  5. \((A,B) \rightarrow D\)
  6. \((A,B) \rightarrow B\)
  7. \((B,D) \rightarrow A\)

Les quatre premières DF s’expliquent du fait qu’il n’y a qu’un seul élément (une seule valeur) dans l’ensemble \(E\) sur tous les enregistrements, l’attribut E dépend donc fonctionnellement de chaque attribut de la relation \((A,B,C,D)\). Ce sont des DFE car il n’y a qu’un attribut cible et, du fait que la source de la DF n’est constitué que d’un seul attribut, il n’existe pas de sous-ensemble des attributs source qui pourraient représenter une DF sur l’attribut \(E\) .

Comme les valeurs de l’attribut \(C\) sont toutes différentes, chacun des autres attributs dépend fonctionnellement de l’ensemble \(C\). En utilisant des axiomes d’additivité et de décomposition on peut donc grouper les DFE en une seule DF \(C \rightarrow (A,B,D,E)\) puis les dégrouper pour obtenir les DFE.

Il ne pourra y avoir de combinaison des attributs \((A,B,C,D)\) en tant qu’attributs source pour déterminer l’attribut cible \(E\) puisqu’avec les DFE précédentes il y aura toujours un sous-ensemble de ces combinaisons qui suffira à déterminer les valeurs de \(E\).

La cinquième DF peut-être retenue en tant que DFE car pour chaque valeur combinée des attributs \((A,B)\), il n’y a qu’une seule valeur associée de l’attribut \(D\). Ce ne sera pas le cas pour les 2 sous-ensembles possibles de ces 2 attributs source. Par contre \((A,B) \rightarrow C\) ne sera pas une DF car il peut correspondre des valeurs différentes de l’attribut cible pour un même combinaison des valeurs des attributs sources \(A,B\).

De même, la sixième DF peut-être retenue en tant que DFE car pour chaque valeur combinée des attributs \((A,D)\), il n’y a qu’une seule valeur associée de l’attribut \(B\). Par contre il n’y a pas une seule valeur correspondante de l’attribut \(C\).

La dernière DF peut aussi être retenue en tant que DFE car pour chaque valeur combinée des attributs \((B,D)\), il n’y a qu’une seule valeur associée de l’attribut \(A\). Par contre il n’y a pas une seule valeur correspondante de l’attribut \(C\).

Schéma relationnel

Un schéma relationnel (\(R\)) sera défini par :

  • l’ensemble des attributs (U) qui le constituent
  • l’ensemble des dépendances fonctionnelles (F) entre les attributs

Notation d’un schéma relationnel : \(R(U,F)\)

Schéma : 'Les Cours'

Dans le schéma relationnel suivant :

  • Cours(matiere, jour, heure, salle)

On peut identifier la dépendance fonctionnelle entre les attributs :

  • \((salle, jour, heure) \rightarrow matiere\)

qui signifie que dans une salle à un moment donné (heure) de la journée (jour ) ne peut être enseigné qu’une seule matiere.

 
Systèmes d'Information : Dépendances Fonctionnelles, 13 avr. 2023.