2015-07-12 74 views
0

我们有一个票务软件来管理我们的工作,每张票都被分配到一个领域的技术 - 正常的东西 - ,但现在我们要分配同一张票给几个技术人员例如:tick 5432:tech_id(2,4,7)其中2,4,7是技术ID。PostgreSQL中是否有任何变量来存储列表

当然,我们可以使用带有技术ID和票证ID的单独表格来做到这一点,但我们必须转换数据。

回答

1

执行此操作的“正确”方法是有一个单独的票 分配表。在数据库端转换这样的数据相当简单。 create table assign as select tech_id from ...,然后创建任何必要的外键约束。 重写你的界面代码可能会更棘手,但是你要去 必须这样做,以允许多个技术。

您可以使用数组类型,但有时数据库 接口不理解postgres数组类型。阵列中固有的任何东西都不会阻止重复或强制排序,但您可以使用适当的触发器来做到这一点。

+0

我们尝试数组类型,它工作正常。我们不使用任何数据库接口,但问题是在查询中如何显示技术名称,单独的表格会更容易维护代码。 – Starglider