Published on

September 29, 2010

Импорт данных в Master Data Services (MDS) в SQL Server

Master Data Services (MDS) – это мощная платформа управления мастер-данными в SQL Server, которая позволяет создать централизованный хаб для ваших мастер-данных. С помощью MDS вы можете импортировать, просматривать и экспортировать данные для использования в отчетных и аналитических приложениях.

В этой статье мы сосредоточимся на процессе импорта данных в MDS. Существуют два разных способа импорта данных: вручную с использованием пользовательского интерфейса портала Master Data Manager или автоматизация процесса импорта путем подготовки данных в трех различных таблицах подготовки MDS.

Три таблицы подготовки MDS, используемые для автоматизации процесса импорта, это:

  • mdm.tblStagingMember: Эта таблица используется для создания листьев, объединенных членов и коллекций для вашей модели/сущностей.
  • mdm.tblStgMemberAttribute: Эта таблица используется для обновления значений атрибутов, удаления членов или коллекций и деактивации/реактивации членов или коллекций.
  • mdm.tblStgRelationship: Эта таблица используется для добавления членов в коллекции или перемещения членов между явными иерархиями.

Подготавливая данные в этих таблицах и запуская процесс пакетного импорта, вы можете эффективно загружать данные в объекты MDS.

Давайте рассмотрим пример, чтобы лучше понять процесс:

/* Добавление члена в сущность ProductCategory */
INSERT INTO mdm.tblStgMember ([Batch_ID], [UserName], [ModelName], [HierarchyName], [EntityName], 
	[MemberType_ID], [MemberName], [MemberCode], [Status_ID], [ErrorCode])
VALUES (NULL,NULL,'Product',NULL,'ProductCategory', 1, 'Bicycle', 5, 0, '')

/* Добавление атрибута в сущность ProductCategory для связи этого члена с сущностью верхнего уровня ProductGroup, 
	которая имеет два члена Wholesale и Retail */
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'ProductCategory', 1, 5, 'ProductGroup', 2, 0, '')

/* Добавление члена в сущность ProductSubCategory */
INSERT INTO mdm.tblStgMember ([Batch_ID], [UserName], [ModelName], [HierarchyName], [EntityName], 
	[MemberType_ID], 	[MemberName], [MemberCode], [Status_ID], [ErrorCode])
VALUES (NULL,NULL,'Product',NULL,'ProductSubCategory', 1, 'Bicycle for male', 39, 0, '')

/* Добавление атрибута в сущность ProductSubCategory для связи этого члена с членом сущности ProductCategory, 
	который мы создали выше */
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'ProductSubCategory', 1, 39, 'ProductCategory',  5, 0, '') 

/* Добавление члена в сущность ProductSubCategory */
INSERT INTO mdm.tblStgMember ([Batch_ID], [UserName], [ModelName], [HierarchyName], [EntityName], 
	[MemberType_ID], [MemberName], [MemberCode], [Status_ID], [ErrorCode])
VALUES (NULL,NULL,'Product',NULL,'ProductSubCategory', 1, 'Bicycle for female', 40,0,'')

/* Добавление атрибута в сущность ProductSubCategory для связи этого члена с членом сущности ProductCategory, 
	который мы создали выше */
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'ProductSubCategory', 1, 40,'ProductCategory', 5, 0, '') 

/* Добавление члена в сущность Product, этот член будет частью иерархии 'Product Management' */
INSERT INTO mdm.tblStgMember ([Batch_ID], [UserName], [ModelName], [HierarchyName], [EntityName], 
	[MemberType_ID], [MemberName], [MemberCode], [Status_ID], [ErrorCode])
VALUES (NULL,NULL,'Product','Product Management','Product', 1, 'Hercules 100', 'Hercules100',0,'')

/* Добавление атрибута в сущность Product для связи этого члена с членом сущности ProductSubCategory, 
	который мы создали выше, а также указание некоторых других значений атрибутов для этого члена */
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'Product', 1, 'Hercules100', 'ProductSubCategory', 39, 0, '') 
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], [
	MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'Product', 1, 'Hercules100', 'SafetyStockLevel', 100, 0, '') 
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'Product', 1, 'Hercules100', 'DaysToManufacture', 10, 0, '') 

/* Добавление члена в сущность Product, этот член будет частью иерархии 'Product Management' */
INSERT INTO mdm.tblStgMember ([Batch_ID], [UserName], [ModelName], [HierarchyName], [EntityName], 
	[MemberType_ID], [MemberName], [MemberCode], [Status_ID], [ErrorCode])
VALUES (NULL,NULL,'Product','Product Management','Product', 1, 'LadyBird 100', 'LadyBird100',0,'')

/* Добавление атрибута в сущность Product для связи этого члена с членом сущности ProductSubCategory, 
	который мы создали выше, а также указание некоторых других значений атрибутов для этого члена */
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'Product', 1, 'LadyBird100', 'ProductSubCategory', 40, 0, '') 
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [UserName], [ModelName], [EntityName], 
	[MemberType_ID], [MemberCode], [AttributeName], [AttributeValue], [Status_ID], [ErrorCode])
VALUES (NULL, NULL, 'Product', 'Product', 1, 'LadyBird100', 'SafetyStockLevel', 100, 0, '') 
INSERT INTO mdm.tblStgMemberAttribute([Batch_ID], [
Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.