我想创建MySQL表来管理学生的注册。
表格的名称和课程名称内部有第一列:student_id
之后我想要在课程中每个日期的列发生课程。
所以例如,如果课程在每个星期日和星期一3月1日到9日之间发生,那么我的列将是这样的:|01/03/2016|02/03/2016|08/03/2016|09/03/2016
我迈出了MySQL的第一步并听说PROCEDURE
,但不确定这是否是我需要的,或者那里有更好的方法来实现这一目标
答案 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连接查询从该结构中获取所需的任何数据。