ここにデザイン問題が少しあります。これは初心者の私のようなものなので、私はいくつかの助けが必要です。 会社のマージのため、すべてがシステムのいずれかになければなりません。私の顧客を他の会社の新しい顧客IDとマッピングすることになっていました。マッピングテーブルを設計するにはどうすればいいですか?
私が新しいcustomerIDのImを取得すると、それが一意であり、同じものが私たちの既存のcustomerIDに確実に適用されるはずです。 1つのレコードのみで、第二に、私は列NewCustIDが一意になりたい - - 1つのレコードだけで
Current customerID: CurCustID
New customer ID: NewCustID
まず、私は、データベースが列CurCustID内のすべてのCurCustIDが一意であることを確認したいと思います。 第3回私は、CurCustIDとNewCustIDのローの組み合わせがユニークなデータだけを受け入れることを望みます。
もし私のアプローチが悪い習慣であり、これを行うためのベストプラクティス方法があるなら、私は非常に感謝しています。
USE [Database]
GO
/****** Object: Table [dbo].[TblMapning] Script Date: 05/30/2016 14:30:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TblMapning](
[CurCustID] [varchar](255) NOT NULL,
[NewCustID] [varchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[CurCustID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
お客様のテーブルを2つマージする必要がある場合は、新しく追加された会社の顧客をお客様のテーブルに連れて行くことをお勧めします。 新しい会社の顧客を既存の顧客に移すときに重複する可能性があるため、古いIDを新しいIDで更新することを検討する必要があります(このIDを参照するすべての子テーブルでこのIDを変更する必要があります) 。 –
@Shukri Gashi。残念ながらこれは法的問題のために不可能です:-( –