使用日期列创建MySQL表

时间:2016-03-14 20:08:54

标签: mysql

我想创建MySQL表来管理学生的注册。 表格的名称和课程名称内部有第一列:student_id之后我想要在课程中每个日期的列发生课程。

所以例如,如果课程在每个星期日和星期一3月1日到9日之间发生,那么我的列将是这样的:|01/03/2016|02/03/2016|08/03/2016|09/03/2016

我迈出了MySQL的第一步并听说PROCEDURE,但不确定这是否是我需要的,或者那里有更好的方法来实现这一目标

1 个答案:

答案 0 :(得分:1)

这听起来不像构建数据库的好方法......

在关系数据库中表示数据的“最佳”方式取决于您的特定用例(以及潜在的未来用例),但您描述的结构虽然在技术上可行,但可能不太好基础。另外,我没有看到 PROCEDURE 是如何相关的(它用于创建存储过程,这本身就是一个非常高级的主题)。

我建议你阅读一些关于SQL和关系数据建模的一般教程。

我可以建议一种结构,但不了解您的要求,但这更符合SQL最佳实践:

TABLE: student
COLUMNS: id, name

TABLE: course
COLUMNS: id, name

TABLE: course_date
COLUMNS: id, course_id, date

TABLE: course_student
COLUMNS: id, course_id, student_id

然后,您可以使用SQL连接查询从该结构中获取所需的任何数据。