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

 SGBD Discussion :

SQL ou NoSQL, quel serait le plus adapté à mon projet ?


Sujet :

SGBD

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2018
    Messages : 27
    Points : 9
    Points
    9
    Par défaut SQL ou NoSQL, quel serait le plus adapté à mon projet ?
    Bonjour,
    J'ouvre ce sujet car j'ai du mal à déterminer le type de BDD à ouvrir pour répondre à mes besoin pour mon projet d'application. Je précise que je suis novice dans le développement informatique.
    voici mon projet, j'au essayer d'être le plus précis sur les fonctionnalités, certes c'est un peu long, mais cela me semblé nécessaire pour que vous puissiez m'aiguiller au mieux :
    Le fonctionnement de l’application :
    On choisit parmi une liste de classe, une ou plusieurs classes, pour que nos élèves participent à l’épreuve que nous souhaitons mettre en place.
    Il existe trois types d’épreuve et une classe peut participer à plusieurs d’entre elle.
    Epreuve 1 :
    L’objectif est de mettre un suivi de performance séance après séance en fonction de l’élève et du groupe dans lequel il est placé.
    Pour cela, à la création de l’épreuve, chaque élève doit être placé dans un groupe en fonction d’un certain quota mini/maxi (soit de 1 à 4 élèves par groupe, même si cela peut être amener à évoluer).
    A chaque séance, l’élève présent réalise l’épreuve pendant laquelle on intègre les performances réalisées sur l’application. De cette séance, on va créer un bilan individuel et par groupe en y incorporant des scores (exemple : 2 points par tour de course réalisé). Afin d’obtenir sur ce bilan, un %de réussite sur la séance par exemple. On fera de même avec la mise en place d’un bilan de groupe, dans lequel s’ajoute des scores spécifiques aux groupes (les succès) qui donnent une quantité de point en plus en fonction de la difficulté du succès réalisé.
    On aura aussi besoin d’un bilan de progression, ou certains critères des bilans individuels ou bilan de groupe apparaîtront séance après séance.
    Epreuve 2 :
    L’objectif sera de réaliser un tournois de type ATP (comme le tennis).
    Pour cela, il faudra déterminer les réglages du tournois (NB point de départ, les points marqués en fonction du résultat du match, si on met en place le système de handicap ou pas, liste des handicap prédéfini ou personnel, réglage du système de handicap), ensuite on déterminera si le tournois s’effectue en simple ou en double. S’il s’effectue en double, il faut créer les binômes.
    Ensuite, une équipe lance un défi en fonction du nombre de point d’écart au classement général avant le match, si le système de handicap est autorisé, le groupe le moins bien classé peut (ce n’est pas une obligation) mettre en place 1 ou 2 handicaps si l’écart de point est considéré comme important.
    Ensuite, à la fin du match, les élèves viennent noter le résultat ce qui engendre une MAJ du classement général en fonction des points déterminé dans les réglages.
    Epreuve 3 :
    L’objectif est de générer un classement séance après séance en fonction des résultats des tournois ou des match mis en place lors de chaque séance. Les équipes seront soit composé manuellement, soit de manière automatique avec possibilité de réaliser des changements à la marge en inversant 2 élèves.
    Pour cela, il faudra établir les réglages généraux du tournois (points gagnés par match en fonction du résultat, point de pénalité en fonction de certaines actions dangereuses réalisées durant l’un des matchs).
    Ensuite, à chaque séance on pourra choisir d’autres réglages (équipes mixtes ?, nombre d’équipe totale ?,Nombre de matchs par équipe, temps des matchs, nombre de terrains disponibles, temps entre les matchs, possibilité de doublé les points d’une journée si elle est importante dans le cycle).
    De ces réglages, les équipe seront générées en fonction du classement (ou de l’ordre alphabétique pour la première séance), ou insérée manuellement.
    Ensuite, les matchs à réaliser seront placés en fonction du numéro de terrain, un chronomètre sera affiché pour voir le temps restant pour le match en cours (qui sera lancé manuellement).
    A l’issue de chaque match, on inscrit les scores de chaque rencontre. En fonction de ces scores, chaque équipe se voit attribué les points correspondant au résultat inscrit. Ce qui met à jour le tournois du jour. Chaque point marqué par l’équipe du jour, sera distribué a chacun de ses joueurs pour mettre en place le classement final.
    A savoir, j'ai commencer à réfléchir un peu sur un éventuel MCD en SQL, mais j'ai quelques soucis sur la gestion des groupes, ou des séances "journalières".
    Je n'ai aucune notion en No SQL, mais je ne suis pas contre apprendre son utilisation si cela est nécessaire.
    Merci d'avance,
    Neo

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Le noSQL n'a d'intérêt que dans certains cas particuliers.
    Les SGBD Relationnels sont spécifiquement dédiés à gérer des informations de gestion ce qui est votre cas.

    Si votre application était un réseau social alors une base noSQL de type graphe serait intéressante, par exemple Neo4J.
    Si votre application consistait à gérer de gros volume de document (email, pdf, ...) alors une base noSQL de type "document store" serait bienvenue, par exemple Firebase Realtime Database.
    Si votre application consistait à stocker des informations élémentaires transitoires alors une base de type "Key-value Stores" comme Memcached serait parfaite.
    Si votre application consistait à stocker de très grande tables (en nombre de colonne - > 1 000, comme en nombre de lignes - > milliard) alors il faudrait vous orienter vers une base de type "Wide Column Stores", comme Cassandra.

    À la lecture de votre demande, aucune de ces caractéristiques n'apparait. Donc un SGBDR est bienvenu.
    Sachez cependant qu'il existe des SGBD Relationnels intégrant toutes les fonctionnalités noSQL citées, sans avoir à payer de supplément, comme Microsoft SQL Server...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2018
    Messages : 27
    Points : 9
    Points
    9
    Par défaut
    Merci pour votre réponse, au moins elle est clair et précise, je n'en attendais pas moins.

    Depuis le début, j'ai entendu plusieurs son de cloche sur cette demande. Mais la plupart des réponses m'étaient données sans explications claires et précise. En faisant mes recherches il me semblait en effet devoir me porter vers le SQL, mais un grand nombre de personne ne me parlaient que de NoSQL. D'où mon interrogation.

    Je vais donc essayer d'approfondir l'apprentissage du SQL, et de sa modélisation MCD afin de pouvoir mettre en place mon projet, car comme je l'ai dit dans mon premier poste, avec les connaissances que j'ai, je suis bloqué sur la mise en œuvre de mon MCD.

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

Discussions similaires

  1. SQL Vs NoSQL, quel est votre préféré ? participez au débat et donnez-nous vos avis
    Par Francis Walter dans le forum Débats sur le développement - Le Best Of
    Réponses: 42
    Dernier message: 13/12/2018, 21h48
  2. Réponses: 15
    Dernier message: 08/08/2018, 13h58
  3. .NET Remoting serait il adapté à mon projet ?
    Par Pat_AfterMoon dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 25/02/2010, 00h08
  4. C + Glib : Quel environnement de développement pour mon projet?
    Par condor_01 dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 09/10/2007, 16h20

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