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 :

Est-ce que ce design de base de donnée est valable ?


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Informaticien
    Inscrit en
    Octobre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Octobre 2014
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Est-ce que ce design de base de donnée est valable ?
    Bonjour à toutes et à tous.

    J'ai besoin de votre aide pour avancer.

    Je développe actuellement un programme de gestion de stock pour mon atelier d'électronique, en C++ avec Qt 5.14.2 ainsi que MySQL 8.0
    Le hic c'est qu'en base de donnée je ne connais pas grand choses...
    J'essaie de me souvenir de mes court de DB en apprentissage d'informatique mais c'est pas trop ça. (En plus c'était avec MS Access)



    Mon but pour ce logiciel c'est de pouvoir ajouter dynamiquement des caractéristiques à la volée sans pour autant devoir modifier la table.
    C'est pour cela qu'au début je voulais utiliser MongoDB mais pour la recherche dans la base de donnée je ne m'en sortait pas avec les requête, de plus je suis obligé de compiler
    le driver MongoDB (Ce qui à été fait mais niveau pour faire du cross plateforme c'est pas trop ça)alors que MySQL est supporter nativement pas Qt

    Donc je suis passé à MySQL en tentant tant bien que mal de designer quelque chose sur MySQL Workbench, mais je ne suis pas sur de ça viabilité.
    J'ai pensé la chose de la sorte:

    une table primaire "item" qui contient des fk pointant sur une classe d'article. (électronique, quincaillerie, mécanique, informatique, etc...)
    Chaque classe à une fk au sein de la table "item" mais cette fk ne dois pas forcément contenir un id (Donc celle qui contiendra un id (Disons électronique)) nous indiquera dans quelle classe faire la recherche pour trouver l'article voulu.

    Ex:
    item->électronique->passif->semiconducteur->transistor (Article trouvé)

    Chaque sous classe contient une fk pointant vers la sous classe suivante. (Avec une cardinalité 1:1 mais sur ce coup je ne suis pas sur que ce sois juste)
    Le soucis dans ce design, c'est que tous les autre table (Ex sous classe de électronique ) devront être mise à l'état "NULL", ça veux dire un enregistrement dans chaque table pour un item c'est un peu inutile... (dîtes moi si je me trompe)
    Donc est-ce que de mettre la cardinalité sans l'option "Mandatory" résoudrais ce problème ? Et dans ce cas, est-ce que les FKs qui ne pointent vers aucune classe ce verront attribuer une la valeur "NULL" automatiquement ?

    Merci de m'avoir lu, j'espère ne pas avoir été trop incompréhensible

    Si vous pouvez m'aider à éclairer ma lanterne ou bien si vous êtes intéressé a m'aider au design de la DB je vous en serai éternellement reconnaissant.

    Voici une vidéo sommaire du logiciel


    voici mon schéma pour MySQL Workbench sur WeTransfer
    https://we.tl/t-9EaaW5oBVC


    Au plaisir de vous lire,

    Dr. dgekil

  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 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 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir drdgekil,


    Citation Envoyé par drdgekil Voir le message
    ajouter dynamiquement des caractéristiques
    Qu’est-ce qu’une caractéristique ?


    Citation Envoyé par drdgekil Voir le message
    une table primaire "item"
    Qu’entendez-vous par “primaire” ?


    Citation Envoyé par drdgekil Voir le message
    cette fk ne dois pas forcément contenir un id
    C’est malsain. Cette affaire est mal engagée, conséquence d’une modélisation a priori approximative. Le défi est que pour chaque table, chaque colonne participant à une clé étrangère contienne une valeur (NOT NULL systématique).


    Citation Envoyé par drdgekil Voir le message
    item->électronique->passif->semiconducteur->transistor
    item est manifestement un élément de la table item, électronique est un élément d’une supposée table “classe d'article”.
    Pour le reste, vous donnez l’impression que passif, semiconducteur, transistor seraient eux aussi des éléments de “classe d'article”. S’il en est ainsi, ça se modélise, comme ici.


    Citation Envoyé par drdgekil Voir le message
    voici mon schéma pour MySQL Workbench sur WeTransfer
    Quand on clique sur le lien, il s’affiche quelque chose de trop étrange pour oser poursuivre.

    En conséquence, pour qu’on puisse vous aider, présentez votre modèle au moyen d’une image (jpg, png) s’affichant directement dans votre message.
    (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.

Discussions similaires

  1. Vijeo designer et base de données recettes
    Par quentin22breizh dans le forum Automation
    Réponses: 0
    Dernier message: 18/12/2012, 14h00
  2. Réponses: 3
    Dernier message: 16/03/2012, 19h18
  3. Qt Designer et bases de données
    Par gerard.degreve dans le forum PyQt
    Réponses: 2
    Dernier message: 17/03/2009, 08h04
  4. Que choisir : fichiers ou base de données? et pourquoi?
    Par jlassiramzy dans le forum Langage
    Réponses: 5
    Dernier message: 23/11/2007, 10h33
  5. est ce que d'apres une base de données en access,
    Par loveflower dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 26/10/2004, 16h12

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