IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

[Exos] Formes normales, et DF


Sujet :

Schéma

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut [Exos] Formes normales, et DF
    Bonjour, j'étudie en ce moment les bases de données à l'iut, ça m'intéresse et j'aimerais prendre un peu d'avance.. plus exactement on étudie les dépendances fonctionnelles (avec leurs propriétés), et les formes normales..

    J'ai déja recherché des exercices sur Google, mais je n'ai pas trouvé grand chose, alors j'espérais que vous en auriez en stock

    Merci beaucoup.

  2. #2
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Ce n'est qu'en forgeant qu'on devient forgeron.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut
    Merci, mais à vrai dire, il n'y a pas grand chose.
    Ca ne traite pas vraiment des DF et NF, mais cependant je m'en servirais beaucoup pour les mcd, mld, y'en a plein ! merci

  4. #4
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    Où peut-on appliquer nos règles de DF et FN si ce n'est dans des MCD????
    Ce n'est qu'en forgeant qu'on devient forgeron.

  5. #5
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    on étudie les dépendances fonctionnelles (avec leurs propriétés), et les formes normales[...] j'espérais que vous en auriez en stock
    Pas de façon directe...Mais si tu fais une recherche ds le forum ''schéma'' (messages taggés ''DF'' ou ''NF'') tu devrais trouver de quoi t'occuper je pense
    Bon courage

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut
    Ok, merci à vous.

  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par touronster
    j'étudie en ce moment les bases de données à l'iut, ça m'intéresse et j'aimerais prendre un peu d'avance.. plus exactement on étudie les dépendances fonctionnelles (avec leurs propriétés), et les formes normales.
    J’ai traité des DF et de la normalisation sur le forum. Peut-être trouverez-vous quelque chose qui vous intéresse en parcourant, entre autres, les discussions :

    Unicité d'une clef composée (highlander03)

    (Notamment le message #4 : http://www.developpez.net/forums/sho...03&postcount=4)

    Quand une propriété devient-elle objet ? (ctobini)

    Dénormalisation de table. Quand ? (Bruno75)

    Dépendances fonctionnelles dans une table (sadook)

    Il y a la série Harbonne :

    Différence entre 3eme forme normale (FN3) et forme normale de Boyce et Codd (BCNF)

    Quelques précisions à propos de la forme de BOYCE-CODD

    Définition de la première forme normale (FN1)

    Associations non normalisées

    Décomposition d'une entité non en FNBC

    Il y a encore la série wang_xue (un peu pénible à suivre, car la langue française est pour le moins mise à mal...)

    Modèle relationnel et Dépendances Fonctionnelles

    Couverture Minimum et Formes Normales

    Graphe de la couverture minimale

    Clefs candidates d'une couverture minimale

    Dépendances fonctionnelles et normalisation

    Trouve la forme normale

    ...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  8. #8
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par aziz jim
    Où peut-on appliquer nos règles de DF et FN si ce n'est dans des MCD????

    Les règles s'appliquent d'abord aux relations du Modèle Relationnel de Données (et par contrecoup aux tables SQL).

    Dans ce qui suit, j’appellerai R-relation la relation au sens du Modèle Relationnel de Données (pour faire court : sous-ensemble du produit cartésien d’une liste de domaines). Une R-relation n’est donc pas une relation au sens où on l’entend dans un MCD, la vocation de celle-ci étant de mettre en relation des entités.

    Rappels

    Les formes normales (FN) ont été inventées par Ted Codd (d'IBM) en 1970-1971, bien avant l’apparition des MCD E/R. Ted a traité les dépendances fonctionnelles (DF), FN et clés candidates au plan théorique et montré comment on pouvait, par projection d'une R-relation R1 en faire deux autres, R2 et R3, qui soient moins redondantes et retrouver la R-relation initiale R1, par jointure naturelle de R1 et R2.

    Les formes normales correspondantes s'appellent 2e et 3e forme normale (la 1re forme normale est à part). En 1973, Raymond Boyce (d'IBM lui aussi) a soumis à son ami Ted une 4e forme normale, rebaptisée Forme normale de Boyce-Codd (BCNF). En 1979, Ronald Fagin (toujours IBM), a donné les énoncés des 4e et 5e formes normales, et fourni à cette occasion les théorèmes prouvant que la normalisation par projection/jointure ne pouvait aller au delà. Mais, en 2004, Chris Date a étendu les opérateurs relationnels ce qui lui a alors permis de proposer la 6e forme normale.

    Notons encore que la BCNF avait déjà été proposée en 1971 par Ian Heath (IBM...), mais l’Histoire a oublié d’en prendre acte. A peu près à la même époque, on doit aussi à Ian un théorème tout simple, auquel bien peu font référence et qui pourtant facilite singulièrement la tâche de normalisation :

    Soit la R-relation R {A, B, C} dans laquelle A, B et C sont des ensembles d’attributs de R. Si R satisfait à la DF : A à B, alors R est égale à la jointure de ses projections sur {A,B} et {A,C}.

    Don’t forget it!

    MCD et normalisation

    La 1re forme normale de Codd s’applique à toutes les R-relations et correspond dans l’esprit à la règle de vérification des relations dans Merise. Je fais observer à cette occasion, qu’en réalité une R-relation R est en réalité nécessairement en 1FN, parce que les valeurs prises par les attributs de R sont soit scalaires (atomiques si vous préférez), soit non scalaires, auquel cas ces valeurs sont exclusivement du type tuple ou relation (listes, piles, vecteurs, etc. ne sont pas reconnus à ce jour comme tels par le Modèle relationnel et doivent être encapsulés, rendus scalaires, quitte à ce que, pour les manipuler en tant que tels, on définisse les opérateurs qui vont bien).

    La 2e forme normale de Codd correspond à ce que l’on appelle la règle de normalisation en Merise, qui «permet de s’assurer que chacune des propriétés ne peut être vérifiée sur un sous-ensemble de la collection de la relation» Cf. :
    Merise, Principes et outils

    Limites inhérentes à la représentation des données sous forme de MCD

    Tout d’abord, pour normaliser une R-relation au sens de Codd, Boyce, Fagin, Heath et Date, on doit disposer de l’ensemble des attributs de cette R-relation. Si cela est le cas pour les entités d’un MCD (sous réserve encore qu’elles ne soient pas identifiées de façon relative), ça ne l’est plus pour les relations (disons M-N), puisque n’y figurent pas les attributs correspondant aux identifiants des entités participant à ces relations. Si l’on peut commencer à vérifier la normalisation au niveau MCD, il faudra reprendre le travail au niveau logique, tabulaire, une fois dérivés les objets-types en tables. Cette fois-ci, on pourra sortir le grand jeu, avec l’ensemble des clés candidates, un ensemble de DF données, manipulable par les axiomes d’Armstrong, pour produire la fermeture des DF des R-relations (tables) et leur couverture irréductible, et prouver que ces R-relations sont en nième forme normale. Je rappelle à cette occasion la structure générale de l’énoncé d’une forme normale :

    Une R-relation R est en nième forme normale si chaque x-dépendance satisfaite par R est soit triviale, soit impliquée par les surclés de R (une x-dépendance est une dépendance fonctionnelle, ou une dépendance multivaluée ou une dépendance de jointure).

    Exemples

    Une R-relation R est en 5e forme normale si et seulement si, quelle que soit la dépendance de jointure (DJ) satisfaite par R, ou bien cette DJ est triviale, ou bien elle est impliquée par les surclés de R.

    Une R-relation R est en 4e forme normale si et seulement si, quelle que soit la dépendance multivaluée (DM) satisfaite par R, ou bien cette DM est triviale, ou bien elle est impliquée par les surclés de R.

    Une R-relation R est en forme normale de Boyce-Codd si et seulement si, quelle que soit la dépendance fonctionnelle (DF) A → B satisfaite par R, ou bien cette DF est triviale, ou bien le déterminant A est une surclé de R.

    Une R-relation R est en 3e forme normale si et seulement si, quelle que soit la dépendance fonctionnelle (DF) A → B satisfaite par R, ou bien cette DF est triviale, ou bien le déterminant A est une surclé de R, ou bien le dépendant B est une sous-clé.

    Une R-relation R est en 2e forme normale si et seulement si, quelle que soit la dépendance fonctionnelle (DF) A → B satisfaite par R, ou bien cette DF est triviale, ou bien le déterminant A est une surclé de R, ou bien le déterminant A n’est pas une sous-clé, ou bien le dépendant B est une sous-clé.

    N.B.

    Dans ces énoncés, il n’a pas été fait mention de la 1re forme normale, puisque par définition une R-relation la vérifie. Inutile d’injecter des redondances dans les définitions.

    Histoire de changer un peu la présentation des formes normales, à l’instar de Date, on est parti de la définition de la 5e forme normale pour arriver seulement en fin de parcours à celle de la 2e forme normale.

    Une surclé d’une R-relation R est un sous-ensemble (non strict) d’attributs de R dont chaque valeur apparaît une seule fois dans R (contrainte d’unicité).

    Une clé candidate est une surclé qui vérifie non seulement la contrainte d’unicité, mais aussi celle d’irréductibilité (il ne peut exister dans cette clé de sous-ensemble strict d’attributs, garantissant à son tour la contrainte d’unicité). Une clé primaire est une clé candidate à laquelle on affecte un rôle particulier en SQL (en vertu du rasoir d’Ockham, le concept de clé primaire ne fait plus partie de la théorie relationnelle).

    Une sous-clé est un sous-ensemble (non strict) d’une clé candidate. Une sous-clé peut vérifier la contrainte d’unicité, mais ça n’est pas une obligation.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup, j'ai de quoi faire maintenant !

  10. #10
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Citation Envoyé par FSMREL
    En 1979, Ronald Fagin (toujours IBM), a donné les énoncés des 4e et 5e formes normales
    Pour être complet il a aussi proposé de normaliser les relations par domaine de valeurs : DKNF (Domain Key Normal Form).

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut
    J'ai une question (naïve) : je ne connais que les 3 premières formes normales (dans le cadre de mes cours), je me demandais si plus on avançait, alors plus le gain de place serait important, et moins la redondance serait présente ?

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par touronster
    J'ai une question (naïve) : je ne connais que les 3 premières formes normales (dans le cadre de mes cours), je me demandais si plus on avançait, alors plus le gain de place serait important, et moins la redondance serait présente ?
    Je ne sais pas si vous avez vu le film "Le salaire de la peur" : dans la négative, je vous y engage vivement. Par analogie, une base de données est comme un camion transportant des pétards et de la dynamite. Plus il y a de dynamite, plus ça prend de la place, mais là n’est pas le problème, car de toutes façons, quand ça pète, qu’il y ait un seul bâton ou dix-mille bâtons, vous êtes "éparpillé façon puzzle", comme disait Raoul Volfoni. Vous avez donc intérêt à être bon artificier et assurer au niveau de la 2e forme normale, qui peut se révéler mortelle si vous la violez. La 3e vous éparpille elle aussi quand vous la violez, mais nettement moins (enfin c’est mon opinion, que l’on peut ne pas partager...) La BCNF vous éparpille relativement peu, et même pas du tout si vous mettez en œuvre des triggers pour vous protéger, tandis que vous savez pertinemment que vous la violez copieusement. La 4e est d’autant plus redoutable, qu’en général on n’a absolument pas conscience de la violer... Un viol de 5e est peut-être encore plus difficile à repérer et les risques sont d’autant plus élevés.

    Mais tout le monde dort sur ses deux oreilles, sans avoir conscience des anomalies pourtant bien présentes et des dangers inhérents.

    En tout cas, si vous savez que vous violez la nième forme normale, en attendant que votre SGBD vous permette un jour de développer des assertions (prévues par la norme SQL et déjà présentes dans le prototype System/R d’IBM, développé entre 1974 et 1976), mettez en œuvre les triggers vous permettant de vous assurer que, si la redondance est présente, au moins elle est cohérente. Le sujet du gain de place en relation avec la normalisation me paraît secondaire, même s’il ne faut pas négliger cet aspect des choses. On peut acheter des disques et de la mémoire, mais être envahi sournoisement par de la dynamite représente un bien grand risque.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 125
    Points : 41
    Points
    41
    Par défaut
    D'accord, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Normalisation] Exo formes normales
    Par Boubou382002 dans le forum Schéma
    Réponses: 11
    Dernier message: 18/01/2014, 15h24
  2. forme normale d'une table
    Par katkouta dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/06/2006, 22h20
  3. [FN]Question sur les formes normales
    Par joxbl dans le forum Schéma
    Réponses: 1
    Dernier message: 18/10/2005, 16h11
  4. 1ere ,2eme ...forme normal
    Par Melvine dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 24/05/2005, 23h05
  5. explication de définition-formes normales
    Par new_wave dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 25/01/2005, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo