У меня есть проблема с дизайном здесь. Я вроде начинающий в этом, поэтому мне нужна помощь. Из-за слияния компании, где все должно идти в одной из систем; Я должен был отображать наших клиентов с новым клиентом в другой компании.Как создать таблицу отображения?
Когда я получаю новый идентификатор клиента, я должен убедиться, что он уникален и то же самое касается нашего существующего идентификатора клиента.
Current customerID: CurCustID
New customer ID: NewCustID
Во-первых, я хотел бы базу данных, чтобы убедиться, что каждый CurCustID в колонке CurCustID уникален - только с одной записью, во-вторых, я хотел бы столбец NewCustID быть уникальным - только с одной записью. В-третьих, я хотел бы, чтобы комбинация строк 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
Если вам нужно объединить две таблицы клиентов, я думаю, что лучше всего принести клиентам новую добавленную компанию в таблицу ваших клиентов. Поскольку у вас могут быть дубликаты при переносе новых клиентов компании на существующий, вы должны рассмотреть возможность обновления старого идентификатора с новым (чтобы сделать его уникальным), но вы должны изменить этот идентификатор во всех его дочерних таблицах, где этот идентификатор ссылается , –
@Shukri Gashi. К сожалению, это невозможно из-за юридических вопросов :-( –