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 :

[HERITAGE] Redondance ou pas redondance ???


Sujet :

Schéma

  1. #1
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1
    Points : 31
    Points
    31
    Par défaut [HERITAGE] Redondance ou pas redondance ???
    J'ai quelques soucis avec les héritages, ne sachant plus s'ils sont utiles. En effet, je me retrouve avec des données spécifiques propres à un sous-type. Je réalise donc un héritage.

    Entité mère : collaborateur de l'entreprise VENTURA
    Entités filles : Directeur, Chef de Projet, Prospecteur foncier

    L'entité fille "Prospecteur foncier" a des propriétés particulières. Donc je comprends parfaitement son existence.
    Les deux autres entités filles n'ont aucune donnée, mise à part des liens avec des entités spécifiques. Ceci justifie encore l'existence d'entités filles et d'un héritage. (c'est une de mes questions)

    Mais ensuite, chaque collaborateur de l'entreprise a un rôle(directeur,secrétaire, comptable...) et un statut (agent, salarié, stagiaire...).
    Ceci justifie la création de deux entités "rôle" et "statut", lié à l'entité mère puisque l'héritage n'est ni de type partition ou totalité.
    L'entité "statut" ne me pose pas de problèmes.

    Solutions:
    + Dois-je créer un héritage de type totalité avec pour chaque rôle un sous-type. (Il y a plus de dix rôles dans l'entreprise donc plus de dix sous-types)?
    + Dois-je créer une entité "rôle" liée à l'entité mère, comme expliqué ci-dessus, sans se soucier de la redondance, puisque le sous-type correspond déjà à un rôle?
    +Dois-je supprimer le sous-type, mais où vont mes données spécifiques au sous-type "prospecteur foncier" et est-ce grave si des liens ne sont plus exclusifs à certains rôles (pour les sous-type liés exclusivement à d'autres entités)?

    Voilà un peu l'inventaire de mon esprit. Mais à l'écriture de ce problème, j'opte pour la solution redondante.
    Dernière question: "Dois-je garder mes sous-types sans propriété?" ou plutôt "Est-ce qu'un lien spécifique à un sous-type justifie la création d'un sous-type?"
    Je vous remercie de votre aide précieuse pour le petit débutant que je suis.
    Cyril PLANTIN
    Stagiaire BTS Informatique de Gestion
    Option Developpeur d'Applications

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 113
    Points : 488
    Points
    488
    Par défaut
    1/ Problématique du sous-typage (entité sur-type, héritage, entités sous-types)
    On utilise cette modélisation lorsque dans la population des occurrences de l'entité sur-type, on peut distinguer des "sous-populations" présentant
    - des propriétés spécifiques,
    - des relations spécifiques
    - voire des noms spécifiques (limite...)

    L'héritage peut porter une contrainte précisant comment se comporte le découpage en sous-type.
    On distingue les contraintes (ensemblistes) suivantes
    - aucune
    - exclusivité
    - totalité
    - partition (exclusivité + totalité)

    L'héritage peut être contrôlé par
    - une propriété du sur-type
    - une règle

    Dans ton cas, j'expliciterais en sous-types:
    - Prospecteur foncier, pour ses propriétés spécifiques
    - Directeur et Chef de Projet, pour ses relations spécifiques

    J'opterais pour rôle comme critère de contrôle. La contrainte ne serais que d'exclusivité (X); pas de totalité à cause des autres rôles qui ne correspondent pas à des sous-types.

    2/ Propriété à valeurs codées
    C'est une problématique qui vient souvent alourdir inutilement les MCD.
    On appelle propriété à valeurs codées, une information composée d'un code et d'un libellé correspondant.
    Pour ce motif, au niveau conceptuel, il est innoportun de modéliser une entité comportant seulement code et libellé, et de la relier à l'entité principale. Certes, on "viole" la 3ème forme normale [qui est un règle du relationnel, recommandée mais non impérative dans le MCD où la pertinence de l'entité prime sur la non redondance]

    Dans l'exemple, si rôle et statut n'ont pas "d'existence propre" c'est à dire:
    - pas d'autres propriétés que code et libellé,
    - pas de relations avec d'autres entités
    alors, il faut les modéliser comme des propriétés à valeurs codées

    Bien sur, au niveau du MLD, ces propriétés codées seront transformées en tables, avec lien référentiel.

    En conclusion, ma modélisation, sous réserve de plus de consistance pour Role et Statut, serait la suivante
    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    L'Art poétique - Nicolas Boileau (1636-1711)

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

Discussions similaires

  1. Enlever les espaces redondants....
    Par BFH dans le forum C
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  2. [Efficacite/Redondance] Millions d'enregistrement dans MySQL
    Par nico33307 dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2005, 21h21
  3. redondance en sql ??
    Par jefferson dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/07/2004, 16h50
  4. Problème d'affichage redondant (genre boucle)
    Par EJ dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 01/06/2004, 11h41
  5. Fusion de lignes de tables en éliminant les redondances
    Par MinsK dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 22/04/2004, 09h21

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