![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 24
|
Bonjour à tous,
On m'a confié un projet sous Access et j'avoue avoir oublier un peu mes cours de bases de données. J'ai réalisé un schéma relationnel sous Access mais ce serait cool si qqn pouvait me dire s'il est correcte ou pas. Il s'agit d'un projet en recherche clinique. Pour une étude clinique, les patients ont un cahier dans lequel le médecin marque toutes sortes d'informations à différents temps...on va dire qu'un cahier est divisé en visites et dans chaque visite il y a 1 ou plusieurs pages. Mon projet va permettre de suivre l'évolution de la réception de ces cahiers en sachant qu'on peut recevoir les pages visite apres visite...pas tout d'un coup. Une étude contient plusieurs patients, et plusieurs personnes travaillent sur une étude. Voici mes tables : - PERSONNEL (PersonID, Prenom, Nom, Fonction) - TRAVAILLE_SUR (PersonID, EtudeID) - ETUDE (EtudeID, Produit, Indication, VisiteNb, VisiteNom, PageNb, PageNom, DateReception, Status) - PATIENTS (PatientID, PatientNb, Centre, Initiales, EtudeID) Le but etant d'avoir un formulaire ou je pourrais saisir par patient et par numéro d'étude, la date de réception des pages et leur statut (complet, blanche, manquante) Pouvez vous me dire déjà si les tables conviennent ? Merci beaucoup !! |
|
|
|
|
|
#2 (permalink) | ||||
![]() |
Citation:
Patients -0,1----Avoir----1,1- Cahiers Ce qui donne les tables : Patients(PatientId, ...) Cahiers(CahierId, PatientId, ...) Citation:
Cahier -0,n----Diviser----1,1- Visites -0,n----Contenir----1,1- Pages Ce qui donne les tables : Cahiers(CahierId, PatientId, ...) Visites(VisiteId, CahierId, ...) Pages(PageId, VisiteId, ...) Citation:
On doit alors modifier l'association entre Patients et Cahiers car un patient peut avoir plusieurs cahiers. Ce qui donne en MCD Merise : Etudes -0,n----Comprendre----0,n- Patients -0,1----Avoir----0,n- Cahiers Ce qui donne les tables : Etudes(EtudeId, ...) Patients(PatientId, ...) Comprendre(EtudeId, PatientId, ...) Cahiers(CahierId, ...) Avoir(PatientId, CahierId, ...) 2) Soit on considère qu'un patient ne peut participer qu'à une étude et on peut laisser l'association précédente tel quel. Ce qui donne en MCD Merise : Etudes -0,n----Comprendre----1,1- Patients -0,1----Avoir----1,1- Cahiers Ce qui donne les tables : Etudes(EtudeId, ...) Patients(PatientId, EtudeId, ...) Cahiers(CahierId, PatientId, ...) Citation:
Personnel -0,n----Travailler----0,n- Etudes Ce qui donne les tables : Personnel(PersonId, ...) Etudes(EtudeId, ...) Travailler(PersonID, EtudeID, ...)
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||||
|
|
|
|
|
#3 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 24
|
Merci beaucoup
Ce que je n'arrive pas bien à imaginer c'est qu'a chaque étude correspond un schema de cahier. Une etude peut avoir 5 visites, une autre 10 etc...donc dans ma table visite je peux avoir des VisitID incrémentaux et ensuite des doublons dans le numero de visite par exemple (deux visites qui ne s'appellent pas pareil dans deux etudes differentes mais qui ont le meme numero de visite par example). De plus, l'élément à intégré maintenant, c'est que chaque page/visite est trackée (suivie) grace à une date de tracking et un statut. Alors dois-je créé une table tracking pour les pages, une pour les visites ? |
|
|
|
|
|
#4 (permalink) | ||
![]() |
Citation:
Le MCD que j'ai tiré de ton cahier des charges montre que Visites est en association avec Cahiers et avec Pages. L'enchaînement des tables est en fait : Etudes ==> Patients --> Cahiers ==> Visites ==> Pages Ce qui signifie en français que pour une étude, j'ai plusieurs patients qui ont chacun un cahier dans lequel on enregistre des données concernant plusieurs visites à raison de plusieurs pages par visite. (Je viens d'improviser cette représentation et je suis assez content de moi ! ) ![]() Citation:
Si tu entends par statut le fait qu'une visite peut être d'un certain type à choisir dans une liste (Enregistrement, Diagnostic, Traitement, Contrôle, Bilan...), tu peux externaliser cette liste dans une autre table et mettre l'ID du type de visite en clé étrangère dans la table visite. On aura bien ainsi le couple (DateVisite, TypeVisite) enregistré et donc un suivi possible de l'évolution des visites au cours de l'étude. Pour les pages, toujours intuitivement sans précisions complémentaire sur ce que recouvre cette notion de statut, j'imagine qu'il peut s'agir de suivre l'évolution de la prise en compte de ce qui est inscrit sur les pages d'une visite (Enregistré, Pris en compte, Soldé...). Le cas est alors un peu différent car le statut d'une page va évoluer dans le temps. On a alors une association n,m entre Pages et Statuts : Pages -0,n----Suivre----0,n- Statuts Ce qui donne les tables : Pages(PageId, VisiteId, ...) Statuts(StatutId, ...) Suivre(PageId, StatutId, DateSuivi, ...) J'ai tout bon ou j'ai rien compris ?
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||
|
|
|
|
|
#5 (permalink) | ||
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 24
|
Citation:
Citation:
Effectivement la page peut avoir plusieurs status dans le cour de l'étude mais au final un seul statut sera dans la base donc je pense qu'on peut dire : Pages -0,1----Suivre----0,n-Statuts Donc peut etre que je peux rapatrier l'info "DatePageRecue" et "StatusPage" dans la table Pages ? Merci beaucoup. |
||
|
|
|
|
|
#6 (permalink) |
![]() |
Bien sûr oui ! La date de réception de la page et son statut sont des attributs de la page.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
|
|
|
|
|
#9 (permalink) | |
![]() |
Citation:
Voir tutoriels.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
|
|
|
|
|
|
#11 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: août 2008
Messages: 24
|
Arg désolée j'ai encore une tite question...
Ca me gene un peu d'attribuer un Cahier à 1 patient car ca va me faire une table énorme vu le nombre de patients par etude et le nombre d'études....de plus l'attribution des cahiers pour chaque patients d'une étude risque d'etre fastidieuse.... Est ce que par hasard je peux mettre plutot en relation Etude avec Cahier ? Une étude entraine la création d'un cahier. Je pense que je pourrais tout de meme faire des formulaires pour tracker mes pages par patient meme si ce n'est plus la table patient qui est lié à Cahier ? Désolée... |
|
|
|
|
|
#12 (permalink) | ||
![]() |
Citation:
Les questions à se poser : - Un cahier ne concerne t-il qu'une étude mais plusieurs patients ? - Ou bien ne concerne t-il qu'un patient pour une seule étude ? - Si c'est le premier cas, comment faire pour relier un patient à une étude et aux pages d'un cahier. Citation:
Soyez sûre du besoin pour bien modéliser. J'ai donné la méthode dans les messages précédents, à vous de l'adapter à votre cas précis : 1) Écrire une phrase non ambiguë en français. 2) Écrire ou dessiner l'association entre les entités avec les cardinalités. 3) En déduire les tables à créer ou à modifier.
__________________
Philippe Leménager. Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué. Je reste ouvert aux propositions d'emploi. |
||
|
|
|
![]() |
![]() |
||
Projet Access : relations et cardinalités
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|