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écisions SGBD Discussion :

Choix entre plusieurs implémentations d'une table (qui contient des horaires)


Sujet :

Décisions SGBD

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 25
    Points
    25
    Par défaut Choix entre plusieurs implémentations d'une table (qui contient des horaires)
    Bonjour, je suis en train d'écrire un script qui a pour but de récolter des données d'un jeu pour pouvoir ensuite établir des statistiques.
    Mon objectif est de déterminer à quelle heure les gens jouent le plus.

    Donc pour récupérer les données du jeu je dialogue avec une API et je les stocke dans une base personnelle.
    En fait j'hésite entre plusieurs modèles pour pouvoir stocker mes résultats.

    J'ai deux données à stocker:
    - les horaires (les heures de 0 à 23)
    - les compteurs associés à chaque horaire (donc des nombres entiers)

    Et j'ai aussi comme contrainte le fait que selon le pays, les heures où le jeu est le plus fréquenté peuvent être différents.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    I. Dans la première implémentation on aurait un tuple par horaire. Donc quelque chose de cette forme :

    1. 00H, 3250
    2. 01H, 0200
    3. 02H, 1220
    ...

    Il y a de ce fait 2 champs par tuples (3 si on rajoute les pays).
    Donc ici on aurait un total de N x 24 tuples avec N le nombre de pays/fuseau horaire que j'inspecte.

    II. Pour la deuxième j'ai pensé à utiliser un string pour tout stocker dans un champ

    1. "3200.0100.0000.2000.4555.7878"
    ...

    Ici on aurait par conséquent N tuples.

    En réalité c'est l'implémentation pour laquelle j'ai le plus d'interrogations.
    Parce que d'un côté je me dis qu'on pourrait sans doute préférer la première étant donné que les données sont plus indépendantes (Et j'imagine que ça pourrait être préférable).

    Mais d'un point de vue algorithmique j'ai un petit penchant pour la seconde. Car pour incrémenter mes compteurs il faudra que je fasse une lecture pour récupérer les données puis un update pour les mettre à jour.
    Et là ça serait clairement plus simple et plus rapide d'inspecter un champ unique (que je parserais avec une simple fonction) et d'en suite le reconstituer plutôt que de gérer un multiple de 24 tuples à chaque fois.

    Ma principale question serait de savoir si en développement le fait de concaténer des données (numériques par exemple) dans un string qu'on parse par la suite est quelque chose qui se fait dans le monde du développement ou non ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Citation Envoyé par jpagnol Voir le message
    Ma principale question serait de savoir si en développement le fait de concaténer des données (numériques par exemple) dans un string qu'on parse par la suite est quelque chose qui se fait dans le monde du développement ou non ?
    Pas dans le monde des bases de données transactionnelles. En bases de données analytiques ça peut arriver. En Data Science ça arrive tout le temps.

    Il vous faut quelque chose de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    create table compteur
    ( id_pays    integer
    , horodate   timestamp(0)
    , nbjoueurs  integer
    , constraint pk_compteur
        primary key (id_pays, horodate)
    , constraint fk_compteur_pays
        foreign key
        references pays (id_pays)
    );

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 25
    Points
    25
    Par défaut
    D'accord merci beaucoup !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2014, 21h04
  2. [AC-2000] Comment rechercher une valeur dans une table qui contient des paliers
    Par ClaudeLELOUP dans le forum Access
    Réponses: 16
    Dernier message: 13/07/2012, 16h43

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