Choisir mes tables BDD (avec Access)

Fermé
Alialyn - 25 juil. 2011 à 09:30
Alialyn Messages postés 13 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 2 décembre 2011 - 26 juil. 2011 à 12:52
Bonjour,

je suis un étudiant effectuant un stage en informatique en première année.

J'effectue donc actuellement mon stage dans une entrepris vendeuse de matériel médical et ma tâche consiste à créer une base de donnée répertoriant tout le matériel vendu depuis aujourd'hui, ceux à venir ainsi que les documents s'y référant. Je m'explique. Pour vendre un équipement, il faut certaines conditions, (comme l'accord du distributeur, l'accord auprès du ministère de la santé...) eux même conditionnées (tel ou tel respect de conventions de qualités etc....)

Etant débutant en informatique et n'ayant qu'abordé les bases de données en cours, je me trouve un peu en difficulté à définir les tables, d'autant plus que je n'ai jamais utilisé Microsoft Access et que c'est sous ce logiciel que je dois développer la base de donnée.
Mon principal problème se trouve au niveau des liaisons, des relations entre les tables, de ce fait je n'arrive pas à choisir les tables.

Par exemple il me faut une table « PRINCIPAL », dans celle-ci j'ai name avec une clé primaire, Product (qui sera une autre table), personnel in charge (table ) address, postal code, city, country, contact.
J'ai donc ensuite la table « PRODUCT » et là commence ma difficulté, je ne vois pas que mettre en clé primaire, j'aimerais les organiser par nom, le problème étant qu'en tant que clé primaire, il sera unique, alors que plusieurs produits peuvent avoir le même nom... J'ai donc pensé à un numéro automatique. Mais je n'arrive pas bien à visualiser le résultat dans la base de donnée. Comment voir que tel produit correspond à telle marque si je ne mets pas cette marque dans la table... Mais alors il faudrait à chaque table remettre des informations des tables précédentes... Je ne m'exprime pas très clairement j'en suis désolé mais c'est parce que je suis moi-même un peu « embrouillé ».

Autre exemple, dans chaque marque donc (PRINCIPAL) correspond un personnel qui s'occupe uniquement de celle-ci. Une table « PERSONNEL » m'a donc semblé utile. Cependant là encore j'ai un problème, il y a donc plusieurs personnes chargées d'une seule marque, j'ai donc les champs suivants : Principal_personnel_name, department, principal_personnel_contact, our_company_personnel_name .
Je ne vois pas que mettre en clé primaire, et comment savoir que ce groupe de personne travaille pour cette marque et pas une autre, si je ne mets pas le principal_name en champ dans la table...
Je ne sais pas si vous visualisez bien mes problèmes au vu de mes explications confuses mais je vous serais reconnaissant de m'aider.

Je vous remercie par avance.


A voir également:

8 réponses

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
25 juil. 2011 à 10:08
Salut !

Dans ta table "PRODUCT", tu peux laisser Access générer la clé primaire (et en fait, d'une façon générale tu peux laisser Access choisir). Une fois cela fait, tu lies le champ "Produit" de ta table "PRINCIPAL" avec la clé primaire de ta table "PRODUCT" (via le menu "Edit Relationships"). Une fois cela fait, Acces aura donc bien compris le lien entre le deux tables. Ensuite, tu crées une requête (Query) pour affichier uniquemetn les infos dont tu as besoin.

Idem pour ton second problème: tu laisse Access générer la clé primaire du personnel, clé que tu utilises comme champ dans "PRINCIPAL". Et de la même façon qu'une entrée "PRINCIPAL" peut se référer à pusieurs produits, elle pourra se référer à plusieurs personnes.

Stu veux, je t'envoie une DB vide avec un exemple.

0
Bonjour,
Merci beaucoup pour cette réponse rapide! La clé primaire de ma table PRODUCT sera donc un nombre automatique si j'ai bien compris? Je dois donc mettre le champ product de la table PRINCIPAL en numérique? J'aimerais bien que tu m'envoyes un exemple oui si ça ne te déranges pas trop.
En tout cas merci beaucoup de ton aide!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 25/07/2011 à 10:24
Bonjour,

Je ne sais pas si vous visualisez bien mes problèmes au vu de mes explications confuses
Tout à fait c'est confus

Ton premier boulot ( c'est le +dur) est de rédiger le "système d'information" à faire valider par ton maître de stage
regarde ce topo
http://www.sam-mag.com/P77default.aspx

tu pourras ainsi modéliser ta base, si tu n'as pas étudié Merise, tu prendras de l'avance sur tes cours
et ca répondra ,sans trop de problèmes,à ta question : primary et foreign key, relations...
Mon principal problème se trouve au niveau des liaisons, des relations entre les tables, de ce fait je n'arrive pas à choisir les tables.

je te transfère dans le forum base de données

important: toute cuisine Access (n° automatique par ex, définition des champs) est pour l'instant prématuré voire suicidaire

Michel
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
25 juil. 2011 à 10:18
Donne moi une adresse par MP alors :-)

Dès que tu fais correspondre des champs, ils doivent avoir exactement la même définition. Un nombre avec un nombre, un texte avec un texte, mais ça va plus loin. Par exemple un entier doit être lié à un entier.
0

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

Posez votre question
@ Bruce Willix: Oui voila c'est bien ce que j'avais compris mais quand tu dis que je laisse choisir Access je laisse donc un nombre automatique dans ce cas c'est bien ça?

@michel_m: Je suis justement encore dans l'étape de rédaction du "systeme d'information" comme tu dis, je n'ai encore que du papier et AnalyseSI, pour le MCD. J'ai donc déjà étudié la méthode Merise cependant tout les exercices effectués étaient sur des sujets moins complexes, dans mon cas je ne vois pas toujours le type de champ a mettre ni le lien en base de donnée. Par exemple comme je disais précedemment je ne comprend pas bien comment mettre toutes les personnes en charge d'une meme marque "PRINCIPAL" dans un meme "groupe". Parce que dans personnel_in_charge j'aurais à mettre donc toutes les personnes s'occupant de toutes les marques. Comment donc savoir qui s'occupera de laquelle? Je ne sais pas si tu comprends bien je n'arrive pas a m'exprimer clairement je suis désolé.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 25/07/2011 à 10:55
Sur tes explications, il m'est impossible de te proposer un début de SI....
Pour l'instant dans ton étude, tu n'es pas "informaticien", tes inquiétudes actuelles sur la cohérence des liens, des numérotations de clés primaires sont prématurées et t'embrouille: au niveau de la modélisation (MCD, MLRD), on se fout du logiciel de database...

1 à N agents vendent à 0 à N clients une et une seule marque de matériel ???
tu as une relation N,N ?
regarde et étudie les topos que je t'ai indiqué: c'est un bon investissement

De toutes façons, en jury de rapport de stage, tu devras démontrer le bien fondé de ton SI et de ton MCD, la cuisine Access, mysql, oracle... est secondaire ; il m'arrive d'^tre juré de rapport de stage et ca se joue beaucoup là -dessus: on vérifie qu"un étudiant est capable d'analyser une demande de gestion de base de données, sinon, il n'est pas fait pour travailler dans ce domaine de l'informatique...
0
Alialyn Messages postés 13 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 2 décembre 2011
25 juil. 2011 à 10:58
Non tu as mal compris, il n'y a pas de client dans ce que je dois réaliser. Plusieurs personnes sont en charge d'une seule marque, et ces personnes ont chacunes leur "department". Par exemple pour la marque ELEKTA, X est associé aux departement finance, Y au documents, Z aux certificats de qualité, et l'équivalent s'occupe de la meme chose dans notre entrepris X' des finances mais de notre coté, Y des documents etc. dans ma table actuelle telle que je l'ai imaginé, 'Personnel_in_charge", j'ai les champs suivants: le nom de la personne qui s'occupe de la marque chez cette meme marque, son 'contact' (téléphone ou email), le departement auquel il est associé, et enfin le nom de la personne qui s'occupe de la marque mais chez "nous". Sachant donc que plusieurs personnes de plusieurs departements se chargent d'une meme marque.
J'espère avoir été plus clair dans mes explications...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 25/07/2011 à 11:11
Non tu as mal compris
....
J'effectue donc actuellement mon stage dans une entrepris vendeuse de matériel médical et ma tâche consiste à créer une base de donnée répertoriant tout le matériel vendu depuis aujourd'hui, ceux à venir ainsi que les documents s'y référant
???
hé, oui, je sais ! et pourquoi ? la réponse:J'espère avoir été plus clair dans mes explications...



REGARDE LE TOPO QUE JE T'AI MIS EN LIEN:

Le Système d'Information 

La première priorité est de transformer ce que l?on veut analyser en mots simples. L?écriture de cette petite rédaction permet à elle seule de bien comprendre ce que l?on va modéliser. Il s?agit à ce stade d?établir un lien entre l?informaticien et les utilisateurs, il ne faut donc pas hésiter à faire relire votre petit texte et à poser toutes les questions qui vous viennent à l?esprit afin de bien analyser l?existant. La difficulté principale est d?arriver à faire abstraction de vos habitudes de programmation : à ce stade, nous sommes totalement indépendant du matériel et du logiciel. Ne pensez pas en terme de tables. Pensez en terme d?entités. 

Prenons l?exemple très simple d?un logiciel ayant pour but de gérer les envois de NewsLetters aux abonnés d?un site ayant plusieurs rubriques. Le service marketing veut aussi savoir quelle raison a poussé l?abonné à s?inscrire en lui proposant plusieurs choix de motivations lors de son inscription. 

Le Système d?Information se décrit ainsi : 
"Un abonné est inscrit à une ou plusieurs rubrique. Chaque rubrique envoie une NewsLetter chaque semaine aux abonnés de la rubrique correspondant. Un abonné a une motivation d?inscription parmi plusieurs possibles." 

Ces quelques phrases, si elles sont exactes et validées par le client, sont suffisantes pour modéliser notre premier modèle. Elles contiennent en effet toutes les informations nécessaires.


Maintenant, tu fais ce que tu veux, ce n'est pas mon problème!
0
Alialyn Messages postés 13 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 2 décembre 2011
25 juil. 2011 à 11:36
Ok alors j'ai essayé de formuler correctement le système d'information. Notre société se charge de fournir du matériel médical à des hôpitaux provenant d'entreprises de différentes marques créant ces équipements. Une marque possède plusieurs produits, un personnel attitré ainsi que des informations diverses (adresse, pays,...). Pour pouvoir obtenir un produit d'une marque, il faut recevoir une "letter_of_appointment" ainsi qu'un papier attestant de l'accord du distributeur "distributor_agreement" valide pour une periode de x années. Le personnel en charge d'un marque est défini par un secteur d'activité (fincances,...) il y a donc plusieurs personnes qui se chargent des echanges avec une marque, du coté de cette meme marque, et du coté de notre entreprise. Chaque produit à un nom; qui peut donc être similaire à un autre produit si on le possède deux fois; subit des tests à l'usine, est soumis à des normes de qualités, et possède des documents liés (manuel d'utilisation,...) Pour recevoir un produit, il faut qu'il soit 'validé' auprès du ministère de la santé, de ministère des ventes, et de l'agence des produits radioactifs. On obtient alors une date de délivrance de la part de chaque ministère lui aussi valide pour x année, qu'il faut donc renouveler, 3 mois avant chaque fin de validité.
Je ne sais pas si c'est ce que tu attendais par la description du systeme d'information mais en tout cas j'ai fait de mon mieux pour expliquer sans trop embrouiller.
Merci encore de consacrer ton temps à m'aider.

PS: Pour ton précédent message à propos d'être fait pour travailler dans ce domaine de l'informatique il se trouve que je ne souhaite justement pas travailler dans celui ci, mon secteur de prédilection étant le réseau et la sécurité. N'ayant pas trouvé de stages dans ces domaines j'ai "pris ce qu'on me proposait". Etant en première année je n'ai que très peu de compétences et ai donc accepté le premier stage à me répondre positivement. Par ailleurs les bases de données m'interessent tout de même et ça me plait d'apprendre à savoir les utiliser.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 25/07/2011 à 12:21
mon secteur de prédilection étant le réseau et la sécurité
c'est un bon choix où il y a actuellement de l'embauche ( mais tu auras quand m^me besoin de gérer (et protéger) des bases de données que l'on retrouve partout...) et pareil, il faudra définir le SI (et le cahier des charges)

bon, c'est déjà mieux
En fait, ne cherches tu à faire une fiche de tracabilité administrative d'un produit ?

quitte à paraitre ch...:

différence entre obtention et validation ?

un des agents spécialisés sur un seul des secteurs d'activité est en contact avec un unique homologue de cette activité dans la marque du produit ?

quel lien y a t il entre l'agrement, appointement, les certificats ministériels et les agents ?
comment sont répertoriés ces papiers ? qui les recoit

il faut, et c'est loin d'^tre facile, que le commanditaire non informaticien comprenne le système sans aucune ambigüité et que le développeur ait toutes les informations nécessaires (il y aura quand m^me toujours quelques explications complémentaires)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 26/07/2011 à 11:29
bonjour,
1 destinataire possède 0 à plusieurs produits
1 produit est fabriqué par 1 et 1 seule marque
1 marque propose 1 à plusieurs produits

1 lettre "A" est attribuée à 1 et 1 seule marque
1 marque possède 1 et 1 seule lettre A
idem pour lettre B
1 certificat "C" est attribué à 1 produit
1 produit possède 1 et 1 seul certificat "C"
idem pour D

1 lettre "A" utilise 1 ou plusieurs Services (finance, docu...)
idem pour les autres ( à étudier qui fait quoi)

chaque service comporte 1 à plusieurs agents spécialisé 1 ou plusieurs produits (ou 1 à plusieurs marque)
1 agent est en contact avec 1 à plusieurs homologues(m^service) d'une marque
----
le dictionnaire d'une lettre (ou certificat) comporterait ( à voir avec le maitre de stage)
reference, date agrément, durée, destinataire (par ex: hôpital du coin), produit ou marque, suivi par service (si plusieurs services), agent du service

reference serait un identifiant commun avec le papier physique ( a voir :fonctionnement des agents)
de m^me l'identifiant du produit (ta future PK) serait celui du produit physique
----
gestion:
le document final ne fait pas apparaitre le nom de l'agent
comment gère t on l'obsolescence d'un agrément temporaire (les 3 ans)?

J'ai souligné les entités et les relations apparaissent mais je ne suis pas dans ta boite, donc ce ne sont que des suggestions mais à 1° vue, il n'y a que des relations 1-n (donc pas de futures tables intermédiaires) sauf si ton chef veut un sous formulaire avec les différents agréments et autres papier, ce qui est probable)

petite astuce: fais une belle (belle est important: présentation, couleur...) maquette avec access -surtout pas dessinée sur papier) du formulaire final et des formulaires de saisie des agents et discutes en avec les différents intervenants ( par l'intermédiaire du maitre de stage; tu en fais des partenaires de ton boulot!n'oublie personne!!!)

vite fait avant de partir très bientôt en ouacances...
Michel
0
Alialyn Messages postés 13 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 2 décembre 2011
26 juil. 2011 à 12:22
Bonjour,

Ta description est tout à fait exacte, mais ne résous pas mon problème pour autant.

La chose qui me bloque principalement, c'est comment modéliser le lien sous Access.
Comment faire pour que la référence de la lettre A, corresponde à telle marque.
Enfin de compte je crois que mon problème se trouve bien au niveau logiciel et non conceptuel car ce que tu décrit est à peu près ce que je me représente depuis le début, seulement je n'arrivais pas à l'exprimer correctement.
Ce que je n'arrive pas à faire, c'est la relation qu'il y à entre les entités (la relation informatique j'entends)

Comment "dire au logiciel" que tel groupe de personnes appartiennent justement au même groupe qui s'occupe d'une telle marque et que peut être une personne de ce groupe fait aussi, et d'ailleurs surement, partie d'un autre groupe se rattachant à une autre marque.
Quel est le champ qui les lie?
En fait je pense que je suis tout simplement très mauvais en base de données...

Pour ce qui est de la validité des agréments, c'est justement ce que j'ai tenté d'expliquer, 3 mois avant la fin de validité, il faut, en gros, tout refaire. Refaire les tests etc...

A propos du maître de stage je n'en ai pas vraiment puisque c'est le boss de la boîte, je ne peux donc pas tellement le déranger et lui faire à chaque fois vérifier mes travaux. Je suis un peu "tout seul" avec des documents en fait!

Tu m'as dit de faire des formulaires Access de saisie pour les agents et ceux qui utiliseront la base de donnée mais est-il possible de faire un formulaire sans aucune table? Je suis réellement novice en Access et je n'ai pour l'instant qu'essayé de me dépêtrer de ma conceptualisation du système d'information...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 juil. 2011 à 12:34
mais est-il possible de faire un formulaire sans aucune table
oui

je t'ai donné un lien vers sam-mag: il y a 5 ou 6 articles: lis les et tu verras que c'est plus simple que tu le crois ( ou que ce qu'on t'a enseigné...)

pour acees tu as l' excellent site d'hervé Inisian, MVP Acces
http://www.self-access.com/cms/
ou tu trouveras des tutos, grenier, faq, forums...

0
Alialyn Messages postés 13 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 2 décembre 2011
26 juil. 2011 à 12:52
D'accord je vais regarder ça, merci bien!
0