Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 教师、学生和地址表的最佳数据库结构是什么?_Php_Jquery_Mysql_Database - Fatal编程技术网

Php 教师、学生和地址表的最佳数据库结构是什么?

Php 教师、学生和地址表的最佳数据库结构是什么?,php,jquery,mysql,database,Php,Jquery,Mysql,Database,我的数据库中有以下表格 学生 教师 地址 我想在自己的表中存储有关学生和教师的基本信息,但地址表中存储地址和联系信息。如果我将学生id或教师id存储在地址表中,则该学生可能与任何教师具有相同的id。如果我试图通过教师id查询任何教师地址。它还将查询具有相同id的学生 那么,解决这个问题的最佳方法是什么呢?我是否也要创建其他表,或者 请给我建议一个最简单最好的方法 谢谢。最好的方法之一是创建一个名为Users的新表。见下表 1。用户 id user_type (student/teacher

我的数据库中有以下表格

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

那么,解决这个问题的最佳方法是什么呢?我是否也要创建其他表,或者

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


谢谢。

最好的方法之一是创建一个名为
Users
的新表。见下表

1。用户

id 
user_type (student/teacher) 
name
id
user_id (fk - users)
address_id (fk - address)
subject
hours
id
user_id (fk - users)
address_id (fk - address)
mark
id
address1
address2
2。教师

id 
user_type (student/teacher) 
name
id
user_id (fk - users)
address_id (fk - address)
subject
hours
id
user_id (fk - users)
address_id (fk - address)
mark
id
address1
address2
3。学生

id 
user_type (student/teacher) 
name
id
user_id (fk - users)
address_id (fk - address)
subject
hours
id
user_id (fk - users)
address_id (fk - address)
mark
id
address1
address2
4。地址

id 
user_type (student/teacher) 
name
id
user_id (fk - users)
address_id (fk - address)
subject
hours
id
user_id (fk - users)
address_id (fk - address)
mark
id
address1
address2

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

我认为最好的方法是用一个字段
address\u id
来组织你的表
学生
教师
,该字段应该指向
address
表中的
id

参见上述示例。我认为解决你们问题的最好办法


您可以在地址表中添加另一个字段,如“is_student”,它将表示这是谁的地址。一定有更好的方法。我正在寻找:(在您的案例中,是否允许有单个教师/学生的多个地址?如果您只需要存储学生和教师的一般信息,那么您可以为学生和教师使用一个公共表,因此您在地址表中始终使用唯一的id,您也可以在同一个表中添加地址谢谢,我与其他人相反:)谢谢,我明白了。谢谢,我是按相反的顺序思考的,这就是为什么。:)