I have a database in which a number of tables are defined with multiple UUID columns forming the Primary Key when they should instead be defined as Foreign Keys, e.g.
CREATE TABLE [dbo].[SomeTable](
[SomeTableID] [uniqueidentifier] NOT NULL,
[WorkEntryID] [uniqueidentifier] NOT NULL,
[TimeEntryID] [uniqueidentifier] NOT NULL,
[RateEntryID] [uniqueidentifier] NOT NULL,
...
CONSTRAINT [PK_SomeTable] PRIMARY KEY CLUSTERED
(
[SomeTableID] ASC,
[WorkEntryID] ASC,
[TimeEntryID] ASC,
[RateEntryID] ASC
)
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SomeTable] ADD CONSTRAINT [DF_SomeTable_SomeTableID] DEFAULT (newsequentialid()) FOR [SomeTableID]
GO
The additional columns should have been defined as Foreign Keys and in some cases have been. I'm assuming there are performance implications of having the additional columns as part of the PK? Are there any considerations I should be aware of before redefining the PK for the tables to include only the PK column?