Как сохранить двунаправленные отношения

Я пишу код, чтобы найти повторяющиеся данные о клиентах в базе данных. Я буду использовать расстояние Левенштейна.

Однако я не знаю, как сохранить отношения. Я постоянно пользуюсь базами данных, но никогда не сталкивался с этой ситуацией и задавался вопросом, может ли кто-нибудь указать мне правильное направление.

Что меня смущает, так это то, как сохранить двунаправленный характер отношений.

Я начал приводить несколько примеров ниже, но задался вопросом, есть ли лучшая практика для хранения этого типа данных,

Примеры данных

id, адрес

001, 5 Main Street
002, 5 Main St.
003, 5 Main Str
004, 6 High Street
005, 7 Low Street
006, 7 Low St

Предложение 1

customer_id1, customer_id2, Relationship_strength
001, 002, 0,74
001, 003, 0,77
002, 003, 0,76
005, 006, 0,77

Не нравится этот подход, поскольку он как бы предполагает одностороннюю связь между customer_id1 и customer_id2. Если, конечно, я не включу все взаимосвязи в обе стороны, но это удвоит время обработки и размер таблиц.

например, потребуется включить: 002, 001, 0,74

Предложение 2

customer_id, grouping_id
001, 1
002, 1
003, 1
005, 2
006, 2

6
задан APC 17 September 2010 в 09:29
поделиться