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 :

Attribut qui n'est dans aucune DF [DF]


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut Attribut qui n'est dans aucune DF
    Bonjour,
    n'étant pas très doué en SGBD je passe les rattrapage xD et j'aurai une petite question sur une annale d'exam:

    Est ce qu'un attribut qui n'est dans aucune DF appartient à toute clé? Sinon pourquoi?

    Moi je dirais non, mais j'ai du mal à expliquer pourquoi. C'est juste intuitif. Mais la prof elle s'en fout un peu de l'intuition, elle veut du "formel"

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonsoir,

    Je trouve la question un peu étrange.
    Si un attribut n'est jamais présent que ce soit dans le déterminant ou le dépendant chaque DF, alors il n'a aucun sens.
    L'ensemble de DF est sensé formaliser les règles de gestion de l'entreprise, le lien entre les attributs.

    Si on imagine une relvar des employés, avec un numéro d'employé, un prénom et un nom, on aurait les DF suivantes:
    {NUM} → {PRENOM}
    {NUM} → {NOM}

    On ne peut rien dire sur les attributs qui ne sont pas mentionnés dans l'ensemble de DF.

    S'il fallait répondre à cette question je dirai, qu'un tel attribut ne peux pas faire parti d'une clé (candidate).
    Pour les surclés, ce serait oui, ont peut ajouter n'importe quel attribut à une clé candidate pour en faire une surclé.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    merci kmm de ton aide. Mais c'est vraiment la question mot pour mot.
    J'comprend pas trop???

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


    Citation Envoyé par gere34
    Mais la prof elle s'en fout un peu de l'intuition, elle veut du "formel"
    Prenons un cas simple. Soit R une variable relationnelle dont l’en-tête est composé des attributs A, B et C.

    Soit S l’ensemble donné des dépendances fonctionnelles associé à R. Par exemple :
    S = {{A} {B}}
    Pour traiter de votre problème, on ne fait figurer l’attribut C dans aucune dépendance fonctionnelle appartenant à S.

    Ce qu’il faut savoir :

    — Une variable relationnelle telle que R a nécessairement une clé (elle peut en avoir plusieurs).

    — Un sous-ensemble d’attributs K de R est une clé de R, si et seulement si K R, c'est-à-dire si le dépendant (partie droite) de cette dépendance fonctionnelle est composé de l'ensemble des attributs de R :

    K {A, B, C}.

    Ce que l'on peut aussi représenter ainsi (règle de décomposition) :
    K {A}
    K {B}
    K {C}.

    L’attribut C peut-il ne pas faire partie de K ?

    Si cela est vrai, la paire {A, B} suffit pour représenter K et donc on doit vérifier la dépendance fonctionnelle {A, B} {C}. Or cette dépendance fonctionnelle n'appartient pas à S, {A, B} {C} est donc faux et la réponse à la question qui vient d’être posée est négative. Par voie de conséquence, l’attribut C entre nécessairement dans la composition de K.

    Dans cet exemple, K = {A, C}.


    Variation. Supposons maintenant que l’ensemble S associé à R soit vide : R a exactement une clé, à savoir {A, B, C}.


    Vous pouvez vous exercer à généraliser pour un ensemble quelconque d'attributs éléments de R et un ensemble S quelconque de dépendances fonctionnelles tel qu'un attribut de R n'apparaisse jamais dans S.


    N.B. Je fus très moyennement formel, mais un mathématicien saura bien vous rendre tout cela on ne peut plus formel et hermétique à souhait.
    (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.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Dans cet exemple, K = {A, C}.
    J'ai juste pas bien saisie pourquoi {A, C} et pas {B, C} ?
    Mais sinon j'ai compris, merci beaucoup, et merci beaucoup aussi pour votre explication sur les couvertures minimales

    En fait je viens de réaliser quelque chose d'essentiel: c'est que R est une "relation" et que par définition, on part du principe qu'il y a un lien entre chaque attribut.
    On ne peut pas avoir R{NumSecu,Nom,Prenom,Adr,Tel, AgeDuCapitaine}

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    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 002
    Points : 30 906
    Points
    30 906
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par gere34
    J'ai juste pas bien saisi pourquoi {A, C} et pas {B, C} ?
    Je rappelle que l’ensemble S de dépendances fonctionnelles associé à R {A, B, C} est le suivant :
    S = {{A B}}
    Calculons la fermeture {A, C}+ de {A, C} (revoyez à ce sujet la discussion avec Anonymouse) :

    Au départ {A, C}+ = {A, C}.

    Et comme {A} {B} appartient à S et que l’attribut A du déterminant {A} de cette dépendance fonctionnelle appartient à la fermeture {A, C}+, cette dernière peut être enrichie de l’attribut B du dépendant {B} de la dépendance fonctionnelle :
    {A, C}+ = {A, B, C}
    Comme {A, C}+ contient l’ensemble des attributs de R, la paire {A, C} est surclé de R. Par ailleurs cette paire est irréductible (donc elle clé candidate) car les fermetures respectives {A}+ et {C}+ de ses sous-ensembles {A} et {C} ne sont pas égales à {A, B, C} :
    {A}+ = {A, B}
    {C}+ = {C}
    Calculons maintenant la fermeture {B, C}+ de {B, C} :

    Au départ {B, C}+ = {B, C}.

    A l’examen du contenu de S, l’attribut A n’appartient à aucun dépendant de quelque dépendance fonctionnelle que ce soit appartenant à S : {B, C}+ ne peut pas capturer A et n’évolue pas.
    Ainsi, il n’existe pas la dépendance fonctionnelle {B, C} {A}, donc {B, C} n’est pas clé de R.


    Citation Envoyé par gere34
    En fait je viens de réaliser quelque chose d'essentiel : c'est que R est une "relation" et que par définition, on part du principe qu'il y a un lien entre chaque attribut.
    De fait R est une relation (ou plutôt une variable relationnelle prenant des valeurs qui sont des relations). Revoyez à ce sujet la définition donnée par Codd en 1970.

    Ainsi, du point de vue théorique R {NumSecu, Nom, Prenom, Adr, Tel, AgeDuCapitaine} est bien une variable relationnelle (de degré 6), quoi que vous en pensiez...
    Certes, du point de vue du bon sens, l’âge du capitaine n’a rien à voir, quoique... En effet, si vous êtes le capitaine, votre âge est connu deux fois, une 1re fois par le biais de votre numéro de sécurité sociale, une 2e fois grâce à l’attribut AgeDuCapitaine : il y a là comme une redondance, disons sémantique, mais qui n’invalide pas le fait que R soit une variable relationnelle...
    Simplement on peut dire que du point de vue de la conception, de la sémantique, il n’est pas pertinent a priori d’établir une relation entre les attributs NumSecu, Nom, Prenom, Adr, Tel d’une part et l’attribut AgeDuCapitaine d’autre part (à moins de modéliser les personnels de la marine française). Mais croyez moi, après avoir audité des modèles pendant de nombreuses années dans tous types d'entreprises, j’en ai vu de bien pires (ou mystérieuses ?) dues à l'incompétence de soi-disant concepteurs, du genre tricot des trajets Brest Landerneau d'une part et des conditions tarifaires des taxis grenoblois d'autre part, puis mélange de tout ça avec la grange au père Matthieu...
    (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.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 41
    Points
    41
    Par défaut
    Parfait... merci

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

Discussions similaires

  1. qu'est ce qui va pas dans cette fonction???
    Par access001 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/04/2006, 13h10
  2. [MySQL] Créer un menu déroulant sans inclure ce qui est dans la bdd
    Par sebmill dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/03/2006, 20h39
  3. Importer un .py qui n'est pas dans le rep courant
    Par Mr Hyde dans le forum Général Python
    Réponses: 5
    Dernier message: 25/08/2005, 17h30
  4. Rafraichir un JPanel qui est dans un JScrollPane
    Par anitshka dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 06/12/2004, 23h17
  5. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27

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