【问题标题】:What is the best approach database structure for teacher, students and address table? [closed]教师、学生和地址表的最佳方法数据库结构是什么? [关闭]
【发布时间】:2016-02-10 11:37:11
【问题描述】:

我的数据库中有以下表格

  • 学生
  • 老师们
  • 地址

我想在自己的表中存储学生和老师的基本信息,但地址表中的地址和联系信息。如果我将student_idteacher_id 存储在地址表中,则学生可能与任何老师拥有相同的id。如果我尝试通过teacher_id 查询任何教师地址。它还将查询具有相同id 的学生。

那么解决这个问题的最佳方法是什么?我应该也创建任何其他表还是...。

请给我建议一个最简单和最好的方法。

谢谢。

【问题讨论】:

  • 您可以在地址表中添加另一个字段,例如“is_student”,这将表示谁的地址是这个。
  • 一定有更好的方法。我正在寻找那个:(
  • 在你的情况下是否允许有一个老师/学生的多个地址?
  • 如果您只需要存储学生和教师的一般信息,而不是为学生和教师使用一个公用表,因此您始终在地址表中使用唯一的 ID,并且您在同一个表中添加地址

标签: php jquery mysql database


【解决方案1】:

见上面的例子。我认为解决您的问题的最佳方法。

【讨论】:

  • 谢谢,我和其他人相反:)
【解决方案2】:

最好的方法之一是您必须创建一个名为Users 的新表。请参阅下表,

1.用户

id 
user_type (student/teacher) 
name

2。教师

id
user_id (fk - users)
address_id (fk - address)
subject
hours

3.学生

id
user_id (fk - users)
address_id (fk - address)
mark

4.地址

id
address1
address2

这样学生或老师可以参考他们的地址。

【讨论】:

  • 谢谢,我是按相反的顺序思考的,这就是原因。 :)
【解决方案3】:

我认为最好的方法是使用字段 address_id 来构建表 studentsteachers,该字段应指向 address 表中的 id

【讨论】:

  • 谢谢,我明白了
猜你喜欢
  • 1970-01-01
  • 2014-09-03
  • 1970-01-01
  • 2011-12-15
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
相关资源
最近更新 更多