Sql 多重外键约束



多重外键约束这个名称可能并不准确,它是多个外键约束情况的一个特例,它指的是外键表有存在两个及以上外键关联到同一个主键表,例如一个部门,有正副两个管理者

首先看看不含多重外键的多个外键约束的一般情况,例如一个部门,有一个管理者和一个IT技术支持

CREATE TABLE [dbo].[Manager] --管理者表
(
[ID] [int] NOT NULL IDENTITY(1, 1),
[Name] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Manager] ADD CONSTRAINT [PK_dbo.Manager] PRIMARY KEY CLUSTERED  ([ID]) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Supporter] --IT支持者表
(
[ID] [int] NOT NULL IDENTITY(1, 1),
[Name] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Supporter] ADD CONSTRAINT [PK_dbo.Supporter] PRIMARY KEY CLUSTERED  ([ID]) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Department] --部门表
(
[ID] [int] NOT NULL IDENTITY(1, 1),
[Name] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL,
[ManagerID] [int] NOT NULL,
[SupporterID] [i

你可能感兴趣的:(Sql,多重外键约束,循环或多重级联路径)