Quelques questions pour BDD Access 2010

Fermé
marsau - 12 juin 2012 à 10:32
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 - 12 juin 2012 à 11:06
Bonjour

Je suis en stage dans une école et novice sur l'utilisation d'Access 2010. Ma mission consiste à améliorer le stockage et la collecte de données touchant les différentes formations de l'école. La collecte passera par la messagerie électronique Outlook. J'ai vu en effet qu'on pouvait sur Access générer des formulaires à envoyer par mail, et que les réponses obtenues seraient automatiquement implémentées dans la base de données.
J'ai emprunté des guides pour prendre en main Access 2010 mais j'ai encore quelques interrogations et quelques points que je ne sais pas résoudre...

Peut-être pourrez-vous m'aider, je vous remercie d'avance.

- La base de données doit contenir des données sur chaque formation proposée par l'école (7). Sachant que chaque formation va englober plusieurs tables dans Access (une table par sujet) et qu'il y en aura pas mal par formations, et qu'en plus certaines tables seront quasi identiques pour chaque formation (par exemple, j'aurai toujours une table « effectifs » pour chaque formation), comment faire pour ne pas s'emmêler les pinceaux ? Au début je me disais qu'il me faudrait une base de données pour chaque formation, mais je ne suis pas certaine que ce soit la meilleure idée. Qu'en pensez-vous ? Je me dis que même si mes tables sont nombreuses, admettons 15 tables par formation, je peux facilement me retrouver avec une base de données composée d'une centaine de tables... Ça paraît beaucoup... Mais les tables ne seront vues que lors de la phase de « construction ». Après, quand la base de données est prête, on n'y accède plus (sauf pour la paramétrer) en passant par le mode "feuilles de données" alors même si la base est importante, ça se voit moins et ça ne pose pas de problème ?

- J'ai lu qu'il fallait déterminer pour chaque table une clé primaire, c'est-à-dire un élément de la table qui identifie la table de manière unique. Dans mon cas, je n'arrive pas à en voir. Tous les champs de ma table ont bien trait à un même sujet, mais il n'y a pas d'élément qui identifie de manière unique toute la table. Par exemple, si je prends la table « concours d'accès », j'ai les champs suivants à l'intérieur :

Nb de places ouvertes
Nb de candidats
Nb d'admissibles
Nb de présents aux oraux
Nb d'admis
Etc etc

Est-ce que ça pose problème qu'aucun champ de la table ne puisse constituer la clé primaire ? J'ai lu que lorsqu'aucun champ n'était un bon candidat pour faire une clé primaire, on choisissait alors l'option de prendre comme clé primaire un « NumeroAuto ». Mais que nommer NumeroAuto ? Je ne sais pas trop quel champ appeler NumeroAuto...

- Pour les relations entre les tables, mis à part le fait que certaines auront trait à la même formation, je ne vois pas d'autres relations. Est-ce grave ? Si je n'ai pas de relations est-ce important ?

-Je sais qu'il ne doit pas y avoir de redondance au sein d'une table. Mais comment faire dans ce cas par exemple :

J'ai une table « effectifs » là pour regrouper tous les effectifs humains d'une formation qui dure 3 ans. Du coup, l'idéal est de découper ainsi :

1e année
Nb d'étudiants
Nb d'hommes
Nb de femmes
Etc etc

2e année
Nb d'étudiants
Nb d'hommes
Nb de femmes

Mais je ne vois pas comment je pourrais faire un découpage par année dans une même table... ? Un champ ne peut pas être un champ « titre », du coup je ne peux pas nommer un champ « 1e année », puis lister les champs correspondants en-dessous... Du coup, quelle est la solution ?

- Comment faire en sorte lorsqu'on génère un formulaire que l'utilisateur puisse entrer autant d'enregistrements qu'il veut ? Exemple : je veux savoir combien d'étudiants de 1e année sont partis en séjour d'étude. Dont je vais avoir un champ « Nombre d'étudiants partis ». Mais en complément, je veux aussi savoir où sont partis ces étudiants, et combien ils étaient à partir par destination. Du coup, comment faire pour que l'utilisateur ait cette possibilité, d'entrer le pays et le nombre d'étudiants, et autant de fois qu'il veut ? Je pourrais lister les pays et l'utilisateur n'aurait qu'à rajouter le nombre d'étudiants parti, mais je n'ai pas envie de lister 150 pays différents qui ne seront probablement pas remplis, et qui me feraient des tas de cases vides. Je voudrais que l'utilisateur soit libre d'enregistrer ce qu'il veut, mais le hic c'est que je ne vois pas comment faire. Jusqu'ici je vois qu'il faut un intitulé de champ, et à côté la personne remplit la donnée qui correspond à la question. Mais je ne vois pas comment laisser finalement le champ libre à la personne.


J'espère avoir été assez claire dans mes questions... Je remercie par avance les personnes qui pourront me renseigner.
A voir également:

1 réponse

blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
12 juin 2012 à 11:06
Salut,

une bonne analyse de ce que tu souhaites faire me semble être la chose à faire avant toute chose...

Tu peux trouver ici nue très bonne explication d'analyse/modélisation en merise.

http://www.sam-mag.com/P53,53,5,43,,,default.aspx

Avec ça (et tes réflexions), tu devrais déjà commencer à voir que 15 tables par formation semble beaucoup...
0