У меня есть денормализованные данные (поступающие из файла), которые необходимо импортировать в таблицы типа «родители-потомки». Исходные данные выглядят примерно так:
Account# Name Membership Email
101 J Burns Gold alpha@foo.com
101 J Burns Gold bravo@foo.com
101 J Burns Gold charlie@yay.com
227 H Gordon Silver red@color.com
350 B Clyde Silver italian@food.com
350 B Clyde Silver mexican@food.com
Какие части, части или тактику служб SSIS я должен использовать, чтобы прочитать первые три столбца в родительскую таблицу, а четвертый столбец (электронная почта) - в дочернюю таблицу? У меня есть несколько вариантов родительского ключа, которые мне разрешено брать:
- Непосредственно используйте Account # в качестве первичного ключа
- Использовать суррогатный ключ, сгенерированный SSIS в процессе импорта
- Настройка первичного ключа идентификации
Я уверен, что перечислил мои первичные ключевые параметры в порядке возрастания сложности. Мне было бы интересно узнать, как сделать первый и последний вариант - я сделаю вывод, как добиться среднего варианта. Еще раз подчеркну: Я заинтересован в решительном решении SSIS; Я ищу ответ, который использует язык SSIS, а не процедурный, нейтральный в технологическом отношении ответ.
Мой вопрос чем-то похож на другой вопрос SO , имеющий ответ на неопределенную жизнеспособность. Я надеюсь, что более подробное руководство может быть дано. Я уже знаю, как решить эту проблему, создав «промежуточный» промежуточный этап, где разделение родитель-потомок фактически обрабатывается прямым SQL. Однако мне любопытно, как это можно сделать без такого промежуточного шага.
Мне кажется, что такого рода импорт был бы настолько распространенным, что был бы хорошо опубликованный формальный способ справиться с этим - методика, в которой SSIS превосходен. Пока что я не совсем понял прямого ответа на этот вопрос.
Update #1
: Основываясь на комментариях, я настроил примерные данные, чтобы они были более явно денормализованы. Я также удалил «плоский» из «плоского файла», чтобы семантика не мешала вопросу.
Update #2
: я усилил интерес к решению, на котором говорят на языке SSIS.