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

Développement SQL Server Discussion :

Héritages multiples - Vos avis


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chimiste senior, développeur junior
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chimiste senior, développeur junior

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Par défaut Héritages multiples - Vos avis
    Bonjour,

    pour mon développement, j'ai besoin de stocker en base de données différents métaux que l'on peut résumer ainsi :

    Type de métal : TFS, Tinplate, Aluminium
    Epaisseurs (valables pour tout les métaux) : 0,13 à 0,28 (en allant de 0,01 en 0,01)
    Etamage : différentes valeurs sous forme varchar qui ne peuvent être associées au métal que lorsque l'on parle de Tinplate.

    j'ai modéliser qque chose comme cela :

    Nom : BDD_Capture.png
Affichages : 169
Taille : 115,7 Ko

    est ce correct?
    Merci de vos avis.

  2. #2
    Membre averti
    Homme Profil pro
    Chimiste senior, développeur junior
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chimiste senior, développeur junior

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Par défaut
    Alors je me réponds tout seul après plus amples réflexion : l'héritage se justifie pour étamage mais pas pour type et épaisseur. A mon l'avis l'héritage d'étamage doit plus se faire sur type que directement sur métal

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour

    en efft, pas d'héritage pour les propriétés type et epaisseur.

    Pour mettre en place un héritage pour le Tinplate, il faut donc une table T_TINPLATE héritant de T_METAL, avec deux colonnes :

    - MET_ID : clef primaire ET clef étrangère référençant T_METAL.
    - ETAM_ID : clef étrangère référençant T_ETAMAGE


    Par ailleurs, attention aux type :
    le type numeric n'est pas indiqué pour une clef primaire : optez pour une clef primaire la plus courte possible
    Par exemple pour les épaisseurs (au nombre de 15 seulement), un simple TINYINT suffit pour la clef primaire
    pour la valeur des épaisseur, pourquoi un DECIMAL(18,3) ? d'après la description fournie, il faudrait un DECIMAL(2,2).

  4. #4
    Membre averti
    Homme Profil pro
    Chimiste senior, développeur junior
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chimiste senior, développeur junior

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Par défaut
    Merci de ta réponse.

    Ce que je ne comprends pas c'est ou tu stockes l'information étamage (un varchar de 30) si tu ne mets que 2 colonnes dans la table T_TINPLATE?

    Merci pour les informations sur les types, je vais appliquer ces corrections.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Dans la table T_ETAMAGE, comme actuellement.

    La table fille T_TINPLATE, dans le schéma présenté, vient donc "s'intercaler" entre T_METAL (dont elle hérite) et T_ETAMAGE (qu'elle référence)

  6. #6
    Membre averti
    Homme Profil pro
    Chimiste senior, développeur junior
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Chimiste senior, développeur junior

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Par défaut
    Ta table T_TINPLATE est donc une table d'association ? Est ce utile dans le sens ou un métal ne peut avoir que 0(non tinplate) ou 1 étamage (cas du tinplate) mais en aucun cas plusieurs (j'aurais peut être du préciser que je compte renseigner l'étamage intérieur et extérieur dans le même varchar vu le peu d'étamages différents a gérer)

Discussions similaires

  1. Comparatif des hébergeurs payants : Vos avis
    Par RideKick dans le forum Hébergement
    Réponses: 346
    Dernier message: 12/03/2017, 10h47
  2. [LIVRES] Vos avis nous intéressent !
    Par Maxence HUBICHE dans le forum Livres
    Réponses: 21
    Dernier message: 30/01/2013, 17h33
  3. Votre avis sur l'héritage multiple avec JavaFX
    Par guitariste dans le forum JavaFX
    Réponses: 12
    Dernier message: 01/09/2009, 23h59
  4. [Livres/Références] Vos avis..
    Par Community Management dans le forum Livres
    Réponses: 6
    Dernier message: 25/07/2005, 19h31
  5. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55

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