Page 1 sur 1

Base de données, héritage ?

Posté : 25 juin 2013, 14:26
par macpowered
Bonjour à tous,

Je viens chercher un peu d'aide. Je suis stagiaire et novice, et je dois faire une base de données pour un projet. C'est un annuaire d'anciens étudiants. Ma base doit contenir des étudiants, des professeurs, des tuteurs et accessoirement des administrateurs. Sachant qu'un élève peut avoir plusieurs tuteurs, plusieurs professeurs tout au long de sa scolarité et qu'au final, il peut parfaitement devenir professeur ou/et tuteur. Un élève peut être élève et tuteur en même temps. Je ne vois pas comment mettre tout ça en place. J'avais pensé à un héritage mais ça me parait un peut fouillis. Un élève, un tuteur, etc hériterait d'un utilisateur par exemple.Un peu d'aide ne serait pas de trop !
Merci par avance à ceux qui auront la gentillesse de répondre.

Re: Base de données, héritage ?

Posté : 25 juin 2013, 14:36
par Zahnzao
Salut,

moi je ferai une table générale avec toutes personnes confondues (paul, jean, bernard, sophie, josianne :) ).
une table statut avec tout les statuts (étudiant, professeur, tuteur etc...)
et une table qui lie le tout

donc on aurait

personnes(id,nom,prenom,autre_champ)
statut(id,nom)
pers_has_statut(id_pers,id_statut)

Après y'a certainement d'autres moyens plus complexe (pour moi) qui te permettraient de gérer plus facilement les hiérarchies ou héritages par la suite. Mais je laisse ça aux pros.

:)

Re: Base de données, héritage ?

Posté : 25 juin 2013, 14:40
par macpowered
Merci, c'est déjà un début de réponse.
Oui je pense qu'il y a certainement possibilité d'avoir une gestion plus fine mais merci quand même pour ton post. Je vais attendre voir si des pros (ce n'est pas péjoratif pour toi, je ne me permettrais pas vu mon niveau !!!) sont à l'écoute.

Re: Base de données, héritage ?

Posté : 25 juin 2013, 14:43
par macpowered
Je rajoute le schéma de ce que j'ai déjà fait si ça peut aider

Re: Base de données, héritage ?

Posté : 27 juin 2013, 21:14
par moogli
salut,


Désolé mais c'est pas claire. Rien que les noms de colonne rebute à la lecture :)

il faut que tu définisse la chose plus clairement. qu'est ce que tu souhaite vraiment avoir ?

est ce que tu doit avoir un historique ?
est ce que c'est que pour une année ?

stagiaire, donc cours ?
as tu vu le modèle entité association (de la méthode merise) ?
ou une modélisation issue de XML (par exemple la méthode de Craig Lerman) qui te permetterais de répondre a tes questions.



@+

Re: Base de données, héritage ?

Posté : 28 juin 2013, 09:21
par macpowered
Bonjour,

Oui je suis stagiaire et donc j'ai des cours. Nous avons vu merise mais j'avoue que je me perds un peu dans la modélisation du MCD.
Je dois faire, pour mon projet, un annuaire (sous forme de site web) des anciens élèves d'un organisme. Il y a déjà des bases de données existantes dans lesquelles je vais devoir rapatrier des données. Le choix du nom des colonnes m'a été imposée donc je n'y peux pas grand chose.
Je vais essayer de définir clairement mon sujet et le problème que je rencontre.
Je dois partir d'une table d'utilisateurs. Chaque utilisateur peut être étudiant, professeur ou tuteur. Il peut avoir plusieurs rôles à des dates différentes. Un utilisateur peut avoir été étudiant et devenir professeur par exemple. Il arrive qu'un tuteur soit également élève à un moment donné. Rien ne l'empêche d'être tuteur d'un élève et suivre en parallèle un autre enseignement en tant qu'élève. Tu vois, pour un "novice", ces situations ne sont pas simples à gérer avec merise, même si j'ai eu des cours, nous ne sommes pas allé si loin dans la réflexion.
Je voudrais donc pouvoir modéliser cela pour savoir à un instant T quel rôle a eu un utilisateur. Sachant que j'ai besoin également de savoir qui a été tuteur de qui (un tuteur peut avoir plusieurs élèves à gérer mais un élève n'a qu'un tuteur par année scolaire). Je voudrais pouvoir retrouver aussi quels professeurs ont eu les élèves. Les enseignements sont regroupés dans la table ENS_TAB_BLOCS au moyen d'une association réflexive. Les enseignements sont considérés comme des "blocs", eux même constitués de "blocs" (semestres) qui sont constitués de "blocs" (modules) etc....
Je dois donc avoir un historique de tout cela et c'est pour les années passée et à venir.
J'avoue que je me sens un peu dépassé pour mettre en place cette base de données. En attendant ta réponse (ou celles d'autres personnes), je vais aller voir la méthode de Craig Lerman comme tu me l'as conseillé.
En tout cas, par avance merci de ton aide.

Re: Base de données, héritage ?

Posté : 28 juin 2013, 15:07
par Mazarini
Il faudrait que tu identifies les informations que tu vas traiter dans un premier temps. A priori, c'est centrer sur les élèves (annuaire des anciens élèves) et uniquement de l'affichage.

1) définir les informations dont tu as besoin pour un élève
2) voir comment trouver les profs de cet élève (si c'est nécessaire) et voir comment tu organises ca (par année ?)
3) voir comment trouver les tuteurs de cet élève (si c'est nécessaire) et voir comment tu organises ca (par année ?)

A priori, tu t'en fout de savoir qu'un élève a été prof ou tuteur par exemple.

Re: Base de données, héritage ?

Posté : 28 juin 2013, 15:36
par macpowered
J'ai refait un MCD, qu'en pensez-vous ? Désolé pour les noms de colonnes mais ça m'est imposé. Mon gros problème est qu'un utilisateur peut avoir plusieurs rôles et qu'en fonctionde ces rôle je vais devoir remplir des données complémentaires (les tables de renseignement enseignants et tuteurs sont incomplètes, il faut encore que je définisse quoi mettre dedans mais elles auront d'autres données par la suite).