Exemple Algo Bernstein

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Exemple Algo Bernstein as PDF for free.

More details

  • Words: 771
  • Pages: 4
Bases de données B6

Algorithme de BERNSTEIN Exemple 1ier scénario : Considérons la relation : CLIENTCOMMANDE ( code-client, nom-client, num-commande, date-commande, adresse-client, tél_client, montant-commande, code-article, libellé ) Le concepteur a déterminé l'ensemble des dépendances fonctionnelles suivantes : DF = { code-client -> nom-client, num-commande -> code-client, num-commande -> date-commande, code-client -> adresse-client, code-client -> tél-client, code-article -> libellé, num-commande -> montant-commande } Cet ensemble, ne possédant de dépendances fonctionnelles redondantes, il correspond à la couverture minimale CM : donc CM = DF Si vous faites le graphe des dépendances fonctionnelles de la CM, vous confirmerez que la clé primaire de la relation est bien : num-commande, code-article Vous pouvez vérifier également que cette relation n'est pas en 3FN. Appliquons l'algorithme de BERNSTEIN : 1ère itération : Création d'une relation CLIENT pour toutes les dépendances fonctionnelles ayant la même source : code-client. CLIENT ( code-client, nom-client, adresse-client, tél_client ) La clé primaire de CLIENT est la source des dépendances fonctionnelles utilisées : code-client. Il reste : CM = { num-commande -> code-client, num-commande -> date-commande, code-article -> libellé, num-commande -> montant-commande } 2ème itération : Création d'une relation COMMANDE pour toutes les dépendances fonctionnelles ayant la même source : num-commande. COMMANDE ( num-commande, date-commande, montant-commande, #code-client ) La clé primaire de COMMANDE est la source des dépendances fonctionnelles utilisées : num-commande. Il reste : CM = { code-article -> libellé }

5 décembre 2003

1

Bases de données B6 3ème itération : Création d'une relation ARTICLE pour toutes les dépendances fonctionnelles ayant la même source : code-article. ARTICLE ( code-article, libellé ) La clé primaire de ARTICLE est la source des dépendances fonctionnelles utilisées : code-article. La CM étant vide, l'itération est terminée. Il reste une question : L'une des relations issues de la décomposition a-t-elle comme clé primaire, la clé primaire (num-commande, codearticle) de la relation décomposée CLIENTCOMMANDE ? réponse : non. ð Il faut créer une relation supplémentaire contenant la clé primaire num-commande, code-article : LIGNECOMMANDE ( num-commande, code-article ) Conclusion : 4 relations étaient imbriquées dans la relation CLIENTCOMMANDE : CLIENT COMMANDE ARTICLE LIGNECOMMANDE L'algorithme de BERNSTEIN a permis de mettre ces 4 relations en évidence et de les créer : elles sont toutes en 3FN.

5 décembre 2003

2

Bases de données B6 2ieme scénario : Ajoutons l'attribut quantité-commandée dans la relation : CLIENTCOMMANDE ( code-client, nom-client, num-commande, date-commande, adresse-client, tél_client, montant-commande, code-article, libellé, quantité-commandée ) Le concepteur a déterminé l'ensemble des dépendances fonctionnelles suivantes : DF = { code-client -> nom-client, num-commande -> code-client, num-commande -> date-commande, code-client -> adresse-client, num-commande, code-article -> quantité-commandée, code-client -> tél-client, code-article -> libellé, num-commande -> montant-commande } Cet ensemble, ne possédant de dépendances fonctionnelles redondantes, il correspond à la couverture minimale CM : donc CM = DF Si vous faites le graphe des dépendances fonctionnelles de la CM, vous confirmerez que la clé primaire de la relation est bien ; num-commande, code-article Vous pouvez vérifier également que cette relation n'est pas en 3FN. Appliquons l'algorithme de BERNSTEIN : 1ère itération : Création d'une relation CLIENT pour toutes les dépendances fonctionnelles ayant la même source : code-client. CLIENT ( code-client, nom-client, adresse-client, tél_client ) La clé primaire de CLIENT est la source des dépendances fonctionnelles utilisées : code-client. Il reste : CM = { num-commande -> code-client, num-commande -> date-commande, num-commande, code-article -> quantité-commandée, code-article -> libellé, num-commande -> montant-commande } ème

2

itération :

Création d'une relation COMMANDE pour toutes les dépendances fonctionnelles ayant la même source : num-commande. COMMANDE ( num-commande, date-commande, montant-commande, #code-client ) La clé primaire de COMMANDE est la source des dépendances fonctionnelles utilisées : num-commande. Il reste : CM = { num-commande, code-article -> quantité-commandée, code-article -> libellé } ème

3

itération :

Création d'une relation ARTICLE pour toutes les dépendances fonctionnelles ayant la même source : code-article. 5 décembre 2003

3

Bases de données B6 ARTICLE ( code-article, libellé ) La clé primaire de ARTICLE est la source des dépendances fonctionnelles utilisées : code-article. Il reste : CM = { num-commande, code-article -> quantité-commandée } 4ème itération : Création d'une relation LIGNECOMMANDE pour toutes les dépendances fonctionnelles ayant la même source : code-article. LIGNECOMMANDE ( #num-commande, #code-article, quantité-commandée ) La clé primaire de LIGNECOMMANDE est la source des dépendances fonctionnelles utilisées : num-commande, code-article La CM étant vide, l'itération est terminée. Il reste une question : L'une des relations issues de la décomposition a-t-elle comme clé primaire, la clé primaire (num-commande, codearticle) de la relation décomposée CLIENTCOMMANDE ? réponse : oui. ð

C'est la relation LIGNECOMMANDE. Il n'est pas nécessaire de créer une relation supplémentaire.

Conclusion : Idem 1ier scénario.

5 décembre 2003

4

Related Documents

Exemple Algo Bernstein
November 2019 8
Bernstein
July 2020 17
Exemple
May 2020 52
Exemple
May 2020 41
Exemple
November 2019 55
Algo
June 2020 24