我在表格中有需要与其关联的历史记录的项目。历史记录将包含部件所在位置的信息。因此,收到A部分,然后放入机器,然后取出,然后进行测试,然后放入新机器。
我需要存储每个事件并将它们与部件相关联。
最初我的想法是每次新事件发生时简单地添加一列。所以PartA会有一列Hist1 = receivedID,Hist2 = usedID ..等等。每列指向标识事件的ID。但这根本不是一个干净的解决方案,有些部件有时会移动很多,对于某些人而言,列的数量可能会变得不必要,并且对于其他人来说会留空。
有经验丰富的人会有一个关于如何最好地处理这个问题的想法吗?
答案 0 :(得分:0)
您需要有一个EVENTS表。在该EVENT行中,您将相应的部分与事件本身相关联。
这样的事情:
create table parts(part_id numeric(10) primary key, ... more parts columns);
create table part_events(
event_id numeric(10) primary key,
part_id numeric(10) references parts(part_id),
event_number numeric(2) not null,
event_type varchar(24) not null, -- event type
tstamp timestamp not null, -- date/time of the event
...
);