数据库设计:有序集

时间:2016-01-19 00:50:15

标签: database database-design

task_set是一个包含两个列(id,task)的数据库:

 id    task 
  1     shout
  2     bark 
  3     walk
  4     run

假设有另一个包含两个列的表(employee,task_order)

task_order是一组有序的任务,例如(2,4,3,1)

通常,task_order不变,但有时可以插入或删除,例如,(2,4,9,3,1),(2,4,1)

如何设计这样的数据库?我的意思是如何实现有序集?

1 个答案:

答案 0 :(得分:1)

如果您不需要在task_set列内搜索,或者更新其中一个值(即将4,2,3更改为4),则 , 2,1),将该列保留为分隔字符串可能是一个简单的解决方案。

但是,如果您计划对task_set中的特定值进行搜索或更新,那么您最好将该结构规范化为一个包含员工ID,任务ID和任务顺序的表。