Je me demandais quel était le meilleur moyen de stocker différents types d'utilisateurs dans ma base de données. J'écris une application qui a 4 types principaux d'utilisateur (admin, école, professeur, étudiant). Pour le moment, j'ai une table pour chacun d'entre eux, mais je ne suis pas sûr que c'est le meilleur moyen de stocker des informations sur l'utilisateur. Par exemple ... Permettre aux étudiants de PM un autre étudiant est simple (expéditeur et receveur student_id) mais permettre aux enseignants aux étudiants PM nécessite une autre table (expéditeur ID_enseignant, expéditeur ID_Etudiant).Stockage des utilisateurs dans une base de données
Tous les utilisateurs doivent-ils être stockés dans une table d'utilisateurs avec un champ user_type? Si c'est le cas, les informations spécifiques à l'enseignant/à l'étudiant devront toujours être stockées dans une autre table.
users
user_id, password_hash, user_type
students
user_id, student_specific_stuff...
teachers
user_id, teacher_specific_stuff...
Comment puis-je arrêter un utilisateur qui a un user_type = étudiant d'être accidentellement entré dans la table des enseignants (comme les deux ont un user_id)
Je veux juste me assurer d'avoir la base de données correcte avant J'y vais plus loin. Merci ...
Merci pour toutes vos réponses les gars. Je pense que je vais aller à la stratégie de la hiérarchie. J'ai remarqué qu'aucun d'entre vous n'a répondu à la deuxième partie de la question ... comment empêcher un utilisateur de participer à un cours en tant qu'étudiant, en l'inscrivant accidentellement dans une table «infos supplémentaires sur l'administrateur». Existe-t-il un moyen pour MySQL de vérifier ou devrais-je faire la vérification dans mon webservice? – EMcKenna