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

C++ Discussion :

La meilleur alternative ?


Sujet :

C++

  1. #1
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut La meilleur alternative ?
    Bonjour,

    J'ai un programme qui doit archiver et gérer (recherche, tri etc..) une collection de cd musicaux (300 environ), mais je ne sais pas vraiment quelle alternative choisir.

    J'ai d'abord pensé interfacer mon appli avec une base de données genre mySql, mais est ce que c'est pas un peu démesuré par rapport à la quantité d'information à traiter ?
    Sinon j'ai aussi pensé créer ma propre base de données (stocker l'information dans un fichier txt, puis créer des algoritmes de recherche, tri etc... avec des listes chainées par ex).

    Laquelle de ces 2 solutions vous paraît la mieux adaptée ?

    Merci

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Je vais en proposer une troisieme: http://www.sleepycat.com

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    et moi une quatrieme, plus facile que la troisieme, SQLite !
    elle permet de faire des queries avec du SQL
    et Qt a un driver pour cette DB aussi.

    a+

  4. #4
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    Merci pour vos réponses

    Je ne connaissais pas du tout ces 2 bases de données. Elles m'ont l'air trés intéressantes.
    Donc en gros vous me conseiller plutôt de laisser tomber l'option "base de données faite à la main" ?

  5. #5
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Pas necessairement. Ca depend de tes objectifs. Si l'apprentissage est un objectif important, tout faire soi-meme n'est pas un mauvais choix.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    avant d'apprendre a faire une base de données, il vaut mieux apprendre a en utiliser une.

    Je pense donc oui il vaut mieux ne pas faire un truc a la main, a moins deja de bien maitrisé les DB, de voir quelques limites, et d'en refaire une avec certaines contraintes.

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par epsilon68
    avant d'apprendre a faire une base de données, il vaut mieux apprendre a en utiliser une.

    Je pense donc oui il vaut mieux ne pas faire un truc a la main, a moins deja de bien maitrisé les DB, de voir quelques limites, et d'en refaire une avec certaines contraintes.
    Mon opinion est differente. Avoir fait a la main un exemple simple (et une collection perso de CD est un exemple simple) permet d'avoir une bien meilleure comprehension des problemes qu'un SGDB traite (c'est valable pour d'autres outils puisssants aussi). Sans cette experience, je constate deux tendances, parfois combinees,
    - une mauvaise comprehension de ce que font les outils
    - vouloir utiliser des outils dans des cas tellement simples qu'ils sont plus une gene qu'un avantage.

  8. #8
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    J'ai déjà fait une base de données 'à la main' . C'était pour un classique carnet d'adresse, et ça fonctionnait plutôt bien.
    Cependant pour ce projet (qui risque de s'agrandir) je voudrais quelque chose de rapide et d'efficace. C'est pourquoi j'aimerais savoir si on peut créer une base de données aussi performante que celles mentionnées (sans pour autant entrer dans un projet tentaculaire).

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    300 semble être un nombre suffisamment raisonnable pour travailler en mémoire et pas avec des fichiers.

  10. #10
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Salut,

    Perso je suis du même avis que Jean-Marc si tu souhaites te former, fait plutot la solution 2.

    Pour que ton application soit bien modulable, et qu'un jour tu puisses passer vers une vraie base de données, fait bien attention à utiliser des bonnes structures de données que tu pourras ensuite calquer facilement sur une BDD au lieu de tout refaire. Ca t'évitera beaucoup de travail.

    A+

  11. #11
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    300 semble être un nombre suffisamment raisonnable pour travailler en mémoire et pas avec des fichiers.
    Le truc c'est que je voudrais implémenter une fonction de recherche par chanson. En considérant qu'il y a en moyenne 10 chansons par album on arrive à 3000 entrées environs.
    Penses tu que ce soit encore raisonnable pour travailler en mémoire ?
    Perso je suis du même avis que Jean-Marc si tu souhaites te former, fait plutot la solution 2.
    Pour que ton application soit bien modulable, et qu'un jour tu puisses passer vers une vraie base de données, fait bien attention à utiliser des bonnes structures de données que tu pourras ensuite calquer facilement sur une BDD au lieu de tout refaire. Ca t'évitera beaucoup de travail.
    La petite base de données que j'avais créée fonctionnait sur le principe:
    - stockage des informations dans un fichier txt
    - récupération et gestion de ces information via une liste chainée
    (les différentes informations étaient séparées dans le fichier txt par des caractères spéciaux).

    Maintenant je ne sais pas si ce système rudimentaire est bien adapté pour mon nouveau projet.
    En particulier la mise en mémoire qui me paraît un peu lourde.
    J'ai cherché des exemples de création de base de données en C++, mais en fait c'est toujours pour interfacer des DB comme Sql, mySql, Oracle etc....
    Connaitrais-tu des exemple concrets de création de base de données entièrement en C++ ?

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    SQLite permet de travailler en memoire aussi,
    cad de creer une table en memoire de mettre des enregistrements puis de faire des selects dessus.

    Regarde comment elle marche puis tu aviseras si tu dois refaire (j'avais ecrit refoire ) une database a la main !

    Enfin ce n'est que mon avis.

    a+

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Sans cette experience, je constate deux tendances, parfois combinees,
    - une mauvaise comprehension de ce que font les outils
    - vouloir utiliser des outils dans des cas tellement simples qu'ils sont plus une gene qu'un avantage.
    souvent ce que j'ai vu, c'est de la non-connaissance de ce qui existe autour.
    et bloqué par manque d'imagination dans leur implementation.

  14. #14
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Citation Envoyé par tintin72
    Maintenant je ne sais pas si ce système rudimentaire est bien adapté pour mon nouveau projet.
    En particulier la mise en mémoire qui me paraît un peu lourde.
    J'ai cherché des exemples de création de base de données en C++, mais en fait c'est toujours pour interfacer des DB comme Sql, mySql, Oracle etc....
    Connaitrais-tu des exemple concrets de création de base de données entièrement en C++ ?
    Salut,

    Quelque soit le système que tu mets en place ( listes chainées, arbres binaires, etc... ) le plus important est d'avoir une structure en MVC qui te permettra d'évoluer vers d'autres moyens au niveau "accès aux données".

    Je m'explique : Il te faut une batterie d'objets "conteneurs" qui contiendront les données de ton programme. Ces objets seront alimentés par une "couche modèle" ( le M dans MVC ) qui elle se chargera d'utiliser la technologie que tu voudras. Si tu bases ton application sur cette architecture, tu pourras changer ton système d'accès aux données simplement en ne modifiant uniquement que la couche modèle, car tes objets conteneurs resteront les mêmes.

    A+

Discussions similaires

  1. Quelle est la meilleure alternative pour remplacer Ubuntu One ?
    Par Lana.Bauer dans le forum Cloud Computing
    Réponses: 23
    Dernier message: 10/08/2014, 11h52
  2. Quelle est la meilleure alternative pour remplacer Ubuntu One ?
    Par Lana.Bauer dans le forum Logiciels Libres & Open Source
    Réponses: 0
    Dernier message: 20/07/2014, 21h27
  3. Réponses: 0
    Dernier message: 20/07/2014, 21h27
  4. Réponses: 0
    Dernier message: 19/11/2012, 16h52
  5. Meilleure alternative aux pointeurs sur fonctions
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2011, 17h00

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