针对数据库中“用户”表的MySQL 5.5.57数据库设计建议请求

时间:2018-06-29 03:59:00

标签: mysql database database-design

我需要在教育数据库中建立一个user表,用户可以在其中拥有以下配置文件:

1. Admin
2. School Admin
3. Tutor
4. Student
5. Parent
6. School Teacher

现在,问题是为每个概要文件创建单独的表并使用用户表中的键与概要文件表链接或将其全部保存并添加概要文件键以标识用户类型的天气。每天都有新用户添加到数据库中,因此它的数据库在不断增长。

为获取数据而运行的查询特定于配置文件。例如,一次将获取一个配置文件的数据。但是,在什么情况下我们需要让一个学生的所有老师或一个老师的所有学生呢?在这种情况下,我将不得不将学生的ID存储在导师和教师表中。优化的方法是什么?

1 个答案:

答案 0 :(得分:0)

我建议为个人资料创建单独的表,并在用户中使用键将其与个人资料表链接(如果个人资料已预先配置)

如果配置文件是动态的,那么您必须在应用程序中小心,例如检查配置文件是否存在;如果不存在,则首先插入配置文件表,然后再插入用户表。这可能会影响INSERT的性能。

要获得一名学生的所有老师或一位老师的所有学生,您必须使用自我加入