如何为反馈系统设计数据库系统?

时间:2015-03-17 02:30:49

标签: php mysql database

您好,我刚刚进入PHP和MySQL,英语是我的第二语言,所以请原谅我,我试着很好地描述我的问题。

我正在尝试创建一个反馈系统,让学生可以留下有关教师的反馈。学生首先登录选择一个主题,然后找一位教授该主题的老师,并留下该老师的反馈。公众可以看到教师的所有反馈(无需登录)并且教师可以登录查看反馈并将其标记为已阅读,一旦反馈被标记为已读,则无法再次公开显示。

我遇到的问题与想法本身或登录系统等无关,而是与数据库结构有关。主要是教师反馈数据库,首先是按主题对教师进行分类,然后每个教师都需要存储反馈,这些反馈可以是活动的(未读取)或非活动的(读取)。

由于我是PHP和MySQL的新手,我不知道如何设计数据库才能有效,让我们以问题为例#34;显示活动的数量老师的反馈"我可以想到几种方法来解决这个问题,但无法确定哪种方式最好。

解决方案1,一个用于存储所有内容的大型数据库,首先它需要按主题过滤数据库,然后按教师名称/ ID过滤,然后过滤掉不活动的数据库,然后计算有多少活动反馈

解决方案2,为每个人提供一个单独的数据库,当学生留下反馈时,它会直接存储到该特定教师的活动数据库中,当教师将其标记为非活动时,它将被移动到另一个(非活动)数据库老师,所以要找出活跃反馈的数量,只需计算该活动数据库中的数据数量。

解决方案3,结合解决方案1和2,因为每个教师只能教一个科目,所以我们为每个科目创建大型数据库,对于每个科目,我们创建一个非活动数据库,我们存储非活动反馈,当反馈被标记时如上所述,它将被转移到该数据库。然后,为了找出有效反馈的数量,我们可以过滤主题以找到教师,只需简单地计算教师所拥有的反馈数量,因为所有不活动的反馈都将在不同的数据库中。

我希望我没有把你的描述混淆,如果你们中的任何一个人能告诉我在PHP和MySQL中为这个问题构建数据库的最有效方法,我将不胜感激。谢谢!

编辑1:抱歉,我的意思是表而不是数据库,所以问题是我是应该为这个问题创建多个表还是坚持使用一个表。

2 个答案:

答案 0 :(得分:1)

你可以先拥有学生桌和老师桌。在您的反馈表中,您可以有专栏:学生,老师,评论,时间

答案 1 :(得分:0)

为教师和学生提供多个表格会更好,如果使用登录功能也会更好。主要是确保设计一个完整的步骤流程,它不是很好的选择主题和教师分开思考,只要你选择一门学科,就应该选择那个特定科目的适当教师。更好地创造一个明确的实施流程。

相关问题