Disons que j'ai une table dans une base de données SQL Server 2000 appelé TransactionType:maintien ids dans la base de données qui correspondent à des énumérations de logiciel client
CREATE TABLE [dbo].[TransactionType](
[ID] [int] NOT NULL,
[Description] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
CONSTRAINT [PK_TransactionType] PRIMARY KEY CLUSTERED
(
[ID] ASC
) ON [PRIMARY]
) ON [PRIMARY]
J'ai alors une table de transaction avec une colonne appelée TransactionTypeID, calée au large de la Colonne ID de la table TransactionType. Mon application client .net est responsable de l'insertion des enregistrements de transaction et de la spécification du type de transaction. Ma première pensée était d'avoir une énumération définie, en castant l'énumération à un nombre entier et en passant cette valeur à la base de données. Le problème est que potentiellement, quelqu'un pourrait aller dans la base de données et modifier l'un des ID dans la table TransactionType, rendant les ID de la base de données désynchronisés avec les ID dans l'énumération des applications client. Donc, après ma longue période d'érection, ma question est la suivante: existe-t-il des modèles/techniques de conception que d'autres utilisent pour lutter contre ce problème?