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 :

Comment faire ce cas?


Sujet :

Schéma

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Comment faire ce cas?
    Bonjour,

    Vous trouverez ci dessous un énoncé pour lequel il est demandé de :
    -> Définir les dépendances fonctionnelles,
    -> Déterminer la ou les clés,
    -> Décomposer en 2FN et 3FN,
    -> faire le schéma de retro conception

    Enoncé :

    Soit la relation suivante :

    TRAVAIL (NE, NOME, ADRE, TELE,NF, NOMF, SALMIN, SALAIRE, NT , NB, ND, NOMD , NP, SURF, BP et BUD)

    NE : N° matricule employé
    NOME ; Nom employé,
    ADRE : Adresse employé,
    TELE : Numéro de téléphone employé
    NF : N° fonction occupée par employée,
    NOMF : Nom de la fonction,
    SALMIN : Salaire minimum alloué a tout employé occupant une fonction donnée,
    SALAIRE : Salaire employé
    NT : N° poste télphonique employé
    NB : N° bureau employé
    ND : N° département dans lequel travaille employé
    NOMD :Nom du directeur du département
    NP : Numéro de projet dans lequel travaille employé
    SURF : surface bureau employé
    BP : Budget alloué projet
    BUD : Budget annuel du département

    On donne par ailleurs les infos suivantes :

    Un employé, a un instant donné, n'a qu'un seul buro, ne travaille que sur un seul projet et n'est rattaché qu'a un seul département. Il n'a bien entendu qu'un seul salaire.
    Les départements ont une certaine autonomie : Chaque département a un budget propre, un directeur, un ensemble d'employés, de projets, des bureaux équipés de postes téléphoniques à sa disposition.
    Les employés peuvent etre plusieurs dans un meme bureau dans lequel il peut y avoir un ou plusieurs postes téléphoniques. Cependant, pour simplifier la gestion de l'annuaire téléphonique, on convient d'associer un seul n° de poste à chaque employé.
    Chaque fonction est définie par un n° qui est unique, un nom qui est également unique et un salaire minimum qui correspond au salaire plancher de tout employé ayant cette fonction.


    Pouvez vous svp m'éclairicir?

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    On ne fera pas ton travail à ta place !
    As-tu au moins un début de solution à nous proposer ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 4
    Points
    4
    Par défaut En effet...
    Citation Envoyé par CinePhil Voir le message
    On ne fera pas ton travail à ta place !
    As-tu au moins un début de solution à nous proposer ?
    Olive3 La meilleure solution pour progresser et surtout d'assimiler est de donner sa version au lieu d'attendre le résultat des autres....

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Dépendances fonctionnelles et clés
    Bonsoir,

    CINEPHIL et DJMOUS, merci de me rappeler ce que je dois faire..mais je n'avais pas l'intention d'attendre quoi que ce soit...

    Voici donc ma version ci dessous des dépendances fonctionnelles que je trouve :

    NE -> NOME
    NE -> SALAIRE
    NE -> ADRE
    NE ->TELE
    NE->NF
    NE-> NT (pour celle ci je ne suis pas sur)
    NE -> NB
    NE -> ND
    NE -> NP
    ND ->BUD
    ND -> NOMD
    NP-> BP
    NF-> SALMIN
    NF-> NOMF
    NP-> ND
    NB -> SURF

    Ensuite pour la définition de la clé :

    La clé est (NE,ND).

    Que pensez vous de ces informations?

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 089
    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 089
    Points : 31 344
    Points
    31 344
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Remarques préalables :

    Au sens de la théorie relationnelle, TRAVAIL n’est pas une relation mais une variable relationnelle (relvar en abrégé) car une relation est une valeur prise par une telle variable.

    Par ailleurs, je rappelle qu’une dépendance fonctionnelle (DF) est une instruction de la forme :
    X Y
    Où X et Y sont deux ensembles d’attributs (au sens de la théorie des ensembles) appartenant à l’en-tête d’une relvar R tels que pour chaque valeur de X on a exactement une valeur de Y.
    La partie gauche X de la dépendance fonctionnelle en est le déterminant et la partie droite Y le dépendant. Comme un attribut n’est pas un ensemble, en toute rigueur, on n’écrit pas :
    NE NOME
    Mais :
    {NE} {NOME}
    Cela dit, si vous omettez les accolades je ne vous en voudrai pas...

    Reprenons vos dépendances fonctionnelles :
    DF01 : {NE} {NOME}
    D’accord, car selon la définition de l’attribut NOME, celui-ci représente le nom de l’employé.

    DF02 : {NE} {SALAIRE}
    D’accord, car selon les énoncés des règles de gestion des données un salarié « n'a bien entendu qu'un seul salaire ».

    DF03 : {NE} {ADRE}
    D’accord, car selon la définition de l’attribut ADRE, celui-ci représente l’adresse de l’employé.

    DF04 : {NE} {TELE}
    D’accord, car selon la définition de l’attribut TELE, celui-ci représente le n° de téléphone (sous-entendu personnel) de l’employé.

    DF05 : {NE} {NF}
    D’accord, car selon la définition de l’attribut NF, celui-ci représente le n° de la fonction occupée par l’employé.

    DF06 : {NE} {NT}
    D’accord. Vous avez raison de douter car les règles de gestion manquent un peu de rigueur à ce sujet. On va s’appuyer sur la définition de l’attribut NT pour justifier la DF : « NT : N° poste téléphonique de l’employé ».

    DF07 : {NE} {NB}
    D’accord, car selon les énoncés des règles de gestion des données un employé « n’a qu’un seul bureau ».

    DF08 : {NE} {ND}
    D’accord, car selon les énoncés des règles de gestion des données un employé « n'est rattaché qu'a un seul département ».

    DF09 : {NE} {NP}
    D’accord, car selon les énoncés des règles de gestion des données un employé « ne travaille que sur un seul projet ».

    DF10 : {ND} {BUD}
    D’accord, car selon les énoncés des règles de gestion des données un département « a un budget propre ».

    DF11 : {ND} {NOMD}
    D’accord, car selon les énoncés des règles de gestion des données un département a « un directeur ».

    DF12 : {NP} {BP}
    D’accord, car selon la définition de l’attribut BP, celui-ci représente le budget alloué à un projet.

    DF13 : {NF} {SALMIN}
    D’accord, car selon la définition de l’attribut SALMIN, celui-ci représente le salaire minimum pour une fonction donnée.

    DF14 : {NF} {NOMF}
    D’accord, car selon les énoncés des règles de gestion des données chaque fonction est définie par un n° qui est unique.

    DF15 : {NP} {ND}
    D’accord, car même s’il n’est pas écrit qu’un projet est de la responsabilité d’un département donné, du fait de son autonomie il a un certain nombre de projets et l’on peut admettre qu’il en a la responsabilité et ne les partage pas avec les autres départements.

    DF16 : {NB} {SURF}
    D’accord, car selon la définition de l’attribut SURF, celui-ci représente la surface du bureau d’un employé.

    Autres DF :

    Il est précisé que chaque fonction est définie non seulement par un n° qui est unique, mais aussi par « un nom qui est également unique ».
    En complément de la DF DF14, on ajoute donc la DF suivante à la liste :
    DF17 : {NOMF} {NF}

    Il est probable qu’on puisse ajouter à la liste la DF :
    {NB} {ND}
    En effet ce qui vaut pour DF15 devrait en toute logique valoir ici aussi : un département a un certain nombre de bureaux et l’on peut admettre qu’il en a la responsabilité et ne les partage pas avec les autres départements.

    La même logique pousse à ajouter à la liste la DF :
    {NT} {ND}

    Ou plutôt la DF :
    {NT} {NB}
    En effet, même si ça n’est pas précisé, un téléphone ne peut pas être à la fois dans deux bureaux (mais on pourrait considérer qu’un téléphone serve à des employés n’étant pas dans le même bureau...)

    Vous faites ce que vous voulez des trois dernières hypothétiques DF car les règles de gestion de données ne sont pas assez rigoureuses pour qu’on puisse décider les yeux fermés de leur validité. Si telle ou telle vous convient, n’oubliez pas d’avancer vos arguments justifiant votre choix.

    On pourrait avoir envie d’ajouter à la liste la DF {NT} {NE}, mais les règles de gestion n’ont pas l’air d’aller en ce sens et par ailleurs dans certaines entreprises, des employés qui se font face ou sont côte à côte dans un bureau partagent un même téléphone. On s’abstiendra de compléter la liste avec cette DF hypothétique.

    Il existe encore des DF mais qui peuvent être inférées, par exemple :
    En vertu de l’axiome de transitivité, de {NE} {NB} (DF7) et {NB} {SURF} (DF16), on infère :
    {NE} {SURF}
    Une telle DF est dite transitive.

    Il existe aussi des DF dites DF triviales telles que :
    {NE} {NE}
    Mais en général on n’a pas besoin d’y faire appel, sauf par exemple dans certains énoncés de la BCNF.

    Quand on dispose de la liste des dépendances fonctionnelles, il est d’usage de passer au calcul de la fermeture des ensembles d’attributs à l’aide d'algorithmes tels que l’algorithme du seau. Suite à cela, on peut passer à la recherche des clés et à la normalisation.

    A propos des clés : vous proposez la paire {NE, ND}. Il faudrait que vous fournissiez la méthode que vous avez utilisée pour arriver à ce résultat. En tout état de cause cette paire ne constitue pas une clé candidate pour la relvar TRAVAIL. En effet, il s’agit d’une surclé qui est réductible (à vous d'expliquer pourquoi...)


    Question : quel type de représentation graphique est concerné par la rétro-conception ? (Merise ? UML ? IEF ? Autre ?)
    (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.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Clé + 2FN +3FN
    Bonsoir,
    Après réflexion, la seule clé est NE.
    En effet, cette donnée me donne transitivement le reste des informations.
    Qu'en pensez vous?

    Quant aux normalisations :

    1ére étape : Partie de clé vers non clé (2FN)

    Nous avons toutes les dépendances fonctionnelles liées à NE.
    Cela donne donc :
    SALARIE (NE,NOME,SALAIRE,ADRE,TELE,NF,NT,NB,ND,NP)

    2ème étape : Partie de non clé vers non clé (3FN)
    DEPARTEMENT (ND,BUD,NOMD)
    FONCTION (NF, NOMF,SALMIN)
    PROJET (NP,BP,ND)
    BUREAU (NB,SURF)

    Quant aux schéma rétro conception , il s’agit d’un MCD (Merise) qui est attendu…..

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Expert sécurité informatique
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Avec le MCD....
    Bonjour,

    Je me pose une question suite au précédent message :

    NE est elle la seule clé....?

    En y regardant de plus près le MCD, NF,NB,NP,ND peuvent être considérés comme clé aussi. Qu'en pensez vous?



    Citation Envoyé par Olive3 Voir le message
    Bonsoir,
    Après réflexion, la seule clé est NE.
    En effet, cette donnée me donne transitivement le reste des informations.
    Qu'en pensez vous?

    Quant aux normalisations :

    1ére étape : Partie de clé vers non clé (2FN)

    Nous avons toutes les dépendances fonctionnelles liées à NE.
    Cela donne donc :
    SALARIE (NE,NOME,SALAIRE,ADRE,TELE,NF,NT,NB,ND,NP)

    2ème étape : Partie de non clé vers non clé (3FN)
    DEPARTEMENT (ND,BUD,NOMD)
    FONCTION (NF, NOMF,SALMIN)
    PROJET (NP,BP,ND)
    BUREAU (NB,SURF)

    Quant aux schéma rétro conception , il s’agit d’un MCD (Merise) qui est attendu…..
    Images attachées Images attachées  

  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 089
    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 089
    Points : 31 344
    Points
    31 344
    Billets dans le blog
    16
    Par défaut Normalisation, 2NF, 3NF, algorithme du seau, théorème de Heath...
    Bonsoir,


    Citation Envoyé par Olive3 Voir le message
    Après réflexion, la seule clé est NE.
    En effet, cette donnée me donne transitivement le reste des informations.
    Qu'en pensez vous?
    Commençons par mettre un peu de rigueur dans le vocabulaire. Nous sommes ici dans le contexte du Modèle Relationnel de Données (c'est-à-dire de la théorie relationnelle) et le terme « information » y est impropre. De même, le terme « donnée » n’est pas assez précis. Je rappelle par ailleurs qu’une clé est un ensemble au sens de la théorie des ensembles : NE est seulement un nom d’attribut donc un élément (le seul en l’occurrence) de l’ensemble {NE}. On va donc reformuler ainsi votre proposition :

    « Après réflexion, la seule clé est {NE}. En effet pour chaque attribut A de l’en-tête de la relvar TRAVAIL qui ne participe pas à une dépendance fonctionnelle triviale ou directe, {NE} participe à une dépendance fonctionnelle transitive {NE} {A} ».

    Encore faut-il le démontrer rigoureusement, sans se contenter de dire « {NE} détermine transitivement chaque {attribut} ». Exemple :

    En vertu de l’axiome de réflexivité, à la liste des dépendances fonctionnelles DF01 à DF09, on peut ajouter la DF suivante :
    {NE} {NE}
    En vertu de l’axiome de transitivité, de {NE} {ND} (DF08) et {ND} {BUD} (DF10), on infère :
    {NE} {BUD}
    Toujours en vertu de l’axiome de transitivité, de {NE} {ND} (DF08) et {ND} {NOMD} (DF11), on infère :
    {NE} {NOMD}
    De même, de {NE} {NP} (DF09) et {NP} {BP} (DF12), on infère :
    {NE} {BP}
    De {NE} {NF} (DF05) et {NF} {SALMIN} (DF13), on infère :
    {NE} {SALMIN}
    De {NE} {NF} (DF05) et {NF} {NOMF} (DF14), on infère :
    {NE} {NOMF}
    De {NE} {NB} (DF07) et {NB} {SURF} (DF16), on infère :
    {NE} {SURF}
    Cette fois-ci, {NE} détermine chaque {attribut} de la relvar TRAVAIL. En conséquence {NE} est une clé candidate, mais contrairement à ce que vous dites, on ne peut pas en déduire que c’est la seule clé ! Si on établissait un jour une règle supplémentaire, selon laquelle :
    {NOME, TELE} {NE}
    C'est-à-dire que pour un nom d’employé et un numéro de téléphone il n’y ait qu’un employé. En vertu de la règle de transitivité, la paire {NOME, TELE} détermine chaque {attribut} de la relvar TRAVAIL : {NOME, TELE} serait alors clé au même titre que {NE}.


    Dans mon message précédent, j’avais écrit :

    Citation Envoyé par fsmrel Voir le message
    Quand on dispose de la liste des dépendances fonctionnelles, il est d’usage de passer au calcul de la fermeture des ensembles d’attributs à l’aide d'algorithmes tels que l’algorithme du seau. Suite à cela, on peut passer à la recherche des clés et à la normalisation.
    Pour que vous compreniez bien de quoi il s’agit, exerçons-nous au calcul de la fermeture d’un ensemble d’attributs, en l’occurrence le calcul de la fermeture [NE}+ de {NE}. Dans le cadre de votre exercice ce n’est pas une nécessité absolue, car on a montré que {NE} déterminait chaque {attribut} de la relvar TRAVAIL, mais il est des situations plus délicates où l’utilisation de l’algorithme du seau est indispensable.


    De la fermeture des ensembles d’attributs

    L’attribut NE joue un rôle déterminant (sic !) Il convient donc d’en calculer la fermeture {NE}+.

    Pour cela on utilise l’algorithme du seau (dû à Philip Bernstein et son équipe) :

    Pour faciliter les explications, réordonnons ainsi la liste LF des DF :
    DF01 : {NE} {NOME}
    DF02 : {NE} {SALAIRE}
    DF07 : {NE} {NB}
    DF16 : {NB} {SURF}
    DF08 : {NE} {ND}
    DF10 : {ND} {BUD}
    DF11 : {ND} {NOMD}
    DF05 : {NE} {NF}
    DF13 : {NF} {SALMIN}
    DF14 : {NF} {NOMF}
    DF17 : {NOMF} {NF}
    DF09 : {NE} {NP}
    DF12 : {NP} {BP}
    DF15 : {NP} {ND}
    DF06 : {NE} {NT}
    DF03 : {NE} {ADRE}
    DF04 : {NE} {TELE}


    Dans le cas du calcul de {NE}+, on initialise V à {{NE}}".

    1re itération : {NE} {NOME} et {NE} appartient à V, donc V vaut maintenant V {NOME}, c'est-à-dire {{NE}, {NOME}}.

    2e itération : {NE} {SALAIRE} et {NE} appartient à V, donc V vaut maintenant V {SALAIRE}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}}.

    3e itération : {NE} {NB} et {NE} appartient à V, donc V vaut maintenant V {SALAIRE}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}}.

    4e itération : {NB} {SURF} et {NB} appartient à V, donc V vaut maintenant V {SURF}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}}.

    5e itération : {NE} {ND} et {NE} appartient à V, donc V vaut maintenant V {ND}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}}.

    6e itération : {ND} {BUD} et {ND} appartient à V, donc V vaut maintenant V {BUD}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}}.

    7e itération : {ND} {{NOMD} et {ND} appartient à V, donc V vaut maintenant V {NOMD}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}}.

    8e itération : {NE} {NF} et {NE} appartient à V, donc V vaut maintenant V {NF}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}}.

    9e itération : {NF} {SALMIN} et {NF} appartient à V, donc V vaut maintenant V {SALMIN}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}}.

    10e itération : {NF} {NOMF} et {NF} appartient à V, donc V vaut maintenant V {NOMF}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}}.

    11e itération : {NOMF} {NF} et {NF} appartient à V, donc V vaut maintenant V {NF}, mais {NF} appartient déjà à V qui reste donc inchangé. On repart pour un tour complet.

    12e itération : {NE} {NP} et {NE} appartient à V, donc V vaut maintenant V {NP}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}, {NP}}.

    13e itération : {NP} {BP} et {NP} appartient à V, donc V vaut maintenant V {BP}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}, {NP}, {BP}}.

    14e itération : {NP} {ND} et {NP} appartient à V, donc V vaut maintenant V {ND}, mais V reste inchangé car {ND} en est déjà un élément.

    15e itération : {NE} {NT} et {NE} appartient à V, donc V vaut maintenant V {NT}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}, {NP}, {BP}, {NT}}.

    16e itération : {NE} {ADRE} et {NE} appartient à V, donc V vaut maintenant V {ADRE}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}, {NP}, {BP}, {NT}, {ADRE}}.

    17e itération : {NE} {TELE} et {NE} appartient à V, donc V vaut maintenant V {TELE}, c'est-à-dire {{NE}, {NOME}, {SALAIRE}, {NB}, {SURF}, {ND}, {BUD}, {NOMD}, {NF}, {SALMIN}, {NOMF}, {NP}, {BP}, {NT}, {ADRE}, {TELE}}.

    A ce stade, V c'est-à-dire {NE}+ ne peut plus évoluer car on y trouve l’ensemble des attributs de l’en-tête de la relvar TRAVAIL et l’on a :
    {NE} {NE, NOME, SALAIRE, NB, SURF, ND, BUD, NOMD, NF, SALMIN, NOMF, NP, BP, NT, ADRE, TELE}


    Des clés candidates

    Considérons donc la DF précédente, dont je rappelle que la partie gauche est appelée déterminant et la partie droite dépendant :
    {NE} {NE, NOME, SALAIRE, NB, SURF, ND, BUD, NOMD, NF, SALMIN, NOMF, NP, BP, NT, ADRE, TELE}
    Je rappelle aussi que par définition, une DF est caractérisée par la contrainte d’unicité qui veut que pour une valeur du déterminant on n’a qu’une et une seule valeur du dépendant.

    Si le dépendant de cette DF prend deux valeurs distinctes, il en va donc nécessairement de même pour le déterminant {NE}, sinon la contrainte d’unicité de la DF serait violée. Autrement dit, puisque {NE} détermine chaque {attribut} de la relvar, {NE} vérifie les propriétés suivantes des clés candidates :
    Unicité ;

    Irréductibilité, car le seul sous-ensemble strict de {NE} est l’ensemble vide, lequel ne garantit pas la propriété d’unicité dès lors que TRAVAIL contient deux tuples distincts (n-uplets, lignes en SQL).

    Pour la liste de dépendances fonctionnelles LF fournie ci-dessus, il n’existe pas d’autre clé candidate. En effet, {NE} n’y joue jamais le rôle de dépendant dans quelque DF que ce soit : en dehors de {NE}, il ne peut donc exister aucun déterminant D tel que :
    D {NE, NOME, SALAIRE, NB, SURF, ND, BUD, NOMD, NF, SALMIN, NOMF, NP, BP, NT, ADRE, TELE}
    Mais, reconnaissez que la raison (transitivité) pour laquelle vous affirmez que {NE} constitue la seule clé ne tient pas debout.


    De la normalisation

    Considérons votre affirmation :
    Citation Envoyé par Olive3 Voir le message
    Nous avons toutes les dépendances fonctionnelles liées à NE.
    Cela donne donc :
    SALARIE (NE, NOME, SALAIRE, ADRE, TELE, NF, NT, NB, ND, NP)
    Une fois de plus cette affirmation manque totalement de rigueur. Je suppose que vous voulez dire :
    On dispose de l’ensemble des dépendances fonctionnelles auxquelles participe {NE} en tant que déterminant ou dépendant (sachant qu’en l’occurrence {NE} ne joue jamais le rôle de dépendant).
    Je suis désolé, mais vous n’avez mentionné que les seules dépendances fonctionnelles directes, or la 2NF (la moindre des choses serait d’en fournir l’énoncé) exige que l’on examine toutes les DF non triviales, pour vérifier qu’il n’en existe pas au moins une qui soit partielle, ou de façon équivalente que toutes les DF non triviales sont irréductibles (totales, élémentaires selon les auteurs...)

    Dans ces conditions, la relvar TRAVAIL respecte-t-elle la deuxième forme normale (2NF) ?

    Reprenons la définition qui en a été donnée en 1971 par son inventeur, Ted Codd :

    Une relation R est en deuxième forme normale si elle est en première forme normale et si chaque attribut n'appartenant à aucune clé candidate est en dépendance totale de chaque clé candidate de R.

    La relvar TRAVAIL respecte la première forme normale car par définition, une relvar ne peut pas la violer, sinon ça n’est pas une relvar.

    Une dépendance fonctionnelle n’est pas totale si elle est partielle (réductible), c'est-à-dire si le dépendant ne dépend que d’un sous-ensemble strict du déterminant. La relvar TRAVAIL a pour seule clé candidate {NE}, c'est-à-dire que chaque {attribut} de la relvar est le dépendant d’une DF à laquelle participe {NE} en tant que déterminant. {NE} est singleton donc irréductible : eu égard à la liste LF des dépendances fonctionnelles, la relvar TRAVAIL respecte la 2NF.

    => Votre affirmation est donc hors sujet.

    La relvar SALARIE {NE, NOME, SALAIRE, ADRE, TELE, NF, NT, NB, ND, NP} a une tête sympathique, mais elle n’est pas la conséquence du respect de la 2NF puisque déjà la relvar TRAVAIL la respecte. Par ailleurs, il faudrait que vous proposiez un raisonnement étayé sur la base duquel on peut produire cette nouvelle relvar.


    La relvar TRAVAIL respecte-t-elle la troisième forme normale (3NF) ?

    Reprenons la définition qui en a été donnée en 1971 par son inventeur, Ted Codd :
    Une relation R est en troisième forme normale si elle est en deuxième forme normale et si chaque attribut n'appartenant à aucune clé candidate ne dépend directement que des clés candidates de R.
    La relvar TRAVAIL respecte la 2NF, mais considérons par exemple la DF :
    DF10 : {ND} {BUD}
    {BUD} dépend directement de {ND} qui n’est pas clé candidate de la relvar TRAVAIL : la 3NF est violée. De la même façon, les dépendances fonctionnelles DF11 à DF17 sont peccamineuses eu égard à la 3NF.

    La relvar SALARIE {NE, NOME, SALAIRE, ADRE, TELE, NF, NT, NB, ND, NP}que vous proposez respecte-t-elle la 3NF ? Non, car il reste une DF transitive que je vous laisse le soin de mettre en évidence.

    Comme dans le cas de la relvar SALARIE, il faudrait enfin que vous proposiez le raisonnement sur lequel vous vous appuyez pour produire les relvars DEPARTEMENT, FONCTION, PROJET, BUREAU qui en l’état sortent d’un chapeau. Je ne vous demande pas d’exposer en détail les conditions dans lesquelles la décomposition d’une relvar préserve les dépendances fonctionnelles, mais il y a tout de même un minimum de références à fournir...


    Normalisation en 3NF de la relvar TRAVAIL

    Pour normaliser la relvar TRAVAIL en 3NF, il faut se servir du théorème de Heath, tout en tenant compte de la recommandation de Rissanen qui l’accompagne (corollaire de la préservation des dépendances fonctionnelles à laquelle je viens de faire allusion).

    Considérons par exemple les DF :
    DF13 : {NF} {SALMIN}
    DF14 : {NF} {NOMF}
    De ces deux DF, par application de la règle d’union, on infère la DF :
    {NF} {NOMF, SALMIN}
    En vertu du théorème de Heath, la relvar TRAVAIL peut être décomposée par projection selon les deux relvars
    FONCTION {NF, NOMF, SALMIN}

    T2 {NE, NOME, SALAIRE, NB, SURF, ND, BUD, NOMD, NF, NP, BP, NT, ADRE, TELE}
    Telles que TRAVAIL = FONCTION JOIN T2 (préservation du contenu de la base de données). JOIN est l'opérateur de jointure.

    Concernant la relvar FONCTION, elle vérifie les DF :
    {NF} {NOMF, SALMIN}
    {NOMF} {NF, SALMIN}
    Elle a donc pour clés candidates {NF} et {NOMF} et on montre facilement qu’elle respecte la 3NF (et même la 5NF, en vertu du théorème de Date et Fagin).

    T2 n’est pas en 3NF, mais je vous laisse le soin de poursuivre le travail de décomposition permettant de mettre en évidence rationnellement les relvars SALARIE, DEPARTEMENT, PROJET, BUREAU.


    MCD

    Votre MCD est conforme aux dépendances fonctionnelles DF01 à DF16. Il faudrait ajouter comme ci-dessous un commentaire comme quoi NOMF est identifiant alternatif pour l’entité-type FONCTION (conséquence de la dépendance fonctionnelle DF16). Je ne pense pas qu’AnalyseSI permette de prendre en compte les identifiants alternatifs dans les MCD.




    Citation Envoyé par Olive3 Voir le message
    Je me pose une question suite au précédent message : NE est elle la seule clé....?
    En y regardant de plus près le MCD, NF,NB,NP,ND peuvent être considérés comme clé aussi. Qu'en pensez vous?
    J’ai montré ci-dessus (Normalisation en 3NF de la relvar TRAVAIL) que la relvar FONCTION a pour clés {NF} et {NOMF}. J’espère que désormais vous saurez montrer que {ND} est clé de la relvar DEPARTEMENT, etc.


    Je n'ai pas le temps relire tout ce que je viens d'écrire : je le ferai ultérieurement...
    (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.

Discussions similaires

  1. Comment faire communiquer 2 executables? Cas un peu particulier!
    Par Baradhur dans le forum Threads & Processus
    Réponses: 9
    Dernier message: 08/11/2010, 17h07
  2. Réponses: 1
    Dernier message: 12/06/2010, 22h31
  3. Comment faire un backup de son serveur en cas de crash
    Par pierrot10 dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 18/09/2009, 11h45
  4. Comment faire pour annuler des ajouts en cas de problème ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 2
    Dernier message: 24/11/2006, 14h40
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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