【发布时间】:2011-08-11 07:43:02
【问题描述】:
我正在为在线辅导网站设计一个MYSQL数据库
假设,我有:
- 带有(faculty_id,教师名称)的教师表
- 带有(subject_id,主题名称)的主题表
- 带有(student_id,学生姓名)的学生表
- 带有(class_id、faculty_id、student_id、subject_id)的班级表
现在我想在 class 表上运行 SQL 查询,以找出所有在特定学院就读且在我所拥有的特定学科下注册的学生:
$sql=("SELECT *
FROM class
WHERE (faculty_id = '" . mysql_real_escape_string($_POST['faculty_id']) . "')
and (subject_id = '" . mysql_real_escape_string($_POST['subject_id']) . "')");
但是,我似乎不知道如何检索学生姓名、教师姓名和学科名称,而不仅仅是存储在 class 表中的教师 ID、学生 ID 和学科 ID。
我是否需要创建某种类型的 SCHEMA 和外键关系,它们会自动将 ID 号链接到各自表中的相应行,以便我可以根据这些 ID 号运行 UPDATE、DELETE 和 INSERT 查询?
我在这里遗漏了什么重要的东西吗?我不是数据库设计方面的专家。请帮忙。
【问题讨论】:
-
大写锁定是酷的巡航控制
-
甚至昵称都是大写!您如何向我们展示一些学科/学院的表结构?
-
您是否尝试在查询中添加
INNER JOIN子句,以针对您要从中导入数据的其他表? -
我在编辑这个问题以删除最后一个大写字母时感觉有点糟糕。对于那些对@Delan 的评论感到困惑的人,请在编辑历史记录中查看该问题的原始版本以获取笑声。
-
呵呵,我的错..不是想听起来很酷,聪明,响亮或傲慢..只是想强调最后一部分“我是数据库设计的新手,需要帮助”:)
标签: php mysql schema primary-key