Partage
  • Partager sur Facebook
  • Partager sur Twitter

Structure de base de donnée

    21 avril 2022 à 22:47:55

    Bonjour à tous,

    D'abord je voudrais dire que je débute en base de donnée. 

    Je cherche à structurer ma base de données pour pouvoir faire des requêtes en fonction de la date, et plein d'autre paramètres.

    Déjà je pense que j'ai mal créer mes tables car quand j'essaie de créer un relation j'ai une erreur : Un index est manquant sur la colonne

    voici le schéma en question :

    https://zupimages.net/up/22/16/2att.png

    Merci d'avance de votre aide

    -
    Edité par Mopire 21 avril 2022 à 22:51:25

    • Partager sur Facebook
    • Partager sur Twitter
      22 avril 2022 à 8:45:07

      Bonjour,

      Quel est le projet de départ ? D'où proviennent les données ?

      D'où provient ce modèle de données ? Il t'est imposé ? Il y a énormément de redondance de données, ce pourrait être grandement normalisé ...

      Quelle va être la volumétrie ? Combien de matchs devront être stockés ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        22 avril 2022 à 18:20:38

        Benzouye a écrit:

        Bonjour,

        Quel est le projet de départ ? D'où proviennent les données ?

        D'où provient ce modèle de données ? Il t'est imposé ? Il y a énormément de redondance de données, ce pourrait être grandement normalisé ...

        Quelle va être la volumétrie ? Combien de matchs devront être stockés ?


        Bonjour et merci de t'intéresser à mon projet,

        Mon projet de départ est de stocker les données pour après pourvoir sélectionner des matchs à jouer en paris sportifs par rapport à des critères. Par exemple une de mes méthodes pourrai à consister à jouer sur un match si ces critères sont valide :

        • Equipe home + équipe Away ont un total de matchs joué supérieur à 2
        • Equipe home + équipe Away ont une moyenne de but supérieur à 2
        • Equipe home ont une moyenne de 1.5 buts supérieur à 80% à domicile
        • Equipe Away ont une moyenne de 1.5 buts supérieur à 80% à l'extérieur

        Les données proviennent d'un scrapping.

        Ce modèle provient de phpmyadmin, ce sont les tables que j'ai créée (le concepteur). Non rien m'est imposé. 

        J'aurai environ 50 championnats pour une moyenne de 18 équipes dans un championnat donc environ 900 lignes. Quand j'actualise, je vide mes tables et je rajoute mes nouvelles données.

        Je l'ai sous excel, mais les mise à jours sont trop longue.

        -
        Edité par Mopire 22 avril 2022 à 18:34:23

        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2022 à 9:25:23

          Mopire a écrit:

          Les données proviennent d'un scrapping

          Du coup cela t'impose la structure, es-tu libre de la modifier ou cela serait trop compliqué ?

          Presque toutes les colonnes de ta base actuelle sont le résultat de calculs qu'en théorie il ne faut pas stocker pour éviter la redondance ...

          On pourrait simplifier ainsi :

          Et avec une série de vue (VIEW) assurer tes calculs de statistiques ...

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            26 avril 2022 à 10:13:20

            Benzouye a écrit:

            Du coup cela t'impose la structure, es-tu libre de la modifier ou cela serait trop compliqué ?

            Je suis relativement libre de modifier la structure. Après c'est juste mes connaissances qui va me limiter.

            Par contre dans ton MCD, je ne pourrai pas la remplir car j'ai juste un résultat mi-temps et fin de match (Nombre de but marqué par équipe et par mi-temps). 

            Si je remplie automatiquement la table "matchs" du coup juste la date (son id_match s'auto encrémentera tout seul) comment je peux faire correspondre les tables "equipe" "joue" et "but" à par manuellement ? J'arrive pas a m'imager le truc, quand je fais des recherches tout est rentré manuellement donc oui c'est facile de faire tout correspondre. Mais quand comme moi je veux tout automatiser je ne vois pas comment faire.

            Je ne connaissais pas les vues, j'ai regardé des docs et cela pourrai bien correspondre à mes besoins. 

            • Partager sur Facebook
            • Partager sur Twitter
              26 avril 2022 à 10:41:14

              Mopire a écrit:

              j'ai juste un résultat mi-temps et fin de match (Nombre de but marqué par équipe et par mi-temps)

              Tu pourrais alors simplifier le modèle ainsi :

              Mopire a écrit:

              Si je remplie automatiquement la table "matchs" du coup juste la date (son id_match s'auto encrémentera tout seul) comment je peux faire correspondre les tables "equipe" "joue" et "but" à par manuellement ? 

              Pourquoi manuellement ? Tu parlais de crawling au début du sujet ...

              J'imagine que tu as un programme qui parcoure des pages web, il y a de fortes chances que sur ces pages, les championnats, matches et équipes aient des ID existants que tu pourrais réutiliser sans avoir besoin d'un auto-incrément ...

              Au pire tu peux faire que ton programme recherche l'ID existant dans ta base à partir des éléments disponibles sur les pages web.

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

              Structure de base de donnée

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown