У меня есть денормализованные данные (поступающие из файла), которые необходимо импортировать в родительско-дочерние таблицы. Исходные данные выглядят примерно так:
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 я должен использовать для чтения первых трех столбцов в родительскую таблицу и 4-го столбца (электронная почта) в дочернюю таблицу? У меня есть несколько вариантов родительского ключа, которые мне разрешено использовать:
Я уверен, что перечислил свои параметры первичного ключа в порядке возрастания сложности. Мне было бы интересно узнать, как сделать первый и последний вариант - я сделаю вывод, как достичь среднего варианта. Еще раз подчеркну: меня явно интересует решение SSIS; Я ищу ответ, который использует язык SSIS, а не процедурный, технологически нейтральный ответ.
Мой вопрос в некоторой степени похож на другой вопрос SO , имеющий ответ неопределенной жизнеспособности. Я надеюсь, что можно будет дать более подробное руководство. Я уже знаю, как решить эту проблему, создав «промежуточный» промежуточный этап, на котором разделение родительского и дочернего на самом деле обрабатывается прямым SQL. Однако мне любопытно, как это можно сделать без такого промежуточного шага.
Мне кажется, такой вид импорта будет настолько распространен, что существует хорошо опубликованный шаблонный способ его обработки - техника, в которой SSIS преуспевает. На данный момент я не нашел точного ответа на этот вопрос.
Обновление №1
: Основываясь на комментариях, я скорректировал образцы данных, чтобы они были более явно денормализованы. Я также удалил «плоский» из «плоского файла», чтобы семантика не мешала решению вопроса.
Обновление №2
: Я усилил свой интерес к решению, используемому на языке SSIS.