Quel base de données choisir?

grosbidou21 Messages postés 74 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 5 février 2010 - 5 déc. 2006 à 13:55
grosbidou21 Messages postés 74 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 5 février 2010 - 5 déc. 2006 à 14:46
Bonjour à tous,
Je suis un peu pommé je dois dire...
Je commence un logiciel incluant une base de donnée. Jusque là, mes programmes utilisaient comme base des fichiers texte. Ils sont pas sécurisés, pas forcément optimisés mais on l'avantage d'être facile à créer et à modifier même manuellement. (debuggage facile)
Je me suis quand même renseigné sur les autres bases de données mais là pas mal de choses se proposent à moi et je ne sais pas vers où me diriger! SQL, base Access, XML??!
Pouvez-vous m'indiquer quelles sont les différences? J'aimerais bien évidement avoir une base rapide, et pratique à mettre en place et à modifier à travers le code mais si possible possible à modifier en ouvrant le fichier manuellement.
Ma base contiendra dans l'ordre de 1000 clients. (Aux maximum 5000)
Merci de votre aide

La programation c'est au moins autant prise de tête que ... je ne vois pas rien ne l'égale...

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 déc. 2006 à 14:16
Bah tout dépend ce que tu cherche à faire avec... Si c'est juste stocker des informations sur 5000 clients uniquement, n'importe quel type de base de données (Access, SQL Server, MySQL, PostgresSQL, Oracle ou autre) feront l'affaire, elles seront toutes rapides, et adaptées à ce que tu cherche à faire (modifier manuellement la base par exemple, tant que le logiciel permettant de le faire est installé).

Je dirais que pour une base de données pas trop lourde (du style 5000 clients, avec une facture par mois par client, avec un milier de produits, etc.), une base Access fait très bien l'affaire, ensuite, si tu veux des fonctionnalités réseau, de concurrence d'accès, etc, oriente toi plutôt vers SQL Server ou MySQL ou PostgresSQL.

Après, c'est une histoire de prix : Oracle est très cher, mais je serais tenté de dire que c'est le top : fiabilité reconnues, monté en charge incroyable, rien ne lui fait peur, ou presque. MySQL et PostgresSQL sont gratuites il me semble, ainsi que la version express de SQL Server (par contre, je suis pas sûr que tu ai le droit de l'utiliser à des fins commerciales !).

Evite le XML : si c'est pratique pour peu d'informations, ca devient extrêmement lent avec un gros fichier (tu retrouve les mêmes inconvénients qu'un fichier texte !).
0
grosbidou21 Messages postés 74 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 5 février 2010 2
5 déc. 2006 à 14:33
Merci pour ces infos.
Mon application a des fins commerciales. Y'a pas de soucis pour utiliser une base Access donc? Meme si le client n'a pas Access d'installer, il ne pourra pas modifier le fichier manuellement, mais confirme moi bien que mon logiciel pourra quand même accéder à la base de données?!
Autre chose, en fait mon application pourra être exécuter sur plusieur poste. La base de données est commune à tous les postes. Ca ne pose pas de problème pour la base d'Access? On peut appeler la base lorsqu'elle a un chemin du style "\\NOMORDI\REPERTOIRE\nom base.mdb" ?

La programation c'est au moins autant prise de tête que ... je ne vois pas rien ne l'égale...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 déc. 2006 à 14:42
Non non, pas besoin d'avoir access pour se servir d'une base access, il suffit juste de créer la base avec Access (ou avec un autre logiciel de création de base mdb), puis de l'utiliser dans ton prog (tu peux même construiure la base access directement par le code, mais autant utiliser access qui facilité grandement le travail !).

Ensuite sur la (ou les) machines clientes qui feront tourner ton prog, il faudras installer le driver d'accès à la base (ODBC en l'occurence avec le moteur JET 4). Mais si tu veux pas te prendre la tête, construit le setup avec InnoSetup/ISTools, et il intègrera les fichies qu'il faut (cf le tuto de zlub sur ce site + tout les messages dans le forum à ce sujet).

Pour ce qui est de faire tourner la base sur un réseau, là encore, pas de problème : le chemin d'accès peut être local ou distant sur un réseau local. Par contre, une chose à garder en tête : risque de problèmes si plusieurs utilisateurs utilise ton programme en même temps et qu'ils modifient la même table au même moment ! Mais ceci est valable pour n'importe quel logiciel qui est utilisé en réseau de toute façon !
0
grosbidou21 Messages postés 74 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 5 février 2010 2
5 déc. 2006 à 14:46
Ok me voilà rassuré et dirigé dans la bonne direction!
A moi de bosser et de faire le reste.
Merci grandement à toi grand maître Dark Sidious
Bonne continuation
Alain

La programation c'est au moins autant prise de tête que ... je ne vois pas rien ne l'égale...
0
Rejoignez-nous