【发布时间】:2011-08-09 23:12:08
【问题描述】:
是否有任何 mySQL 前端,例如 phpmyadmin,具有用于连接的图形界面?
我知道您可以在 phpmyadmin 中运行已保存的查询(可能包括连接),但我正在寻找一种用户友好的方式来了解其他前端如何解决该问题。我实际上不需要前端,我只是想看看其他人是怎么做的。
如果没有可用的,那么创建连接接口的好方法是什么?
我目前正在考虑,给定一个 student 和 enrollment 表(作为一个超级简单的示例),这样
student table
+---------------------------+
| id | name | number |
+------+--------+-----------+
| 2 | Joe | 04567843 |
| 3 | Jim | 43243254 |
| 4 | Jack | 23145671 |
+------+--------+-----------+
和..
enrollment
+---------------------+------------+-----------+
| id | student_id | course_id | score |
+------+--------------+------------+-----------+
| 1 | 2 | ma001 | 86% |
| 2 | 2 | en001 | 46% |
| 3 | 3 | ma001 | 78% |
+------+--------------+------------+-----------+
该界面可以让您选择主表和所需的字段,然后选择辅助表和所需的字段。最后是一个 JOIN 字段集,您可以在其中选择连接类型和连接它的字段(见图)。
该图像是使用 firebug 操纵 phpmyadmin 以显示我的意思的模型(希望如此)
我意识到这是 2 个问题,但彼此高度相关,但总而言之,这样的前端是否存在?如果没有,上述方法是否可行?
【问题讨论】:
-
我不明白为什么它不起作用,但我想我宁愿只输入它并执行它。唯一能让我省心的方法是,如果我在做一个大型的多表连接(比如 3 个以上的表)——只是说...... 一般来说,如果你知道自己在做什么,那么打字总是比界面快万一那些不懂打字的人可能不知道什么是连接;-)
-
@prodigitalson 是的,我完全明白你在说什么,我总是输入我的查询,即使是简单的查询(即我不使用 phpmyadmin 中的“搜索”选项卡)但我知道用户不会能够。一种选择是允许用户仅在设置的报告类型之间进行选择,例如学生报告(仅学生表)和 student_enrollment 报告(学生 + 注册)。并且每个报告类型都有一个与之链接的联接,因此在上面的示例中,student_enrollment 报告被定义为学生联接登记,即使他们只从主表中选择字段。
-
好吧,如果这是针对“最终用户”的,我认为给他们一个界面,这将太令人困惑,除非他们有开发或数据库类型的背景。我想我会选择只允许预建报告(即预定义的联接),然后允许他们选择数据子集(即实际的
select列) -
@proditialson 是的,我喜欢预定义联接和预构建报告的想法。它可能最终会沿着这条轨道走下去。我总是先尝试“灵活”,然后再把它带回来——我有一个理想,即我构建的所有东西都应该能够插入任何漏洞——但实际上这显然不是这样 :)
-
如果你想让他们创建连接,也许你应该抽象这个想法。我说的是使用“学生”而不是“学生表”和“相关数据”而不是允许他们选择连接类型。所以对于很少或没有数据库背景的人来说这是可以理解的。
标签: php mysql database join phpmyadmin