0

我正在处理一个场景,其中我有一个名为“TEAM”的父项目,其中包含 1 到多个“COACHES”和“PLAYERS”。球队、教练和球员在他们的表中都有一个 parentid 列,该列引用同一个表中的父项。这些团队可以加入具有特定结束日期的活动,或者可以存档。一旦一个团队加入了一个活动,我就会创建一个父级的子副本,因为该团队将来可能会发生变化,但一旦活动过去就应该保持不变。我正在使用 SQL Server,并认为最好的方法是触发器。一旦从父级更新、添加或删除某些内容,就会将其传播给子级。如果事件已通过或已存档,则不要更新、添加或删除子项中的任何内容。有一个更好的方法吗?

4

2 回答 2

0

这听起来类似于使表可审计。不确定这是否更好,但您可以让团队只读,并且每当团队更改时创建一个新的团队记录,每个团队记录都有 startdatetime 和 enddatetime,当前团队的 enddatetime 为空。这样,事件将始终像团队加入事件时那样引用团队。

于 2013-09-24T04:56:21.397 回答
0

我只是使用同一张表的父/子关系。除非某个日期已过,否则对父级的任何更新都将通过代码级联到子级。

于 2013-10-12T21:06:42.243 回答