Dec 19

Exemple de graphe de dependance fonctionnelle

Chaque ensemble de dépendances fonctionnelles a une couverture canonique. Le théorème de Heath dit effectivement que nous pouvons extraire les valeurs de Y de la grande relation R et les stocker dans un, Π X Y (R) {displaystyle pi _ {XY} (R)}, qui n`a pas de répétition de valeur dans la ligne pour X et est effectivement une table de recherche pour Y indexés par X et par conséquent ha s un seul endroit pour mettre à jour le Y correspondant à chaque X contrairement à la “grande” relation R où il ya potentiellement de nombreuses copies de chaque X, chacun avec sa copie de Y qui doivent être conservés synchronisés sur les mises à jour. Il indique que si X détermine Y et X détermine Z, alors X doit également déterminer Y et Z (voir figure 11. En règle générale, la troisième forme normale est considérée comme une «bonne» norme pour une base de données relationnelle. Toutefois, cela n`est peut-être pas toujours approprié. Considérez le tableau suivant des données r (R) du schéma de relation R (ABCDE) illustré dans le tableau 11. Deux séries de FDs F {displaystyle F} et G {displaystyle G} sur le schéma R {displaystyle R} sont équivalentes, écrites F {displaystyle F} = G {displaystyle G}, si F {displaystyle F} + = G {displaystyle G} +. Le processus de normalisation des données reconnaîtrait toutes les FDs et autoriserait le concepteur à construire des tables et des relations plus logiques en fonction des données. Ces trois règles sont une axiomatisation solide et complète des dépendances fonctionnelles.

Si vous avez une table qui semble contenir deux entités qui sont déterminées par le même PK, envisagez de les décomposer en deux tables. Les règles d`Union et de décomposition peuvent être combinées dans une équivalence logique indiquant que X → YZ, tient IFF X → Y et X → Z. L`axiome de la transitivité indique si X détermine Y, et Y détermine Z, puis X doit également déterminer Z (voir figure 11. On utilise les axiomes d`Armstrong pour fournir une preuve-i. ProgramName ne dépend pas de StudentNo; il dépend de ProgramID. Le côté gauche du diagramme FD ci-dessus est appelé le déterminant, et le côté droit est le dépendant. Cet exemple illustre le concept de dépendance fonctionnelle. Supposons que l`on conçoit un système pour suivre les véhicules et la capacité de leurs moteurs.

Cependant, nous avons encore besoin de laisser un FK dans la table des étudiants afin que nous puissions identifier le programme auquel l`étudiant est inscrit. Etant donné que les valeurs de A sont uniques (a1, a2, a3, etc. Intuitivement, si une dépendance fonctionnelle X → Y tient dans R, ensuite, la relation peut être divisée en toute sécurité dans deux relations à côté de la colonne X (qui est une clé pour π x Y (r) ⋈ π x Z (r) {displaystyle pi _ {XY} (r) bowtie pi _ {XZ} (r)}) s`assurer que lorsque les deux parties sont classe d retour aucune donnée n`est perdue, i. En d`autres termes, la dépendance fonctionnelle est une contrainte qui décrit la relation entre les attributs d`une relation. L`axiome de l`augmentation indique que chaque attribut non-clé doit être entièrement dépendant de la PK. la décomposition est l`inverse de la règle de l`Union. Les ensembles de dépendances fonctionnelles avec ces propriétés sont également appelés canonique ou minimal. Dans l`exemple illustré ci-dessous, StudentName, Address, City, Prov et PC (code postal) ne dépendent que du StudentNo, et non du StudentNo et du grade. Réflexivité “peut être affaibli à juste X → ∅ {displaystyle Xrightarrow varnothing}, i. Pour toute relation R, l`attribut Y est fonctionnellement dépendant de l`attribut X (généralement le PK), si pour chaque instance valide de X, cette valeur de X détermine de manière unique la valeur de Y. Les dépendances fonctionnelles, ainsi que les domaines d`attribut, sont sélectionnées afin de générer des contraintes qui excluraient autant de données inappropriées au domaine utilisateur du système que possible.

Pour le deuxième exemple, SIN et course déterminent la date d`achèvement (DateCompleted).