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

PHP & Base de données Discussion :

Comment puis-je lié deux échantillons [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 159
    Par défaut Comment puis-je lié deux échantillons
    Bonjour à tous,

    (je suis en train de reformuler mon message)

    Nous allons recevoir une imprimante d'étiquette pour étiquetter des échantillons par paire (maitre, esclave) dans le cas ou l'un devait disparaitre, se casser...
    Un pair d'échantillon partira de nos locaux. Ils irons sur un glacier. Une mesure sera prise, et il reviendra dans nos buraux pour analyse.
    Puis une autre paire fera la meme chose sur un autre glacier, etc.

    La table 'label' semble être le centre de mon schema, puisque que l'imprimante devra indiquer l'ID de l'échantillon, le glacier, son slave (le slave indiquera le master), le type, et dans quelle boîte il sera ranger dans nos bureaux .
    Mon questionnement est comment faire simple avec quelque tables liés.

    Premièrement, je pensais utiliser que des liaisons non identifié 1-1. Car il y aura qu'un label pour un échantillon. Par contre, plusieurs échantillons aura des types différents.

    Ce qu'il me préoccupe le plus C'est comment lié ma table des échantillons slaves (replica_slave)?
    D'allieurs, est-ce une bonne idée d'avoir créer une table pour les slaves???

    Je me dis que l'imprimante va questionner la table replica (échantillon master), puis la table replica_slave elle il imprimera deux étiquettes, une verte et une rouge.

    Mais comme faire proprement tout comme avaec les laisons?

    Voici un draft:
    Nom : Screen Shot 2018-11-15 at 9.25.59 PM.png
Affichages : 100
Taille : 137,8 Ko

    Je vous remercie pour vos lumières.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu as déjà fait le plus gros du travail,
    Et tu es le seul ici qui connaisse parfaitement ton système, la problématique et la structure de tes tables.

    Le meilleur conseil que je puisse te donner est :
    Continue, et va jusqu'au bout de ta réflexion.

    En fonction des relations entre les tables que tu as établi (théoriquement) :
    Fais des simulations (tout aussi théorique = avec un papier et un crayon) des requêtes qui te seront nécessaires.

    Tu verras alors si tes relations sont correctes, à modifier, ou à simplifier.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 159
    Par défaut
    Salut Jeraux,
    Merci pour ta réponse.
    Le problème (pour faire des simulations), c'est que j'ai été mis au ju très récemment et on n'a pas encore ni l'application, ni les périphériques. Les bases de données ne sont pas encore prêtes. Un meeting est prévu la semaine prochaine. Donc rien pour tester pour l'instant. On recevra ceci 1 ou semaine du deadline que j'ai pour faire ceci .

    Il faut donc vraiment que je prépare un schéma selon la structure (liéason 1-1, ou 1-n) qui m'est dictée. Mon gros doute (il me manque probablement de la téhorie )c'est comment liés deux échantillons en paire, soit dans la meme table 'replica' ou s'il serait mieux de faire deux table 'replica' et 'replica_salve' pour "séparer" les paires et les lier avec leur ID, ceci pour que le soft qui va imprimer les étiquettes les imprime en référant les paires...

    Bonne soirée

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 159
    Par défaut Les liaisons entre deux tables
    Bonjour,
    J'aimerais savoir si vous pouviez encore m'aider la dessus, si ce n'est que de confirmer.

    J'ai repensé ma database et mes tables, mais dans le soucis de bien faire, j'ai un doute concernant surtout les liaisons et le nommage de certain champs.
    Voici ou j'en suis arivé
    Nom : Screen Shot 2018-11-21 at 9.22.52 AM.png
Affichages : 74
Taille : 128,2 Ko
    NB: Une petite erreur mais je vais pas refaire l'image, dans 'measures', 'name' n'est pas un boolen, mais un varchar(45)

    La table 'labels' est l'élément pricipal. Elle va etre envoyé sur des glaciers et revenir dans nos bureaux. La table 'labels' aura donc beaucoup d'entrées. Chaque ligne, représentant un label (étiquette à imprimer et coller sur un échantillon), aura comme information:

    • Elle doit contenir l'ID du glacier pour extraire le nom de ce dernier
    • Elle doit contenir l'emplacement 'locations_id_location' sur ce dernier. Il y a deux valeurs, dont deux entrées dans la table 'locations'
    • Elle doit contenir le type de meaure 'types_id_type'. Il y a 8 ou 9 entreé (lignes) dans la table 'types'
    • Elle doit informer le duplica (chaque mesure sont doublées ou triplées, en cas de perte). Il y aura donc 3 entrées dans la table 'duplicas'
    • finalement, elle doit indiqué dans quellle boîte elle se trouve. 'boxes' aura 3 entrées, car 3 boites.

    Pour les autres entrée, il n'y aura pas de liaisons sur d'autres tables, sauf pour les mesures. Les autres entrées sont des bouléens.

    Donc pour ce qui précède, j'ai fait des liaisons n-1 non idetifié, car une lignes des tables (autres que 'labels') sera liée à plusiuers labels, mais une ligne de 'labels' contiendra.

    Par contre pour 'measures', j'ai fais l'inverse car une label peut avoir une mesure, mais une mesure ne peut appartenir qu'à une seul label (même si généralement, il n'y aura qu'une mesure par label, je préfère en prévoir l'option de pouvoir en avoir plusieurs). J'ai fais donc une liaison 1-n non identifiée.

    Qu'en pensez-vous? Tout semble correctement ou le feriez-vous comment mieux?

    J'ai un autre doute concernant le nommage du champs 'name' des tables. Lors d'un requete SELECT, J'ai déjà eu le cas, ou il ne savait pas si le 'name' appartenait à 'types' ou 'galciers' ou 'mesaures', etc. J'avais donc mis un préfix correspondant au nom de la table (expl: l'id des tables). Mais ca ne me semble pas trop propre et je pense qu'on devrait pouvoir laisser comme je les fait, pour els champs 'name'

    Que me diriez-vous à ce sujet, pour faire au mieux?

    Milles mercis pour vos lumières

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    Si tu as des doutes sur le nommage, je te conseille de lire cet article qui date un peu mais qui a l'avantage de proposer quelque chose de cohérent qui évite toute ambiguïté.

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

Discussions similaires

  1. [MySQL] Comment puis-je discocier deux noms de champs identiques de deux table différentes
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/02/2018, 18h46
  2. Comment puis-je comparer deux champs
    Par pierrot10 dans le forum jQuery
    Réponses: 7
    Dernier message: 05/02/2014, 02h29
  3. Réponses: 4
    Dernier message: 20/06/2011, 09h50
  4. Réponses: 6
    Dernier message: 19/03/2011, 11h13
  5. Réponses: 9
    Dernier message: 17/03/2011, 13h07

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