1

我有一个来自The Data Model Resource Book, Vol. 的数据库模式。1 . 里面有一张这样的表:

CREATE TABLE [dbo].[AccountingPeriod](
  [AccountingPeriodID] [int] NOT NULL,
  [RoleTypeID] [int] NOT NULL,
  [PeriodTypeID] [int] NOT NULL,
  [AcctgPeriodNum] [int] NOT NULL,
  [FromDate] [smalldatetime] NOT NULL,
  [ThruDate] [smalldatetime] NOT NULL,
  [PartyID] [int] NOT NULL,
PRIMARY KEY CLUSTERED (
  [AccountingPeriodID] ASC)

约束定义为:

ALTER TABLE [dbo].[AccountingPeriod]  WITH CHECK ADD FOREIGN KEY([AccountingPeriodID])
REFERENCES [dbo].[AccountingPeriod] ([AccountingPeriodID])

AccountingPeriodID 列有一个自引用外键,文本声称它是一个递归引用列,但我认为这是一个错误。我想我需要另一列来正确存储此表中的递归引用。提供的表定义能不能实现作者的方法,为什么?

4

1 回答 1

1

是的,您需要另一列将引用表本身的主键列,以便自引用表。自引用列真的没有任何意义。

于 2012-11-21T16:17:42.143 回答