我想知道什么是在我的数据库中存储不同类型的用户的最佳方式。将用户存储在数据库中
我正在写一个具有4种主要用户类型(管理员,学校,教师,学生)的应用程序。 目前我有这些表中的每一个,但我不知道这是存储用户信息的最佳方式。例如:允许学生下午其他学生很简单(存储发件人和收件人student_id),但启用老师给PM学生需要另一个表(发件人teacher_id,发件人student_id)。
是否应将所有用户都存储在一个user_type字段的用户表中?如果是这样,老师/学生的具体信息仍然必须存储在另一个表中。
users
user_id, password_hash, user_type
students
user_id, student_specific_stuff...
teachers
user_id, teacher_specific_stuff...
如何停止谁拥有USER_TYPE用户=被意外学生被输入到教师表(既是有USER_ID)
只是想确保我拿到之前数据库正确我走得更远。 谢谢...
感谢您的所有答案的家伙的东西。我认为我会选择层次结构战略。我注意到你们中没有人回答问题的第二部分......我将如何阻止用户作为学生课而被意外输入到“额外的管理信息”表中。 是否有某种方式MySQL可以检查,或者我将不得不在我的web服务中检查? – EMcKenna 2010-04-17 16:58:33