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

Modélisation Discussion :

Transformation ou conservation de clés composites


Sujet :

Modélisation

  1. #1
    Futur Membre du Club
    Homme Profil pro
    ITM
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ITM
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Transformation ou conservation de clés composites
    Bonjour,

    Je suis en train de modéliser une gestion de parc matériels avec des spécifications propre à mon entreprise. Mon problème est que plusieurs tables possèdent des clés primaires composites qui conservent donc une information sur la table en relation

    Par exemple :
    CONSTRUCTEUR: (ID_FAB) ... -----> MODELE (ID_MOD,#ID_FAB) [Ici le id ne sont pas un nombre mais un TAG de 4 caractères]. (des constructeurs différents peuvent avoir des nom de modèles identiques).

    Mon problème est la propagation de ID_FAB au niveau d'autres tables, car sur ce principe certaines tables ont des clés composites de 5 champs, qui ne me choque pas en soi, mais c'est plutôt lourd.
    Je recherche donc des avis ou des conseils ou orienter mes choix. La propagation peut avoir des avantages au niveau des requêtes car les jointures peuvent êtres réduites du à la transitivité mais au détriment d'une "légèreté" d'écriture.

    La performance "absolue" n'est pas à l'ordre du jour, et je pense que pas que des autoindex soient toujours une solution puisque des contraintes d'unicités peuvent être gérées directement sur les champs au besoin.

    Merci de vos retour.

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



    Citation Envoyé par supertux54
    La propagation peut avoir des avantages au niveau des requêtes car les jointures peuvent être réduites du à la transitivité mais au détriment d'une "légèreté" d'écriture.
    Le nombre de jointures peut être réduit, donc la performance des requêtes y trouver son compte. Pour avoir prototypé des dizaines de très grosses applications où l’on manipulait des tables dotées de clés multi-colonnes, je peux dire que ces applications s’en sont toujours bien portées. Du reste, rien ne vous empêche de prototyper et quantifier à votre tour. En tout cas, en ce qui concerne la légèreté d’écriture, on peut parfois inverser le propos...


    Au sujet de ces clés multi-colonnes, voyez l’exemple 4 du paragraphe 1.7 : « Dénormalisation vs amélioration (optimisation) » de mon article sur la normalisation.
    Voyez aussi le paragraphe « F. Identification relative versus identification absolue ».

    En procédant ainsi, vous pouvez résoudre bien des contraintes de chemin (cf. « F.4. L'identification relative au service de l'intégrité des données », voyez encore ici ou , entre autres...


    Citation Envoyé par supertux54
    Ici le id ne sont pas un nombre mais un TAG de 4 caractères
    Hum...Codes significatifs ? S'il en est ainsi, méditez ce qu’a écrit Yves Tabourier il y a plus de 25 ans en termes merisiens (De l’autre côté de MERISE, page 80), et c’est une règle d’or encore malheureusement trop souvent méconnue :

    « ... la fonction d’une propriété est de décrire les objets (et les rencontres), alors que l’identifiant ne décrit rien. Son rôle fondamental est d’être sûr de distinguer deux jumeaux parfaits, malgré des descriptions identiques.
    L’expérience montre d’ailleurs que l’usage des “identifiants significatifs” (ou “codes significatifs”) a pu provoquer des dégâts tellement coûteux que la sagesse est d’éviter avec le plus grand soin de construire des identifiants décrivant les objets ou, pis encore, leurs liens avec d’autres objets... »

    Et ce qu’a écrit Y. Tabourier, je l’ai souvent constaté, c'est-à-dire que j’ai vu des applications devant être réécrites car prises dans le béton avec ce genre d’affaire...



    Citation Envoyé par supertux54
    je pense que pas que des autoindex soient toujours une solution
    Que sont ces choses-là ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    ITM
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ITM
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci d'avoir pris le temps de me répondre. Je vais me plonger rapidement dans vos liens et méditer sur la citation de M. Tabourier.

    Citation Envoyé par supertux54
    je pense que pas que des autoindex soient toujours une solution
    Que sont ces choses-là ?
    Des trucs issue de bien mauvais conseils avant de me documenter correctement sur les BDD , mais que je vois régulièrement fleurir.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    ITM
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ITM
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Un grand merci, j'ai trouvé les réponses à mes questions. Reste à digérer et à revoir une partie de mon travail (minime).

    Bonne continuation.

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

Discussions similaires

  1. PK Clés composites remplacées par PK
    Par rgomes dans le forum DB2
    Réponses: 7
    Dernier message: 23/03/2012, 08h47
  2. FetchType.LAZY et clés composites
    Par zaboug dans le forum Hibernate
    Réponses: 4
    Dernier message: 19/07/2011, 12h56
  3. annotations et clés composites
    Par BenHoit dans le forum Hibernate
    Réponses: 4
    Dernier message: 27/05/2011, 12h31
  4. Réponses: 4
    Dernier message: 11/02/2008, 15h32
  5. clés composites
    Par Yuna dans le forum Administration
    Réponses: 12
    Dernier message: 08/01/2004, 10h14

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