将数组存储到数据库表中的正确方法是什么?

时间:2011-10-03 13:55:04

标签: sql database arrays ms-access

我有50多个元素的数组,规定了一周内工作了多少小时。

将此信息存储到数据库表中的正确方法是什么?

我最初的想法是使用分隔符,但文字太大(280个字符)以适合。

此外,为每个元素创建一个表列似乎有些“错误”。

想法?

使用分隔符(逗号)的数组: 37.5,37.5,37.5,37.5,37.5,37.5,37.5,37.5,37.5,37.5,......

2 个答案:

答案 0 :(得分:4)

“正确”的方法是将数组的内容存储为整个其他表中的多行,每个表都有一个外键,引用它们属于第一个表中的记录。但是,可能还有其他一些对你有用的东西。

[编辑]:从您添加的详细信息中我猜测您的数组元素包含每周工作的小时数,并且您有50多个因为一年有52周的数周。所以我认为你正在寻找的是,我猜你的当前(主要)表被称为“雇员”,就是每一行都应该为每个员工记录设置一些唯一的标识符。因此,您的新表可能被称为“work_weeks”,其中包含employee_id(与当前表中的employee id匹配),week_number和hours_worked。

答案 1 :(得分:0)

似乎是一对多的关系。对于此示例,tableA为1,tableBlammo为多个。

tableA => column blammoId

tableBlammo => column blammoId,列数据

tableA中的一行通过blammoId列连接到tableBlammo中的多行。 tableBlammo中的每一行在数据列中都有一个数组元素。