您的设计要表达的或试图表达的是父类型和子类型的关系。
一种表达方式是MfgTypeId@H_403_4@在每个Entity表中包括该字段:
CREATE TABLE dbo.mfgorders_entity2 (MfgOrderId int NOT NULL,
MfgTypeId tinyint NOT NULL,
Height decimal (5, 2) ,
Width decimal (5, 2) ,
Thickness decimal (4, 2) ,
RotationSetting decimal (4, 1) ,
FinishedHeight decimal (5, 2) ,
FinishedWidth decimal (5, 2) ,
FinishedThickness decimal (4, 2) ,
CONSTRAINT PK_mfgorders_entity2 PRIMARY KEY (MfgOrderId, MfgTypeId),
CONSTRAINT chkEntity2_MfgTypeID CHECK (MfgTypeId = 'Type Id for Entity 2')) ;
@H_403_4@
我可能还会更改MfgOrders@H_403_4@表以将MfgTypeId包括在内作为主键的一部分。
CREATE TABLE dbo.mfgorders (MfgOrderId int NOT NULL IDENTITY (1, 1) ,
MfgTypeId tinyint NOT NULL,
OrderId int NOT NULL,
LineNbr tinyint NOT NULL,
ItemDescription varchar (999) ,
ManufacturingCost smallmoney,
CONSTRAINT PK_mfgorders PRIMARY KEY (MfgOrderId, MfgTypeId)) ;
@H_403_4@