Задать вопрос
Dadadumdums
@Dadadumdums
веб-разработчик, мечтающий стать DBA

Как создать уникальные ключи для отношения many-to-many в одной таблице?

Друзья, привет!

Сегодня на одном из собеседований был задан вопрос:
Есть таблица, имеющая отношение многие ко многим в самой себе, для примера взят id приложения и телефон клиента. Клиент может регистрировать несколько телефонов в одном приложении, так же как и несколько приложений на один телефон(например приложение в планшете и телефоне)

Таблица получается вида:
ID | Phone
------------
11 | 965
17 | 982
14 | 913
14 | 928
43 | 928
11 | 982
13 | 917

Результат работы должен быть следующим:
ID | Phone | Unique_ID
---------------------------
11 | 965 | 1
17 | 982 | 1
14 | 913 | 2
14 | 928 | 2
43 | 928 | 2
11 | 982 | 1
13 | 917 | 3

Надеюсь, объяснил верно)

Какими инструментами и как это можно сделать? Намек идет на python, mapreduce, скорее всего
  • Вопрос задан
  • 199 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ваша задача сводится к перечислению компонент связности графа, состоящего из вершин вида a_{ID} и p_{PHONE}. Каждая строка таблицы при этом представляет собой ребро графа.
Ответ написан
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
в чем их уникальность если оно не уникально в вашем наборе данных финальном?

И не видно логики вообще, по какому принципу получается одна группа(unique id) для разных наборов данных

14 | 913 | 2
14 | 928 | 2
43 | 928 | 2


Короче на выходе каша какая-то.

Нужна логика работы нормально описанная, а не что было и что стало.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы