在数据库中保存动态生成的数据

时间:2015-01-14 10:50:22

标签: mysql database database-normalization

请看下面的图片

http://teamtutorials.com/wp-content/uploads/2008/06/check_boxes_with_javascipt_01.jpg

想象一下,你正在为学生创建一个数据库,一个表是" Sport"。如上面的GUI图像,学生可以选择他们喜欢的运动,然后单击保存按钮(请记住,他们可以选择多个)。单击按钮后,数据将保存在" Sport"表。现在出现了问题,请仔细阅读以下内容。

以下是我将这些数据保存在Sport表中的方法。

Sport表中为GUI中列出的每项运动创建列,数据类型为boolean。在GUI中选择运动并单击Save按钮后,将true分配给相关列。

但是想象一下有一个新的要求。也就是说,如果学生喜欢的体育不在GUI中,则应该有一个按钮,允许学生生成他喜欢的自定义运动的复选框。他可以尽可能多地添加。因此,学生只需添加3个自定义复选框,空手道游泳板球。他还勾选了 Golf Rugby ,这已经存在于系统中。

现在我的问题是,how and where do I save these custom sports?我应该在Sport表格中为空手道,游泳和板球做一个声明并生成另外3列,但我不喜欢它我相信它不是这样的。这种方法会带来很多问题。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

您应该使用其他数据库结构 Id | studentId |运动
会是一个更好的结构。然后为他喜欢的每个Sport创建一个新行。然后他可以添加他想要的行