아래 두 테이블을 가지고있을 때 StatusTypes
테이블이 과포로 간주 될 수 있습니까? 즉, 그것을 사용하는 것보다 더 많은 이점이 있습니까?SQL Server 외래 키 테이블이 너무 많습니까?
이 상황에서 추가 또는 변경/삭제하기 위해이 상태를 관리자 백엔드에로드 할 필요는 없지만 외래 키를 사용하지 않는 것이 좋지는 않습니다.
상태 유형을 분리하거나 감사 테이블에 보관하는 이유를 찾고 있습니다.
도움을 주시면 감사하겠습니다.
-- i.e. NEW, SUBMITTED, UPDATED
CREATE TABLE [dbo].[StatusTypes](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](250) NOT NULL,
CONSTRAINT [PK_StatusTypes] PRIMARY KEY CLUSTERED ([ID] ASC)
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Audits](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Description] [nvarchar](500) NULL,
[Country_Fkey] [int] NOT NULL,
[User_Fkey] [int] NOT NULL,
[CreatedDate] [date] NOT NULL,
[LastAmendedDate] [date] NULL,
[Status_Fkey] [int] NOT NULL,
CONSTRAINT [PK_Audits] PRIMARY KEY CLUSTERED ([ID] ASC)
) ON [PRIMARY]
GO
데이터베이스에서 참조 무결성을 적용하는 것은 ** 제대로 작동하고 사용자에게 가치를 제공하기 위해 ** 절대적으로 중요합니다 **. 따라서 외래 키 (및 가능한 값)를 적용하는 조회 테이블이 ** 너무 많습니다 ** - 데이터베이스에 너무 많은 안전 예방책을 사용할 수는 없습니다. 단지 너무 적습니다 ... –
이것은 꽤 예뻤습니다. 내가 생각한 것만 큼은 아니지만 어느 방향 으로든 갈 수 있기 때문에 상황에 대한 의견을 좀 나누고 싶었습니다. 감사합니다 – Pricey