Les bases de données - le grand touti

Résolu
lkm Messages postés 43 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 23 novembre 2007 - 27 déc. 2006 à 12:36
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 27 déc. 2006 à 19:45
Bonjour à tous,

Voici quelques questions liées aux BDD car malgré les nombreuses  et excellentes sources que l'on peut trouver sur ce site, je m'interroge encore sur des concepts fondamentaux liés aux BDD.

Voici en quelques mots ce que je souhaite faire:
Je souhaite réaliser une application qui lit et modifie une BDD en local (jusqu'ici rien d'extraordinaire) mais qui peut accéder à une BDD distante pour des opérations de lecture et d'écriture. (ça non plus ça casse pas des briques)

La questions que je me pose est sur le choix de la BDD que je dois utiliser en local, SQL server Express ou attaquer directement une BDD Access?
Pour info, j'ai essayé une BDD SQL server Express et pour ma couche d'accès au donnée j'utilise le data access component de Microsoft Enterprise Library. ça fonctionne très bien mais je me demande comment ça va se comporter lorsque je vais créer un install de mon application et le donner à une personne qui n'y connait rien? Va-t-il devoir installer SQL server Express? Va-t-il devoir créer par un script la BDD? Quelqu'un a-t-il une réponse à cette question?

Sinon j'ai une autre question concernant les DataSets et les DataAdapters. Si je crée un dataset typé qui soit une photographie de ma BDD. Grace au DataAdapter, je peux définir une requête INSERT, DELETE et UPDATE mais est-il possible d'avoir chacune de ces requêtes pour chacune des tables du DataSet?
En gros, lorsque j'insère dans ma table user un utilisateur, alors le dataAdapter va utiliser une requête propre à la table user. Ensuite lorsque je vais insérer un document dans ma table Documents, le dataAdapter va utiliser la requête d'insert propre à la table Documents.
Est-t-il possible de faire ça?

Merci d'avance.

lkm[:)]

6 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
27 déc. 2006 à 19:45
Voila, c'était surtout pour te proposer une alternative a access, merci Coq d'avoir confirmer ma pensée 

Mx
MVP C# 
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
27 déc. 2006 à 13:01
Salut,

En fait, c'est une question très intéressante.
Le choix d'un moteur de base de données pour une application simple est souvent difficile, car au delà du déploiement et des mises à jour, il existe d'autres contraintes comme la volumétrie, la puissance et la rapidité d'exécution.

Même si Access est relativement puissant pour son coté "grand public" on pourra regretté la limitation mono-poste, ou la limitation de volumétrie (2Go je crois).
A l'inverse, SQL Server Express bénéficie de la puissance du moteur de SQL Server, mais pose des soucis de déploiement.

Chaque BdD a ses avantages et ses inconvéniants... à toi de voir ce qui est le mieux pour ton application.
Un conseil, ton code ne doit jamais dépendre de la base de données. Tu dois pouvoir changer de moteur sans changer de code.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
27 déc. 2006 à 15:06
Salut,

Tu auras aussi le choix avec Sql Server Compact Edition (anciennement "Everywhere" il me semble).
En RC1 pour le moment.

Mx
MVP C# 
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 déc. 2006 à 16:51
Oui, c'est bien le nouveau nom :-)
Sinon en base de données embarquée il y a aussi FireBird.

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lkm Messages postés 43 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 23 novembre 2007
27 déc. 2006 à 18:19
merci pour ces réponses, je ne vois pas en quoi le SQL server compact edition pourrait mieux répondre à mes besoins.

lkm[:)]
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 déc. 2006 à 19:02
Entre autres, il ne tourne pas en tant que service contrairement aux autres éditions et peut se déployer de 3 façons à ma connaissance :
- MSI
- ClickOnce
- xcopy (simple déploiement des dll requises avec le restant des binaires de l'application)

Après il faut voir si ça te convient mieux que la base Access...

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous