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

Langage SQL Discussion :

Avis sur structure DB


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Avis sur structure DB
    Bonjour,

    Je me présente, je suis prof en lycée, il y a 10 ans j'ai écrit un logiciel en C++ servant de front-end à une base de donnée assez simple. J'ai donc quelques vieilles notions de sql mais vraiment rien d'extraordinaire. C'est ce manque de compétence qui m'amène à demander conseil ici.

    Au taf, on nous demande de plus en plus de suivre les compétences des élèves ce qui rajoute à chaque évaluation un nombre variable (en fonction de l'évaluation) de notes correspondant à des compétences elles aussi variables.
    Il n'est donc pas vraiment possible de suivre les compétences des élèves à l'aide d'un tableur sauf à devoir faire la mise en relation entre n feuilles à la main, ce que je veux éviter, d'où mon recours à une db.

    Les objectifs sont de pouvoir :
    • Retrouver la composition des classes
    • Récapituler les compétences notées lors de chaque évaluation
    • Retrouver les notes pour chaque compétence, pour chaque élève et chaque travail.


    Il existe potentiellement d'autres besoins, mais je pense que si j'arrive à obtenir les trois points ci-dessus, alors je pourrais les retrouver aussi.

    Je pense à la structure suivante :
    • table_classe : id_class, nom_classe
    • table_eleve : id_eleve, classe, non_eleve, prenom_eleve
    • table_evaluation : id_eval, date_eval
    • table_competence : id_comp, non_comp
    • table_evaluation_elementaire : id_eval_elem, eval, eleve, comp, comp_note,


    Pour avoir la liste de de la classe x, il me faut sélectionner tous les élèves dont classe est x.

    Pour avoir la liste des compétences de l'évaluation n, il me faut sélectionner dans la table_evaluation_elementaire les différents id_comp pour lesquels eval =n.

    Retrouver les notes pour chaque compétence, pour élève e et le travail t, il me faut sélectionner dans la table_evaluation_elementaire comp_note avec eleve=e et eval= t.

    Cette structure vous paraît-elle valable pour en fonction de mes buts ? Y aurait-il mieux ?

    Merci de vos avis.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 170
    Points : 7 422
    Points
    7 422
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne vois pas d'erreur de modélisation dans votre modèle.
    J'imagine (j'espère) que vous aurez cependant quelques colonnes de plus (et entités) histoire de rendre votre logiciel utilisable par plusieurs profs et sur plusieurs années.

    Mais sinon, la structure m'a l'air tout à fait correcte.

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    alain35, je vous conseille de voir MERISE comme méthode ce conception classique.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Bonjour,

    Je ne vois pas d'erreur de modélisation dans votre modèle.
    J'imagine (j'espère) que vous aurez cependant quelques colonnes de plus (et entités) histoire de rendre votre logiciel utilisable par plusieurs profs et sur plusieurs années.
    .
    Merci de votre réponse.
    Effectivement, je souhaiterais que mon logiciel soit utilisable par d'autres collègues (il sera sous licence gpl) mais d'un autre côté, développer prend beaucoup de temps et le bénévolat a ses limites.
    Je pense au fond, que l'EN, comme tout employeur, devrait fournir elle-même les moyens logiciels de ce qu'elle nous demande de faire.


    Je vais voir ce qu'est Merise.

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 170
    Points : 7 422
    Points
    7 422
    Billets dans le blog
    1
    Par défaut
    MERISE est une méthode d'analyse et de modélisation (flux, traitements et données).

    Pour votre culture, c'est très bien de savoir ce que c'est et de standardiser votre démarche d'analyse.

    Mais pour le résultat final, votre MPD tel que vous le décrivez respecte déjà les contraintes de MERISE, donc pour moi, surtout si la modélisation c'est du one shot, ça reste du bonus pour vous de vous plonger là-dedans.

  6. #6
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Bonjour Alain,

    Pour modéliser votre DB je vous conseille DB-Main, il est simple et facile à comprendre.

    Je suppose que vous mettrez des clés étrangères car vous répétez certains noms dans vos tables?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Oui, j'ai des clés étrangères (enfin, j'avais un peu oublié le nom...).

    Merci de la suggestion pour DB-Main. En fait, je me pose la même question vis-à-vis de cet outil que ce qu'a indiqué StringBuilder pour Merise. Est-ce que cela vaut le coup juste pour une seule conception de DB ?

  8. #8
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Oui car il est gratuit et très pratique et ça vous permettra de mieux visualiser vos tables et surement d'en ajouter. Perso je préfère directement faire mes Entités\Associations dans DB-Main que sur papier. Même s'il vous faudra un peu de temps pour l'apprendre, ce sera regagner par la suite.

    Votre DB compte 5 tables et je ne serais pas étonné que vous n'en ajouterai pas par la suite.

  9. #9
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Pour ce qui est de MERISE, je ne suis pas un expert mais c'est une méthode que je pourrais décrire comme en forme d'escalier. Étape par étape.

    Alors que la méthode SCRUM (Agile) c'est plutôt par des objectifs quotidiens avec des réunions très régulièrement pour en discuter et résoudre les problèmes en équipe lors de ces réunions. Là vous pouvez imaginer des lignes superposées qui représente les "couches" du projet.

    Mais là je fais un bref résumé et Wikipedia vous le dira mieux que moi.

    Mais franchement, pour une DB, ne vous cassez pas la tête avec ça. Comme l'a dit StringBuilder, sans le savoir vous en faites déjà. Et même si vous ne savez pas ce que c'est ça ne vous empêchera pas de faire du bon travail.

  10. #10
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 170
    Points : 7 422
    Points
    7 422
    Billets dans le blog
    1
    Par défaut
    Euh... Comparer MERISE à SCRUM, c'est un peu comme comparer un balcon à un avion...
    - Y dit qu'y bleuf
    - Y dit qu'il a plus de genoux
    - Y dit qu'y voit pas l'rapport
    MERISE, c'est une méthode d'analyse et de conception.
    SCRUM, c'est une méthode de développement et de suivi de projet.

    Donc les deux sont complémentaires, mais couvrent des domaines parfaitement distincts.

    Pour en revenir à la question initiale, je persiste et signe : votre modèle est très bien comme ça.
    5 tables, vous avez même pas besoin de les mettre sur papier pour savoir de quoi il s'agit.

    Alors un outil de conception de MCD ou MPD, moi je vote et je dis "pas le moindre intérêt, vraiment".

    En effet, aucun outil ne va corriger vos erreurs. Alors si c'est pour refaire à l'identique ce qui est déjà bon, je vois pas l'intérêt.
    Un tel outil est très bien quand :
    - on est en phase d'analyse, et qu'on n'a pas encore les idées claires sur le schéma à adopter
    - quand on doit partager le schéma avec d'autres personnes
    - quand plusieurs acteurs travaillent sur le même schéma
    - quand on a un prof brise nuts qui veut des beaux schéma imprimés plutôt que des patatoïdes gribouillés au crayon de papier

    Mais au final, ça n'apporte rien. Absolument rien.

    C'est comme dire qu'il va falloir installer une GED pour mettre les spécifications du projet, utiliser MS Project pour faire un rétro-planning à partir de la date désirée de livraison, et installer git pour suivre les versions du programme, que notre ami sera le seul à développer du fond de sa cave en deux soirées...

    Oui, si c'était une équipe de SSII qui bossait sur un projet de 5000 j/h pourun budget de plusieurs millions d'euros, ouais, éventuellement, il faudrait tout ça. Mais là, il s'agit d'un prof qui n'a pas forcément envie de se décourager avant d'écrire son application qui est tellement simple qu'il a déjà en tête les 3/4 du code et des requêtes sans avoir encore allumé son PC.

  11. #11
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    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 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Mais au final, ça n'apporte rien. Absolument rien.
    Si beaucoup de choses :
    1) création automatique du dictionnaire des données
    2) documentation du modèle
    3) adaptativité automatique à n'importe quel SGBDR (oracle, SQL Server, Db2, PostGreSQL...)
    mais surtout :
    4) vérification des cycles dans le modèle
    5) warning sur la créations des index inclus
    6) écriture automatique de déclencheurs (notamment pour la gestion de l'héritage exclusif)
    ....

    et j'en passe.
    Évidemment cela dépend de l'outil. Entre une merde finie comme MySQL Workbench et la rolls Power AMC, il y a évidemment un monde de différfences !

    Cela dit je te rejoins... Sur un projet peu sensible et avec aussi peu de tables... Totalement inutile !

    A +

  12. #12
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Je proposais DB-Main juste pour avoir une vision "graphique" de ses tables. Un truc simple et facile à modéliser. Je ne parle pas d'un soft de fou qui fait tout pour nous et transforme nos E/A en relationnel et fait tout ce qu'SQLpro cite.

    Juste un petit "plan" des tables et colonnes.

    Chacun sa façon de voir, mais je trouve ça plus facile à mettre à jour et avoir une vue d'ensemble. Pas devoir recommencer ou effacer (si on a fait au crayon) l'entité si on a oublié une colonne...

    StringBuilder, c'est vrai, je n'aurais pas dû citer la méthode SCRUM. Ne connaissant pas bien, je n'aurais pas du en parler.

    Mais pour la modélisation (voir même le reste) je suis débutant et vu qu'Alain l'est aussi si j'ai bien compris, je lui donnais le conseil d'un débutant qui a plus facile de le faire sur DB-Main que sur papier.
    Pour celui qui a l'habitude, il a bien sûr plus facile de le faire "à la volée". Mais chacun est différent.

  13. #13
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 170
    Points : 7 422
    Points
    7 422
    Billets dans le blog
    1
    Par défaut
    C'est plus une question de taille de projet que d'habitude

    Quand le modèle des données est simple et l'analyse "triviale", on passe plus de temps à utiliser des outils divers et variés que de passer directement au code après avoir simplement formulé "proprement" ses idées dans un simple fichier texte (pour références futures, car ce qui est clair un vendredi à 18h30 l'est beaucoup moins le lundi à 9h donc il faut au minimum marquer dans un coin le fond de sa pensée)

    En fait, c'est comme pour faire un jardin : si tu plantes 3 pétunias le long d'une allée de ton jardin de 40 m², tu y vas direct avec ta pelle.
    Si c'est pour redessiner le jardin de Versailles, tu passes par un plan et même des maquettes avant de te lancer dans les 6 mois de boulot pour tout replanter

  14. #14
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    En fait, c'est comme pour faire un jardin : si tu plantes 3 pétunias le long d'une allée de ton jardin de 40 m², tu y vas direct avec ta pelle.
    Si c'est pour redessiner le jardin de Versailles, tu passes par un plan et même des maquettes avant de te lancer dans les 6 mois de boulot pour tout replanter
    Tout de suite les extrêmes

    Bon et bien Alain, tu as 3 avis, à toi de choisir

    Aller je t'aime bien Stringbuilder, donc je vais dire que tu as à MOITIE raison

  15. #15
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    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 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    J'aime beaucoup les débutants qui donnent des conseils aux débutant. En gros, j'y connais pas grand chose, donc je vous conseille !!!

    Pour ce qui est du bout de papier comme cahier des charges, je suis plutôt adepte...
    Il y a longtemps, quand je faisait mes classes aux Arts et Métiers, j'ai eu un excellent prof, un professionnel de l'analyse qui nous a montré toutes les différentes méthodes en vigueur à l'époque et qui est partit d'un même cahier des charges résumé en 10 lignes d'un texte.
    Chaque fois la première séance était la compréhension des principes de la méthode et la suivante la pratique ensemble sur le cahier des charges de références. Au final à chaque 2e séance, une analyse nous montrait les avantages et défauts de la méthode.
    Nous avons fait cela avec une dizaines de méthodes au total.
    Arrive la dernière séance. Le professeur devait nous montrer une dernière méthode... la "spécification en langage naturel".... Tout le monde était intrigué.
    Il commence par nous montrer qu'aucune des méthodes présentées était capable de prendre en compte l'intégralité du cahier des charges initial. Il y avait, dans chaque méthode, des zones d'ombre.
    Puis il nous affirme que nous avons déjà eu affaire à cette méthode de nombreuses fois...
    Et il nous montre le cahier des charges !

    Bref, cette petite anecdote pour montrer qu'il n'existe aucune méthode d'analyse parfaite et que souvent dans les cas simple, il faut savoir rester simple et basique !

    A +

  16. #16
    Membre expérimenté
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Points : 1 736
    Points
    1 736
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    J'aime beaucoup les débutants qui donnent des conseils aux débutant. En gros, j'y connais pas grand chose, donc je vous conseille !!!
    Euuuhh, je n'ai pas le droit de donner mon avis ? Cela veut dire que les débutants ne sont pas "autorisé" sur un forum et qu'il n'y a de la place que pour des experts ?

    C'est en faisant des erreurs qu'on apprend, c'est en lisant les experts qu'on apprend. Après, moi je trouve normal de donner mon avis de débutant en modélisation car peut-être qu'Alain est comme moi et aura plus facile de faire un petit "graphique" que de faire de tête ou papier comme les experts le feraient. Je ne pense pas lui avoir proposé d'utiliser un programme super compliqué où il faut suivre un cours de 3 jours pour savoir l'utiliser.

    J'ai été honnête avec lui, j'ai dit que j'étais débutant et je ne me fais pas passer pour un expert, à lui de suivre le conseil qui sera le plus approprié pour lui.

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

Discussions similaires

  1. [Débutant] Avis sur structure excel et ASP
    Par Trady dans le forum ASP.NET
    Réponses: 20
    Dernier message: 08/12/2012, 13h08
  2. Avis sur une structure de programme
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 26/03/2008, 18h51
  3. Avis sur la structure d'une base de données
    Par ange_dragon dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/05/2007, 16h45
  4. avis sur une structure css
    Par sardo dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/03/2007, 18h19
  5. Votre avis sur la structure de mes tables
    Par mat67000 dans le forum Access
    Réponses: 5
    Dernier message: 07/03/2007, 17h05

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