Php 设计表mysql

Php 设计表mysql,php,mysql,database-design,Php,Mysql,Database Design,我有一个项目要做——给学生和老师的学生日记。我想我在创建Mysql表时遇到了问题。 我的假设是: 所有页面都需要登录 在系统中,我们有两种用户(教师和学生) 老师可以教很多课 每个学生都有自己的班级(f.e.2a、4b等) 老师只教一门学校科目 每个学生都被分配到他所学的一套成功的科目中 学生可以从一门学科获得很多学位 我必须在mysql中设计表,但我想我卡住了… 我现在有: 用户: -id -name -surname -status ( student, teacher ) -email

我有一个项目要做——给学生和老师的学生日记。我想我在创建Mysql表时遇到了问题。 我的假设是:

  • 所有页面都需要登录
  • 在系统中,我们有两种用户(教师和学生)
  • 老师可以教很多课
  • 每个学生都有自己的班级(f.e.2a、4b等)
  • 老师只教一门学校科目
  • 每个学生都被分配到他所学的一套成功的科目中
  • 学生可以从一门学科获得很多学位
我必须在mysql中设计表,但我想我卡住了… 我现在有:

用户:

-id
-name
-surname
-status ( student, teacher )
-email
-password
用户类别:

-id
-class_id
-user_id
用户与主题

-id
-subjects_ids
-user_id
课程:

-id
-number
主题:

-id
-name
学位:

-id
-user_id
-subject_id
-degreees

我想知道这是正确的设计方法吗?或者我应该换点什么吗?

看起来不错。实际上,您可以使用timestamp()将创建的和更新的列添加到几乎所有的表中。对于用户表中的列状态和度表中的度,请在mysql中设置枚举类型,因为它可能只有很少的字符串值。
当然还有外键

数据库设计问题恐怕与本网站无关。