【发布时间】:2012-04-29 06:46:05
【问题描述】:
我将尝试详细说明我的问题。
我最近在我的大学获得了一个入门级兼职开发人员职位,以努力提高我的开发技能。虽然我过去使用过 MySQL,但只是在一门课程中简要介绍了它,因为我主要是前端人员(HTML/CSS/JS)。
无论如何,雇用我的部门有一个专为即将入学的学生设计的网站,以帮助他们适应大学生活。它有教程和视频供他们观看等。为了访问该站点,他们必须登录到他们的大学帐户(使用 LDAP)。帐户名称的格式为 abc1234。
现在,我的问题是我需要为员工创建一种方法来跟踪新生观看了哪些教程/视频。他们希望我使用数据库来做到这一点。可能会有成千上万的学生,他们希望能够准确地看到哪些学生已经/没有点击每个链接/观看了每个视频。
我应该如何为此设置数据库?他们想要跟踪多个链接/教程/视频。如果有一种方法可以跟踪哪些用户观看了视频,则可以获得奖励积分,但不是必需的。
我相信我需要使用 PHP 来处理浏览器和数据库之间的交换,对吗?
感谢您提供任何帮助或提示。 :)
【问题讨论】:
-
你了解主键和外键的关系吗?如果不是,您需要从关系数据库教程开始 - phpknowhow.com/mysql/mysql-basics - 但简而言之,您最终会得到一个充满学生的表格和一个充满视频的表格。然后,您将拥有第三个表,该表创建学生和视频之间的关系,通常称为映射表,方法是将一个的主键链接到另一个的主键以及可能的日期字段和位字段(如果已完成)。跨度>
-
这远远超过了“前端设计师”的头脑。我们有一个由 3 人组成的团队,并分配了大约 4-6 周的时间来获得一个完整的跟踪系统,比如这个 wokring(我们跟踪电子邮件以及在什么时间从哪封电子邮件中点击了哪些链接,甚至之后它们去了哪里)你需要从一个通用处理程序来提供来自数据库的链接,以某种方式知道它是哪个学生并将其保存到另一个表中。您需要几个表和 sql 调用。
-
@RThomas:需要那么多表吗?我以为我可以用一张桌子做到这一点; *拥有和自动递增的 ID,*用户 ID(来自 LDAP,它们的结构都类似于 abc1234)*六列代表视频链接,然后每当用户单击链接时,检查他们的 ID 是否已经在表中。如果不是,请附加它。还将当前日期和时间附加到他们单击的链接中。这里需要主键/外键吗?
-
如果您可以保证只有六个视频,并且永远不会有更多(或更少)或其他报告、统计数据,您可能想要运行,而您不这样做'不在乎跟踪一个视频是否被多次观看......那么是的,你可以做一个表格 - 它基本上是一个电子表格。
-
@RThomas 出于好奇,添加更多链接会产生什么并发症?我不只是创建另一个列来代表新链接吗?它不需要填充任何数据,因为一旦用户单击新链接,它就会被填充。我对数据库不是很熟悉,但我不明白这会引起怎样的担忧?