У меня есть несколько таблиц, которые генерируются разными системами без уникального идентификатора, доступного для необработанных данных.Настройка первичных ключей в моих таблицах?
несколько файлов, которые из одной и той же системы могут быть объединены на основе:
interaction_time, customer_id, employee_id
Другие файлы не включают в себя метку времени и есть только interaction_date
. Проблема в том, что иногда один и тот же клиент может разговаривать с одним и тем же сотрудником в тот же день несколько раз. Поэтому использование interaction_date, customer_id, employee_id
не обязательно уникально.
Использование python (pandas), что я обычно делаю, это найти все уникальные значения interaction_date, customer_id, employee_id
. Я фильтрую эти строки как отдельный фрейм данных и делаю свои объединения. Таким образом, эти данные представляют собой строки, в которых один клиент взаимодействовал с одним сотрудником один раз в определенную дату. Затем я объединяю/присоединяю строки, которые имеют несколько взаимодействий, вместе с данными, добавленными после объединения.
Любые рекомендации относительно того, как установить что-то подобное с SQL Server? Я предполагаю, что это должно быть довольно распространенным явлением. Я строю таблицы прямо сейчас, и я не уверен, каким должен быть мой первичный ключ ... составной ключ даты/customer_id/employee_id? Как мне работать с дубликатами (эти строки нельзя присоединить к другим файлам, потому что нет четкого способа связать данные вместе)?
edit- Я просто хотел добавить, что это связывает самые гранулированные данные, которые у нас есть. Это будет использоваться для привязки опроса (который может быть получен спустя несколько недель) обратно к определенному взаимодействию и для привязки другого файла, который имеет длину этого взаимодействия, и другого файла, имеющего возможность продажи в этом взаимодействии, и т.д.
Будут ли какие-либо другие таблицы иметь отношение внешнего ключа к этому? –
Определенно нужен идентификатор для самого взаимодействия. Затем вам понадобятся внешние ключи для сотрудника и клиента. Похоже, что это должна быть таблица взаимодействий, поэтому вам не нужны имена, такие как 'interactive_id' и' interactive_date', 'id' и' date' должно быть достаточно. – Devon
У меня есть 7 отдельных файлов в качестве источников данных. Некоторые из них не включают временные метки. Моя проблема заключается в том, что в одну дату есть несколько взаимодействий. Скажем, что 2 клиента в день (без отметки времени) для клиента с одним и тем же сотрудником. В тот же день есть 5 записей звонков (с меткой времени). Для меня нет никакого способа точно знать, как сопоставить 2 заказа с конкретным вызовом. Конечно, заказы состоялись во время 2 из этих звонков, но я не знаю, какое конкретное взаимодействие имело заказы. Поэтому сложно назначить взаимодействие_ид и знать, как он будет относиться к различным файлам. – trench