Utiliser une base de données est-il cohérent dans mon cas ?

Fermé
sensa6on Messages postés 130 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 26 octobre 2018 - Modifié par sensa6on le 26/12/2014 à 02:55
sensa6on Messages postés 130 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 26 octobre 2018 - 27 déc. 2014 à 17:29
Bonjour/Bonsoir,

Je suis actuellement étudiant dans le domaine de l'informatique, 95% du temps que je passe devant mon écran m'emmène bien plus loin que ce que l'on nous enseigne.
J'ai en ce moment un projet d'ordre personnel visant à automatiser certaines actions (sur Windows), je développe donc une application en C# qui s'améliore de jours en jours !

Pour l'instant je me contente de coder la logique du programme et de faire en sorte d'avoir une interface utilisateur fonctionnelle mais à terme mon application devra s'appuyer sur une base de données d'environ 2000 entrées et agir en fonction.
Je précise que je serais le seul utilisateur à consulter ces informations (en local donc), en fait moi je n'aurai même pas besoin de savoir qui vaut quoi, seul le programme en aura besoin. Mais bon à la limite j'imagine qu'il est possible de faire des statistiques en rapport avec mes données. Dans mon cas ça reste superflu.

Je suis novice dans le domaine et je n'ai pas d'expérience professionnelle sur le sujet.

Je me pose donc ces 2 questions :

1) Mon application justifie elle l'emploi d'une base de données ?
Je pourrais très bien stocker mes données dans un fichier texte par exemple et lire/écrire celui-ci quand j'ai besoin.

2) Si oui, que choisir entre MySQL et Access ?
Je possède office 365 université avec Access inclus dedans, j'ai ouvert une nouvelle feuille pour voir de quoi ça avait l'air, pour l'instant ça me fait penser à Excel ... J'imagine qu'on peut stocker nos variables dans les cases voilà tout.
Sachant cela, lequel des 2 SGBD cités au-dessus semble le plus adapté en terme de rapidité, compatibilité et d'utilisation dans l'industrie (en effet tout cela a aussi une portée pédagogique, si je dois manipuler une BDD autant que cela me serve plus tard).

Merci d'avance ...

Amicalement
sensa6on

1 réponse

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
26 déc. 2014 à 07:50
Salut

tu ne donnes pas suffisament de détails sur tes besoins, ton application et son évolution pour répondre correctement à ta question.

Mais, à ta place, j'oublierais Access (!?) et MySQL. Un SQLite devrait suffire et t'évitera de gérer un fichier "plat".
2
jee pee Messages postés 40610 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 janvier 2025 9 472
26 déc. 2014 à 15:33
Bonjour,

Je suis du même avis.

En local, sqlite, ou toute solution de même type semble idéale. Par exemple firefox utilise sqlite pour stocker ses infos en local (paramètres, favoris,...)

cdlt
0
sensa6on Messages postés 130 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 26 octobre 2018 78
Modifié par sensa6on le 27/12/2014 à 02:36
Mes besoins sont simples, le programme doit avoir sous la main environ 2000 informations (comprenant 4-5 paramètres chacune environ), aucun accès extérieur à ces informations désiré donc en local comme vous l'avez dit, pas d'évolution désirée. L'appli doit juste fonctionner au moment T.
Je peux détailler plus si vous me préciser les paramètres qui vous semblent importants.
Ce que j'ai oublié de préciser par contre c'est que je veux que la recherche d'information dans cette BDD soit très réactive.
Je ne souhaite pas stocker des Go et des Go, le nombre d'entrées de variera jamais.
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
27 déc. 2014 à 04:35
Pour résumer :
- 2000 enregistrements (pas de variations)
- 5 valeurs par enregistrement
- stockage local
- recherche rapide => indexation

Mais que fais ton application exactement ? Automatiser des actions ne m'explique pas grand chose. Tu es parti sur une piste pour le stockage mais il existe peut-être d'autres pistes auxquelles tu n'as pas pensé.
0
jee pee Messages postés 40610 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 janvier 2025 9 472
Modifié par jee pee le 27/12/2014 à 11:08
2000 enregistrements tu peux aussi bien les stocker dans un fichier texte et les charger en mémoire. Tu n'as pas indiqué ce que tu stockes, mais à 100 caractères par enregistrement cela ne fait que 200 000 caractères ce qui n'est rien en mémoire. Le temps d'accès en mémoire, même séquentiel sur 1000 (moyenne) doit être négligeable. Et pour le fun tu peux même faire une bonne vieille recherche par dichotomie.

Tu pourrais aussi utiliser un stockage d'information dans un fichier de type xml, c'est comme sqlite, une autre méthode utilisée par les programmes, applications, pour stocker des infos. On trouve des méthodes de recherche des infos dans les fichiers xml chiadés : http://www.dcs.gla.ac.uk/~mounia/Papers/CORIABelief.pdf ;-)
0
sensa6on Messages postés 130 Date d'inscription vendredi 19 octobre 2012 Statut Membre Dernière intervention 26 octobre 2018 78
27 déc. 2014 à 17:29
Merci pour vos réponses, cela confirme le fait que l'utilisation d'une base de donnée n'est pas forcément la meilleure solution dans mon cas.

Chacun des 2000 enregistrements est fait de la sorte (bien que je n'ai pas fini de définir exactement les besoins de mon programme).
-> 5 valeurs dont :
1 string d'environ 30 caractères,
2 bool
2 int compris entre -10 000 et +10 000.

D'après les recommandations d'une connaissance, j'ai fait des essai avec un fichier CSV (une feuille excel donc) mais étant donné que le format n'est pas natif du .NET et qu'il propriétaire je me dirige vers un fichier XML qui lui s'accordera parfaitement au projet et à mes besoins.

Après quelques tests le système de balise me permet de faire une recherche puissante, rapide, exactement ce qu'il me faut. Je voulais donner à mon projet une dimension pédagogique en m'efforçant d'apprendre à manipuler les BDD mais je remets ça à plus tard.

A la place je pense donc utiliser le fichier XML pour faire une sorte de webvisu, l'inclure dans une page HTML en outre. (avec un refresh toutes les 10 minutes par exemple).
Au moins j'aborderai une partie plus orientée Web mais non moins utile à mon avis.
0